Yate
IAXInfoElement Class Reference

A single IAX2 Information Element. More...

#include <yateiax.h>

Inheritance diagram for IAXInfoElement:
RefObject GenObject IAXInfoElementBinary IAXInfoElementNumeric IAXInfoElementString

Public Types

enum  Type {
  textframe = 0x00 , CALLED_NUMBER = 0x01 , CALLING_NUMBER = 0x02 , CALLING_ANI = 0x03 ,
  CALLING_NAME = 0x04 , CALLED_CONTEXT = 0x05 , USERNAME = 0x06 , PASSWORD = 0x07 ,
  CAPABILITY = 0x08 , FORMAT = 0x09 , LANGUAGE = 0x0a , VERSION = 0x0b ,
  ADSICPE = 0x0c , DNID = 0x0d , AUTHMETHODS = 0x0e , CHALLENGE = 0x0f ,
  MD5_RESULT = 0x10 , RSA_RESULT = 0x11 , APPARENT_ADDR = 0x12 , REFRESH = 0x13 ,
  DPSTATUS = 0x14 , CALLNO = 0x15 , CAUSE = 0x16 , IAX_UNKNOWN = 0x17 ,
  MSGCOUNT = 0x18 , AUTOANSWER = 0x19 , MUSICONHOLD = 0x1a , TRANSFERID = 0x1b ,
  RDNIS = 0x1c , PROVISIONING = 0x1d , AESPROVISIONING = 0x1e , DATETIME = 0x1f ,
  DEVICETYPE = 0x20 , SERVICEIDENT = 0x21 , FIRMWAREVER = 0x22 , FWBLOCKDESC = 0x23 ,
  FWBLOCKDATA = 0x24 , PROVVER = 0x25 , CALLINGPRES = 0x26 , CALLINGTON = 0x27 ,
  CALLINGTNS = 0x28 , SAMPLINGRATE = 0x29 , CAUSECODE = 0x2a , ENCRYPTION = 0x2b ,
  ENKEY = 0x2c , CODEC_PREFS = 0x2d , RR_JITTER = 0x2e , RR_LOSS = 0x2f ,
  RR_PKTS = 0x30 , RR_DELAY = 0x31 , RR_DROPPED = 0x32 , RR_OOO = 0x33 ,
  CALLTOKEN = 0x36 , CAPABILITY2 = 0x37 , FORMAT2 = 0x38
}
 

Public Member Functions

 IAXInfoElement (Type type)
 
virtual ~IAXInfoElement ()
 
Type type () const
 
virtual void toBuffer (DataBlock &buf)
 
virtual void toString (String &buf)
 
- 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 StringtoString () const
 
virtual const StringtraceId () const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 

Static Public Member Functions

static const char * ieText (u_int8_t ieCode)
 
static const char * causeName (int code)
 
static int causeCode (const char *name, int defVal=0)
 
- 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 NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 

Static Public Attributes

static const TokenDict s_causeName []
 
static const TokenDict s_typeOfNumber []
 
static const TokenDict s_presentation []
 
static const TokenDict s_screening []
 

Additional Inherited Members

- Protected Member Functions inherited from RefObject
virtual void zeroRefs ()
 
bool resurrect ()
 
virtual void destroyed ()
 

Detailed Description

A single IAX2 Information Element.

This class holds a single Information Element with no data

Member Enumeration Documentation

◆ Type

enum Type

Information Element enumeration types

Constructor & Destructor Documentation

◆ IAXInfoElement()

IAXInfoElement ( Type type)
inline

Constructor

Parameters
typeType of this IE

References type().

Referenced by IAXInfoElementBinary::IAXInfoElementBinary(), and IAXInfoElementString::IAXInfoElementString().

◆ ~IAXInfoElement()

virtual ~IAXInfoElement ( )
inlinevirtual

Destructor

Member Function Documentation

◆ causeCode()

static int causeCode ( const char * name,
int defVal = 0 )
inlinestatic

Retrieve the cause code associated with a given name

Parameters
nameCause name
defValDefault value to return if not found
Returns
Cause code

References s_causeName.

◆ causeName()

static const char * causeName ( int code)
inlinestatic

Retrieve the cause name associated with a given code

Parameters
codeCause code
Returns
Cause name, 0 if not found

References s_causeName.

◆ ieText()

static const char * ieText ( u_int8_t ieCode)
inlinestatic

Get the text associated with an IE type value

Parameters
ieCodeNumeric code of the IE
Returns
Pointer to the IE text or 0 if it doesn't exist

◆ toBuffer()

virtual void toBuffer ( DataBlock & buf)
virtual

Constructs a buffer containing this Information Element

Parameters
bufDestination buffer

Reimplemented in IAXInfoElementBinary, IAXInfoElementNumeric, and IAXInfoElementString.

◆ toString()

virtual void toString ( String & buf)
virtual

Add this element to a string

Parameters
bufDestination string

Reimplemented in IAXInfoElementBinary, IAXInfoElementNumeric, and IAXInfoElementString.

◆ type()

Member Data Documentation

◆ s_causeName

const TokenDict s_causeName[]
static

Cause code dictionary

Referenced by causeCode(), and causeName().

◆ s_presentation

const TokenDict s_presentation[]
static

Number presentation dictionary

◆ s_screening

const TokenDict s_screening[]
static

Number screening dictionary

◆ s_typeOfNumber

const TokenDict s_typeOfNumber[]
static

Number type dictionary


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