|
Yate
|
A SS7 MSU route. More...
#include <yatesig.h>
Public Types | |
| enum | State { Unknown = 0x80 , Prohibited = 0x01 , Restricted = 0x02 , Congestion = 0x04 , Allowed = 0x08 , NotAllowed = 0x77 , NotCongested = 0x78 , NotRestricted = 0x7c , NotProhibited = 0x7e , KnownState = 0x7f , AnyState = 0xff } |
Public Member Functions | |
| SS7Route (unsigned int packed, SS7PointCode::Type type, unsigned int priority=0, unsigned int shift=0, unsigned int maxDataLength=MAX_TDM_MSU_SIZE) | |
| SS7Route (const SS7Route &original) | |
| virtual | ~SS7Route () |
| State | state () const |
| const char * | stateName () const |
| unsigned int | priority () const |
| unsigned int | getMaxDataLength () const |
| unsigned int | packed () const |
| unsigned int | shift () const |
| void | attach (SS7Layer3 *network, SS7PointCode::Type type) |
| bool | detach (SS7Layer3 *network) |
| bool | hasNetwork (const SS7Layer3 *network) |
| bool | hasNetwork (const SS7Layer3 *network) const |
| bool | operational (int sls=-1) |
| int | transmitMSU (const SS7Router *router, const SS7MSU &msu, const SS7Label &label, int sls, State states, const SS7Layer3 *source=0) |
| bool | congested () |
| void | reroute () |
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 & | toString () const |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
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 () |
Static Public Member Functions | |
| static const TokenDict * | stateNames () |
| static const char * | stateName (State state) |
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 () |
Friends | |
| class | SS7Layer3 |
| class | SS7Router |
Additional Inherited Members | |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
| virtual void | destroyed () |
A SS7 MSU route.
Keeps a packed destination point code, a network priority or a list of networks used to route to the enclosed destination point code
| enum State |
Route state
|
inline |
Constructor
| packed | The packed value of the destination point code |
| type | The destination point code type |
| priority | Optional value of the network priority |
| shift | SLS right shift to apply for balancing between linksets |
| maxDataLength | The maximum data that can be transported on this route |
References Mutex::Mutex(), packed(), priority(), and shift().
Referenced by SS7Route().
Copy constructor
| original | The original route |
References getMaxDataLength(), Mutex::Mutex(), packed(), priority(), shift(), SS7Route(), and state().
|
inlinevirtual |
Destructor
| void attach | ( | SS7Layer3 * | network, |
| SS7PointCode::Type | type ) |
Attach a network to use for this destination or change its priority. This method is thread safe
| network | The network to attach or change priority |
| type | The point code type used to get the priority from the given network or the networks already in the list |
| bool congested | ( | ) |
Check the current congestion status according to Q.704 11.2.3.1
| bool detach | ( | SS7Layer3 * | network | ) |
Remove a network from the list without deleting it. This method is thread safe
| network | The network to remove |
|
inline |
Get the maximum data length that can be transported on this route
Referenced by SS7Route().
| bool hasNetwork | ( | const SS7Layer3 * | network | ) |
Check if this route goes to a specific network
| network | Pointer to the network to search |
| bool hasNetwork | ( | const SS7Layer3 * | network | ) | const |
Check if this route goes to a specific network
| network | Pointer to the network to search |
| bool operational | ( | int | sls = -1 | ) |
Check if the at least one network/linkset is fully operational
| sls | Signalling Link to check, negative to check if any is operational |
|
inline |
Get the packed Point Code of this route
Referenced by SS7Route(), and SS7Route().
|
inline |
Get the priority of this route
Referenced by SS7Route(), and SS7Route().
| void reroute | ( | ) |
Initiate controlled rerouting procedure, buffer user part messages for T6
|
inline |
Get the SLS right shift for this route
Referenced by SS7Route(), and SS7Route().
|
inline |
Retrieve the current state of the route
Referenced by SS7Route(), and stateName().
|
inline |
Retrieve the name of the current state
References stateNames().
|
inlinestatic |
Retrieve the name of an arbitrary state
| state | Route state whose name to return |
References state(), and stateNames().
|
static |
Retrieve the state names token table
Referenced by stateName(), and stateName().
| int transmitMSU | ( | const SS7Router * | router, |
| const SS7MSU & | msu, | ||
| const SS7Label & | label, | ||
| int | sls, | ||
| State | states, | ||
| const SS7Layer3 * | source = 0 ) |
Try to transmit a MSU through one of the attached networks. This method is thread safe
| router | The router requesting the operation (used for debug) |
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the MSU |
| sls | Signalling Link Selection, negative to choose best |
| source | Avoided network where the packet was received from |
| states | The states a network can have to be a transmission candidate |