Yate
Public Types | Public Member Functions | Static Public Member Functions | List of all members
SS7MsgSCCP Class Reference
Inheritance diagram for SS7MsgSCCP:
SignallingMessage RefObject GenObject SS7MsgSccpReassemble

Public Types

enum  Type {
  Unknown = 0 , CR = 0x01 , CC = 0x02 , CREF = 0x03 ,
  RLSD = 0x04 , RLC = 0x05 , DT1 = 0x06 , DT2 = 0x07 ,
  AK = 0x08 , UDT = 0x09 , UDTS = 0x0a , ED = 0x0b ,
  EA = 0x0c , RSR = 0x0d , RSC = 0x0e , ERR = 0x0f ,
  IT = 0x10 , XUDT = 0x11 , XUDTS = 0x12 , LUDT = 0x13 ,
  LUDTS = 0x14
}
 
enum  Parameters {
  EndOfParameters = 0 , DestinationLocalReference = 0x01 , SourceLocalReference = 0x02 , CalledPartyAddress = 0x03 ,
  CallingPartyAddress = 0x04 , ProtocolClass = 0x05 , Segmenting = 0x06 , ReceiveSequenceNumber = 0x07 ,
  Sequencing = 0x08 , Credit = 0x09 , ReleaseCause = 0x0a , ReturnCause = 0x0b ,
  ResetCause = 0x0c , ErrorCause = 0x0d , RefusalCause = 0x0e , Data = 0x0f ,
  Segmentation = 0x10 , HopCounter = 0x11 , Importance = 0x12 , LongData = 0x13 ,
  MessageTypeInterworking = 0xf8 , INS = 0xf9 , ISNI = 0xfa
}
 

Public Member Functions

 SS7MsgSCCP (Type type)
 
virtual ~SS7MsgSCCP ()
 
Type type () const
 
void updateType (Type type)
 
bool isLongDataMessage () const
 
bool canBeUDT () const
 
void toString (String &dest, const SS7Label &label, bool params, const void *raw=0, unsigned int rawLen=0) const
 
void setData (DataBlock *data)
 
void removeData ()
 
DataBlockgetData ()
 
DataBlockextractData ()
 
- Public Member Functions inherited from SignallingMessage
 SignallingMessage (const char *name=0)
 
const char * name () const
 
NamedListparams ()
 
const NamedListparams () const
 
- 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 bool alive () const
 
virtual void destruct ()
 
virtual const StringtoString () const
 
virtual const StringtraceId () const
 
virtual void * getObject (const String &name) const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 

Static Public Member Functions

static const TokenDictnames ()
 
static const char * lookup (Type type, const char *defvalue=0)
 
static Type lookup (const char *name, Type defvalue=Unknown)
 
- 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 ()
 

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
 

Member Enumeration Documentation

◆ Type

enum Type

SCCP Message type

Constructor & Destructor Documentation

◆ SS7MsgSCCP()

SS7MsgSCCP ( Type  type)
inline

Constructor

Parameters
typeType of SCCP message as enumeration

◆ ~SS7MsgSCCP()

virtual ~SS7MsgSCCP ( )
virtual

Destructor NOTE: The SCCP message does not own the data pointer In destructor the data pointer should be valid if data was set from decode message In any other cases the pointer should be 0 NOTE: The data is not destroyed!! Only removed from data object and after the data object is destroyed

Member Function Documentation

◆ canBeUDT()

bool canBeUDT ( ) const
inline

Utility method to verify if this message can be a UDT message A SCCP message can be an UDT message if it not contains HopCounter parameter or other optional parameters

Returns
True if this message can be a UDT message

References NamedList::getParam().

◆ extractData()

DataBlock * extractData ( )
inline

Extract the data associated with this message

Returns
The data

◆ getData()

DataBlock * getData ( )
inline

Obtain the data associated with this message

Returns
The data

◆ isLongDataMessage()

bool isLongDataMessage ( ) const
inline

Utility method to verify if this message is a long unit data

Returns
True if this message is a long unit data

◆ lookup() [1/2]

static Type lookup ( const char *  name,
Type  defvalue = Unknown 
)
inlinestatic

Look up an SCCP message name

Parameters
nameString name of the SCCP message
defvalueDefault type to return
Returns
Encoded type of the SCCP message

◆ lookup() [2/2]

static const char * lookup ( Type  type,
const char *  defvalue = 0 
)
inlinestatic

Convert an SCCP message type to a C string

Parameters
typeType of SCCP message to look up
defvalueDefault string to return
Returns
Name of the SCCP message type

◆ names()

static const TokenDict * names ( )
static

Get the dictionary with the message names

Returns
Pointer to the dictionary with the message names

◆ removeData()

void removeData ( )
inline

Remove the data from this message

◆ setData()

void setData ( DataBlock data)
inline

Set data for this message

Parameters
datathe data

◆ toString()

void toString ( String dest,
const SS7Label label,
bool  params,
const void *  raw = 0,
unsigned int  rawLen = 0 
) const

Fill a string with this message's parameters for debug purposes

Parameters
destThe destination string
labelThe routing label
paramsTrue to add parameters
rawOptional raw message data to be added to destination
rawLenRaw data length

◆ type()

Type type ( ) const
inline

Get the type of this message

Returns
The type of this message as enumeration

◆ updateType()

void updateType ( Type  type)
inline

Helper method to change the message type

Parameters
typeThe new message type

References String::assign().


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