Yate
Public Member Functions | Protected Member Functions | Protected Attributes

SS7Router Class Reference

Main router for SS7 message transfer and applications. More...

#include <yatesig.h>

Inheritance diagram for SS7Router:
SS7L3User SS7Layer3 Mutex SignallingComponent SignallingComponent Lockable RefObject DebugEnabler RefObject DebugEnabler GenObject GenObject

List of all members.

Public Member Functions

 SS7Router (const NamedList &params)
virtual bool initialize (const NamedList *config)
virtual int transmitMSU (const SS7MSU &msu, const SS7Label &label, int sls=-1)
virtual bool operational (int sls=-1) const
virtual void attach (SS7Layer3 *network)
virtual void detach (SS7Layer3 *network)
void attach (SS7Layer4 *service)
void detach (SS7Layer4 *service)

Protected Member Functions

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

Protected Attributes

ObjList m_layer3
ObjList m_layer4
int m_changes

Detailed Description

Main router for SS7 message transfer and applications.

A message router between Transfer and Application layers. Messages are distributed according to the service type.


Constructor & Destructor Documentation

SS7Router ( const NamedList params)

Default constructor

Parameters:
paramsThe list with the parameters

Member Function Documentation

virtual void attach ( SS7Layer3 network) [virtual]

Attach a SS7 Layer 3 (network) to the router. Attach the router to the given network

Parameters:
networkPointer to network to attach

Implements SS7L3User.

void attach ( SS7Layer4 service)

Attach a SS7 Layer 4 (service) to the router. Attach itself to the service

Parameters:
servicePointer to service to attach
virtual void detach ( SS7Layer3 network) [virtual]

Detach a SS7 Layer 3 (network) from the router. Detach the router from the given network

Parameters:
networkPointer to network to detach
void detach ( SS7Layer4 service)

Detach a SS7 Layer 4 (service) from the router. Detach itself from the service

Parameters:
servicePointer to service to detach
virtual bool initialize ( const NamedList config) [virtual]

Configure and initialize the router, maintenance and management

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

Reimplemented from SignallingComponent.

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

Process a notification generated by the attached network layer

Parameters:
networkNetwork or linkset that generated the notification
slsSignallink Link that generated the notification, negative if none
Returns:
True if notification was processed

Reimplemented from SS7L3User.

virtual bool operational ( int  sls = -1) const [virtual]

Check if the router is fully operational

Parameters:
slsSignalling Link to check, negative to check if any is operational
Returns:
True if the router is enabled and operational

Implements SS7Layer3.

virtual bool receivedMSU ( const SS7MSU msu,
const SS7Label label,
SS7Layer3 network,
int  sls 
) [protected, virtual]

Process a MSU received from the 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.

virtual int transmitMSU ( const SS7MSU msu,
const SS7Label label,
int  sls = -1 
) [virtual]

Push a Message Signal Unit down the protocol stack

Parameters:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the MSU to use in routing
slsSignalling Link Selection, negative to choose best
Returns:
Link the message was successfully queued to, negative for error

Implements SS7Layer3.


Member Data Documentation

int m_changes [protected]

Counter used to spot changes in the lists of L3 or L4

ObjList m_layer3 [protected]

List of L3 (networks) attached to this router

ObjList m_layer4 [protected]

List of L4 (services) attached to this router


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