|
Yate
|
SS7 TCAP implementation. More...
#include <yatesig.h>
Public Types | |
| enum | TCAPType { UnknownTCAP , ITUTCAP , ANSITCAP } |
| 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 } |
| 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 } |
| enum | TCAPComponentOperationClass { SuccessOrFailureReport = 1 , FailureOnlyReport = 2 , SuccessOnlyReport = 3 , NoReport = 4 } |
| enum | TCAPCounter { IncomingMsgs , OutgoingMsgs , DiscardedMsgs , NormalMsgs , AbnormalMsgs } |
Public Member Functions | |
| SS7TCAP (const NamedList ¶ms) | |
| virtual | ~SS7TCAP () |
| virtual bool | initialize (const NamedList *config) |
| virtual bool | sendData (DataBlock &data, NamedList ¶ms) |
| virtual HandledMSU | receivedData (DataBlock &data, NamedList ¶ms) |
| virtual HandledMSU | notifyData (DataBlock &data, NamedList ¶ms) |
| bool | managementNotify (SCCP::Type type, NamedList ¶ms) |
| void | attach (TCAPUser *user) |
| void | detach (TCAPUser *user) |
| virtual SS7TCAPError | userRequest (NamedList &requestParams) |
| virtual HandledMSU | processSCCPData (SS7TCAPMessage *sccpData) |
| TCAPType | tcapType () |
| void | setTCAPType (TCAPType type) |
| virtual void | enqueue (SS7TCAPMessage *msg) |
| virtual SS7TCAPMessage * | dequeue () |
| virtual const String | allocTransactionID () |
| void | allocTransactionID (String &str) |
| virtual SS7TCAPTransaction * | buildTransaction (SS7TCAP::TCAPUserTransActions type, const String &transactID, NamedList ¶ms, bool initLocal=true)=0 |
| SS7TCAPTransaction * | getTransaction (const String &tid) |
| void | removeTransaction (SS7TCAPTransaction *tr) |
| virtual void | timerTick (const Time &when) |
| virtual bool | sendToUser (NamedList ¶ms) |
| virtual void | buildSCCPData (NamedList ¶ms, SS7TCAPTransaction *tr) |
| virtual void | status (NamedList &status) |
| virtual void | userStatus (NamedList &status) |
| virtual HandledMSU | handleError (SS7TCAPError &error, NamedList ¶ms, DataBlock &data, SS7TCAPTransaction *tr=0) |
| virtual void | updateUserStatus (TCAPUser *user, SCCPManagement::LocalBroadcast status, NamedList ¶ms) |
| void | incCounter (TCAPCounter counterType) |
| unsigned int | count (TCAPCounter counterType) |
Public Member Functions inherited from SCCPUser | |
| SCCPUser (const NamedList ¶ms) | |
| virtual | ~SCCPUser () |
| virtual bool | sccpNotify (SCCP::Type type, NamedList ¶ms) |
| virtual void | attach (SCCP *sccp) |
| SCCP * | sccp () const |
Public Member Functions inherited from SignallingComponent | |
| virtual | ~SignallingComponent () |
| virtual const String & | toString () const |
| virtual bool | control (NamedList ¶ms) |
| virtual NamedList * | controlCreate (const char *oper=0) |
| virtual bool | controlExecute (NamedList *params) |
| virtual void | engine (SignallingEngine *eng) |
| SignallingEngine * | engine () const |
| int | debugLevel (int level) |
| const String & | componentType () const |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| virtual void * | getObject (const String &name) const |
| virtual bool | alive () const |
| bool | ref () |
| bool | deref () |
| int | refcount () const |
| virtual void | destruct () |
Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Public Member Functions inherited from DebugEnabler | |
| DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true) | |
| int | debugLevel () const |
| int | debugLevel (int level) |
| bool | debugEnabled () const |
| void | debugEnabled (bool enable) |
| const char * | debugName () const |
| bool | debugAt (int level) const |
| bool | debugChained () const |
| void | debugChain (const DebugEnabler *chain=0) |
| void | debugCopy (const DebugEnabler *original=0) |
Static Public Member Functions | |
| static const char * | lookupTransaction (int tr) |
| static int | lookupTransaction (const char *tr) |
| static const char * | lookupComponent (int comp) |
| static int | lookupComponent (const char *comp) |
Static Public Member Functions inherited from SignallingComponent | |
| static bool | resolveConfig (const String &cmpName, NamedList ¶ms, const NamedList *config) |
Static Public Member Functions inherited from RefObject | |
| static bool | alive (const RefObject *obj) |
| static bool | efficientIncDec () |
Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) |
| static bool | getObjCounting () |
| static void | setObjCounting (bool enable) |
| static NamedCounter * | getObjCounter (const String &name, bool create=true) |
| static ObjList & | getObjCounters () |
Static Public Attributes | |
| static const TokenDict | s_tcapVersion [] |
| static const TokenDict | s_compPrimitives [] |
| static const TokenDict | s_transPrimitives [] |
| static const TokenDict | s_compOperClasses [] |
Protected Member Functions | |
| virtual SS7TCAPError | decodeTransactionPart (NamedList ¶ms, DataBlock &data)=0 |
| virtual void | encodeTransactionPart (NamedList ¶ms, DataBlock &data)=0 |
| bool | sendSCCPNotify (NamedList ¶ms) |
Protected Member Functions inherited from SCCPUser | |
| virtual void | destroyed () |
Protected Member Functions inherited from SignallingComponent | |
| SignallingComponent (const char *name=0, const NamedList *params=0, const char *type="unknown") | |
| void | insert (SignallingComponent *component) |
| virtual void | detach () |
| void | setName (const char *name) |
| void | setCompType (const char *type) |
| unsigned long | tickSleep (unsigned long usec=1000000) const |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
Protected Member Functions inherited from DebugEnabler | |
| void | debugName (const char *name) |
Protected Attributes | |
| ObjList | m_users |
| Mutex | m_usersMtx |
| ObjList | m_inQueue |
| Mutex | m_inQueueMtx |
| unsigned int | m_SSN |
| unsigned int | m_defaultRemoteSSN |
| unsigned int | m_defaultHopCounter |
| SS7PointCode | m_defaultRemotePC |
| SS7PointCode::Type | m_remoteTypePC |
| u_int64_t | m_trTimeout |
| Mutex | m_transactionsMtx |
| ObjList | m_transactions |
| TCAPType | m_tcapType |
| u_int32_t | m_idsPool |
| unsigned int | m_recvMsgs |
| unsigned int | m_sentMsgs |
| unsigned int | m_discardMsgs |
| unsigned int | m_normalMsgs |
| unsigned int | m_abnormalMsgs |
| SCCPManagement::LocalBroadcast | m_ssnStatus |
SS7 TCAP implementation.
Implementation of SS7 Transactional Capabilities Application Part
Component Operation Classes
| enum TCAPCounter |
Type of message counters
| enum TCAPType |
TCAP implementation variant
| enum TCAPUserCompActions |
Component handling primitives between TCAP and TCAP user (TC-user)
| enum TCAPUserTransActions |
TCAP message primitives
|
virtual |
Destructor
|
virtual |
Get a new transaction ID
| void allocTransactionID | ( | String & | str | ) |
Get a new transaction ID
| str | String into which to put the id |
| void attach | ( | TCAPUser * | user | ) |
Attach a SS7 TCAP user
| user | Pointer to the TCAP user to attach |
|
virtual |
|
pure virtual |
Build a transaction
| type | Type with which to build the transactions |
| transactID | ID for the transaction |
| params | Parameters for building the transaction |
| initLocal | True if built by user, false if by remote end |
Implemented in SS7TCAPANSI, and SS7TCAPITU.
|
inline |
Retrieve one of the status counters
| counterType | The type of the counter to increment |
|
virtual |
Dequeue a TCAP message when ready to process it
| void detach | ( | TCAPUser * | user | ) |
Detach a SS7 TCAP user
| user | TCAP user to detach |
|
virtual |
Enqueue data received from SCCP as a TCAP message, kept in a processing queue
| msg | A SS7TCAPMessage pointer containing all data received from SSCP |
| SS7TCAPTransaction * getTransaction | ( | const String & | tid | ) |
Find the transaction with the given id
| tid | Searched local id |
|
virtual |
Handle an decoding error
| error | The encoutered error |
| params | TCAP message parameters which where successfully decoded until the error was encoutered |
| data | Data block containing the rest of the message |
| tr | Transaction to which this message belongs to |
|
inline |
Increment one of the status counters
| counterType | The type of the counter to increment |
|
virtual |
Configure and initialize the component and any subcomponents it may have
| config | Optional configuration parameters override |
Reimplemented from SCCPUser.
|
inlinestatic |
Get the type of component from string form
| comp | Type of component |
References s_compPrimitives.
|
inlinestatic |
Get the type of component in string form
| comp | Type of component |
References s_compPrimitives.
|
inlinestatic |
Get the type of transaction from string form
| tr | Type of transaction in string form |
References s_transPrimitives.
|
inlinestatic |
Get the type of transaction in string form
| tr | Type of transaction |
References s_transPrimitives.
|
virtual |
|
virtual |
Notification from SCCP that a message failed to arrive to its destination, inherited from SCCPUser
| data | User data sent. |
| params | SCCP 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.
|
virtual |
|
virtual |
| void removeTransaction | ( | SS7TCAPTransaction * | tr | ) |
Remove transaction
| tr | The transaction to remove |
|
virtual |
Send to TCAP users a decode message
| params | Message in NamedList form |
|
inline |
Set TCAP version
| type | TCAP version |
|
virtual |
Status of TCAP
| status | NamedList to fill with status information |
References status().
Referenced by status(), updateUserStatus(), and userStatus().
|
inline |
Report which TCAP implementation is in use
|
virtual |
Method called periodically to do processing and timeout checks
| when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.
|
virtual |
A TCAP user made a request
| requestParams | NamedList containing all the necessary data for the TCAP request |
|
virtual |
|
static |
Dictionary for component opearation classes
|
static |
Dictionary for component primitives
Referenced by lookupComponent(), and lookupComponent().
|
static |
Dictionary for TCAP versions
|
static |
Dictionary for transaction primitives
Referenced by lookupTransaction(), and lookupTransaction().