# class IAXFullFrame | This class holds an IAX full frame. More...
Full name | `TelEngine::IAXFullFrame`
Definition | `#include <libs/yiax/yateiax.h>`
Inherits | TelEngine::IAXFrame [public ]
Inherited by | IAXFrameOut
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### 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 Methods

- 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 ()
- inline u_int16_t destCallNo () const
- inline unsigned char oSeqNo () const
- inline unsigned char iSeqNo () const
- inline u_int32_t subclass () const
- inline bool isAuthReq () const
- inline bool isInval () const
- virtual IAXFullFrame* fullFrame ()
- void updateBuffer (u_int16_t maxlen)
- inline IAXIEList* ieList ()
- bool updateIEList (bool incoming)
- IAXIEList* removeIEList (bool delObj = true)
- void toString (String& dest, const SocketAddr& local, const SocketAddr& remote, bool incoming)

#### Public Static Methods

- static inline const char* controlTypeText (int type)

#### Protected Methods

- virtual void destroyed ()

## Detailed Description

This class holds all data needded to manage an IAX full frame

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, } | ### 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) | ### IAXFullFrame

Constructor. Constructs an incoming full frame

Parameters:

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

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

Constructor. Constructs an outgoing full frame

Parameters:

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

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) | ### IAXFullFrame

Constructor. Constructs an outgoing full frame

Parameters:

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

~IAXFullFrame () | ### ~IAXFullFrame

[virtual]

Destructor

inline u_int16_t destCallNo () | ### destCallNo

[const]

Get the destination call number

Returns: The destination call number

inline unsigned char oSeqNo () | ### oSeqNo

[const]

Get the outgoing sequence number

Returns: The outgoing sequence number

inline unsigned char iSeqNo () | ### iSeqNo

[const]

Get the incoming sequence number

Returns: The incoming sequence number

inline u_int32_t subclass () | ### subclass

[const]

Get the subclass of this frame

Returns: The subclass of this frame

inline bool isAuthReq () | ### isAuthReq

[const]

Check if this frame is used to request authentication

Returns: True if this frame is used to request authentication (like RegReq or RegAuth)

inline bool isInval () | ### isInval

[const]

Check if this frame is an INVAL one

Returns: True if this frame is INVAL

IAXFullFrame* fullFrame () | ### fullFrame

[virtual]

Get a pointer to this frame if it is a full frame

Returns: A pointer to this frame

Reimplemented from IAXFrame.

void updateBuffer (u_int16_t maxlen) | ### updateBuffer

Rebuild frame buffer from the list of IEs

Parameters:

maxlen | Max frame data length

inline IAXIEList* ieList () | ### ieList

Retrieve the IE list

Returns: IAXIEList pointer or NULL

bool updateIEList (bool incoming) | ### updateIEList

Update IE list from buffer if not already done

Parameters:

incoming | True if this is an incoming frame

Returns: True if the list is valid

IAXIEList* removeIEList (bool delObj = true) | ### removeIEList

Remove the IE list

Parameters:

delObj | True to delete it

Returns: IAXIEList pointer or NULL if requested to delete it or already NULL

void toString (String& dest, const SocketAddr& local, const SocketAddr& remote, bool incoming) | ### toString

Fill a string with this frame

Parameters:

dest | The string to fill
local | The local address
remote | The remote address
incoming | True if it is an incoming frame

Reimplemented from GenObject.

inline const char* controlTypeText (int type) | ### controlTypeText

[static]

Get the string associated with the given IAX control type

Parameters:

type | The requested control type

Returns: The text if type is valid or 0

void destroyed () | ### destroyed

[protected virtual]

Destroyed notification. Clear data

Reimplemented from RefObject.

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.