# class SS7TCAPTransaction | SS7 TCAP transaction implementation. More...
Contains pure virtuals
Full name | `TelEngine::SS7TCAPTransaction`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::Mutex [public ], TelEngine::RefObject [public ]
Inherited by | SS7TCAPTransactionANSI, SS7TCAPTransactionITU
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum TransactionState { Idle = 0, PackageSent = 1, PackageReceived = 2, Active = 3, }
- enum TransactionTransmit { NoTransmit = 0, PendingTransmit = 256, Transmitted = 521, }

#### Public Methods

- SS7TCAPTransaction (SS7TCAP* tcap, SS7TCAP::TCAPUserTransActions type, const String& transactID, NamedList& params, u_int64_t timeout, bool initLocal = true)
- ~SS7TCAPTransaction ()
- virtual SS7TCAPError handleData (NamedList& params, DataBlock& data)
- virtual SS7TCAPError update (SS7TCAP::TCAPUserTransActions type, NamedList& params, bool updateByUser = true)
- virtual SS7TCAPError handleDialogPortion (NamedList& params,bool byUser = true)
- virtual SS7TCAPError buildComponentError (SS7TCAPError& error, NamedList& params, DataBlock& data)
- virtual SS7TCAPError handleComponents (NamedList& params, bool updateByUser = true)
- virtual void requestComponents (NamedList& params, DataBlock& data)
- virtual void transactionData (NamedList& params)
- virtual void requestContent (NamedList& params, DataBlock& data)
- virtual void checkComponents ()
- inline void setTransactionType (SS7TCAP::TCAPUserTransActions type)
- inline SS7TCAP::TCAPUserTransActions transactionType ()
- inline void setState (TransactionState state)
- inline TransactionState transactionState ()
- void setTransmitState (TransactionTransmit state)
- inline TransactionTransmit transmitState ()
- inline SS7TCAP* tcap ()
- const String& toString () const
- inline void setUserName (const String& name)
- const String& userName ()
- inline bool basicEnd ()
- void addSCCPAddressing (NamedList& fillParams, bool local)
- inline bool endNow ()
- inline void endNow (bool endNow)
- inline bool timedOut ()
- SS7TCAPComponent* findComponent (const String& id)
- virtual void updateToEnd ()
- virtual void updateState (bool byUser = true)
- virtual void abnormalDialogInfo (NamedList& params)
- virtual SS7TCAPError decodeDialogPortion (NamedList& params, DataBlock& data)
- virtual void encodeDialogPortion (NamedList& params, DataBlock& data)
- virtual SS7TCAPError decodeComponents (NamedList& params, DataBlock& data)
- virtual void encodeComponents (NamedList& params, DataBlock& data)

#### Protected Members

- 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

## Detailed Description

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 Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.