# class ISDNQ931Monitor | ISDN Q.931 implementation on top of Q.921 of call controller monitor. More...
Full name | `TelEngine::ISDNQ931Monitor`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::ISDNLayer3 [public ], TelEngine::SignallingCallControl [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- ISDNQ931Monitor (const NamedList& params, 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)
- inline ISDNQ921Passive* circuits (bool net) const
- inline void setDebug (bool printMsg, bool extendedDebug)
- virtual void cleanup (const char* reason = "offline")
- void terminateMonitor (ISDNQ931CallMonitor* mon, const char* reason)

#### Protected Methods

- 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)

## Detailed Description

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 Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.