SS7ISUP Class Reference

SS7 ISUP implementation. More...

#include <yatesig.h>

Inheritance diagram for SS7ISUP:

SignallingCallControl SS7Layer4 Mutex SS7L3User SignallingComponent GenObject DebugEnabler SS7BICC

List of all members.

Public Member Functions

 SS7ISUP (const NamedList &params)
virtual ~SS7ISUP ()
unsigned int cicLen () const
const Stringformat () const
bool setPointCode (SS7PointCode *pc, bool def)
SS7PointCodehasPointCode (const SS7PointCode &pc)
void setLabel (SS7Label &label, const SS7PointCode &opc, const SS7PointCode &dpc, unsigned char sls=255)
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")
virtual void * getObject (const String &name) const
virtual void destruct ()
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 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:
params Call controller's parameters

virtual ~SS7ISUP (  )  [virtual]

Destructor


Member Function Documentation

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

const String& format (  )  const [inline]

Get the default data format

Returns:
The default data format

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:
pc The point code to append
def True 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

SS7PointCode* hasPointCode ( const SS7PointCode pc  ) 

Check if the given point code is serviced by this controller

Parameters:
pc The point code to check
Returns:
SS7PointCode pointer or 0 if not found

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:
label Routing label to set
opc Originating point code
dpc Destination point code
sls Signalling Link Selection

References SS7Label::assign().

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:
type Type of ISUP message
ssf Subservice Field
label Routing label for the new MSU
cic Circuit Identification Code
params Optional parameter list
Returns:
Pointer to the new MSU or NULL if an error occured

Reimplemented in SS7BICC.

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:
msg Call parameters
reason Failure 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 
)

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

Parameters:
msg The message to send
label The routing label for the message
recvLbl True if the given label is from a received message. If true, a new routing label will be created from the received one
sls Signalling Link to use for the new routing label. Ignored if recvLbl is false
Returns:
Link the message was successfully queued to, negative for error

virtual void cleanup ( const char *  reason = "offline"  )  [virtual]

Cleanup calls This method is thread safe

Parameters:
reason Cleanup reason

Reimplemented from SignallingCallControl.

virtual void* getObject ( const String name  )  const [virtual]

Get a pointer to this object or other data

Parameters:
name Object name
Returns:
The requested pointer or 0 if not exists

Reimplemented from GenObject.

Reimplemented in SS7BICC.

virtual void destruct (  )  [virtual]

Remove all links with other layers. Disposes the memory

Reimplemented from GenObject.

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:
msg Destination list of parameters
msgType The message type
pcType The point code type (message version)
paramPtr Pointer to the Parameter area (just after the message type)
paramLen Length 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 
)

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:
buf Destination buffer
msgType The message type
pcType The point code type (message version)
params Message list of parameters
cic Optional cic to be added before mesage
Returns:
True if the mesage was succesfully encoded

virtual void timerTick ( const Time when  )  [protected, virtual]

Send CGU if not already done. Check timeouts

Parameters:
when Time to use as computing base for timeouts

Reimplemented from SignallingComponent.

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

Process a notification generated by the attached network layer

Parameters:
link Network or linkset that generated the notification
sls Signalling 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 
) const [protected]

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

Parameters:
type Type of ISUP message
sio Service Information Octet
label Routing label for the new MSU
cic Circuit Identification Code
params Parameter list
Returns:
Pointer to the new MSU or NULL if an error occured

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:
msu Message data, starting with Service Indicator Octet
label Routing label of the received MSU
network Network layer that delivered the MSU
sls Signalling Link the MSU was received from
Returns:
True if the MSU was processed

Implements SS7L3User.

Reimplemented in SS7BICC.

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:
type Type of ISUP message
cic Circuit Identification Code
paramPtr Pointer to the Parameter area
paramLen Length of the Parameter area
label Routing label of the received MSU
network Network layer that delivered the MSU
sls Signalling Link the MSU was received from
Returns:
True if the MSU was processed

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

Process an event received from a non-reserved circuit

Parameters:
event The event
call Optional signalling call whose circuit generated the event
Returns:
Signalling event pointer or 0

Reimplemented from SignallingCallControl.


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:

Generated on Mon Aug 11 16:18:54 2008 for Yate by  doxygen 1.5.6