class SCCPManagement

Abstract SS7 SCCP Management. More...

Contains pure virtuals
Full nameTelEngine::SCCPManagement
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::Mutex [public ], TelEngine::SignallingComponent [public ]
Inherited bySS7AnsiSccpManagement, SS7ItuSccpManagement
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Static Methods

Protected Methods

Protected Members


Detailed Description

An interface to a SS7 SCCP Management

enum MsgType { SSA = 0x01, SSP = 0x02, SST = 0x03, SOR = 0x04, SOG = 0x05, SSC = 0x06, SBR = 0xfd, SNR = 0xfe, SRT = 0xff }

MsgType

enum LocalBroadcast { UserOutOfService, UserInService, PCInaccessible, PCAccessible, SccpRemoteInaccessible, SccpRemoteAccessible, PCCongested, SubsystemStatus }

LocalBroadcast

enum SccpStates { Allowed = SS7Route::Allowed, Prohibited = SS7Route::Prohibited, Unknown = SS7Route::Unknown, WaitForGrant, IgnoreTests }

SccpStates

 SCCPManagement (const NamedList& params, SS7PointCode::Type type)

SCCPManagement

Constructor

 ~SCCPManagement ()

~SCCPManagement

[virtual]

Destructor

bool  initialize (const NamedList* config)

initialize

[virtual]

Initialize this sccp management

Reimplemented from SignallingComponent.

bool  processMessage (SS7MsgSCCP* message)

processMessage

[virtual]

Process a management message received from sccp

Parameters:
messageThe message to process

Returns: True if the message was processed successfully

void  attach (SS7SCCP* sccp)

attach

Attach a ss7 sccp to this management

Parameters:
sccpThe ss7 sccp to attach

void  pointcodeStatus (SS7Layer3* link, bool operational)

pointcodeStatus

[virtual]

Process a notification from MTP about a pointcode status

Parameters:
linkThe affected link
operationalTrue if the layer3 is operational

void  routeStatus (SS7PointCode::Type type, const SS7PointCode& node, SS7Route::State state)

routeStatus

[virtual]

Process a notification from router about a route state change

Parameters:
typeThe Point Code type
nodeThe remote pointcode
stateThe route state

void  notify (SCCP::Type type, NamedList& params)

notify

[virtual]

Notification from sccp about local subsystems status

Parameters:
typeThe type of notification
paramsThe notification parameters

void  routeFailure (SS7MsgSCCP* msg)

routeFailure

[virtual]

Method called by SCCP to inform management that no route was found for the message

Parameters:
msgThe SCCP message that failed to be routed

void  subsystemFailure (SS7MsgSCCP* msg, const SS7Label& label)

subsystemFailure

[virtual]

Method called by sccp when a sccp message hasn't been processed by any user

Parameters:
msgThe message
labelThe mtp routing label

void  sccpUnavailable (const SS7PointCode& pointcode, unsigned char cause)

sccpUnavailable

[virtual]

Notification from layer3 about a remote sccp unavailability

Parameters:
pointcodeThe poincode of the unavailable sccp
causeUnavailability cause

void  subsystemsStatus (String& dest,bool extended = true)

subsystemsStatus

Helper method used to obtain a string statistic about the messages received for unknown subsystems

Parameters:
destThe string where the statistics will be stored
extendedTrue to print an extended statistic ( the number of messages received for unknown subsystem)

void  routeStatus (String& dest,bool extended = false)

routeStatus

Helper method used to obtain information about the messages that failed to be routed

Parameters:
destThe destination string
extendedTrue to print the GTT failures

void  notifyConcerned (MsgType msg, unsigned char ssn, int smi)

notifyConcerned

[virtual]

Helper method used to notify the concerned signalling points about a subsystem status

Parameters:
msgThe message type to broadcast
ssnLocal affected ssn
smiLocal subsystem multiplicity indicator

const TokenDict*  broadcastType ()

broadcastType

[static]

Obtain broadcast type dict table

Returns: Pointer to broadcast type dict table

void  updateTables (SccpRemote* rsccp, SccpSubsystem* ssn = 0)

updateTables

[virtual]

Helper method used to inform Global Title Translator to update translation tables

Parameters:
rsccpThe remote SCCP witch status has been changed
ssnThe remote SCCP subsystem witch status has been changed

void  printMessage (String& dest, MsgType type, const NamedList& params)

printMessage

[virtual]

Print a sccp management message

Parameters:
destThe destination string
typeThe sccp management message type
paramsList of sccp management message parameters

const char*  stateName (SCCPManagement::SccpStates state)

stateName

[static]

Obtain a sccp management state name

Parameters:
stateThe sccp management enum state

Returns: The state name if found or 0

void  timerTick (const Time& when)

timerTick

[protected virtual]

Method called periodically by engine to check for timeouts

Parameters:
whenTime to use as computing base for events and timeouts Reimplemented from SignallingComponent

Reimplemented from SignallingComponent.

inline SS7SCCP*  sccp ()

sccp

[protected]

ObjList m_remoteSccp

m_remoteSccp

[protected]

ObjList m_statusTest

m_statusTest

[protected]

ObjList m_localSubsystems

m_localSubsystems

[protected]

ObjList m_concerned

m_concerned

[protected]

SS7PointCode::Type m_pcType

m_pcType

[protected]

inline u_int32_t  getTestTimeout ()

getTestTimeout

[protected]

Obtain the subsystem status test time interval

Returns: Subsystem status test duration

bool  managementMessage (SCCP::Type type, NamedList& params)

managementMessage

[protected]

Broadcast a management message to local attached sccp users

Parameters:
typeThe broadcast type
paramsList of parameters

Returns: True if at least one user has processed the message

SccpLocalSubsystem*  getLocalSubsystem (unsigned char ssn)

getLocalSubsystem

[protected]

Obtain a local subsystem

Parameters:
ssnThe local subsystem ssn

Returns: Pointer to local subsystem if found, 0 otherwise

SccpRemote*  getRemoteSccp (int pointcode)

getRemoteSccp

[protected]

Obtain a remote SCCP

Parameters:
pointcodeThe remote sccp pointcode

Returns: The remote SCCP with the matching pointcode or 0 if not found

bool  sendMessage (SCCPManagement::MsgType msgType, const NamedList& params)

sendMessage

[protected pure virtual]

Encode a sccp management message and send it to remote address

Parameters:
msgTypeThe SCCP management message type
paramsList of message parameters

Returns: True if the message was successfully send

void  stopSst (SccpRemote* remoteSccp, SccpSubsystem* rSubsystem = 0, SccpSubsystem* less = 0)

stopSst

[protected virtual]

Stop subsystem status tests for a remote location

Parameters:
remoteSccpThe remote sccp
rSubsystemThe remote subsystem. Can be 0 to stop all tests for the remote sccp
lessStop all sst except this

inline void  stopSSTs ()

stopSSTs

[protected]

Stop all subsystem status tests

void  startSst (SccpRemote* remoteSccp, SccpSubsystem* rSubsystem)

startSst

[protected virtual]

Start a new subsystem status test

Parameters:
remoteSccpThe remote sccp
rSubsystemThe remote subsystem

void  mtpEndRestart ()

mtpEndRestart

[protected]

Notification from sccp that mtp has finished restarting

void  localBroadcast (SCCP::Type type, int pointcode, int sps, int rss = -1, int rl = -1, int ssn = -1, int ss = -1)

localBroadcast

[protected]

Send a local sccp broadcast

Parameters:
typeThe broadcast message type
pointcodeThe affected pointcode. -1 if it should not be included
spsThe signalling point status. -1 if it should not be included
rssThe remote sccp status. -1 if it should not be included
rlThe restriction level. -1 if it should not be included
ssnThe affected ssn. -1 if it should not be included
ssThe subsystem status. -1 if it should not be included

bool  sendSST (SccpRemote* remote, SccpSubsystem* sub)

sendSST

[protected]

Helper method. Send subsystem status test Note: Management mutex must not be locked. Thread safe

Parameters:
remoteThe remote sccp
subThe remote subsystem

bool  handleMessage (int msgType, unsigned char ssn, unsigned char smi, NamedList& params)

handleMessage

[protected]

Process a sccp management message

Parameters:
msgTypeThe sccp management message type
ssnThe affected subsystem
smiThe subsystem multiplicity indicator
paramsThe message params

Returns: True if the message was handled

void  manageSccpRemoteStatus (SccpRemote* rsccp, SS7Route::State newState)

manageSccpRemoteStatus

[protected virtual]

Process remote sccp state

Parameters:
rsccpThe remote sccp witch state has changed
newStateThe new state of the remote sccp

inline bool  printMessagess ()

printMessagess

[protected]

Helper method used to check if we should print sccp management messages

Returns: True if we should print messages

void  handleCoordinateChanged (unsigned char ssn, int smi, const NamedList& params)

handleCoordinateChanged

[protected]

Helper method that handles coordinate request

Parameters:
ssnLocal subsystem that wish to go out of service
smiSubsystem multiplicity indicator
paramsList of parameters

void  handleSog (unsigned char ssn, int pointcode)

handleSog

[protected]

Handle a subsystem out of service grant message

Parameters:
ssnRemote subsystem ssn
pointcodeRemote subsystem pointcode Note! Lock management mutex before calling this method

void  handleSubsystemStatus (SccpSubsystem* subsystem, bool allowed, SccpRemote* remote, int smi)

handleSubsystemStatus

[protected virtual]

Process the status of subsystems

Parameters:
subsystemThe subsystem who's status has changed
allowedTrue if the subsystem status is Allowed false for Prohibited
remoteThe remote sccp pointcode where the subsystem is located
smiSubsystem Multiplicity Indicator

inline u_int32_t  getCoordTimeout ()

getCoordTimeout

[protected]

Ontain the coordinate changed time interval

Returns: The coordinate time interval in ms

inline u_int32_t  getIgnoreTestsInterval ()

getIgnoreTestsInterval

[protected]

Obtain ignore status tests time interval

Returns: ignore status tests time interval in ms


Generated by: paulc on bussard on Thu Jul 24 18:41:02 2014, using kdoc 2.0a54.