class ISDNQ931Message

A Q.931 ISDN Layer 3 message. More...

Full nameTelEngine::ISDNQ931Message
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::SignallingMessage [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Static Methods

Public Members


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:
typeMessage type
initiatorThe call initiator flag: True: this is the initiator
callRefThe call reference
callRefLenThe call reference length

 ISDNQ931Message (Type type)

ISDNQ931Message

Constructor Constructs a message with dummy call reference

Parameters:
typeMessage type

 ISDNQ931Message (Type type, ISDNQ931Call* call)

ISDNQ931Message

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

Parameters:
typeMessage type
callThe 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:
typeRequested IE's type
baseOptional 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:
typeRequested IE's type
baseOptional 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:
typeRequested IE's type
paramRequested IE's parameter. Set to 0 to use IE's name
defValDefault 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:
typeIE's type
paramIE's parameter. Set to 0 to use IE's name
valueIE 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:
ieInformation 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:
ieInformation 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:
destThe destination string
extendedDebugTrue to add the content of IEs and dump data. If false, only the IE name is added to the destination string
indentThe line indent

Reimplemented from GenObject.

void*  getObject (const String& name)

getObject

[const virtual]

Get a pointer to a data member or this message

Parameters:
nameObject name

Returns: The requested pointer or 0 if not exists

Reimplemented from GenObject.

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:
parserDataThe parser settings
destThe 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:
parserDataThe parser settings
bufferThe received data
segDataSegment 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:
tThe message type whose string we want to get

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

static TokenDict s_type[]

s_type[]

DataBlock m_buffer

m_buffer


Generated by: paulc on bussard on Mon Mar 8 12:18:15 2010, using kdoc 2.0a54.