Yate
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 const StringtoString () const
 
virtual const StringtraceId () 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()

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 SignallingMessage::params().

◆ 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

References SignallingMessage::name(), and names().

◆ 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

References names(), and type().

Referenced by SS7MsgSCCP(), and updateType().

◆ names()

static const TokenDict * names ( )
static

Get the dictionary with the message names

Returns
Pointer to the dictionary with the message names

Referenced by lookup(), and lookup().

◆ 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

References SignallingMessage::params().

◆ type()

Type type ( ) const
inline

Get the type of this message

Returns
The type of this message as enumeration

Referenced by lookup(), SS7MsgSCCP(), and updateType().

◆ updateType()

void updateType ( Type type)
inline

Helper method to change the message type

Parameters
typeThe new message type

References lookup(), SignallingMessage::params(), and type().


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