#include <frame.h>
Inheritance diagram for IAX2FullFrameProtocol:
Public Types | |
enum | ProtocolSc { cmdNew = 1, cmdPing = 2, cmdPong = 3, cmdAck = 4, cmdHangup = 5, cmdReject = 6, cmdAccept = 7, cmdAuthReq = 8, cmdAuthRep = 9, cmdInval = 10, cmdLagRq = 11, cmdLagRp = 12, cmdRegReq = 13, cmdRegAuth = 14, cmdRegAck = 15, cmdRegRej = 16, cmdRegRel = 17, cmdVnak = 18, cmdDpReq = 19, cmdDpRep = 20, cmdDial = 21, cmdTxreq = 22, cmdTxcnt = 23, cmdTxacc = 24, cmdTxready = 25, cmdTxrel = 26, cmdTxrej = 27, cmdQuelch = 28, cmdUnquelch = 29, cmdPoke = 30, cmdPage = 31, cmdMwi = 32, cmdUnsupport = 33, cmdTransfer = 34, cmdProvision = 35, cmdFwDownl = 36, cmdFwData = 37 } |
Public Member Functions | |
IAX2FullFrameProtocol (const IAX2Frame &srcFrame) | |
IAX2FullFrameProtocol (const IAX2FullFrame &srcFrame) | |
IAX2FullFrameProtocol (IAX2Processor *processor, PINDEX subClassValue, ConnectionRequired needCon=IAX2FullFrame::callActive) | |
IAX2FullFrameProtocol (IAX2Processor *processor, ProtocolSc subClassValue, ConnectionRequired needCon=IAX2FullFrame::callActive) | |
IAX2FullFrameProtocol (IAX2Processor *processor, ProtocolSc subClassValue, IAX2FullFrame *inReplyTo, ConnectionRequired needCon=IAX2FullFrame::callActive) | |
virtual | ~IAX2FullFrameProtocol () |
void | SetRetransmissionRequired () |
virtual PBoolean | InformationElementsPresent () |
ProtocolSc | GetSubClass () const |
virtual PString | GetSubClassName () const |
IAX2Ie * | GetIeAt (PINDEX i) |
void | AppendIe (IAX2Ie *newElement) |
void | WriteIeAsBinaryData () |
void | CopyDataFromIeListTo (IAX2IeData &res) |
void | GetRemoteCapability (unsigned int &capability, unsigned int &preferred) |
virtual BYTE | GetFullFrameType () |
virtual void | PrintOn (ostream &strm) const |
Static Public Member Functions | |
static PString | GetSubClassName (PINDEX t) |
Protected Member Functions | |
PBoolean | ReadInformationElements () |
Protected Attributes | |
IAX2IeList | ieElements |
The data section contains information elements, or type Ie classes.
enum comtaining the possible subclass value for these IAX protocol control frames
IAX2FullFrameProtocol::IAX2FullFrameProtocol | ( | const IAX2Frame & | srcFrame | ) |
Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet. Classes generated like this are used to handle received data.
IAX2FullFrameProtocol::IAX2FullFrameProtocol | ( | const IAX2FullFrame & | srcFrame | ) |
Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet. Classes generated like this are used to handle received data.
IAX2FullFrameProtocol::IAX2FullFrameProtocol | ( | IAX2Processor * | processor, | |
PINDEX | subClassValue, | |||
ConnectionRequired | needCon = IAX2FullFrame::callActive | |||
) |
Construction from a Connection class. Classes generated from this are then on sent to a remote endpoint.
processor | Iax Processor from which this frame originates |
subClassValue | IAX protocol command for remote end to process |
needCon | this frame is only sent if the Connection class exists |
IAX2FullFrameProtocol::IAX2FullFrameProtocol | ( | IAX2Processor * | processor, | |
ProtocolSc | subClassValue, | |||
ConnectionRequired | needCon = IAX2FullFrame::callActive | |||
) |
Construction from an Connection class. Classes generated from this are then on sent to a remote endpoint.
processor | Iax Processor from which this frame originates |
subClassValue | IAX protocol command for remote end to process |
needCon | this frame is only sent if the Connection class exists |
IAX2FullFrameProtocol::IAX2FullFrameProtocol | ( | IAX2Processor * | processor, | |
ProtocolSc | subClassValue, | |||
IAX2FullFrame * | inReplyTo, | |||
ConnectionRequired | needCon = IAX2FullFrame::callActive | |||
) |
Construction from a Connection class. Classes generated from this are then on sent to a remote endpoint.
We have received a IAX2FullFrameProtocol, and this constructor is used to create a reply. Use the iseqno and time stamp from the supplied frame to construct the reply
processor | Iax Processor from which this frame originates |
subClassValue | IAX protocol command for remote end to process |
inReplyTo | this message was sent in reply to this frame |
needCon | this frame is only sent if the Connection class exists |
virtual IAX2FullFrameProtocol::~IAX2FullFrameProtocol | ( | ) | [virtual] |
Destructor, which deletes all current Information Elements
void IAX2FullFrameProtocol::SetRetransmissionRequired | ( | ) |
Set internal variable to say that this frame does not need to be retransmitted
virtual PBoolean IAX2FullFrameProtocol::InformationElementsPresent | ( | ) | [inline, virtual] |
Mark this frame as having (or not having) information elements
Reimplemented from IAX2FullFrame.
ProtocolSc IAX2FullFrameProtocol::GetSubClass | ( | ) | const [inline] |
Report the current value of the subClass variable
Reimplemented from IAX2FullFrame.
virtual PString IAX2FullFrameProtocol::GetSubClassName | ( | ) | const [virtual] |
Get text description of the subclass contents
Reimplemented from IAX2FullFrame.
static PString IAX2FullFrameProtocol::GetSubClassName | ( | PINDEX | t | ) | [static] |
Get text description of the subclass contents
IAX2Ie* IAX2FullFrameProtocol::GetIeAt | ( | PINDEX | i | ) | [inline] |
Return a pointer to the n'th Ie in the internal list. If it is not there, a NULL is returned
void IAX2FullFrameProtocol::AppendIe | ( | IAX2Ie * | newElement | ) | [inline] |
Add a new Information Element (Ie) to the intenral list
void IAX2FullFrameProtocol::WriteIeAsBinaryData | ( | ) |
Write the contents of the Ie internal list to the frame data array. This is usually done in preparation to transmitting this frame
void IAX2FullFrameProtocol::CopyDataFromIeListTo | ( | IAX2IeData & | res | ) |
Transfer the data (stored in the IeList) and place it in into the IeData class. This is done when precessing a frame we have received from an external node, which has to be stored in the IeData class
void IAX2FullFrameProtocol::GetRemoteCapability | ( | unsigned int & | capability, | |
unsigned int & | preferred | |||
) |
Look through the list of IEs, and look for remote capabability and preferred codec
virtual BYTE IAX2FullFrameProtocol::GetFullFrameType | ( | ) | [inline, virtual] |
Return the IAX2FullFrame type represented here (voice, protocol, session etc
Reimplemented from IAX2FullFrame.
virtual void IAX2FullFrameProtocol::PrintOn | ( | ostream & | strm | ) | const [virtual] |
Pretty print this frame data to the designated stream
Reimplemented from IAX2FullFrame.
PBoolean IAX2FullFrameProtocol::ReadInformationElements | ( | ) | [protected] |
Read the information elements from the incoming data array to generate a list of information element classes
IAX2IeList IAX2FullFrameProtocol::ieElements [protected] |
A list of the IEs read from/(or written to) the data section of this frame,