Yate
|
Abstract SS7 layer 2 (data link) message transfer part. More...
#include <yatesig.h>
Public Types | |
enum | LinkStatus { OutOfAlignment = 0, NormalAlignment = 1, EmergencyAlignment = 2, OutOfService = 3, ProcessorOutage = 4, Busy = 5, O = OutOfAlignment, N = NormalAlignment, E = EmergencyAlignment, OS = OutOfService, PO = ProcessorOutage, B = Busy } |
enum | Operation { Pause = 0x100, Resume = 0x200, Align = 0x300, Status = 0x400 } |
enum | Inhibitions { Unchecked = 0x01, Inactive = 0x02, Local = 0x04, Remote = 0x08 } |
Public Member Functions | |
virtual bool | transmitMSU (const SS7MSU &msu)=0 |
virtual void | recoverMSU (int sequence) |
virtual unsigned int | status () const |
virtual const char * | statusName (unsigned int status, bool brief) const |
const char * | statusName (bool brief=false) const |
virtual bool | operational () const =0 |
unsigned int | upTime () const |
void | attach (SS7L2User *l2user) |
SS7L2User * | user () const |
int | sls () const |
void | sls (int linkSel) |
int | inhibited () const |
bool | inhibited (int flags) const |
virtual unsigned int | congestion () |
virtual int | getSequence () |
virtual bool | control (Operation oper, NamedList *params=0) |
virtual bool | control (NamedList ¶ms) |
Protected Member Functions | |
SS7Layer2 () | |
virtual void | timerTick (const Time &when) |
bool | receivedMSU (const SS7MSU &msu) |
bool | recoveredMSU (const SS7MSU &msu) |
void | notify () |
bool | inhibit (int setFlags, int clrFlags=0) |
bool | getEmergency (NamedList *params=0, bool emg=false) const |
Protected Attributes | |
bool | m_autoEmergency |
int | m_lastSeqRx |
unsigned int | m_congestion |
Friends | |
class | SS7MTP3 |
Abstract SS7 layer 2 (data link) message transfer part.
An interface to a Layer 2 (data link) SS7 message transfer part
enum Inhibitions |
Link inhibition reason bits
enum LinkStatus |
LSSU Status Indications
Reimplemented in SS7M2PA.
enum Operation |
Control primitives
SS7Layer2 | ( | ) | [inline, protected] |
Constructor
Attach a Layer 2 user component to the data link. Detach from the old one if valid
l2user | Pointer to Layer 2 user component to attach |
Referenced by SS7MTP2::destroyed().
virtual unsigned int congestion | ( | ) | [inline, virtual] |
Get the current congestion level of the link
Execute a control operation. Operations can change the link status or can query the aligned status.
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.
Reimplemented in SS7M2PA.
bool getEmergency | ( | NamedList * | params = 0 , |
bool | emg = false |
||
) | const [protected] |
Get a best guess of the emergency alignment requirement
params | Optional parameters whose "emergency" is used |
emg | Default emergency state |
virtual int getSequence | ( | ) | [inline, virtual] |
Get the sequence number of the last MSU received
Reimplemented in SS7M2UA.
bool inhibit | ( | int | setFlags, |
int | clrFlags = 0 |
||
) | [protected] |
Set and clear inhibition flags, method used by MTP3
setFlags | Flag bits to set ORed together |
clrFlags | Flag bits to clear ORed together (optional) |
int inhibited | ( | ) | const [inline] |
Retrieve the inhibition flags set by MTP3 Management
bool inhibited | ( | int | flags | ) | const [inline] |
Check some of the inhibition flags set by MTP3 Management
flags | Flags to check for, ORed together |
void notify | ( | ) | [protected] |
Set the notify flag. The user part will be notified on timer tick about status change
virtual bool operational | ( | ) | const [pure virtual] |
bool receivedMSU | ( | const SS7MSU & | msu | ) | [inline, protected] |
bool recoveredMSU | ( | const SS7MSU & | msu | ) | [inline, protected] |
virtual void recoverMSU | ( | int | sequence | ) | [inline, virtual] |
int sls | ( | ) | const [inline] |
Get the Signalling Link Selection number allocated to this link
void sls | ( | int | linkSel | ) | [inline] |
Assign a new Signalling Link Selection number
linkSel | New SLS to assign to this link |
virtual unsigned int status | ( | ) | const [virtual] |
virtual const char* statusName | ( | unsigned int | status, |
bool | brief | ||
) | const [virtual] |
Get the name of a Layer 2 status
status | Status indication value |
brief | Request to return the short status name |
const char* statusName | ( | bool | brief = false | ) | const [inline] |
Get the name of the current local Layer 2 status
brief | Request to return the short status name |
References SS7Layer2::statusName().
Referenced by SS7Layer2::statusName().
Method called periodically by the engine to keep everything alive
when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.
virtual bool transmitMSU | ( | const SS7MSU & | msu | ) | [pure virtual] |
unsigned int upTime | ( | ) | const [inline] |
Get the Layer 2 user component that works with this data link
bool m_autoEmergency [protected] |
Flag to automatically perform emergency alignment when linkset is down
unsigned int m_congestion [protected] |
Current congestion level
int m_lastSeqRx [protected] |
Last received MSU sequence number, -1 if unknown, bit 24 set if long FSN