class SS7ISUP

SS7 ISUP implementation. More...

Full nameTelEngine::SS7ISUP
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::SS7Layer4 [public ], TelEngine::SignallingCallControl [public ]
Inherited bySS7BICC
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods

Protected Members


Detailed Description

Implementation of SS7 ISDN User Part

 SS7ISUP (const NamedList& params)

SS7ISUP

Constructor

Parameters:
paramsCall controller's parameters

 ~SS7ISUP ()

~SS7ISUP

[virtual]

Destructor

bool  initialize (const NamedList* config)

initialize

[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.

unsigned int  cicLen ()

cicLen

[const]

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

Returns: Length of the CIC field in octets

const String&  format ()

format

[const]

Get the default data format

Returns: The default data format

bool  setPointCode (SS7PointCode* pc, bool def)

setPointCode

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

unsigned int  setPointCode (const NamedList& params)

setPointCode

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

SS7PointCode*  hasPointCode (const SS7PointCode& pc)

hasPointCode

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

inline void  setLabel (SS7Label& label, const SS7PointCode& opc, const SS7PointCode& dpc, unsigned char sls = 255)

setLabel

Set a routing label to be used for outgoing messages

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

inline void  setDebug (bool printMsg, bool extendedDebug)

setDebug

Set debug data of this call controller

Parameters:
printMsgEnable/disable message printing on output
extendedDebugEnable/disable hex data dump if print messages is enabled

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

createMSU

[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

SignallingCall*  call (SignallingMessage* msg, String& reason)

call

[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.

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

transmitMessage

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

void  cleanup (const char* reason = "offline")

cleanup

[virtual]

Cleanup calls This method is thread safe

Parameters:
reasonCleanup reason

Reimplemented from SignallingCallControl.

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

decodeMessage

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

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

encodeMessage

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

void  destroyed ()

destroyed

[protected virtual]

Remove all links with other layers. Disposes the memory

Reimplemented from SignallingComponent.

void  timerTick (const Time& when)

timerTick

[protected virtual]

Send CGU if not already done. Check timeouts

Parameters:
whenTime to use as computing base for timeouts

Reimplemented from SignallingComponent.

void  notify (SS7Layer3* link, int sls)

notify

[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.

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

buildMSU

[protected const]

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

bool  receivedMSU (const SS7MSU& msu, const SS7Label& label, SS7Layer3* network, int sls)

receivedMSU

[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

Reimplemented from SS7L3User.

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

processMSU

[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

SignallingEvent*  processCircuitEvent (SignallingCircuitEvent*& event, SignallingCall* call = 0)

processCircuitEvent

[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.

unsigned int m_cicLen

m_cicLen

[protected]


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