Yate
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
IAXFullFrame Class Reference

This class holds an IAX full frame. More...

#include <yateiax.h>

Inheritance diagram for IAXFullFrame:
IAXFrame RefObject GenObject IAXFrameOut

List of all members.

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
}

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
virtual IAXFullFramefullFrame ()
void updateBuffer (u_int16_t maxlen)
IAXIEListieList ()
bool updateIEList (bool incoming)
IAXIEListremoveIEList (bool delObj=true)
void toString (String &dest, const SocketAddr &local, const SocketAddr &remote, bool incoming)

Static Public Member Functions

static const char * controlTypeText (int type)

Protected Member Functions

virtual void destroyed ()

Detailed Description

This class holds an IAX full frame.

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


Member Enumeration Documentation

IAX frame subclass enumeration types for frames of type Control


Constructor & Destructor Documentation

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

Parameters:
typeFrame type
subclassFrame subclass
sCallNoSource (remote) call number
dCallNoDestination (local) call number
oSeqNoOutgoing sequence number
iSeqNoIncoming (expected) sequence number
tStampFrame timestamp
retransRetransmission flag
bufIE buffer
lenIE buffer length
markMark 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 
)

Constructor. Constructs an outgoing full frame

Parameters:
typeFrame type
subclassFrame subclass
sCallNoSource (remote) call number
dCallNoDestination (local) call number
oSeqNoOutgoing sequence number
iSeqNoIncoming (expected) sequence number
tStampFrame timestamp
bufIE buffer
lenIE buffer length
markMark 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 
)

Constructor. Constructs an outgoing full frame

Parameters:
typeFrame type
subclassFrame subclass
sCallNoSource (remote) call number
dCallNoDestination (local) call number
oSeqNoOutgoing sequence number
iSeqNoIncoming (expected) sequence number
tStampFrame timestamp
ieListList of frame IEs
maxlenMax frame data length
markMark flag
virtual ~IAXFullFrame ( ) [virtual]

Destructor


Member Function Documentation

static const char* controlTypeText ( int  type) [inline, static]

Get the string associated with the given IAX control type

Parameters:
typeThe requested control type
Returns:
The text if type is valid or 0

References TelEngine::lookup().

u_int16_t destCallNo ( ) const [inline]

Get the destination call number

Returns:
The destination call number
virtual void destroyed ( ) [protected, virtual]

Destroyed notification. Clear data

Reimplemented from RefObject.

virtual IAXFullFrame* fullFrame ( ) [virtual]

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

Returns:
A pointer to this frame

Reimplemented from IAXFrame.

IAXIEList* ieList ( ) [inline]

Retrieve the IE list

Returns:
IAXIEList pointer or NULL
unsigned char iSeqNo ( ) const [inline]

Get the incoming sequence number

Returns:
The incoming sequence number
unsigned char oSeqNo ( ) const [inline]

Get the outgoing sequence number

Returns:
The outgoing sequence number
IAXIEList* removeIEList ( bool  delObj = true)

Remove the IE list

Parameters:
delObjTrue to delete it
Returns:
IAXIEList pointer or NULL if requested to delete it or already NULL
u_int32_t subclass ( ) const [inline]

Get the subclass of this frame

Returns:
The subclass of this frame
void toString ( String dest,
const SocketAddr local,
const SocketAddr remote,
bool  incoming 
)

Fill a string with this frame

Parameters:
destThe string to fill
localThe local address
remoteThe remote address
incomingTrue if it is an incoming frame
void updateBuffer ( u_int16_t  maxlen)

Rebuild frame buffer from the list of IEs

Parameters:
maxlenMax frame data length
bool updateIEList ( bool  incoming)

Update IE list from buffer if not already done

Parameters:
incomingTrue if this is an incoming frame
Returns:
True if the list is valid

The documentation for this class was generated from the following file: