|
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 |
Public Member Functions inherited from SS7Layer3 | |
| virtual | ~SS7Layer3 () |
| bool | inhibited (int sls, int flags) const |
| bool | inService (int sls, int ignore=0) |
| virtual bool | restart () |
| void | attach (SS7L3User *l3user) |
| SS7L3User * | user () const |
| SS7PointCode::Type | type (unsigned char netType) const |
| void | setType (SS7PointCode::Type type, unsigned char netType) |
| void | setType (SS7PointCode::Type type) |
| bool | hasType (SS7PointCode::Type pcType) const |
| virtual unsigned char | getNI (SS7PointCode::Type pcType, unsigned char defNI) const |
| unsigned char | getNI (SS7PointCode::Type pcType) const |
| unsigned char | getNI () const |
| void | setNI (unsigned char defNI) |
| bool | buildRoutes (const NamedList ¶ms) |
| unsigned int | getRouteMaxLength (SS7PointCode::Type type, unsigned int packedPC) |
| unsigned int | getRoutePriority (SS7PointCode::Type type, unsigned int packedPC) |
| unsigned int | getRoutePriority (SS7PointCode::Type type, const SS7PointCode &dest) |
| SS7Route::State | getRouteState (SS7PointCode::Type type, unsigned int packedPC, bool checkAdjacent=false) |
| SS7Route::State | getRouteState (SS7PointCode::Type type, const SS7PointCode &dest, bool checkAdjacent=false) |
| void | printRoutes () |
| unsigned int | getLocal (SS7PointCode::Type type) const |
| virtual unsigned int | getDefaultLocal (SS7PointCode::Type type) const |
Public Member Functions inherited from SignallingComponent | |
| virtual | ~SignallingComponent () |
| virtual const String & | toString () const |
| virtual NamedList * | controlCreate (const char *oper=0) |
| virtual bool | controlExecute (NamedList *params) |
| virtual void | engine (SignallingEngine *eng) |
| SignallingEngine * | engine () const |
| int | debugLevel (int level) |
| const String & | componentType () const |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| virtual void * | getObject (const String &name) const |
| virtual bool | alive () const |
| bool | ref () |
| bool | deref () |
| int | refcount () const |
| virtual void | destruct () |
Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Public Member Functions inherited from DebugEnabler | |
| DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true) | |
| int | debugLevel () const |
| int | debugLevel (int level) |
| bool | debugEnabled () const |
| void | debugEnabled (bool enable) |
| const char * | debugName () const |
| bool | debugAt (int level) const |
| bool | debugChained () const |
| void | debugChain (const DebugEnabler *chain=0) |
| void | debugCopy (const DebugEnabler *original=0) |
Public Member Functions inherited from SignallingDumpable | |
| ~SignallingDumpable () | |
Public Member Functions inherited from Mutex | |
| Mutex (bool recursive=false, const char *name=0) | |
| Mutex (const Mutex &original) | |
| ~Mutex () | |
| Mutex & | operator= (const Mutex &original) |
| virtual bool | lock (long maxwait=-1) |
| virtual bool | unlock () |
| virtual bool | locked () const |
| const char * | owner () const |
| bool | recursive () const |
Public Member Functions inherited from Lockable | |
| virtual | ~Lockable () |
| virtual bool | check (long maxwait=-1) |
| virtual bool | unlockAll () |
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 () |
Protected Member Functions inherited from SS7Layer3 | |
| SS7Layer3 (SS7PointCode::Type type=SS7PointCode::Other) | |
| HandledMSU | receivedMSU (const SS7MSU &msu, const SS7Label &label, int sls) |
| bool | recoveredMSU (const SS7MSU &msu, const SS7Label &label, int sls) |
| void | notify (int sls=-1) |
| virtual bool | maintenance (const SS7MSU &msu, const SS7Label &label, int sls) |
| virtual bool | management (const SS7MSU &msu, const SS7Label &label, int sls) |
| virtual bool | unavailable (const SS7MSU &msu, const SS7Label &label, int sls, unsigned char cause=0) |
| virtual bool | prohibited (unsigned char ssf, const SS7Label &label, int sls) |
| SS7Route * | findRoute (SS7PointCode::Type type, unsigned int packed) |
| ObjList * | getRoutes (SS7PointCode::Type type) |
| const ObjList * | getRoutes (SS7PointCode::Type type) const |
Protected Member Functions inherited from SignallingComponent | |
| SignallingComponent (const char *name=0, const NamedList *params=0, const char *type="unknown") | |
| void | insert (SignallingComponent *component) |
| virtual void | detach () |
| void | setName (const char *name) |
| void | setCompType (const char *type) |
| unsigned long | tickSleep (unsigned long usec=1000000) const |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
Protected Member Functions inherited from DebugEnabler | |
| void | debugName (const char *name) |
Protected Member Functions inherited from SignallingDumpable | |
| SignallingDumpable (SignallingDumper::Type type, bool network=false) | |
| bool | dump (void *buf, unsigned int len, bool sent=false, int link=0) |
| bool | dump (const DataBlock &data, bool sent=false, int link=0) |
| void | setDumpNetwork (bool network) |
| void | setDumper (SignallingDumper *dumper=0) |
| bool | setDumper (const String &name, bool create=true, bool append=false) |
| bool | control (NamedList ¶ms, SignallingComponent *owner=0) |
Additional Inherited Members | |
Static Public Member Functions inherited from SignallingComponent | |
| static bool | resolveConfig (const String &cmpName, NamedList ¶ms, const NamedList *config) |
Static Public Member Functions inherited from RefObject | |
| static bool | alive (const RefObject *obj) |
| static bool | efficientIncDec () |
Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) |
| static bool | getObjCounting () |
| static void | setObjCounting (bool enable) |
| static NamedCounter * | getObjCounter (const String &name, bool create=true) |
| static ObjList & | getObjCounters () |
Static Public Member Functions inherited from Mutex | |
| static int | count () |
| static int | locks () |
| static bool | efficientTimedLock () |
Static Public Member Functions inherited from Lockable | |
| static void | wait (unsigned long maxwait) |
| static unsigned long | wait () |
| static void | startUsingNow () |
| static void | enableSafety (bool safe=true) |
| static bool | safety () |
Protected Attributes inherited from SS7Layer3 | |
| Mutex | m_routeMutex |
| ObjList | m_route [YSS7_PCTYPE_COUNT] |
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 |
Destructor
|
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.
References SS7Layer3::type().
|
virtual |
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 |
Get the current congestion level of a link
| sls | Signalling Link to check for congestion, -1 for maximum |
Reimplemented from SS7Layer3.
|
virtual |
Query or modify layer's settings or operational parameters
| params | The list of parameters to query or change |
Reimplemented from SignallingComponent.
Execute a control operation on the linkset
| oper | Operation to execute |
| params | Optional parameters for the operation |
|
protected |
Count the total and active number of links
|
protectedvirtual |
Detach all links and user. Destroys the object, disposes the memory
Reimplemented from SignallingComponent.
|
virtual |
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 |
Get the sequence number of the last MSU received on a link
| sls | Signalling Link to retrieve MSU number from |
Reimplemented from SS7Layer3.
|
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 |
Retrieve inhibition flags of a specific link
| sls | Signalling Link to check |
Reimplemented from SS7Layer3.
|
virtual |
Configure and initialize the MTP3 and all its links
| config | Optional configuration parameters override |
Reimplemented from SS7Layer3.
|
protectedvirtual |
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.
|
inline |
Get a list of the links held by this linkset
|
inline |
Get the number of links that are currently operational
|
inline |
Get the number of links that are checked by maintenance
|
inline |
Get the total number of links attached
|
protectedvirtual |
Process a notification generated by the attached data link
| link | Data link that generated the notification |
Implements SS7L2User.
|
virtual |
Check if the network/linkset is fully operational
| sls | Signalling Link to check, negative to check if any is operational |
Implements SS7Layer3.
Process a MSU received from the Layer 2 component
| msu | Message data, starting with Service Indicator Octet |
| link | Data link that delivered the MSU |
| sls | Signalling Link the MSU was received from |
Implements SS7L2User.
Process a MSU recovered from the Layer 2 component after failure
| msu | Message data, starting with Service Indicator Octet |
| link | Data link from where the MSU was recovered |
| sls | Signalling Link the MSU was recovered from |
Implements SS7L2User.
|
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.
|
inlineprotectedvirtual |
Check if we should answer with SLTA to received SLTM in maintenance()
Reimplemented from SS7Layer3.
|
protectedvirtual |
Periodical timer tick used to perform housekeeping and link checking
| when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.
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.