|
|
Implementation of SS7 Transactional Capabilities Application Part Transaction
enum TransactionState { Idle = 0, PackageSent = 1, PackageReceived = 2, Active = 3, } | TransactionState |
enum TransactionTransmit { NoTransmit = 0, PendingTransmit = 256, Transmitted = 521, } | TransactionTransmit |
SS7TCAPTransaction (SS7TCAP* tcap, SS7TCAP::TCAPUserTransActions type, const String& transactID, NamedList& params,
u_int64_t timeout, bool initLocal = true)
| SS7TCAPTransaction |
Constructor
Parameters:
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 ()
| ~SS7TCAPTransaction |
Destructor
SS7TCAPError handleData (NamedList& params, DataBlock& data)
| handleData |
[pure virtual]
Process transaction data and fill the NamedList with the decoded data
Parameters:
params | NamedList to fill with decoded data |
data | Data to decode |
Returns: A TCAP error encountered whilst decoding
SS7TCAPError update (SS7TCAP::TCAPUserTransActions type, NamedList& params, bool updateByUser = true)
| update |
[pure virtual]
An update request for this transaction
Parameters:
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 |
Returns: A TCAP Error
SS7TCAPError handleDialogPortion (NamedList& params,bool byUser = true)
| handleDialogPortion |
[pure virtual]
Handle TCAP relevant dialog data
Parameters:
params | NamedList containing (if present) dialog information |
byUser | True if the dialog information is provided by the local user, false otherwise |
Returns: A report error
SS7TCAPError buildComponentError (SS7TCAPError& error, NamedList& params, DataBlock& data)
| buildComponentError |
[virtual]
Build a Reject component in answer to an encoutered error during decoding of the component portion
Parameters:
error | The encountered error |
params | Decoded TCAP message parameters |
data | DataBlock containing the rest of the coded TCAP message |
Returns: A report error
SS7TCAPError handleComponents (NamedList& params, bool updateByUser = true)
| handleComponents |
[virtual]
Update components
Parameters:
params | NamedList reference containing the update information |
updateByUser | Flag if the update was issued by local user or by remote |
Returns: A report error
void requestComponents (NamedList& params, DataBlock& data)
| requestComponents |
[virtual]
Request encoding for the components of this transaction
Parameters:
params | Components parameters to encode |
data | DataBlock reference in which to insert the encoded components |
void transactionData (NamedList& params)
| transactionData |
[virtual]
Fill the NamedList with transaction portion parameters
Parameters:
params | NamedList reference to fill with transaction portion parameters |
void requestContent (NamedList& params, DataBlock& data)
| requestContent |
[pure virtual]
Request content for this transaction
Parameters:
params | List of parameters of this tranaction |
data | Data block to fill with encoded content |
void checkComponents ()
| checkComponents |
[virtual]
Check components for timeouts
inline void setTransactionType (SS7TCAP::TCAPUserTransActions type)
| setTransactionType |
Set the current type of transaction primitive
Parameters:
type | The transaction primitive to be set |
inline SS7TCAP::TCAPUserTransActions transactionType ()
| transactionType |
Retrieve the current type of primitive that is set for this transaction
Returns: The transaction primitive type
inline void setState (TransactionState state)
| setState |
Set the state of this transaction, trigger a transmission pending state
Parameters:
state | The state to set for the transaction |
inline TransactionState transactionState ()
| transactionState |
Retrieve the state of this transaction
Returns: The state of this transaction
void setTransmitState (TransactionTransmit state)
| setTransmitState |
Set the transmission state for this transaction
Parameters:
state | The transmission state to be set |
inline TransactionTransmit transmitState ()
| transmitState |
The transmission state for this transaction
Returns: The current transmission state
inline SS7TCAP* tcap ()
| tcap |
The TCAP to which this transaction belongs
Returns: A pointer to the TCAP component
const String& toString ()
| toString |
[const]
Get the ID of the transaction so it can be used for list searches
Returns: A reference to the ID
Reimplemented from GenObject.
inline void setUserName (const String& name)
| setUserName |
Set the TCAP username to which this transaction belongs
Parameters:
name | The name of the user to set |
const String& userName ()
| userName |
Return the name of the TCAP user to which this transaction belongs
Returns: The name of the user
inline bool basicEnd ()
| basicEnd |
Check if a basic end was set for this transaction
Returns: True if basic end was specified by the user, false if prearranged end was specified
void addSCCPAddressing (NamedList& fillParams, bool local)
| addSCCPAddressing |
Add SCCP Addressing information
Parameters:
fillParams | NamedList to fill with addressing information |
local | True if the information is for the user, otherwise |
inline bool endNow ()
| endNow |
Check if the flag to end this transaction immediately was set
Returns: True if the end flag was set, false otherwise
inline void endNow (bool endNow)
| endNow |
Set the flag to end this transaction immediately
Parameters:
endNow | Boolean value to set to the end flag |
inline bool timedOut ()
| timedOut |
Check if the transaction has timed out
Returns: True if the transaction timed out, false otherwise
SS7TCAPComponent* findComponent (const String& id)
| findComponent |
Find a component with given id
Parameters:
id | Id of component to find |
Returns: The component with given id or null
void updateToEnd ()
| updateToEnd |
[virtual]
Update the state of this transaction to end the transaction
void updateState (bool byUser = true)
| updateState |
[pure virtual]
Update transaction state
Parameters:
byUser | True if update is requested by user, false if by remote |
void abnormalDialogInfo (NamedList& params)
| abnormalDialogInfo |
[virtual]
Set information in case of abnormal dialog detection
Parameters:
params | List of parameters where to set the abnormal dialog information |
SS7TCAPError decodeDialogPortion (NamedList& params, DataBlock& data)
| decodeDialogPortion |
[pure virtual]
Parameters:
params | NamedList reference to fill with the decoded dialog information |
data | DataBlock reference from which to decode the dialog information |
Returns: A TCAP error encountered whilst decoding
void encodeDialogPortion (NamedList& params, DataBlock& data)
| encodeDialogPortion |
[pure virtual]
Parameters:
params | NamedList reference from which to take the dialog information to encode |
data | DataBlock reference into which to put the encoded dialog information |
SS7TCAPError decodeComponents (NamedList& params, DataBlock& data)
| decodeComponents |
[pure virtual]
Parameters:
params | NamedList reference to fill with the decoded component information |
data | DataBlock reference from which to decode the component information |
Returns: A TCAP error encountered whilst decoding
void encodeComponents (NamedList& params, DataBlock& data)
| encodeComponents |
[pure virtual]
Parameters:
params | NamedList reference from which to take the component information to encode |
data | DataBlock reference into which to put the encoded component information |
SS7TCAP* m_tcap | m_tcap |
[protected]
SS7TCAP::TCAPType m_tcapType | m_tcapType |
[protected]
String m_userName | m_userName |
[protected]
String m_localID | m_localID |
[protected]
String m_remoteID | m_remoteID |
[protected]
SS7TCAP::TCAPUserTransActions m_type | m_type |
[protected]
TransactionState m_state | m_state |
[protected]
TransactionTransmit m_transmit | m_transmit |
[protected]
ObjList m_components | m_components |
[protected]
NamedList m_localSCCPAddr | m_localSCCPAddr |
[protected]
NamedList m_remoteSCCPAddr | m_remoteSCCPAddr |
[protected]
bool m_basicEnd | m_basicEnd |
[protected]
bool m_endNow | m_endNow |
[protected]
SignallingTimer m_timeout | m_timeout |
[protected]
Generated by: paulc on bussard on Sun Oct 20 21:06:06 2013, using kdoc 2.0a54. |