OPAL  Version 3.14.3
IAX2WaitingForAck Class Reference

#include <processor.h>

Inherits PObject.

Public Types

enum  ResponseToAck { RingingAcked = 0, AcceptAcked = 1, AuthRepAcked = 2, AnswerAcked = 3 }
 

Public Member Functions

 IAX2WaitingForAck ()
 
void Assign (IAX2FullFrame *f, ResponseToAck _response)
 
PBoolean MatchingAckPacket (IAX2FullFrame *f)
 
ResponseToAck GetResponse ()
 
PString GetResponseAsString () const
 
virtual void PrintOn (ostream &strm) const
 
void ZeroValues ()
 

Detailed Description

This class defines what the processor is to do on receiving an ack for a full frame. Thus, the processor sends a full frame (say Accept) and defines an action (using this class) to carry out on receiving the ack for the Accept.

Essentially, this class provides us a means of "knowing" the other end has acted on the sent full frame. The action to do could be as simple as saying, "other end has accepted our Accept packet"

It also helps us to move on in the call setup phase. On receipt of one particular ack packet, we send the next packet in the call process. Thus, on receipt of a ack for a timestamp of X and oseqno of Y, we send this packet.

The outgoing IAX2FullFrame has an inSeqNo, which must match the outSeqNo of the received ack frame.

The sub classes if appropriate will need to request a call number from the endpoint. This class will automatically check if the source call number has been set and if so then will release that number from the endpoint.

Member Enumeration Documentation

The action to do on receiving the specified ack

Enumerator
RingingAcked 

Processing acknowledgment to Remote end is ringing message

AcceptAcked 

Processing acknowledgment to accept message

AuthRepAcked 

Processing acknowledgment to AuthRep message

AnswerAcked 

Processing acknowledgment to Answer message

Constructor & Destructor Documentation

IAX2WaitingForAck::IAX2WaitingForAck ( )

Construct this response message with values that cannot match an incoming ack packet

Member Function Documentation

void IAX2WaitingForAck::Assign ( IAX2FullFrame f,
ResponseToAck  _response 
)

Assign this response to wait for the specified coords

ResponseToAck IAX2WaitingForAck::GetResponse ( )
inline

Report the response to carry out

PString IAX2WaitingForAck::GetResponseAsString ( ) const

Report the internal response code as a string

PBoolean IAX2WaitingForAck::MatchingAckPacket ( IAX2FullFrame f)

Return true if the supplied ack frame matches the internal coordinates

virtual void IAX2WaitingForAck::PrintOn ( ostream &  strm) const
virtual

Pretty print this response to the designated stream

void IAX2WaitingForAck::ZeroValues ( )

Initialise this to no response, and never to match


The documentation for this class was generated from the following file: