|
|
Q.931 ISDN Layer 3 implementation on top of a Layer 2. Manage Q.931 monitors
ISDNQ931Monitor (const NamedList& params, const char* name = 0)
| ISDNQ931Monitor |
Constructor Initialize this object and the component
Parameters:
params | Layer's parameters and parser settings |
name | Name of this component |
~ISDNQ931Monitor ()
| ~ISDNQ931Monitor |
[virtual]
Destructor Destroy all calls
bool initialize (const NamedList* config)
| initialize |
[virtual]
Configure and initialize the Q.931 monitor and its interfaces
Parameters:
config | Optional configuration parameters override |
Returns: True if Q.931 monitor and both interfaces were initialized properly
Reimplemented from SignallingComponent.
const char* statusName ()
| statusName |
[const virtual]
Get the controller's status as text
Returns: Controller status name
Reimplemented from SignallingCallControl.
void dataLinkState (u_int8_t tei, bool cmd, bool value, ISDNLayer2* layer2)
| dataLinkState |
[virtual]
Notification from layer 2 of data link set/release command or response
Parameters:
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.
void idleTimeout (ISDNLayer2* layer2)
| idleTimeout |
[virtual]
Notification from layer 2 of data link idle timeout
Parameters:
layer2 | Pointer to the notifier |
Reimplemented from ISDNLayer3.
void receiveData (const DataBlock& data, u_int8_t tei, ISDNLayer2* layer2)
| receiveData |
[virtual]
Implements Q.921 DL-DATA and DL-UNIT DATA indication primitives
Parameters:
data | Received data |
tei | The TEI of the Layer 2 |
layer2 | Pointer to the sender |
Reimplemented from ISDNLayer3.
ISDNQ921Passive* attach (ISDNQ921Passive* q921, bool net)
| attach |
[virtual]
Attach ISDN Q.921 pasive transport that monitors one side of the link This method is thread safe
Parameters:
q921 | Pointer to the monitor to attach |
net | True if this is the network side of the data link, false for user (CPE) side |
Returns: Pointer to detached monitor or NULL
Reimplemented from SignallingCallControl.
SignallingCircuitGroup* attach (SignallingCircuitGroup* circuits, bool net)
| attach |
[virtual]
Attach a circuit group to this call controller This method is thread safe
Parameters:
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 |
Returns: Pointer to the old group that was detached, NULL if none or no change
Reimplemented from SignallingCallControl.
inline ISDNQ921Passive* circuits (bool net)
| circuits |
[const]
Get a pointer to the NET or CPE circuit group
Parameters:
net | True to get the network side circuits, false for user (CPE) side |
Returns: Pointer to the circuit group requested, NULL if none attached
Reimplemented from SignallingCallControl.
inline void setDebug (bool printMsg, bool extendedDebug)
| setDebug |
Set debug data of this call controller
Parameters:
printMsg | Enable/disable message printing on output |
extendedDebug | Enable/disable hex data dump if print messages is enabled |
void cleanup (const char* reason = "offline")
| cleanup |
[virtual]
Terminate all monitors This method is thread safe
Parameters:
reason | Cleanup reason |
Reimplemented from SignallingCallControl.
void terminateMonitor (ISDNQ931CallMonitor* mon, const char* reason)
| terminateMonitor |
Terminate all monitors or only one This method is thread safe
Parameters:
mon | The monitor to terminate, 0 to terminate all |
reason | The termination reason |
void destroyed ()
| destroyed |
[protected virtual]
Detach links. Disposes memory
Reimplemented from SignallingComponent.
void timerTick (const Time& when)
| timerTick |
[protected virtual]
Method called periodically to check timeouts This method is thread safe
Parameters:
when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.
bool reserveCircuit (unsigned int code, bool netInit,
SignallingCircuit** caller, SignallingCircuit** called)
| reserveCircuit |
[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
Parameters:
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 |
Returns: True on success
Reimplemented from SignallingCallControl.
bool releaseCircuit (SignallingCircuit* circuit)
| releaseCircuit |
[protected]
Release a circuit This method is thread safe
Parameters:
circuit | The circuit to release |
Returns: True on success
Reimplemented from SignallingCallControl.
void processMsgRestart (ISDNQ931Message* msg)
| processMsgRestart |
[protected]
Process a restart or restart acknoledge message Terminate the monitor having the circuit given in restart message
Parameters:
msg | The received message |
Generated by: paulc on bussard on Thu Jul 24 18:41:02 2014, using kdoc 2.0a54. |