# IAX2WaitingForAck Class Reference

`#include <processor.h>`

## Public Types

| RingingAcked = 0
| AcceptAcked = 1
| AuthRepAcked = 2
| AnswerAcked = 3
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

enum IAX2WaitingForAck::ResponseToAck

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:

- processor.h