SS7Layer3 Class Reference
Abstract SS7 layer 3 (network) message transfer part.
More...
#include <yatesig.h>
List of all members.
|
Public Member Functions |
virtual | ~SS7Layer3 () |
virtual int | transmitMSU (const SS7MSU &msu, const SS7Label &label, int sls=-1)=0 |
virtual bool | operational (int sls=-1) const =0 |
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 | buildRoutes (const NamedList ¶ms) |
unsigned int | getRoutePriority (SS7PointCode::Type type, unsigned int packedPC) |
void | printRoutes () |
Protected Member Functions |
| SS7Layer3 (SS7PointCode::Type type=SS7PointCode::Other) |
bool | receivedMSU (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) |
SS7Route * | findRoute (SS7PointCode::Type type, unsigned int packed) |
void | updateRoutes (SS7Layer3 *network) |
void | removeRoutes (SS7Layer3 *network) |
Friends |
class | SS7Router |
Detailed Description
Abstract SS7 layer 3 (network) message transfer part.
An interface to a Layer 3 (network) SS7 message transfer part
Constructor & Destructor Documentation
Constructor
- Parameters:
-
| type | Default point code type |
Member Function Documentation
virtual int transmitMSU |
( |
const SS7MSU & |
msu, |
|
|
const SS7Label & |
label, |
|
|
int |
sls = -1 | |
|
) |
| | [pure virtual] |
Push a Message Signal Unit down the protocol stack
- Parameters:
-
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the MSU to use in routing |
| sls | Signalling Link Selection, negative to choose best |
- Returns:
- Link the message was successfully queued to, negative for error
Implemented in SS7Router, and SS7MTP3.
virtual bool operational |
( |
int |
sls = -1 |
) |
const [pure virtual] |
Check if the network/linkset is fully operational
- Parameters:
-
| sls | Signalling Link to check, negative to check if any is operational |
- Returns:
- True if the linkset is enabled and operational
Implemented in SS7Router, and SS7MTP3.
Attach a Layer 3 user component to this network. Detach the old user if valid. Attach itself to the given user
- Parameters:
-
| l3user | Pointer to Layer 3 user component to attach |
Retrive the Layer 3 user component to which this network is attached
- Returns:
- Pointer to the Layer 3 user this network is attached to
Retrive the point code type of this Layer 3 component for a MSU type
- Parameters:
-
| netType | Type of the network like coded in the MSU NI field |
- Returns:
- The type of codepoint this component will use
Set the point code of this Layer 3 component for a network type
- Parameters:
-
| type | Point code type to set for the network type |
| netType | Type of the network like coded in the MSU NI field |
Set the point code of this Layer 3 component for all network types
- Parameters:
-
| type | Point code type to set |
bool buildRoutes |
( |
const NamedList & |
params |
) |
|
Build the list of outgoing routes serviced by this network. Clear the list before re-building it. This method is thread safe
- Parameters:
-
| params | The parameter list |
- Returns:
- False if no route available
Get the priority of a route. This method is thread safe
- Parameters:
-
| type | Destination point code type |
| packedPC | The packed point code |
- Returns:
- The priority of the route. -1 if no route to the given point code
Print the destinations or routing table to output
bool receivedMSU |
( |
const SS7MSU & |
msu, |
|
|
const SS7Label & |
label, |
|
|
int |
sls | |
|
) |
| | [inline, protected] |
Push a received Message Signal Unit up the protocol stack
- Parameters:
-
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the received MSU |
| sls | Signalling Link the MSU was received from |
- Returns:
- True if message was successfully delivered to the user component
void notify |
( |
int |
sls = -1 |
) |
[inline, protected] |
Notify out user part about a status change
- Parameters:
-
| sls | Signallink Link that generated the notification, -1 if none |
virtual bool maintenance |
( |
const SS7MSU & |
msu, |
|
|
const SS7Label & |
label, |
|
|
int |
sls | |
|
) |
| | [protected, virtual] |
Default processing of a MTN (Maintenance MSU)
- Parameters:
-
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the received MSU |
| sls | Signalling Link the MSU was received from |
- Returns:
- True if the MSU was processed
virtual bool management |
( |
const SS7MSU & |
msu, |
|
|
const SS7Label & |
label, |
|
|
int |
sls | |
|
) |
| | [protected, virtual] |
Default processing of a SNM (Management MSU)
- Parameters:
-
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the received MSU |
| sls | Signalling Link the MSU was received from |
- Returns:
- True if the MSU was processed
virtual bool unavailable |
( |
const SS7MSU & |
msu, |
|
|
const SS7Label & |
label, |
|
|
int |
sls, |
|
|
unsigned char |
cause = 0 | |
|
) |
| | [protected, virtual] |
Default processing of an unknown MSU - emit an User Part Unavailable
- Parameters:
-
| msu | Message data, starting with Service Indicator Octet |
| label | Routing label of the received MSU |
| sls | Signalling Link the MSU was received from |
| cause | Unavailability cause code (Q.704 15.17.5) |
- Returns:
- True if the MSU was processed
Find a route having the specified point code type and packed point code. This method is thread safe
- Parameters:
-
| type | The point code type used to choose the list of packed point codes |
| packed | The packed point code to find in the list |
- Returns:
- SS7Route pointer or 0 if type is invalid or the given packed point code was not found
void updateRoutes |
( |
SS7Layer3 * |
network |
) |
[protected] |
Add a network to the routing table. Clear all its routes before appending it to the table Used by a SS7 router. This method is thread safe
- Parameters:
-
| network | The network to add to the routing table |
void removeRoutes |
( |
SS7Layer3 * |
network |
) |
[protected] |
Remove the given network from all destinations in the routing table. Remove the entry in the routing table if empty (no more routes to the point code). Used by a SS7 router. This method is thread safe
- Parameters:
-
| network | The network to remove |
The documentation for this class was generated from the following file: