class SS7Layer3

Abstract SS7 layer 3 (network) message transfer part. More...

Contains pure virtuals
Full nameTelEngine::SS7Layer3
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::SignallingComponent [virtual public ]
Inherited bySS7M3UA, SS7MTP3, SS7Router
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods


Detailed Description

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:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the MSU to use in routing
slsSignalling 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:
slsSignalling 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:
l3userPointer 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:
netTypeType 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:
typePoint code type to set for the network type
netTypeType 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:
typePoint 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:
paramsThe 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:
typeDestination point code type
packedPCThe 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:
typeDefault 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:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
slsSignalling 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:
slsSignallink 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:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
slsSignalling 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:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
slsSignalling 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:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
slsSignalling Link the MSU was received from
causeUnavailability 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:
typeThe point code type used to choose the list of packed point codes
packedThe 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:
networkThe 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:
networkThe network to remove


Generated by: paulc on bussard on Mon Mar 8 12:18:15 2010, using kdoc 2.0a54.