SS7MSU Class Reference

A block of data that holds a Message Signal Unit. More...

#include <yatesig.h>

Inheritance diagram for SS7MSU:

DataBlock GenObject

List of all members.

Public Types

enum  Services {
  SNM = 0, MTN = 1, MTNS = 2, SCCP = 3,
  TUP = 4, ISUP = 5, DUP_C = 6, DUP_F = 7,
  MTP_T = 8, BISUP = 9, SISUP = 10, AAL2 = 12,
  BICC = 13, GCP = 14
}
enum  Priority { Regular = 0x00, Special = 0x10, Circuit = 0x20, Facility = 0x30 }
enum  NetIndicator { International = 0x00, SpareInternational = 0x40, National = 0x80, ReservedNational = 0xc0 }

Public Member Functions

 SS7MSU ()
 SS7MSU (const SS7MSU &value)
 SS7MSU (const DataBlock &value)
 SS7MSU (void *value, unsigned int len, bool copyData=true)
 SS7MSU (unsigned char sio, const SS7Label label, void *value=0, unsigned int len=0)
 SS7MSU (unsigned char sif, unsigned char ssf, const SS7Label label, void *value=0, unsigned int len=0)
virtual ~SS7MSU ()
SS7MSUoperator= (const SS7MSU &value)
SS7MSUoperator= (const DataBlock &value)
bool valid () const
unsigned char * getData (unsigned int offs, unsigned int len=1)
const unsigned char * getData (unsigned int offs, unsigned int len=1) const
unsigned char * getData (const SS7Label &label, unsigned int len=1)
const unsigned char * getData (const SS7Label &label, unsigned int len=1) const
int getSIO () const
int getSIF () const
int getSSF () const
int getPrio () const
int getNI () const
const char * getServiceName () const
const char * getPriorityName () const
const char * getIndicatorName () const

Static Public Member Functions

static unsigned char getPriority (const char *name, unsigned char defVal=Regular)
static unsigned char getNetIndicator (const char *name, unsigned char defVal=National)


Detailed Description

A block of data that holds a Message Signal Unit.

A raw data block with a little more understanding about MSU format


Member Enumeration Documentation

Subservice types

enum Priority

Priority values

enum Services

Service indicator values


Constructor & Destructor Documentation

SS7MSU (  )  [inline]

Empty MSU constructor

SS7MSU ( const SS7MSU value  )  [inline]

Copy constructor

Parameters:
value Original MSU

SS7MSU ( const DataBlock value  )  [inline]

Constructor from data block

Parameters:
value Raw data block to copy

SS7MSU ( void *  value,
unsigned int  len,
bool  copyData = true 
) [inline]

Constructor of an initialized MSU

Parameters:
value Data to assign, may be NULL to fill with zeros
len Length of data, may be zero (then value is ignored)
copyData True to make a copy of the data, false to use the pointer

SS7MSU ( unsigned char  sio,
const SS7Label  label,
void *  value = 0,
unsigned int  len = 0 
)

Constructor from routing label and raw data

Parameters:
sio Service Information Octet
label Routing label
len Length of data, may be zero (then value is ignored)
value Data to assign, may be NULL to fill with zeros

SS7MSU ( unsigned char  sif,
unsigned char  ssf,
const SS7Label  label,
void *  value = 0,
unsigned int  len = 0 
)

Constructor from routing label and raw data

Parameters:
sif Service Information Field
ssf Subservice Field
label Routing label
len Length of data, may be zero (then value is ignored)
value Data to assign, may be NULL to fill with zeros

virtual ~SS7MSU (  )  [virtual]

Destructor


Member Function Documentation

const unsigned char* getData ( const SS7Label label,
unsigned int  len = 1 
) const [inline]

Get a const pointer to raw user part data after a routing label

Parameters:
label Routing label of the MSU
len Minimum length of data requested
Returns:
Pointer to data or NULL if invalid offset or length

References SS7MSU::getData(), and SS7Label::length().

Referenced by SS7MSU::getData().

unsigned char* getData ( const SS7Label label,
unsigned int  len = 1 
) [inline]

Get a pointer to raw user part data after a routing label

Parameters:
label Routing label of the MSU
len Minimum length of data requested
Returns:
Pointer to data or NULL if invalid offset or length

References SS7MSU::getData(), and SS7Label::length().

Referenced by SS7MSU::getData().

const unsigned char* getData ( unsigned int  offs,
unsigned int  len = 1 
) const [inline]

Get a const pointer to raw data

Parameters:
offs Offset in the MSU
len Minimum length of data requested
Returns:
Pointer to data or NULL if invalid offset or length

unsigned char* getData ( unsigned int  offs,
unsigned int  len = 1 
) [inline]

Get a pointer to raw data

Parameters:
offs Offset in the MSU
len Minimum length of data requested
Returns:
Pointer to data or NULL if invalid offset or length

const char* getIndicatorName (  )  const

Retrive the name of the Network Indicator as decoded from the SIF

Returns:
Name of the network indicator, NULL if unknown or invalid MSU

static unsigned char getNetIndicator ( const char *  name,
unsigned char  defVal = National 
) [static]

Get the network indicator associated with a given name

Parameters:
name Network indicator name to find
defVal Default value to return if not found
Returns:
The network indicator value or the given default one if not exists

int getNI (  )  const [inline]

Retrive the Network Indicator (NI)

Returns:
Value of the subservice or -1 if the MSU is empty

References TelEngine::null().

int getPrio (  )  const [inline]

Retrive the Priority Field

Returns:
Value of the priority or -1 if the MSU is empty

References TelEngine::null().

static unsigned char getPriority ( const char *  name,
unsigned char  defVal = Regular 
) [static]

Get the priority associated with a given name

Parameters:
name Priority name to find
defVal Default value to return if not found
Returns:
The priority value or the given default one if not exists

const char* getPriorityName (  )  const

Retrive the name of the Priority as decoded from the SIF

Returns:
Name of the priority, NULL if unknown or invalid MSU

const char* getServiceName (  )  const

Retrive the name of the Service as decoded from the SIF

Returns:
Name of the service, NULL if unknown or invalid MSU

int getSIF (  )  const [inline]

Retrive the Service Information Field

Returns:
Value of the SIF or -1 if the MSU is empty

References TelEngine::null().

int getSIO (  )  const [inline]

Retrive the Service Information Octet

Returns:
Value of the SIO or -1 if the MSU is empty

References TelEngine::null().

int getSSF (  )  const [inline]

Retrive the Subservice Field (SSF)

Returns:
Value of the subservice or -1 if the MSU is empty

References TelEngine::null().

SS7MSU& operator= ( const DataBlock value  )  [inline]

Assignment operator from data block

Parameters:
value Data block to assign
Returns:
A reference to this MSU

Reimplemented from DataBlock.

References DataBlock::operator=().

SS7MSU& operator= ( const SS7MSU value  )  [inline]

Assignment operator

Parameters:
value Original MSU
Returns:
A reference to this MSU

References DataBlock::operator=().

bool valid (  )  const

Check if the MSU length appears valid

Returns:
True if the MSU length is valid


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

Generated on Sun Dec 7 21:45:27 2008 for Yate by  doxygen 1.5.7.1