|
|
A signalling call using SS7 ISUP protocol
enum State { Null = 0, Setup = 1, Accepted = 2, Ringing = 3, Answered = 4, Releasing = 5, Released = 6 } | State |
Call state enumerators
~SS7ISUPCall ()
| ~SS7ISUPCall |
[virtual]
Destructor. Complete call release. Releas circuit. Remove itself from controller's list
inline State state ()
| state |
[const]
Get the call state
Returns: The call state as enumeration
inline const String& cicRange ()
| cicRange |
[const]
Get the call's circuit range
Returns: The call's circuit range
inline unsigned int id ()
| id |
[const]
Get the call id (the code of the circuit reserved for this call)
Returns: The call id
SignallingEvent* getEvent (const Time& when)
| getEvent |
[virtual]
Get an event from this call This method is thread safe
Parameters:
when | The current time |
Returns: SignallingEvent pointer or 0 if no events
Reimplemented from SignallingCall.
bool sendEvent (SignallingEvent* event)
| sendEvent |
[virtual]
Send an event to this call
Parameters:
event | The event to send |
Returns: True if the operation succedded
Reimplemented from SignallingCall.
inline void setTerminate (bool gracefully, const char* reason = 0)
| setTerminate |
Set termination flag. Set termination reason if not already set
Parameters:
gracefully | True to send RLC on termination, false to destroy the call without notification |
reason | Termination reason |
void* getObject (const String& name)
| getObject |
[const virtual]
Get a pointer to this object or other data
Parameters:
name | Object name |
Returns: The requested pointer or 0 if not exists
Reimplemented from GenObject.
SS7ISUPCall (SS7ISUP* controller, SignallingCircuit* cic,
const SS7PointCode& local, const SS7PointCode& remote, bool outgoing,
int sls = -1, const char* range = 0)
| SS7ISUPCall |
[protected]
Constructor
Parameters:
controller | The call controller |
cic | The reserved circuit |
local | The local point code used to create the routing label for sent messages |
remote | The remote point code used to create the routing label for sent messages |
outgoing | Call direction |
sls | Optional link for the routing label |
range | Optional range used to re-allocate a circuit for this call if necessary |
SignallingEvent* releaseComplete (bool final, SS7MsgISUP* msg = 0, const char* reason = 0)
| releaseComplete |
[protected]
Release call. Stop timers. Send a RLC (Release Complete) message if it should terminate gracefully Decrease the object's refence count and generate a Release event if not final This method is thread safe
Parameters:
final | True if called from destructor |
msg | Received message with parameters if any |
reason | Optional release reason |
Returns: SignallingEvent pointer or 0
bool replaceCircuit (SignallingCircuit* circuit)
| replaceCircuit |
[protected]
Replace the circuit reserved for this call. Release the already reserved circuit. Retransmit the initial IAM request on success. On failure set the termination flag and release the new circuit if valid. If false is returned, the call is prepared to return a Release event. This method is thread safe
Parameters:
circuit | The new circuit reserved for this call |
Returns: False if the state is greater then Setup, the call is not outgoing or the new circuit is 0
void stopWaitSegment (bool discard)
| stopWaitSegment |
[protected]
Stop waiting for a SGM (Segmentation) message when another message is received by the controller. This method is thread safe
Parameters:
discard | True to discard (destruct) the segment waiting message if any |
Generated by: paulc on bussard on Wed Oct 21 01:57:30 2009, using kdoc 2.0a54. |