# class ISDNQ931Message | A Q.931 ISDN Layer 3 message. More...
Full name | `TelEngine::ISDNQ931Message`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::SignallingMessage [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

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

- ISDNQ931Message (Type type, bool initiator, u_int32_t callRef, u_int8_t callRefLen)
- ISDNQ931Message (Type type)
- ISDNQ931Message (Type type, ISDNQ931Call* call)
- virtual ~ISDNQ931Message ()
- inline Type type () const
- inline bool initiator () const
- inline u_int32_t callRef () const
- inline u_int8_t callRefLen () const
- inline bool dummyCallRef () const
- inline bool unknownMandatory () const
- inline void setUnknownMandatory ()
- inline ObjList* ieList ()
- ISDNQ931IE* getIE (ISDNQ931IE::Type type, ISDNQ931IE* base = 0)
- ISDNQ931IE* removeIE (ISDNQ931IE::Type type, ISDNQ931IE* base = 0)
- inline const char* getIEValue (ISDNQ931IE::Type type, const char* param, const char* defVal = 0)
- inline ISDNQ931IE* appendIEValue (ISDNQ931IE::Type type, const char* param, const char* value)
- inline 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 Static Methods

- static ISDNQ931Message* parse (ISDNQ931ParserData& parserData, const DataBlock& buffer, DataBlock* segData)
- static inline const char* typeName (int t)

#### Public Members

- static const TokenDict s_type[]
- DataBlock m_buffer

## Detailed Description

Q.931 ISDN Layer 3 message

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, } | ### Type

Message type enumeration

ISDNQ931Message (Type type, bool initiator, u_int32_t callRef, u_int8_t callRefLen) | ### ISDNQ931Message

Constructor Constructs a message from given data. Used for incoming messages

Parameters:

type | Message type
initiator | The call initiator flag: True: this is the initiator
callRef | The call reference
callRefLen | The call reference length

ISDNQ931Message (Type type) | ### ISDNQ931Message

Constructor Constructs a message with dummy call reference

Parameters:

type | Message type

ISDNQ931Message (Type type, ISDNQ931Call* call) | ### ISDNQ931Message

Constructor Constructs a message for a given call. Used for outgoing messages

Parameters:

type | Message type
call | The call this message belongs to

~ISDNQ931Message () | ### ~ISDNQ931Message

[virtual]

Destructor

inline Type type () | ### type

[const]

Get the type of this message

Returns: The type of this message as enumeration

inline bool initiator () | ### initiator

[const]

Check if the sender of this message is the call initiator

Returns: True if the sender of this message is the call initiator

inline u_int32_t callRef () | ### callRef

[const]

Get the id of the call this message belongs to

Returns: The call reference

inline u_int8_t callRefLen () | ### callRefLen

[const]

Get the length of the call reference

Returns: The length of the call reference

inline bool dummyCallRef () | ### dummyCallRef

[const]

Check if this message has a dummy call reference

Returns: True if this message has a dummy call reference

inline bool unknownMandatory () | ### unknownMandatory

[const]

Check if this message contains unknown mandatory IE(s)

Returns: True if this message contains unknown mandatory IE(s)

inline void setUnknownMandatory () | ### setUnknownMandatory

Set the unknown mandatory IE(s) flag

inline ObjList* ieList () | ### ieList

Get the IE list of this message

Returns: A valid pointer to the list of this message's IEs

ISDNQ931IE* getIE (ISDNQ931IE::Type type, ISDNQ931IE* base = 0) | ### getIE

Get a pointer to the first IE with the given type

Parameters:

type | Requested IE's type
base | Optional search starting element. If 0, search is started from the first IE following base

Returns: Pointer to the IE or 0 if not found

ISDNQ931IE* removeIE (ISDNQ931IE::Type type, ISDNQ931IE* base = 0) | ### removeIE

Remove an IE from list without destroying it

Parameters:

type | Requested IE's type
base | Optional search starting element. If 0, search is started from the first IE following base

Returns: Pointer to the IE or 0 if not found

inline const char* getIEValue (ISDNQ931IE::Type type, const char* param, const char* defVal = 0) | ### getIEValue

Get the value of a given parameter of a given IE

Parameters:

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

Returns: Pointer to the requested value or 0

inline ISDNQ931IE* appendIEValue (ISDNQ931IE::Type type, const char* param, const char* value) | ### appendIEValue

Append an IE with a given parameter

Parameters:

type | IE's type
param | IE's parameter. Set to 0 to use IE's name
value | IE parameter's value

Returns: Pointer to the requested value or 0

inline bool append (ISDNQ931IE* ie) | ### append

Append an information element to this message

Parameters:

ie | Information element to add

Returns: True if the IE was added or replaced, false if it was invalid

bool appendSafe (ISDNQ931IE* ie) | ### appendSafe

Append/insert an information element to this message. Check the IE list consistency The given IE is 'consumed': deleted or appended to the list

Parameters:

ie | Information element to add

Returns: True if the IE was added or replaced, false if it was invalid

void toString (String& dest, bool extendedDebug, const char* indent = 0) | ### toString

[const]

Put this message into a string for debug purposes

Parameters:

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

Reimplemented from GenObject.

void* getObject (const String& name) | ### getObject

[const virtual]

Get a pointer to a data member or this message

Parameters:

name | Object name

Returns: The requested pointer or 0 if not exists

Reimplemented from RefObject.

u_int8_t encode (ISDNQ931ParserData& parserData, ObjList& dest) | ### encode

Encode this message If message segmentation is allowed and the message is longer then maximum allowed, split it into Segment messages

Parameters:

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

Returns: The number of segments on success or 0 on failure.

ISDNQ931Message* parse (ISDNQ931ParserData& parserData, const DataBlock& buffer, DataBlock* segData) | ### parse

[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.

Parameters:

parserData | The parser settings
buffer | The received data
segData | Segment message data. If 0, received segmented messages will be dropped

Returns: Valid ISDNQ931Message pointer on success or 0

inline const char* typeName (int t) | ### typeName

[static]

Get the string associated with a given message type

Parameters:

t | The message type whose string we want to get

Returns: Pointer to the string associated with the given message type or 0

static const TokenDict s_type[] | ### s_type[]

DataBlock m_buffer | ### m_buffer

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