Yate
Public Member Functions | Protected Member Functions | Protected Attributes | Friends

SS7ISUP Class Reference

SS7 ISUP implementation. More...

#include <yatesig.h>

Inheritance diagram for SS7ISUP:
SignallingCallControl SS7Layer4 Mutex SS7L3User Lockable SignallingComponent RefObject DebugEnabler GenObject SS7BICC

List of all members.

Public Member Functions

 SS7ISUP (const NamedList &params)
virtual ~SS7ISUP ()
virtual bool initialize (const NamedList *config)
unsigned int cicLen () const
const Stringformat () const
bool setPointCode (SS7PointCode *pc, bool def)
unsigned int setPointCode (const NamedList &params)
SS7PointCodehasPointCode (const SS7PointCode &pc)
void setLabel (SS7Label &label, const SS7PointCode &opc, const SS7PointCode &dpc, unsigned char sls=255)
void setDebug (bool printMsg, bool extendedDebug)
virtual SS7MSUcreateMSU (SS7MsgISUP::Type type, unsigned char ssf, const SS7Label &label, unsigned int cic, const NamedList *params=0) const
virtual SignallingCallcall (SignallingMessage *msg, String &reason)
int transmitMessage (SS7MsgISUP *msg, const SS7Label &label, bool recvLbl, int sls=-1)
virtual void cleanup (const char *reason="offline")
bool decodeMessage (NamedList &msg, SS7MsgISUP::Type msgType, SS7PointCode::Type pcType, const unsigned char *paramPtr, unsigned int paramLen)
bool encodeMessage (DataBlock &buf, SS7MsgISUP::Type msgType, SS7PointCode::Type pcType, const NamedList &params, unsigned int *cic=0)

Protected Member Functions

virtual void destroyed ()
virtual void timerTick (const Time &when)
virtual void notify (SS7Layer3 *link, int sls)
SS7MSUbuildMSU (SS7MsgISUP::Type type, unsigned char sio, const SS7Label &label, unsigned int cic, const NamedList *params) const
virtual bool receivedMSU (const SS7MSU &msu, const SS7Label &label, SS7Layer3 *network, int sls)
virtual bool processMSU (SS7MsgISUP::Type type, unsigned int cic, const unsigned char *paramPtr, unsigned int paramLen, const SS7Label &label, SS7Layer3 *network, int sls)
virtual SignallingEventprocessCircuitEvent (SignallingCircuitEvent *&event, SignallingCall *call=0)

Protected Attributes

unsigned int m_cicLen

Friends

class SS7ISUPCall

Detailed Description

SS7 ISUP implementation.

Implementation of SS7 ISDN User Part


Constructor & Destructor Documentation

SS7ISUP ( const NamedList params)

Constructor

Parameters:
paramsCall controller's parameters
virtual ~SS7ISUP ( ) [virtual]

Destructor


Member Function Documentation

SS7MSU* buildMSU ( SS7MsgISUP::Type  type,
unsigned char  sio,
const SS7Label label,
unsigned int  cic,
const NamedList params 
) const [protected]

Create a new MSU populated with type, routing label and space for fixed part

Parameters:
typeType of ISUP message
sioService Information Octet
labelRouting label for the new MSU
cicCircuit Identification Code
paramsParameter list
Returns:
Pointer to the new MSU or NULL if an error occured
virtual SignallingCall* call ( SignallingMessage msg,
String reason 
) [virtual]

Create an outgoing call. Send a NewCall event with the given msg parameter This method is thread safe

Parameters:
msgCall parameters
reasonFailure reason if any
Returns:
Referenced SignallingCall pointer on success or 0 on failure

Reimplemented from SignallingCallControl.

unsigned int cicLen ( ) const [inline]

Get the length of the Circuit Identification Code for this user part

Returns:
Length of the CIC field in octets
virtual void cleanup ( const char *  reason = "offline") [virtual]

Cleanup calls This method is thread safe

Parameters:
reasonCleanup reason

Reimplemented from SignallingCallControl.

virtual SS7MSU* createMSU ( SS7MsgISUP::Type  type,
unsigned char  ssf,
const SS7Label label,
unsigned int  cic,
const NamedList params = 0 
) const [virtual]

Create a new MSU populated with type, routing label and space for fixed part

Parameters:
typeType of ISUP message
ssfSubservice Field
labelRouting label for the new MSU
cicCircuit Identification Code
paramsOptional parameter list
Returns:
Pointer to the new MSU or NULL if an error occured

Reimplemented in SS7BICC.

bool decodeMessage ( NamedList msg,
SS7MsgISUP::Type  msgType,
SS7PointCode::Type  pcType,
const unsigned char *  paramPtr,
unsigned int  paramLen 
)

Decode an ISUP message buffer to a list of parameters

Parameters:
msgDestination list of parameters
msgTypeThe message type
pcTypeThe point code type (message version)
paramPtrPointer to the Parameter area (just after the message type)
paramLenLength of the Parameter area
Returns:
True if the mesage was succesfully parsed
virtual void destroyed ( ) [protected, virtual]

Remove all links with other layers. Disposes the memory

Reimplemented from SignallingComponent.

bool encodeMessage ( DataBlock buf,
SS7MsgISUP::Type  msgType,
SS7PointCode::Type  pcType,
const NamedList params,
unsigned int *  cic = 0 
)

Encode an ISUP list of parameters to a buffer. The input list may contain a 'message-prefix' parameter to override this controller's prefix

Parameters:
bufDestination buffer
msgTypeThe message type
pcTypeThe point code type (message version)
paramsMessage list of parameters
cicOptional cic to be added before mesage
Returns:
True if the mesage was succesfully encoded
const String& format ( ) const [inline]

Get the default data format

Returns:
The default data format
SS7PointCode* hasPointCode ( const SS7PointCode pc)

Check if the given point code is serviced by this controller

Parameters:
pcThe point code to check
Returns:
SS7PointCode pointer or 0 if not found
virtual bool initialize ( const NamedList config) [virtual]

Configure and initialize the call controller and user part

Parameters:
configOptional configuration parameters override
Returns:
True if ISUP was initialized properly

Reimplemented from SignallingComponent.

virtual void notify ( SS7Layer3 link,
int  sls 
) [protected, virtual]

Process a notification generated by the attached network layer

Parameters:
linkNetwork or linkset that generated the notification
slsSignalling Link that generated the notification, negative if none

Reimplemented from SS7L3User.

virtual SignallingEvent* processCircuitEvent ( SignallingCircuitEvent *&  event,
SignallingCall call = 0 
) [protected, virtual]

Process an event received from a non-reserved circuit

Parameters:
eventThe event, will be consumed and zeroed
callOptional signalling call whose circuit generated the event
Returns:
Signalling event pointer or 0

Reimplemented from SignallingCallControl.

virtual bool processMSU ( SS7MsgISUP::Type  type,
unsigned int  cic,
const unsigned char *  paramPtr,
unsigned int  paramLen,
const SS7Label label,
SS7Layer3 network,
int  sls 
) [protected, virtual]

Process a MSU received from a Layer 3 component

Parameters:
typeType of ISUP message
cicCircuit Identification Code
paramPtrPointer to the Parameter area
paramLenLength of the Parameter area
labelRouting label of the received MSU
networkNetwork layer that delivered the MSU
slsSignalling Link the MSU was received from
Returns:
True if the MSU was processed
virtual bool receivedMSU ( const SS7MSU msu,
const SS7Label label,
SS7Layer3 network,
int  sls 
) [protected, virtual]

Process a MSU received from a Layer 3 component

Parameters:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
networkNetwork layer that delivered the MSU
slsSignalling Link the MSU was received from
Returns:
True if the MSU was processed

Implements SS7L3User.

Reimplemented in SS7BICC.

void setDebug ( bool  printMsg,
bool  extendedDebug 
) [inline]

Set debug data of this call controller

Parameters:
printMsgEnable/disable message printing on output
extendedDebugEnable/disable hex data dump if print messages is enabled
void setLabel ( SS7Label label,
const SS7PointCode opc,
const SS7PointCode dpc,
unsigned char  sls = 255 
) [inline]

Set a routing label to be used for outgoing messages

Parameters:
labelRouting label to set
opcOriginating point code
dpcDestination point code
slsSignalling Link Selection

References SS7Label::assign().

unsigned int setPointCode ( const NamedList params)

Append all point codes from a parameter list, use "pointcode" and "defaultpointcode" parameters

Parameters:
paramsList of parameters to take point codes from
Returns:
Count of point codes added
bool setPointCode ( SS7PointCode pc,
bool  def 
)

Append a point code to the list of point codes serviced by this controller if not already there. Set default point code if requested. If the list is empty, the default point code is set to the first point code added

Parameters:
pcThe point code to append
defTrue if this point code is the default for outgoing calls
Returns:
False if the point code is invalid for this call controller type. If true is returned, don't reuse the pointer
virtual void timerTick ( const Time when) [protected, virtual]

Send CGU if not already done. Check timeouts

Parameters:
whenTime to use as computing base for timeouts

Reimplemented from SignallingComponent.

int transmitMessage ( SS7MsgISUP msg,
const SS7Label label,
bool  recvLbl,
int  sls = -1 
)

Converts an ISUP message to a Message Signal Unit and push it down the protocol stack. The given message is consumed

Parameters:
msgThe message to send
labelThe routing label for the message
recvLblTrue if the given label is from a received message. If true, a new routing label will be created from the received one
slsSignalling Link to use for the new routing label. Ignored if recvLbl is false
Returns:
Link the message was successfully queued to, negative for error

Member Data Documentation

unsigned int m_cicLen [protected]

Length of the Circuit Identification Code in octets


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