IAXFrame Class Reference

This class holds an IAX frame. More...

#include <yateiax.h>

Inheritance diagram for IAXFrame:
RefObject GenObject IAXFullFrame IAXFrameOut

List of all members.

Public Types

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

 IAXFrame (Type type, u_int16_t sCallNo, u_int32_t tStamp, bool retrans, const unsigned char *buf, unsigned int len)
virtual ~IAXFrame ()
Type type () const
DataBlockdata ()
bool retrans () const
u_int16_t sourceCallNo () const
u_int32_t timeStamp () const
virtual const IAXFullFramefullFrame () const

Static Public Member Functions

static IAXFrameparse (const unsigned char *buf, unsigned int len, IAXEngine *engine=0, const SocketAddr *addr=0)
static u_int8_t packSubclass (u_int32_t value)
static u_int32_t unpackSubclass (u_int8_t value)
static const char * typeText (int type)

Protected Attributes

DataBlock m_data
bool m_retrans

Detailed Description

This class holds an IAX frame.

This class holds all data needded to manage an IAX frame


Member Enumeration Documentation

enum Type

IAX frame type enumeration


Constructor & Destructor Documentation

IAXFrame ( Type  type,
u_int16_t  sCallNo,
u_int32_t  tStamp,
bool  retrans,
const unsigned char *  buf,
unsigned int  len 
)

Constructor. Constructs an incoming frame

Parameters:
type Frame type
sCallNo Source call number
tStamp Frame timestamp
retrans Retransmission flag
buf IE buffer
len IE buffer length
virtual ~IAXFrame (  )  [virtual]

Destructor


Member Function Documentation

DataBlock& data (  )  [inline]

Get the data buffer of the frame

Returns:
The data buffer of the frame
virtual const IAXFullFrame* fullFrame (  )  const [virtual]

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

Returns:
A pointer to this frame if it is a full frame or 0

Reimplemented in IAXFullFrame.

static u_int8_t packSubclass ( u_int32_t  value  )  [static]

Pack a subclass value according to IAX protocol

Parameters:
value Value to pack
Returns:
The packed subclass value or 0 if invalid (>255 and not a power of 2)
static IAXFrame* parse ( const unsigned char *  buf,
unsigned int  len,
IAXEngine engine = 0,
const SocketAddr addr = 0 
) [static]

Parse a received buffer and returns a IAXFrame pointer if valid

Parameters:
buf Received buffer
len Buffer length
engine The IAXEngine who requested the operation
addr The source address
Returns:
A frame pointer on success or 0
bool retrans (  )  const [inline]

Get the retransmission flag of this frame

Returns:
The retransmission flag of this frame
u_int16_t sourceCallNo (  )  const [inline]

Get the source call number of this frame

Returns:
The source call number of this frame
u_int32_t timeStamp (  )  const [inline]

Get the timestamp of this frame

Returns:
The timestamp of this frame
Type type (  )  const [inline]

Get the type of this frame as enumeration

Returns:
The type of this frame as enumeration
static const char* typeText ( int  type  )  [inline, static]

Get the string associated with the given IAX frame type

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

References TelEngine::lookup().

static u_int32_t unpackSubclass ( u_int8_t  value  )  [static]

Unpack a subclass value according to IAX protocol

Parameters:
value Value to unpack
Returns:
The unpacked subclass value

Member Data Documentation

DataBlock m_data [protected]

Contains the frame's IE list for an incoming frame or the whole frame for an outgoing one

bool m_retrans [protected]

Retransmission flag


The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:19:43 2010 for Yate by  doxygen 1.6.3