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 ObjList * links () 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: