|
Yate
|
This class holds an outgoing IAX full frame. More...
#include <yateiax.h>
Public Member Functions | |
| IAXFrameOut (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, unsigned int len, u_int16_t retransCount, u_int32_t retransIntervalMs, bool ackOnly, bool mark=false) | |
| IAXFrameOut (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, u_int16_t retransCount, u_int32_t retransIntervalMs, bool ackOnly, bool mark=false) | |
| virtual | ~IAXFrameOut () |
| unsigned int | retransCount () const |
| bool | timeForRetrans (u_int64_t time) const |
| void | setRetrans () |
| void | transmitted () |
| bool | ack () const |
| void | setAck () |
| bool | ackOnly () const |
| bool | canSetTimeout () |
| void | setTimeout (u_int64_t tout) |
Public Member Functions inherited from IAXFullFrame | |
| 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) |
Additional Inherited Members | |
Public Types inherited from IAXFullFrame | |
| 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 } |
Static Public Member Functions inherited from IAXFullFrame | |
| 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 inherited from IAXFullFrame | |
| virtual void | destroyed () |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
Protected Attributes inherited from IAXFrame | |
| DataBlock | m_data |
| bool | m_retrans |
This class holds an outgoing IAX full frame.
This class holds all data needded to manage an outgoing IAX full frame
|
inline |
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 |
| retransCount | Retransmission counter |
| retransIntervalMs | Time interval to the next retransmission |
| ackOnly | Acknoledge only flag. If true, the frame only expects an ACK |
| mark | Mark flag |
References ackOnly(), IAXFullFrame::IAXFullFrame(), IAXFullFrame::iSeqNo(), IAXFrame::mark(), IAXFullFrame::oSeqNo(), retransCount(), IAXFullFrame::subclass(), and IAXFrame::type().
|
inline |
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 |
| retransCount | Retransmission counter |
| retransIntervalMs | Time interval to the next retransmission |
| ackOnly | Acknoledge only flag. If true, the frame only expects an ACK |
| mark | Mark flag |
References ackOnly(), IAXFullFrame::IAXFullFrame(), IAXFullFrame::ieList(), IAXFullFrame::iSeqNo(), IAXFrame::mark(), IAXFullFrame::oSeqNo(), retransCount(), IAXFullFrame::subclass(), and IAXFrame::type().
|
inlinevirtual |
Destructor
|
inline |
Get the acknoledged flag of this frame
|
inline |
Get the acknoledge only flag of this frame
Referenced by IAXFrameOut(), and IAXFrameOut().
|
inline |
Check if absolute timeout can be set
|
inline |
Get the retransmission counter of this frame
Referenced by IAXFrameOut(), and IAXFrameOut().
|
inline |
Set the acknoledged flag of this frame
|
inline |
Set the retransmission flag of this frame
References IAXFrame::m_data, and IAXFrame::m_retrans.
|
inline |
Set absolute timeout. Reset retransmission counter
| tout | Timeout time |
|
inline |
Ask the frame if it's time for retransmit
| time | Current time |
|
inline |
Update the retransmission counter and the time to next retransmission