|
Yate
|
ISDN Q.931 implementation on top of Q.921 of call controller monitor. More...
#include <yatesig.h>
Public Member Functions | |
| ISDNQ931Monitor (const NamedList ¶ms, const char *name=0) | |
| virtual | ~ISDNQ931Monitor () |
| virtual bool | initialize (const NamedList *config) |
| virtual const char * | statusName () const |
| virtual void | dataLinkState (u_int8_t tei, bool cmd, bool value, ISDNLayer2 *layer2) |
| virtual void | idleTimeout (ISDNLayer2 *layer2) |
| virtual void | receiveData (const DataBlock &data, u_int8_t tei, ISDNLayer2 *layer2) |
| virtual ISDNQ921Passive * | attach (ISDNQ921Passive *q921, bool net) |
| virtual SignallingCircuitGroup * | attach (SignallingCircuitGroup *circuits, bool net) |
| ISDNQ921Passive * | circuits (bool net) const |
| void | setDebug (bool printMsg, bool extendedDebug) |
| virtual void | cleanup (const char *reason="offline") |
| void | terminateMonitor (ISDNQ931CallMonitor *mon, const char *reason) |
Public Member Functions inherited from SignallingCallControl | |
| SignallingCallControl (const NamedList ¶ms, const char *msgPrefix=0) | |
| virtual | ~SignallingCallControl () |
| const String & | location () const |
| void | setExiting () |
| bool | exiting () const |
| bool | verify () |
| MediaRequired | mediaRequired () const |
| const String & | msgPrefix () const |
| SignallingCircuitGroup * | circuits () const |
| const ObjList & | calls () const |
| SignallingCircuitGroup * | attach (SignallingCircuitGroup *circuits) |
| bool | reserveCircuit (SignallingCircuit *&cic, const char *range=0, int checkLock=-1, const String *list=0, bool mandatory=true, bool reverseRestrict=false) |
| bool | releaseCircuit (SignallingCircuit *&cic, bool sync=false) |
| bool | releaseCircuit (unsigned int code, bool sync=false) |
| virtual SignallingEvent * | getEvent (const Time &when) |
| virtual SignallingCall * | call (SignallingMessage *msg, String &reason) |
| virtual void | buildVerifyEvent (NamedList ¶ms) |
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 () |
Public Member Functions inherited from ISDNLayer3 | |
| virtual void | multipleFrameEstablished (u_int8_t tei, bool confirm, bool timeout, ISDNLayer2 *layer2) |
| virtual void | multipleFrameReleased (u_int8_t tei, bool confirm, bool timeout, ISDNLayer2 *layer2) |
| virtual ISDNLayer2 * | attach (ISDNLayer2 *layer2) |
Public Member Functions inherited from SignallingComponent | |
| virtual | ~SignallingComponent () |
| virtual const String & | toString () const |
| virtual bool | control (NamedList ¶ms) |
| virtual NamedList * | controlCreate (const char *oper=0) |
| virtual bool | controlExecute (NamedList *params) |
| virtual void | engine (SignallingEngine *eng) |
| SignallingEngine * | engine () const |
| int | debugLevel (int level) |
| const String & | componentType () const |
Public Member Functions inherited from RefObject | |
| RefObject () | |
| virtual | ~RefObject () |
| virtual void * | getObject (const String &name) const |
| 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 & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Public Member Functions inherited from DebugEnabler | |
| DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true) | |
| int | debugLevel () const |
| int | debugLevel (int level) |
| bool | debugEnabled () const |
| void | debugEnabled (bool enable) |
| const char * | debugName () const |
| bool | debugAt (int level) const |
| bool | debugChained () const |
| void | debugChain (const DebugEnabler *chain=0) |
| void | debugCopy (const DebugEnabler *original=0) |
Protected Member Functions | |
| virtual void | destroyed () |
| virtual void | timerTick (const Time &when) |
| bool | reserveCircuit (unsigned int code, bool netInit, SignallingCircuit **caller, SignallingCircuit **called) |
| bool | releaseCircuit (SignallingCircuit *circuit) |
| void | processMsgRestart (ISDNQ931Message *msg) |
Protected Member Functions inherited from SignallingCallControl | |
| int | strategy () const |
| virtual bool | processEvent (SignallingEvent *event) |
| virtual SignallingEvent * | processCircuitEvent (SignallingCircuitEvent *&event, SignallingCall *call=0) |
| void | clearCalls () |
| void | removeCall (SignallingCall *call, bool del=false) |
| void | setVerify (bool restartTimer=false, bool fireNow=false, const Time *time=0) |
Protected Member Functions inherited from ISDNLayer3 | |
| ISDNLayer3 (const char *name=0) | |
| Mutex & | l3Mutex () |
Protected Member Functions inherited from SignallingComponent | |
| SignallingComponent (const char *name=0, const NamedList *params=0, const char *type="unknown") | |
| void | insert (SignallingComponent *component) |
| virtual void | detach () |
| void | setName (const char *name) |
| void | setCompType (const char *type) |
| unsigned long | tickSleep (unsigned long usec=1000000) const |
Protected Member Functions inherited from RefObject | |
| virtual void | zeroRefs () |
| bool | resurrect () |
Protected Member Functions inherited from DebugEnabler | |
| void | debugName (const char *name) |
Friends | |
| class | ISDNQ931CallMonitor |
Additional Inherited Members | |
Public Types inherited from SignallingCallControl | |
| enum | MediaRequired { MediaNever , MediaAnswered , MediaRinging , MediaAlways } |
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 () |
Static Public Member Functions inherited from SignallingComponent | |
| static bool | resolveConfig (const String &cmpName, NamedList ¶ms, const NamedList *config) |
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 () |
Protected Attributes inherited from SignallingCallControl | |
| ObjList | m_calls |
| String | m_msgPrefix |
| MediaRequired | m_mediaRequired |
| bool | m_verifyEvent |
| SignallingTimer | m_verifyTimer |
| String | m_location |
Static Protected Attributes inherited from SignallingCallControl | |
| static const TokenDict | s_mediaRequired [] |
ISDN Q.931 implementation on top of Q.921 of call controller monitor.
Q.931 ISDN Layer 3 implementation on top of a Layer 2. Manage Q.931 monitors
| ISDNQ931Monitor | ( | const NamedList & | params, |
| const char * | name = 0 ) |
Constructor Initialize this object and the component
| params | Layer's parameters and parser settings |
| name | Name of this component |
|
virtual |
Destructor Destroy all calls
|
virtual |
Attach ISDN Q.921 pasive transport that monitors one side of the link This method is thread safe
| q921 | Pointer to the monitor to attach |
| net | True if this is the network side of the data link, false for user (CPE) side |
Referenced by destroyed().
|
virtual |
Attach a circuit group to this call controller This method is thread safe
| circuits | Pointer to the SignallingCircuitGroup to attach |
| net | True if this group belongs to the network side of the data link, false for user (CPE) side |
References circuits().
|
inline |
Get a pointer to the NET or CPE circuit group
| net | True to get the network side circuits, false for user (CPE) side |
Referenced by attach().
|
inlinevirtual |
Terminate all monitors This method is thread safe
| reason | Cleanup reason |
Reimplemented from SignallingCallControl.
References terminateMonitor().
|
virtual |
Notification from layer 2 of data link set/release command or response
| tei | The TEI of the notification |
| cmd | True if received a command, false if received a response |
| value | The value of the notification If 'cmd' is true (command), the value is true if a request to establish data link was received or false if received a request to release data link If 'cmd' is false (response), the value is the response |
| layer2 | Pointer to the notifier |
Reimplemented from ISDNLayer3.
|
inlineprotectedvirtual |
Detach links. Disposes memory
Reimplemented from SignallingComponent.
References attach(), SignallingCallControl::attach(), and RefObject::destroyed().
|
virtual |
Notification from layer 2 of data link idle timeout
| layer2 | Pointer to the notifier |
Reimplemented from ISDNLayer3.
|
virtual |
Configure and initialize the Q.931 monitor and its interfaces
| config | Optional configuration parameters override |
Reimplemented from SignallingComponent.
|
protected |
Process a restart or restart acknoledge message Terminate the monitor having the circuit given in restart message
| msg | The received message |
|
virtual |
Implements Q.921 DL-DATA and DL-UNIT DATA indication primitives
| data | Received data |
| tei | The TEI of the Layer 2 |
| layer2 | Pointer to the sender |
Implements ISDNLayer3.
|
protected |
Release a circuit This method is thread safe
| circuit | The circuit to release |
|
protected |
Reserve the same circuit code from both circuit groups This is an atomic operation: if one circuit fails to be reserved, both of them will fail Release both circuits on failure This method is thread safe
| code | The circuit code to reserve |
| netInit | True if the caller is from the network side of the link, false if it's from CPE side |
| caller | The destination caller circuit |
| called | The destination called circuit |
|
inline |
Set debug data of this call controller
| printMsg | Enable/disable message printing on output |
| extendedDebug | Enable/disable hex data dump if print messages is enabled |
|
virtual |
| void terminateMonitor | ( | ISDNQ931CallMonitor * | mon, |
| const char * | reason ) |
Terminate all monitors or only one This method is thread safe
| mon | The monitor to terminate, 0 to terminate all |
| reason | The termination reason |
Referenced by cleanup().
|
protectedvirtual |
Method called periodically to check timeouts This method is thread safe
| when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.