class SS7TCAP

SS7 TCAP implementation. More...

Contains pure virtuals
Full nameTelEngine::SS7TCAP
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::SCCPUser [public ]
Inherited bySS7TCAPANSI, SS7TCAPITU
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Static Methods

Public Members

Protected Methods

Protected Members


Detailed Description

Implementation of SS7 Transactional Capabilities Application Part

enum TCAPType { UnknownTCAP, ITUTCAP, ANSITCAP, }

TCAPType

TCAP implementation variant

enum TCAPUserCompActions { TC_Invoke = 1, TC_ResultLast = 2, TC_U_Error = 3, TC_U_Reject = 4, TC_R_Reject = 5, TC_L_Reject = 6, TC_InvokeNotLast = 7, TC_ResultNotLast = 8, TC_L_Cancel = 9, TC_U_Cancel = 10, TC_TimerReset = 11, }

TCAPUserCompActions

Component handling primitives between TCAP and TCAP user (TC-user)

enum TCAPUserTransActions { TC_Unknown = 0, TC_Unidirectional = 1, TC_Begin, TC_QueryWithPerm, TC_QueryWithoutPerm, TC_Continue, TC_ConversationWithPerm, TC_ConversationWithoutPerm, TC_End, TC_Response, TC_U_Abort, TC_P_Abort, TC_Notice, }

TCAPUserTransActions

TCAP message primitives

enum TCAPComponentOperationClass { SuccessOrFailureReport = 1, FailureOnlyReport = 2, SuccessOnlyReport = 3, NoReport = 4, }

TCAPComponentOperationClass

Component Operation Classes

enum TCAPCounter { IncomingMsgs, OutgoingMsgs, DiscardedMsgs, NormalMsgs, AbnormalMsgs, }

TCAPCounter

Type of message counters

 SS7TCAP (const NamedList& params)

SS7TCAP

Constructor

Parameters:
paramsParameters for building this TCAP

 ~SS7TCAP ()

~SS7TCAP

[virtual]

Destructor

bool  initialize (const NamedList* config)

initialize

[virtual]

Configure and initialize the component and any subcomponents it may have

Parameters:
configOptional configuration parameters override

Returns: True if the component was initialized properly

Reimplemented from SCCPUser.

bool  sendData (DataBlock& data, NamedList& params)

sendData

[virtual]

Send a message to SCCP for transport, inherited from SCCPUser

Parameters:
dataUser data
paramsSCCP parameters

Reimplemented from SCCPUser.

HandledMSU  receivedData (DataBlock& data, NamedList& params)

receivedData

[virtual]

Notification from SCCP that a message has arrived, inherited from SCCPUser

Parameters:
dataReceived user data
paramsSCCP parameters

Returns: True if this user has processed the message, false otherwise

Reimplemented from SCCPUser.

HandledMSU  notifyData (DataBlock& data, NamedList& params)

notifyData

[virtual]

Notification from SCCP that a message failed to arrive to its destination, inherited from SCCPUser

Parameters:
dataUser data sent.
paramsSCCP parameters Note! The data may not contain the full message block previously sent (in case of SCCP segmentation), but it must always must contain the first segment

Reimplemented from SCCPUser.

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

managementNotify

Notification from SCCP layer about management status

Parameters:
typeType of management notification
paramsNotification params

Reimplemented from SCCPUser.

void  attach (TCAPUser* user)

attach

Attach a SS7 TCAP user

Parameters:
userPointer to the TCAP user to attach

Reimplemented from SCCPUser.

void  detach (TCAPUser* user)

detach

Detach a SS7 TCAP user

Parameters:
userTCAP user to detach

Reimplemented from SignallingComponent.

SS7TCAPError  userRequest (NamedList& requestParams)

userRequest

[virtual]

A TCAP user made a request

Parameters:
requestParamsNamedList containing all the necessary data for the TCAP request

Returns: A SS7TCAPError reporting the status of the request

HandledMSU  processSCCPData (SS7TCAPMessage* sccpData)

processSCCPData

[virtual]

Process received SCCP data

Parameters:
sccpDataA TCAP message received from SCCP to process

Returns: A code specifying if this message was handled

inline TCAPType  tcapType ()

tcapType

Report which TCAP implementation is in use

inline void  setTCAPType (TCAPType type)

setTCAPType

Set TCAP version

Parameters:
typeTCAP version

void  enqueue (SS7TCAPMessage* msg)

enqueue

[virtual]

Enqueue data received from SCCP as a TCAP message, kept in a processing queue

Parameters:
msgA SS7TCAPMessage pointer containing all data received from SSCP

SS7TCAPMessage*  dequeue ()

dequeue

[virtual]

Dequeue a TCAP message when ready to process it

Returns: A SS7TCAPMessage pointer dequeued from the queue

const String  allocTransactionID ()

allocTransactionID

[virtual]

Get a new transaction ID

Returns: A transaction ID

void  allocTransactionID (String& str)

allocTransactionID

Get a new transaction ID

Parameters:
strString into which to put the id

static const TokenDict s_tcapVersion[]

s_tcapVersion[]

static const TokenDict s_compPrimitives[]

s_compPrimitives[]

static const TokenDict s_transPrimitives[]

s_transPrimitives[]

static const TokenDict s_compOperClasses[]

s_compOperClasses[]

SS7TCAPTransaction*  buildTransaction (SS7TCAP::TCAPUserTransActions type, const String& transactID, NamedList& params, bool initLocal = true)

buildTransaction

[pure virtual]

Build a transaction

Parameters:
typeType with which to build the transactions
transactIDID for the transaction
paramsParameters for building the transaction
initLocalTrue if built by user, false if by remote end

Returns: A transaction

SS7TCAPTransaction*  getTransaction (const String& tid)

getTransaction

Find the transaction with the given id

Parameters:
tidSearched local id

Returns: A pointer to the transaction or null if not found

void  removeTransaction (SS7TCAPTransaction* tr)

removeTransaction

Remove transaction

Parameters:
trThe transaction to remove

void  timerTick (const Time& when)

timerTick

[virtual]

Method called periodically to do processing and timeout checks

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

Reimplemented from SignallingComponent.

bool  sendToUser (NamedList& params)

sendToUser

[virtual]

Send to TCAP users a decode message

Parameters:
paramsMessage in NamedList form

Returns: True if the message was handled by a user, false otherwise

void  buildSCCPData (NamedList& params, SS7TCAPTransaction* tr)

buildSCCPData

[virtual]

Build SCCP data

Parameters:
paramsNamedList containing the parameters to be given to SCCP
trTransaction for which to build SCCP data

void  status (NamedList& status)

status

[virtual]

Status of TCAP

Parameters:
statusNamedList to fill with status information

void  userStatus (NamedList& status)

userStatus

[virtual]

Status of TCAP users

Parameters:
statusNamedList to fill with user status information

HandledMSU  handleError (SS7TCAPError& error, NamedList& params, DataBlock& data, SS7TCAPTransaction* tr = 0)

handleError

[virtual]

Handle an decoding error

Parameters:
errorThe encoutered error
paramsTCAP message parameters which where successfully decoded until the error was encoutered
dataData block containing the rest of the message
trTransaction to which this message belongs to

Returns: Status if the error was handled or not

void  updateUserStatus (TCAPUser* user, SCCPManagement::LocalBroadcast status, NamedList& params)

updateUserStatus

[virtual]

Update the SCCP Management state for this SSN when requested by a user

Parameters:
userThe TCAP user which changed its state
statusThe state of the TCAP user
paramsAdditional parameters to be transmitted to the SCPP

inline void  incCounter (TCAPCounter counterType)

incCounter

Increment one of the status counters

Parameters:
counterTypeThe type of the counter to increment

inline unsigned int  count (TCAPCounter counterType)

count

Retrieve one of the status counters

Parameters:
counterTypeThe type of the counter to increment

Returns: The value of the counter

inline const char*  lookupTransaction (int tr)

lookupTransaction

[static]

Get the type of transaction in string form

Parameters:
trType of transaction

Returns: A string containing the string form of that type of transaction

inline int  lookupTransaction (const char* tr)

lookupTransaction

[static]

Get the type of transaction from string form

Parameters:
trType of transaction in string form

Returns: The type of transaction

inline const char*  lookupComponent (int comp)

lookupComponent

[static]

Get the type of component in string form

Parameters:
compType of component

Returns: A string containing the string form of that type of component

inline int  lookupComponent (const char* comp)

lookupComponent

[static]

Get the type of component from string form

Parameters:
compType of component

Returns: The type of component

SS7TCAPError  decodeTransactionPart (NamedList& params, DataBlock& data)

decodeTransactionPart

[protected pure virtual]

void  encodeTransactionPart (NamedList& params, DataBlock& data)

encodeTransactionPart

[protected pure virtual]

bool  sendSCCPNotify (NamedList& params)

sendSCCPNotify

[protected]

ObjList m_users

m_users

[protected]

Mutex m_usersMtx

m_usersMtx

[protected]

ObjList m_inQueue

m_inQueue

[protected]

Mutex m_inQueueMtx

m_inQueueMtx

[protected]

unsigned int m_SSN

m_SSN

[protected]

unsigned int m_defaultRemoteSSN

m_defaultRemoteSSN

[protected]

unsigned int m_defaultHopCounter

m_defaultHopCounter

[protected]

SS7PointCode m_defaultRemotePC

m_defaultRemotePC

[protected]

SS7PointCode::Type m_remoteTypePC

m_remoteTypePC

[protected]

u_int64_t m_trTimeout

m_trTimeout

[protected]

Mutex m_transactionsMtx

m_transactionsMtx

[protected]

ObjList m_transactions

m_transactions

[protected]

TCAPType m_tcapType

m_tcapType

[protected]

u_int32_t m_idsPool

m_idsPool

[protected]

unsigned int m_recvMsgs

m_recvMsgs

[protected]

unsigned int m_sentMsgs

m_sentMsgs

[protected]

unsigned int m_discardMsgs

m_discardMsgs

[protected]

unsigned int m_normalMsgs

m_normalMsgs

[protected]

unsigned int m_abnormalMsgs

m_abnormalMsgs

[protected]

SCCPManagement::LocalBroadcast m_ssnStatus

m_ssnStatus

[protected]


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