|
Yate
|
An SS7 ISUP call. More...
#include <yatesig.h>
Public Types | |
| enum | State { Null = 0 , Testing = 1 , Setup = 2 , Accepted = 3 , Ringing = 4 , Answered = 5 , Releasing = 6 , Released = 7 } |
Public Member Functions | |
| virtual | ~SS7ISUPCall () |
| State | state () const |
| bool | earlyState () 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, const char *diagnostic=0, const char *location=0) |
| virtual void * | getObject (const String &name) const |
Public Member Functions inherited from SignallingCall | |
| SignallingCall (SignallingCallControl *controller, bool outgoing, bool signalOnly=false) | |
| virtual | ~SignallingCall () |
| bool | outgoing () const |
| SignallingCallControl * | controller () const |
| void | userdata (void *data) |
| void * | userdata () const |
| bool | signalOnly () const |
| bool | overlapDialing () const |
| virtual void | eventTerminated (SignallingEvent *event) |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| virtual bool | alive () const |
| bool | ref () |
| bool | deref () |
| int | refcount () const |
| virtual void | destruct () |
Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () |
| virtual const String & | toString () const |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Public Member Functions inherited from Mutex | |
| Mutex (bool recursive=false, const char *name=0) | |
| Mutex (const Mutex &original) | |
| ~Mutex () | |
| Mutex & | operator= (const Mutex &original) |
| virtual bool | lock (long maxwait=-1) |
| virtual bool | unlock () |
| virtual bool | locked () const |
| const char * | owner () const |
| bool | recursive () const |
Public Member Functions inherited from Lockable | |
| virtual | ~Lockable () |
| virtual bool | check (long maxwait=-1) |
| virtual bool | unlockAll () |
Protected Member Functions | |
| SS7ISUPCall (SS7ISUP *controller, SignallingCircuit *cic, const SS7PointCode &local, const SS7PointCode &remote, bool outgoing, int sls=-1, const char *range=0, bool testCall=false) | |
| SignallingEvent * | releaseComplete (bool final, SS7MsgISUP *msg=0, const char *reason=0, bool timeout=false) |
| bool | canReplaceCircuit () |
| bool | replaceCircuit (SignallingCircuit *circuit, SS7MsgISUP *msg=0) |
| void | stopWaitSegment (bool discard) |
Protected Member Functions inherited from SignallingCall | |
| void | enqueue (SignallingMessage *msg) |
| SignallingMessage * | dequeue (bool remove=true) |
| void | clearQueue () |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
| virtual void | destroyed () |
Friends | |
| class | SS7ISUP |
Additional Inherited Members | |
Static Public Member Functions inherited from RefObject | |
| static bool | alive (const RefObject *obj) |
| static bool | efficientIncDec () |
Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) |
| static bool | getObjCounting () |
| static void | setObjCounting (bool enable) |
| static NamedCounter * | getObjCounter (const String &name, bool create=true) |
| static ObjList & | getObjCounters () |
Static Public Member Functions inherited from Mutex | |
| static int | count () |
| static int | locks () |
| static bool | efficientTimedLock () |
Static Public Member Functions inherited from Lockable | |
| static void | wait (unsigned long maxwait) |
| static unsigned long | wait () |
| static void | startUsingNow () |
| static void | enableSafety (bool safe=true) |
| static bool | safety () |
Protected Attributes inherited from SignallingCall | |
| SignallingEvent * | m_lastEvent |
| bool | m_overlap |
An SS7 ISUP call.
A signalling call using SS7 ISUP protocol
| enum State |
Call state enumerators
|
virtual |
Destructor. Complete call release. Releas circuit. Remove itself from controller's list
|
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 |
| testCall | True if this is a test call |
References SignallingCall::controller(), and SignallingCall::outgoing().
|
protected |
Check if the call's circuit can be replaced at this time
|
inline |
Get the call's circuit range
|
inline |
Check if the call is a not test one in early state
|
virtual |
Get an event from this call This method is thread safe
| when | The current time |
Implements SignallingCall.
|
virtual |
Get a pointer to this object or other data
| name | Object name |
Reimplemented from RefObject.
|
inline |
Get the call id (the code of the circuit reserved for this call)
|
protected |
Release call. Stop timers. Send a RLC (Release Complete) message if it should terminate gracefully Decrease the object's referrence 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 |
| timeout | True if this is method is called due to T5 timer expiry |
|
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 |
| msg | Optional message to send before IAM (it will be consumed) |
|
virtual |
Send an event to this call
| event | The event to send |
Reimplemented from SignallingCall.
|
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 |
| diagnostic | Optional diagnostic data to be sent with termination reason |
| location | Optional release location |
References Mutex::lock().
|
inline |
Get the call state
|
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 |
References SignallingCall::outgoing().