|
Yate
|
This class holds an IAX full frame. More...
#include <yateiax.h>
Public Types | |
| enum | ControlType { Hangup = 0x01 , Ringing = 0x03 , Answer = 0x04 , Busy = 0x05 , Congestion = 0x08 , FlashHook = 0x09 , Option = 0x0b , KeyRadio = 0x0c , UnkeyRadio = 0x0d , Progressing = 0x0e , Proceeding = 0x0f , Hold = 0x10 , Unhold = 0x11 , VidUpdate = 0x12 , SrcUpdate = 0x14 , StopSounds = 0xff } |
Public Types inherited from IAXFrame | |
| enum | Type { DTMF = 0x01 , Voice = 0x02 , Video = 0x03 , Control = 0x04 , Null = 0x05 , IAX = 0x06 , Text = 0x07 , Image = 0x08 , HTML = 0x09 , Noise = 0x0a } |
Public Member Functions | |
| IAXFullFrame (Type type, u_int32_t subclass, u_int16_t sCallNo, u_int16_t dCallNo, unsigned char oSeqNo, unsigned char iSeqNo, u_int32_t tStamp, bool retrans, const unsigned char *buf, unsigned int len, bool mark=false) | |
| IAXFullFrame (Type type, u_int32_t subclass, u_int16_t sCallNo, u_int16_t dCallNo, unsigned char oSeqNo, unsigned char iSeqNo, u_int32_t tStamp, const unsigned char *buf=0, unsigned int len=0, bool mark=false) | |
| IAXFullFrame (Type type, u_int32_t subclass, u_int16_t sCallNo, u_int16_t dCallNo, unsigned char oSeqNo, unsigned char iSeqNo, u_int32_t tStamp, IAXIEList *ieList, u_int16_t maxlen, bool mark=false) | |
| virtual | ~IAXFullFrame () |
| u_int16_t | destCallNo () const |
| unsigned char | oSeqNo () const |
| unsigned char | iSeqNo () const |
| u_int32_t | subclass () const |
| bool | isAuthReq () const |
| bool | isInval () const |
| virtual IAXFullFrame * | fullFrame () |
| void | updateBuffer (u_int16_t maxlen) |
| IAXIEList * | ieList () |
| bool | updateIEList (bool incoming) |
| IAXIEList * | removeIEList (bool delObj=true) |
| void | toString (String &dest, const SocketAddr &local, const SocketAddr &remote, bool incoming) |
Public Member Functions inherited from IAXFrame | |
| IAXFrame (Type type, u_int16_t sCallNo, u_int32_t tStamp, bool retrans, const unsigned char *buf, unsigned int len, bool mark=false) | |
| virtual | ~IAXFrame () |
| Type | type () const |
| DataBlock & | data () |
| bool | retrans () const |
| u_int16_t | sourceCallNo () const |
| u_int32_t | timeStamp () const |
| bool | mark () const |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| virtual void * | getObject (const String &name) const |
| virtual bool | alive () const |
| bool | ref () |
| bool | deref () |
| int | refcount () const |
| virtual void | destruct () |
Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () |
| virtual const String & | toString () const |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Static Public Member Functions | |
| static const char * | controlTypeText (int type) |
Static Public Member Functions inherited from IAXFrame | |
| static IAXFrame * | parse (const unsigned char *buf, unsigned int len, IAXEngine *engine=0, const SocketAddr *addr=0) |
| static void | buildMiniFrame (DataBlock &dest, u_int16_t sCallNo, u_int32_t ts, void *data, unsigned int len) |
| static void | buildVideoMetaFrame (DataBlock &dest, u_int16_t sCallNo, u_int32_t tStamp, bool mark, void *data, unsigned int len) |
| static u_int8_t | packSubclass (u_int32_t value) |
| static u_int32_t | unpackSubclass (u_int8_t value) |
| static const char * | typeText (int type) |
Static Public Member Functions inherited from RefObject | |
| static bool | alive (const RefObject *obj) |
| static bool | efficientIncDec () |
Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) |
| static bool | getObjCounting () |
| static void | setObjCounting (bool enable) |
| static NamedCounter * | getObjCounter (const String &name, bool create=true) |
| static ObjList & | getObjCounters () |
Protected Member Functions | |
| virtual void | destroyed () |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
Additional Inherited Members | |
Protected Attributes inherited from IAXFrame | |
| DataBlock | m_data |
| bool | m_retrans |
This class holds an IAX full frame.
This class holds all data needded to manage an IAX full frame
| enum ControlType |
IAX frame subclass enumeration types for frames of type Control
| IAXFullFrame | ( | Type | type, |
| u_int32_t | subclass, | ||
| u_int16_t | sCallNo, | ||
| u_int16_t | dCallNo, | ||
| unsigned char | oSeqNo, | ||
| unsigned char | iSeqNo, | ||
| u_int32_t | tStamp, | ||
| bool | retrans, | ||
| const unsigned char * | buf, | ||
| unsigned int | len, | ||
| bool | mark = false ) |
Constructor. Constructs an incoming full frame
| type | Frame type |
| subclass | Frame subclass |
| sCallNo | Source (remote) call number |
| dCallNo | Destination (local) call number |
| oSeqNo | Outgoing sequence number |
| iSeqNo | Incoming (expected) sequence number |
| tStamp | Frame timestamp |
| retrans | Retransmission flag |
| buf | IE buffer |
| len | IE buffer length |
| mark | Mark flag |
References iSeqNo(), IAXFrame::mark(), oSeqNo(), IAXFrame::retrans(), subclass(), and IAXFrame::type().
Referenced by fullFrame(), IAXFrameOut::IAXFrameOut(), and IAXFrameOut::IAXFrameOut().
| IAXFullFrame | ( | Type | type, |
| u_int32_t | subclass, | ||
| u_int16_t | sCallNo, | ||
| u_int16_t | dCallNo, | ||
| unsigned char | oSeqNo, | ||
| unsigned char | iSeqNo, | ||
| u_int32_t | tStamp, | ||
| const unsigned char * | buf = 0, | ||
| unsigned int | len = 0, | ||
| bool | mark = false ) |
Constructor. Constructs an outgoing full frame
| type | Frame type |
| subclass | Frame subclass |
| sCallNo | Source (remote) call number |
| dCallNo | Destination (local) call number |
| oSeqNo | Outgoing sequence number |
| iSeqNo | Incoming (expected) sequence number |
| tStamp | Frame timestamp |
| buf | IE buffer |
| len | IE buffer length |
| mark | Mark flag |
References iSeqNo(), IAXFrame::mark(), oSeqNo(), subclass(), and IAXFrame::type().
| IAXFullFrame | ( | Type | type, |
| u_int32_t | subclass, | ||
| u_int16_t | sCallNo, | ||
| u_int16_t | dCallNo, | ||
| unsigned char | oSeqNo, | ||
| unsigned char | iSeqNo, | ||
| u_int32_t | tStamp, | ||
| IAXIEList * | ieList, | ||
| u_int16_t | maxlen, | ||
| bool | mark = false ) |
Constructor. Constructs an outgoing full frame
| type | Frame type |
| subclass | Frame subclass |
| sCallNo | Source (remote) call number |
| dCallNo | Destination (local) call number |
| oSeqNo | Outgoing sequence number |
| iSeqNo | Incoming (expected) sequence number |
| tStamp | Frame timestamp |
| ieList | List of frame IEs |
| maxlen | Max frame data length |
| mark | Mark flag |
References ieList(), iSeqNo(), IAXFrame::mark(), oSeqNo(), subclass(), and IAXFrame::type().
|
virtual |
Destructor
|
inlinestatic |
Get the string associated with the given IAX control type
| type | The requested control type |
References IAXFrame::type().
|
inline |
Get the destination call number
|
protectedvirtual |
Destroyed notification. Clear data
Reimplemented from RefObject.
|
virtual |
Get a pointer to this frame if it is a full frame
Reimplemented from IAXFrame.
References IAXFullFrame().
|
inline |
Retrieve the IE list
Referenced by IAXFrameOut::IAXFrameOut(), and IAXFullFrame().
|
inline |
Check if this frame is used to request authentication
References subclass(), and IAXFrame::type().
|
inline |
Get the incoming sequence number
Referenced by IAXFrameOut::IAXFrameOut(), IAXFrameOut::IAXFrameOut(), IAXFullFrame(), IAXFullFrame(), and IAXFullFrame().
|
inline |
Check if this frame is an INVAL one
References subclass(), and IAXFrame::type().
|
inline |
Get the outgoing sequence number
Referenced by IAXFrameOut::IAXFrameOut(), IAXFrameOut::IAXFrameOut(), IAXFullFrame(), IAXFullFrame(), and IAXFullFrame().
| IAXIEList * removeIEList | ( | bool | delObj = true | ) |
Remove the IE list
| delObj | True to delete it |
|
inline |
Get the subclass of this frame
Referenced by IAXFrameOut::IAXFrameOut(), IAXFrameOut::IAXFrameOut(), IAXFullFrame(), IAXFullFrame(), IAXFullFrame(), isAuthReq(), and isInval().
| void toString | ( | String & | dest, |
| const SocketAddr & | local, | ||
| const SocketAddr & | remote, | ||
| bool | incoming ) |
Fill a string with this frame
| dest | The string to fill |
| local | The local address |
| remote | The remote address |
| incoming | True if it is an incoming frame |
| void updateBuffer | ( | u_int16_t | maxlen | ) |
Rebuild frame buffer from the list of IEs
| maxlen | Max frame data length |
| bool updateIEList | ( | bool | incoming | ) |
Update IE list from buffer if not already done
| incoming | True if this is an incoming frame |