Yate
|
An SS7 ISUP call. More...
#include <yatesig.h>
Public Types | |
enum | State { Null = 0, Setup = 1, Accepted = 2, Ringing = 3, Answered = 4, Releasing = 5, Released = 6 } |
Public Member Functions | |
virtual | ~SS7ISUPCall () |
State | state () const |
const String & | cicRange () const |
unsigned int | id () const |
virtual SignallingEvent * | getEvent (const Time &when) |
virtual bool | sendEvent (SignallingEvent *event) |
void | setTerminate (bool gracefully, const char *reason=0) |
virtual void * | getObject (const String &name) const |
Protected Member Functions | |
SS7ISUPCall (SS7ISUP *controller, SignallingCircuit *cic, const SS7PointCode &local, const SS7PointCode &remote, bool outgoing, int sls=-1, const char *range=0) | |
SignallingEvent * | releaseComplete (bool final, SS7MsgISUP *msg=0, const char *reason=0) |
bool | replaceCircuit (SignallingCircuit *circuit) |
void | stopWaitSegment (bool discard) |
Friends | |
class | SS7ISUP |
An SS7 ISUP call.
A signalling call using SS7 ISUP protocol
enum State |
Call state enumerators
virtual ~SS7ISUPCall | ( | ) | [virtual] |
Destructor. Complete call release. Releas circuit. Remove itself from controller's list
SS7ISUPCall | ( | SS7ISUP * | controller, |
SignallingCircuit * | cic, | ||
const SS7PointCode & | local, | ||
const SS7PointCode & | remote, | ||
bool | outgoing, | ||
int | sls = -1 , |
||
const char * | range = 0 |
||
) | [protected] |
Constructor
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 |
const String& cicRange | ( | ) | const [inline] |
Get the call's circuit range
virtual SignallingEvent* getEvent | ( | const Time & | when | ) | [virtual] |
Get an event from this call This method is thread safe
when | The current time |
Implements SignallingCall.
virtual void* getObject | ( | const String & | name | ) | const [virtual] |
Get a pointer to this object or other data
name | Object name |
Reimplemented from GenObject.
unsigned int id | ( | ) | const [inline] |
Get the call id (the code of the circuit reserved for this call)
SignallingEvent* releaseComplete | ( | bool | final, |
SS7MsgISUP * | msg = 0 , |
||
const char * | reason = 0 |
||
) | [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
final | True if called from destructor |
msg | Received message with parameters if any |
reason | Optional release reason |
bool replaceCircuit | ( | SignallingCircuit * | circuit | ) | [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
circuit | The new circuit reserved for this call |
virtual bool sendEvent | ( | SignallingEvent * | event | ) | [virtual] |
Send an event to this call
event | The event to send |
Reimplemented from SignallingCall.
void setTerminate | ( | bool | gracefully, |
const char * | reason = 0 |
||
) | [inline] |
Set termination flag. Set termination reason if not already set
gracefully | True to send RLC on termination, false to destroy the call without notification |
reason | Termination reason |
State state | ( | ) | const [inline] |
Get the call state
void stopWaitSegment | ( | bool | discard | ) | [protected] |
Stop waiting for a SGM (Segmentation) message when another message is received by the controller. This method is thread safe
discard | True to discard (destruct) the segment waiting message if any |