Yate
|
SS7 Layer 3 implementation on top of Layer 2. More...
#include <yatesig.h>
Public Types | |
enum | Operation { Pause = 0x100, Resume = 0x200, Restart = 0x300, Status = 0x400 } |
Public Member Functions | |
SS7MTP3 (const NamedList ¶ms) | |
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 ¶ms) |
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 () |
SS7 Layer 3 implementation on top of Layer 2.
Q.704 SS7 Layer 3 (Network) implementation on top of SS7 Layer 2
enum Operation |
Control primitives
virtual ~SS7MTP3 | ( | ) | [virtual] |
Destructor
virtual bool allowedTo | ( | SS7PointCode::Type | type, |
unsigned int | packedPC | ||
) | const [virtual] |
Check if access to a specific Point Code is allowed from this network
type | Destination point code type |
packedPC | The destination point code |
Reimplemented from SS7Layer3.
Attach a SS7 Layer 2 (data link) to the network transport. Attach itself to the link
link | Pointer to data link to attach |
Implements SS7L2User.
virtual unsigned int congestion | ( | int | sls | ) | [virtual] |
Get the current congestion level of a link
sls | Signalling Link to check for congestion, -1 for maximum |
Reimplemented from SS7Layer3.
Execute a control operation on the linkset
oper | Operation to execute |
params | Optional parameters for the operation |
Query or modify layer's settings or operational parameters
params | The list of parameters to query or change |
Reimplemented from SignallingComponent.
unsigned int countLinks | ( | ) | [protected] |
Count the total and active number of links
virtual void destroyed | ( | ) | [protected, virtual] |
Detach all links and user. Destroys the object, disposes the memory
Reimplemented from SignallingComponent.
Detach a SS7 Layer 2 (data link) from the network transport. Remove the link's L2 user
link | Pointer 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
sls | Signalling Link to retrieve MSU number from |
Reimplemented from SS7Layer3.
virtual bool inhibit | ( | int | sls, |
int | setFlags, | ||
int | clrFlags = 0 |
||
) | [virtual] |
Set and clear inhibition flags on the links
sls | Signalling Link to modify |
setFlags | Flag bits to set ORed together |
clrFlags | Flag bits to clear ORed together (optional) |
Reimplemented from SS7Layer3.
virtual int inhibited | ( | int | sls | ) | const [virtual] |
Retrieve inhibition flags of a specific link
sls | Signalling Link to check |
Reimplemented from SS7Layer3.
virtual bool initialize | ( | const NamedList * | config | ) | [virtual] |
Configure and initialize the MTP3 and all its links
config | Optional configuration parameters override |
Reimplemented from SS7Layer3.
virtual void linkChecked | ( | int | sls, |
bool | remote | ||
) | [protected, virtual] |
Callback called from maintenance when valid SLTA or SLTM are received
sls | Link that was checked by maintenance |
remote | True if remote checked the link, false if local success |
Reimplemented from SS7Layer3.
Get a list of the links held by this linkset
unsigned int linksActive | ( | ) | const [inline] |
Get the number of links that are currently operational
unsigned int linksChecked | ( | ) | const [inline] |
Get the number of links that are checked by maintenance
unsigned int linksTotal | ( | ) | const [inline] |
Get the total number of links attached
Process a notification generated by the attached data link
link | Data link that generated the notification |
Implements SS7L2User.
virtual bool operational | ( | int | sls = -1 | ) | const [virtual] |
Check if the network/linkset is fully operational
sls | Signalling Link to check, negative to check if any is operational |
Implements SS7Layer3.
virtual bool receivedMSU | ( | const SS7MSU & | msu, |
SS7Layer2 * | link, | ||
int | sls | ||
) | [protected, virtual] |
virtual bool recoveredMSU | ( | const SS7MSU & | msu, |
SS7Layer2 * | link, | ||
int | sls | ||
) | [protected, virtual] |
virtual void recoverMSU | ( | int | sls, |
int | sequence | ||
) | [virtual] |
Remove the MSUs waiting in the transmit queue and return them
sls | Signalling Link to recover MSUs from |
sequence | First 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()
Reimplemented from SS7Layer3.
Periodical timer tick used to perform housekeeping and link checking
when | Time 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
msu | Message data, starting with Service Indicator Octet |
label | Routing label of the MSU used in routing |
sls | Signalling Link Selection, negative to choose best |
Implements SS7Layer3.