|
Yate
|
SS7 TCAP transaction implementation. More...
#include <yatesig.h>
Public Types | |
| enum | TransactionState { Idle = 0, PackageSent = 1, PackageReceived = 2, Active = 3 } |
| enum | TransactionTransmit { NoTransmit = 0, PendingTransmit = 256, Transmitted = 521 } |
Public Member Functions | |
| SS7TCAPTransaction (SS7TCAP *tcap, SS7TCAP::TCAPUserTransActions type, const String &transactID, NamedList ¶ms, u_int64_t timeout, bool initLocal=true) | |
| ~SS7TCAPTransaction () | |
| virtual SS7TCAPError | handleData (NamedList ¶ms, DataBlock &data)=0 |
| virtual SS7TCAPError | update (SS7TCAP::TCAPUserTransActions type, NamedList ¶ms, bool updateByUser=true)=0 |
| virtual SS7TCAPError | handleDialogPortion (NamedList ¶ms, bool byUser=true)=0 |
| virtual SS7TCAPError | buildComponentError (SS7TCAPError &error, NamedList ¶ms, DataBlock &data) |
| virtual SS7TCAPError | handleComponents (NamedList ¶ms, bool updateByUser=true) |
| virtual void | requestComponents (NamedList ¶ms, DataBlock &data) |
| virtual void | transactionData (NamedList ¶ms) |
| virtual void | requestContent (NamedList ¶ms, DataBlock &data)=0 |
| virtual void | checkComponents () |
| void | setTransactionType (SS7TCAP::TCAPUserTransActions type) |
| SS7TCAP::TCAPUserTransActions | transactionType () |
| void | setState (TransactionState state) |
| TransactionState | transactionState () |
| void | setTransmitState (TransactionTransmit state) |
| TransactionTransmit | transmitState () |
| SS7TCAP * | tcap () |
| const String & | toString () const |
| void | setUserName (const String &name) |
| const String & | userName () |
| bool | basicEnd () |
| void | addSCCPAddressing (NamedList &fillParams, bool local) |
| bool | endNow () |
| void | endNow (bool endNow) |
| bool | timedOut () |
| SS7TCAPComponent * | findComponent (const String &id) |
| virtual void | updateToEnd () |
| virtual void | updateState (bool byUser=true)=0 |
| virtual void | abnormalDialogInfo (NamedList ¶ms) |
| virtual SS7TCAPError | decodeDialogPortion (NamedList ¶ms, DataBlock &data)=0 |
| virtual void | encodeDialogPortion (NamedList ¶ms, DataBlock &data)=0 |
| virtual SS7TCAPError | decodeComponents (NamedList ¶ms, DataBlock &data)=0 |
| virtual void | encodeComponents (NamedList ¶ms, DataBlock &data)=0 |
Protected Attributes | |
| SS7TCAP * | m_tcap |
| SS7TCAP::TCAPType | m_tcapType |
| String | m_userName |
| String | m_localID |
| String | m_remoteID |
| SS7TCAP::TCAPUserTransActions | m_type |
| TransactionState | m_state |
| TransactionTransmit | m_transmit |
| ObjList | m_components |
| NamedList | m_localSCCPAddr |
| NamedList | m_remoteSCCPAddr |
| bool | m_basicEnd |
| bool | m_endNow |
| SignallingTimer | m_timeout |
SS7 TCAP transaction implementation.
Implementation of SS7 Transactional Capabilities Application Part Transaction
| SS7TCAPTransaction | ( | SS7TCAP * | tcap, |
| SS7TCAP::TCAPUserTransActions | type, | ||
| const String & | transactID, | ||
| NamedList & | params, | ||
| u_int64_t | timeout, | ||
| bool | initLocal = true |
||
| ) |
Constructor
| tcap | TCAP holding this transaction |
| type | Initiating type for transaction |
| transactID | Transaction ID |
| params | Decoded TCAP parameters for building the transaction |
| timeout | Transaction timeout |
| initLocal | True if the transaction was initiated locally, false if not |
| ~SS7TCAPTransaction | ( | ) |
Destructor
| virtual void abnormalDialogInfo | ( | NamedList & | params | ) | [virtual] |
Set information in case of abnormal dialog detection
| params | List of parameters where to set the abnormal dialog information |
Reimplemented in SS7TCAPTransactionITU.
| void addSCCPAddressing | ( | NamedList & | fillParams, |
| bool | local | ||
| ) |
| bool basicEnd | ( | ) | [inline] |
Check if a basic end was set for this transaction
| virtual SS7TCAPError buildComponentError | ( | SS7TCAPError & | error, |
| NamedList & | params, | ||
| DataBlock & | data | ||
| ) | [virtual] |
Build a Reject component in answer to an encoutered error during decoding of the component portion
| error | The encountered error |
| params | Decoded TCAP message parameters |
| data | DataBlock containing the rest of the coded TCAP message |
| virtual void checkComponents | ( | ) | [virtual] |
Check components for timeouts
| virtual SS7TCAPError decodeComponents | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
| virtual SS7TCAPError decodeDialogPortion | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
| params | NamedList reference to fill with the decoded dialog information |
| data | DataBlock reference from which to decode the dialog information |
Implemented in SS7TCAPTransactionITU.
| virtual void encodeComponents | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
| virtual void encodeDialogPortion | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
| params | NamedList reference from which to take the dialog information to encode |
| data | DataBlock reference into which to put the encoded dialog information |
Implemented in SS7TCAPTransactionITU.
| bool endNow | ( | ) | [inline] |
Check if the flag to end this transaction immediately was set
| void endNow | ( | bool | endNow | ) | [inline] |
Set the flag to end this transaction immediately
| endNow | Boolean value to set to the end flag |
References SS7TCAPTransaction::endNow().
Referenced by SS7TCAPTransaction::endNow().
| SS7TCAPComponent* findComponent | ( | const String & | id | ) |
Find a component with given id
| id | Id of component to find |
| virtual SS7TCAPError handleComponents | ( | NamedList & | params, |
| bool | updateByUser = true |
||
| ) | [virtual] |
Update components
| params | NamedList reference containing the update information |
| updateByUser | Flag if the update was issued by local user or by remote |
| virtual SS7TCAPError handleData | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
Process transaction data and fill the NamedList with the decoded data
| params | NamedList to fill with decoded data |
| data | Data to decode |
Implemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
| virtual SS7TCAPError handleDialogPortion | ( | NamedList & | params, |
| bool | byUser = true |
||
| ) | [pure virtual] |
Handle TCAP relevant dialog data
| params | NamedList containing (if present) dialog information |
| byUser | True if the dialog information is provided by the local user, false otherwise |
Implemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
| virtual void requestComponents | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [virtual] |
Request encoding for the components of this transaction
| params | Components parameters to encode |
| data | DataBlock reference in which to insert the encoded components |
| virtual void requestContent | ( | NamedList & | params, |
| DataBlock & | data | ||
| ) | [pure virtual] |
Request content for this transaction
| params | List of parameters of this tranaction |
| data | Data block to fill with encoded content |
Implemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
| void setState | ( | TransactionState | state | ) | [inline] |
Set the state of this transaction, trigger a transmission pending state
| state | The state to set for the transaction |
| void setTransactionType | ( | SS7TCAP::TCAPUserTransActions | type | ) | [inline] |
Set the current type of transaction primitive
| type | The transaction primitive to be set |
| void setTransmitState | ( | TransactionTransmit | state | ) |
Set the transmission state for this transaction
| state | The transmission state to be set |
| void setUserName | ( | const String & | name | ) | [inline] |
Set the TCAP username to which this transaction belongs
| name | The name of the user to set |
The TCAP to which this transaction belongs
| bool timedOut | ( | ) | [inline] |
Check if the transaction has timed out
Get the ID of the transaction so it can be used for list searches
Reimplemented from GenObject.
| virtual void transactionData | ( | NamedList & | params | ) | [virtual] |
| TransactionState transactionState | ( | ) | [inline] |
Retrieve the state of this transaction
| SS7TCAP::TCAPUserTransActions transactionType | ( | ) | [inline] |
Retrieve the current type of primitive that is set for this transaction
| TransactionTransmit transmitState | ( | ) | [inline] |
The transmission state for this transaction
| virtual SS7TCAPError update | ( | SS7TCAP::TCAPUserTransActions | type, |
| NamedList & | params, | ||
| bool | updateByUser = true |
||
| ) | [pure virtual] |
An update request for this transaction
| type | The type of transaction to which this transaction should be updated |
| params | Update parameter |
| updateByUser | True if the update is made by the local user, false if it's made by the remote end |
Implemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
| virtual void updateState | ( | bool | byUser = true | ) | [pure virtual] |
Update transaction state
| byUser | True if update is requested by user, false if by remote |
Implemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
| virtual void updateToEnd | ( | ) | [virtual] |
Update the state of this transaction to end the transaction
Reimplemented in SS7TCAPTransactionITU, and SS7TCAPTransactionANSI.
Return the name of the TCAP user to which this transaction belongs
1.7.6.1