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