|
|
An interface to a Layer 3 (network) SS7 message transfer part
~SS7Layer3 ()
| ~SS7Layer3 |
[virtual]
Destructor
int transmitMSU (const SS7MSU& msu, const SS7Label& label, int sls = -1)
| transmitMSU |
[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
bool operational (int sls = -1)
| operational |
[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
void attach (SS7L3User* l3user)
| attach |
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 |
inline SS7L3User* user ()
| user |
[const]
Retrive the Layer 3 user component to which this network is attached
Returns: Pointer to the Layer 3 user this network is attached to
SS7PointCode::Type type (unsigned char netType)
| type |
[const]
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
void setType (SS7PointCode::Type type, unsigned char netType)
| setType |
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 |
void setType (SS7PointCode::Type type)
| setType |
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)
| buildRoutes |
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
unsigned int getRoutePriority (SS7PointCode::Type type, unsigned int packedPC)
| getRoutePriority |
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
void printRoutes ()
| printRoutes |
Print the destinations or routing table to output
inline SS7Layer3 (SS7PointCode::Type type = SS7PointCode::Other)
| SS7Layer3 |
[protected]
Constructor
Parameters:
type | Default point code type |
inline bool receivedMSU (const SS7MSU& msu, const SS7Label& label, int sls)
| receivedMSU |
[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
inline void notify (int sls = -1)
| notify |
[protected]
Notify out user part about a status change
Parameters:
sls | Signallink Link that generated the notification, -1 if none |
bool maintenance (const SS7MSU& msu, const SS7Label& label, int sls)
| maintenance |
[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
bool management (const SS7MSU& msu, const SS7Label& label, int sls)
| management |
[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
bool unavailable (const SS7MSU& msu, const SS7Label& label, int sls, unsigned char cause = 0)
| unavailable |
[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
SS7Route* findRoute (SS7PointCode::Type type, unsigned int packed)
| findRoute |
[protected]
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)
| updateRoutes |
[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)
| removeRoutes |
[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 |
Generated by: paulc on bussard on Wed Oct 21 01:57:30 2009, using kdoc 2.0a54. |