|
Yate
|
A Q.931 ISDN Layer 3 message. More...
#include <yatesig.h>
Public Types | |
| enum | Type { Alerting = 0x01 , Proceeding = 0x02 , Connect = 0x07 , ConnectAck = 0x0f , Progress = 0x03 , Setup = 0x05 , SetupAck = 0x0d , Resume = 0x26 , ResumeAck = 0x2e , ResumeRej = 0x22 , Suspend = 0x25 , SuspendAck = 0x2d , SuspendRej = 0x21 , UserInfo = 0x20 , Disconnect = 0x45 , Release = 0x4d , ReleaseComplete = 0x5a , Restart = 0x46 , RestartAck = 0x4e , Segment = 0x60 , CongestionCtrl = 0x79 , Info = 0x7b , Notify = 0x6e , Status = 0x7d , StatusEnquiry = 0x75 } |
Public Member Functions | |
| ISDNQ931Message (Type type, bool initiator, u_int32_t callRef, u_int8_t callRefLen) | |
| ISDNQ931Message (Type type) | |
| ISDNQ931Message (Type type, ISDNQ931Call *call) | |
| virtual | ~ISDNQ931Message () |
| Type | type () const |
| bool | initiator () const |
| u_int32_t | callRef () const |
| u_int8_t | callRefLen () const |
| bool | dummyCallRef () const |
| bool | unknownMandatory () const |
| void | setUnknownMandatory () |
| ObjList * | ieList () |
| ISDNQ931IE * | getIE (ISDNQ931IE::Type type, ISDNQ931IE *base=0) |
| ISDNQ931IE * | removeIE (ISDNQ931IE::Type type, ISDNQ931IE *base=0) |
| const char * | getIEValue (ISDNQ931IE::Type type, const char *param, const char *defVal=0) |
| ISDNQ931IE * | appendIEValue (ISDNQ931IE::Type type, const char *param, const char *value) |
| bool | append (ISDNQ931IE *ie) |
| bool | appendSafe (ISDNQ931IE *ie) |
| void | toString (String &dest, bool extendedDebug, const char *indent=0) const |
| virtual void * | getObject (const String &name) const |
| u_int8_t | encode (ISDNQ931ParserData &parserData, ObjList &dest) |
Public Member Functions inherited from SignallingMessage | |
| SignallingMessage (const char *name=0) | |
| const char * | name () const |
| NamedList & | params () |
| const NamedList & | params () const |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| 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) |
Static Public Member Functions | |
| static ISDNQ931Message * | parse (ISDNQ931ParserData &parserData, const DataBlock &buffer, DataBlock *segData) |
| static const char * | typeName (int t) |
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 () |
Public Attributes | |
| DataBlock | m_buffer |
Static Public Attributes | |
| static const TokenDict | s_type [] |
Additional Inherited Members | |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
| virtual void | destroyed () |
Protected Attributes inherited from SignallingMessage | |
| NamedList | m_params |
A Q.931 ISDN Layer 3 message.
Q.931 ISDN Layer 3 message
| enum Type |
Message type enumeration
| ISDNQ931Message | ( | Type | type, |
| bool | initiator, | ||
| u_int32_t | callRef, | ||
| u_int8_t | callRefLen ) |
Constructor Constructs a message from given data. Used for incoming messages
| type | Message type |
| initiator | The call initiator flag: True: this is the initiator |
| callRef | The call reference |
| callRefLen | The call reference length |
References callRef(), callRefLen(), initiator(), and type().
Referenced by parse().
| ISDNQ931Message | ( | Type | type | ) |
Constructor Constructs a message with dummy call reference
| type | Message type |
References type().
| ISDNQ931Message | ( | Type | type, |
| ISDNQ931Call * | call ) |
Constructor Constructs a message for a given call. Used for outgoing messages
| type | Message type |
| call | The call this message belongs to |
References type().
|
virtual |
Destructor
|
inline |
Append an information element to this message
| ie | Information element to add |
|
inline |
Append an IE with a given parameter
| type | IE's type |
| param | IE's parameter. Set to 0 to use IE's name |
| value | IE parameter's value |
References NamedList::addParam(), appendSafe(), String::c_str(), and type().
| bool appendSafe | ( | ISDNQ931IE * | ie | ) |
Append/insert an information element to this message. Check the IE list consistency The given IE is 'consumed': deleted or appended to the list
| ie | Information element to add |
Referenced by appendIEValue().
|
inline |
Get the id of the call this message belongs to
Referenced by ISDNQ931Message().
|
inline |
Get the length of the call reference
Referenced by ISDNQ931Message().
|
inline |
Check if this message has a dummy call reference
| u_int8_t encode | ( | ISDNQ931ParserData & | parserData, |
| ObjList & | dest ) |
Encode this message If message segmentation is allowed and the message is longer then maximum allowed, split it into Segment messages
| parserData | The parser settings |
| dest | The destination list. If 1 is returned the list contains a DataBuffer with this message. If more then 1 is returned, the list is filled with data buffers with Segment messages |
| ISDNQ931IE * getIE | ( | ISDNQ931IE::Type | type, |
| ISDNQ931IE * | base = 0 ) |
Get a pointer to the first IE with the given type
| type | Requested IE's type |
| base | Optional search starting element. If 0, search is started from the first IE following base |
References type().
Referenced by getIEValue().
|
inline |
Get the value of a given parameter of a given IE
| type | Requested IE's type |
| param | Requested IE's parameter. Set to 0 to use IE's name |
| defVal | Default value to return if IE is missing or the parameter is missing |
References String::c_str(), getIE(), NamedList::getValue(), and type().
|
virtual |
Get a pointer to a data member or this message
| name | Object name |
Reimplemented from RefObject.
References SignallingMessage::name().
|
inline |
Get the IE list of this message
|
inline |
Check if the sender of this message is the call initiator
Referenced by ISDNQ931Message().
|
static |
Parse received data If the message type is Segment, decode only the header and the first IE If valid, fills the given buffer with the rest of the message. If segData is 0, drop the message.
| parserData | The parser settings |
| buffer | The received data |
| segData | Segment message data. If 0, received segmented messages will be dropped |
References ISDNQ931Message().
| ISDNQ931IE * removeIE | ( | ISDNQ931IE::Type | type, |
| ISDNQ931IE * | base = 0 ) |
Remove an IE from list without destroying it
| type | Requested IE's type |
| base | Optional search starting element. If 0, search is started from the first IE following base |
References type().
|
inline |
Set the unknown mandatory IE(s) flag
| void toString | ( | String & | dest, |
| bool | extendedDebug, | ||
| const char * | indent = 0 ) const |
Put this message into a string for debug purposes
| dest | The destination string |
| extendedDebug | True to add the content of IEs and dump data. If false, only the IE name is added to the destination string |
| indent | The line indent |
|
inline |
Get the type of this message
Referenced by appendIEValue(), getIE(), getIEValue(), ISDNQ931Message(), ISDNQ931Message(), ISDNQ931Message(), and removeIE().
|
inlinestatic |
Get the string associated with a given message type
| t | The message type whose string we want to get |
References s_type.
|
inline |
Check if this message contains unknown mandatory IE(s)
| DataBlock m_buffer |
Internally used buffer for debug purposes
|
static |
Keep the string associated with message types
Referenced by typeName().