Yate
Public Types | Public Member Functions | Protected Member Functions
SS7MTP3 Class Reference

SS7 Layer 3 implementation on top of Layer 2. More...

#include <yatesig.h>

Inheritance diagram for SS7MTP3:
SS7Layer3 SS7L2User SignallingDumpable Mutex SignallingComponent SignallingComponent Lockable RefObject DebugEnabler RefObject DebugEnabler GenObject GenObject

List of all members.

Public Types

enum  Operation { Pause = 0x100, Resume = 0x200, Restart = 0x300, Status = 0x400 }

Public Member Functions

 SS7MTP3 (const NamedList &params)
virtual ~SS7MTP3 ()
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 int inhibited (int sls) const
virtual bool inhibit (int sls, int setFlags, int clrFlags=0)
virtual unsigned int congestion (int sls)
virtual int getSequence (int sls) const
virtual void recoverMSU (int sls, int sequence)
virtual bool control (Operation oper, NamedList *params=0)
virtual void attach (SS7Layer2 *link)
virtual void detach (SS7Layer2 *link)
virtual bool control (NamedList &params)
virtual bool allowedTo (SS7PointCode::Type type, unsigned int packedPC) const
unsigned int linksTotal () const
unsigned int linksChecked () const
unsigned int linksActive () const
const ObjListlinks () const

Protected Member Functions

virtual void destroyed ()
virtual void timerTick (const Time &when)
virtual void linkChecked (int sls, bool remote)
virtual bool responder () const
virtual bool receivedMSU (const SS7MSU &msu, SS7Layer2 *link, int sls)
virtual bool recoveredMSU (const SS7MSU &msu, SS7Layer2 *link, int sls)
virtual void notify (SS7Layer2 *link)
unsigned int countLinks ()

Detailed Description

SS7 Layer 3 implementation on top of Layer 2.

Q.704 SS7 Layer 3 (Network) implementation on top of SS7 Layer 2


Member Enumeration Documentation

enum Operation

Control primitives


Constructor & Destructor Documentation

SS7MTP3 ( const NamedList params)

Constructor

Parameters:
paramsLayer's parameters
virtual ~SS7MTP3 ( ) [virtual]

Destructor


Member Function Documentation

virtual bool allowedTo ( SS7PointCode::Type  type,
unsigned int  packedPC 
) const [virtual]

Check if access to a specific Point Code is allowed from this network

Parameters:
typeDestination point code type
packedPCThe destination point code
Returns:
True if access to the specified Point Code is allowed

Reimplemented from SS7Layer3.

virtual void attach ( SS7Layer2 link) [virtual]

Attach a SS7 Layer 2 (data link) to the network transport. Attach itself to the link

Parameters:
linkPointer to data link to attach

Implements SS7L2User.

virtual unsigned int congestion ( int  sls) [virtual]

Get the current congestion level of a link

Parameters:
slsSignalling Link to check for congestion, -1 for maximum
Returns:
Congestion level, 0 if not congested, 3 if maximum congestion

Reimplemented from SS7Layer3.

virtual bool control ( Operation  oper,
NamedList params = 0 
) [virtual]

Execute a control operation on the linkset

Parameters:
operOperation to execute
paramsOptional parameters for the operation
Returns:
True if the command completed successfully, for query operations also indicates the linkset is enabled and operational
virtual bool control ( NamedList params) [virtual]

Query or modify layer's settings or operational parameters

Parameters:
paramsThe list of parameters to query or change
Returns:
True if the control operation was executed

Reimplemented from SignallingComponent.

unsigned int countLinks ( ) [protected]

Count the total and active number of links

Returns:
Number of active links
virtual void destroyed ( ) [protected, virtual]

Detach all links and user. Destroys the object, disposes the memory

Reimplemented from SignallingComponent.

virtual void detach ( SS7Layer2 link) [virtual]

Detach a SS7 Layer 2 (data link) from the network transport. Remove the link's L2 user

Parameters:
linkPointer to data link to detach

Implements SS7L2User.

virtual int getSequence ( int  sls) const [virtual]

Get the sequence number of the last MSU received on a link

Parameters:
slsSignalling Link to retrieve MSU number from
Returns:
Last FSN received, negative if not available

Reimplemented from SS7Layer3.

virtual bool inhibit ( int  sls,
int  setFlags,
int  clrFlags = 0 
) [virtual]

Set and clear inhibition flags on the links

Parameters:
slsSignalling Link to modify
setFlagsFlag bits to set ORed together
clrFlagsFlag bits to clear ORed together (optional)
Returns:
True if inhibition flags were set

Reimplemented from SS7Layer3.

virtual int inhibited ( int  sls) const [virtual]

Retrieve inhibition flags of a specific link

Parameters:
slsSignalling Link to check
Returns:
Inhibitions of the specified link, zero if not inhibited

Reimplemented from SS7Layer3.

virtual bool initialize ( const NamedList config) [virtual]

Configure and initialize the MTP3 and all its links

Parameters:
configOptional configuration parameters override
Returns:
True if MTP3 and at least one link were initialized properly

Reimplemented from SS7Layer3.

virtual void linkChecked ( int  sls,
bool  remote 
) [protected, virtual]

Callback called from maintenance when valid SLTA or SLTM are received

Parameters:
slsLink that was checked by maintenance
remoteTrue if remote checked the link, false if local success

Reimplemented from SS7Layer3.

const ObjList* links ( ) const [inline]

Get a list of the links held by this linkset

Returns:
A list containing the links
unsigned int linksActive ( ) const [inline]

Get the number of links that are currently operational

Returns:
Number of operational data links
unsigned int linksChecked ( ) const [inline]

Get the number of links that are checked by maintenance

Returns:
Number of MTN checked data links
unsigned int linksTotal ( ) const [inline]

Get the total number of links attached

Returns:
Number of attached data links
virtual void notify ( SS7Layer2 link) [protected, virtual]

Process a notification generated by the attached data link

Parameters:
linkData link that generated the notification
Returns:
True if notification was processed

Implements SS7L2User.

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

Check if the network/linkset is fully operational

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

Implements SS7Layer3.

virtual bool receivedMSU ( const SS7MSU msu,
SS7Layer2 link,
int  sls 
) [protected, virtual]

Process a MSU received from the Layer 2 component

Parameters:
msuMessage data, starting with Service Indicator Octet
linkData link that delivered the MSU
slsSignalling Link the MSU was received from
Returns:
True if the MSU was processed

Implements SS7L2User.

virtual bool recoveredMSU ( const SS7MSU msu,
SS7Layer2 link,
int  sls 
) [protected, virtual]

Process a MSU recovered from the Layer 2 component after failure

Parameters:
msuMessage data, starting with Service Indicator Octet
linkData link from where the MSU was recovered
slsSignalling Link the MSU was recovered from
Returns:
True if the MSU was processed

Implements SS7L2User.

virtual void recoverMSU ( int  sls,
int  sequence 
) [virtual]

Remove the MSUs waiting in the transmit queue and return them

Parameters:
slsSignalling Link to recover MSUs from
sequenceFirst sequence number to recover, flush earlier packets

Reimplemented from SS7Layer3.

virtual bool responder ( ) const [inline, protected, virtual]

Check if we should answer with SLTA to received SLTM in maintenance()

Returns:
True to send a SLTA for each good received SLTM

Reimplemented from SS7Layer3.

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

Periodical timer tick used to perform housekeeping and link checking

Parameters:
whenTime to use as computing base for events and timeouts

Reimplemented from SignallingComponent.

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 used in routing
slsSignalling Link Selection, negative to choose best
Returns:
Link the message was successfully queued to, negative for error

Implements SS7Layer3.


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