ISDNQ931Monitor Class Reference

ISDN Q.931 implementation on top of Q.921 of call controller monitor. More...

#include <yatesig.h>

Inheritance diagram for ISDNQ931Monitor:

SignallingCallControl ISDNLayer3 Mutex SignallingComponent GenObject DebugEnabler

List of all members.

Public Member Functions

 ISDNQ931Monitor (const NamedList &params, const char *name=0)
virtual ~ISDNQ931Monitor ()
virtual void dataLinkState (bool cmd, bool value, ISDNLayer2 *layer2)
virtual void idleTimeout (ISDNLayer2 *layer2)
virtual void receiveData (const DataBlock &data, bool ack, ISDNLayer2 *layer2)
virtual void attach (ISDNQ921Pasive *q921, bool net)
virtual void attach (SignallingCircuitGroup *circuits, bool net)
virtual void * getObject (const String &name) const
virtual void destruct ()
void setDebug (bool printMsg, bool extendedDebug)
virtual void cleanup (const char *reason="offline")
void terminateMonitor (ISDNQ931CallMonitor *mon, const char *reason)

Protected Member Functions

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)

Friends

class ISDNQ931CallMonitor


Detailed Description

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


Constructor & Destructor Documentation

ISDNQ931Monitor ( const NamedList params,
const char *  name = 0 
)

Constructor Initialize this object and the component

Parameters:
params Layer's parameters and parser settings
name Name of this component

virtual ~ISDNQ931Monitor (  )  [virtual]

Destructor Destroy all calls


Member Function Documentation

virtual void dataLinkState ( bool  cmd,
bool  value,
ISDNLayer2 layer2 
) [virtual]

Notification from layer 2 of data link set/release command or response

Parameters:
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.

virtual void idleTimeout ( ISDNLayer2 layer2  )  [virtual]

Notification from layer 2 of data link idle timeout

Parameters:
layer2 Pointer to the notifier

Reimplemented from ISDNLayer3.

virtual void receiveData ( const DataBlock data,
bool  ack,
ISDNLayer2 layer2 
) [virtual]

Implements Q.921 DL-DATA and DL-UNIT DATA indication primitives

Parameters:
data Received data
ack True if data is an acknoledged frame, false if it is an unacknoledged one
layer2 Pointer to the sender

Implements ISDNLayer3.

virtual void attach ( ISDNQ921Pasive q921,
bool  net 
) [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

virtual void attach ( SignallingCircuitGroup circuits,
bool  net 
) [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

virtual void* getObject ( const String name  )  const [virtual]

Get a pointer to this call controller

Parameters:
name Object name. Must be ISDNQ931Monitor
Returns:
The requested pointer

Reimplemented from GenObject.

virtual void destruct (  )  [inline, virtual]

Detach links. Disposes memory

Reimplemented from GenObject.

References SignallingCallControl::attach(), and GenObject::destruct().

void setDebug ( bool  printMsg,
bool  extendedDebug 
) [inline]

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

virtual void cleanup ( const char *  reason = "offline"  )  [inline, virtual]

Terminate all monitors This method is thread safe

Parameters:
reason Cleanup reason

Reimplemented from SignallingCallControl.

void terminateMonitor ( ISDNQ931CallMonitor mon,
const char *  reason 
)

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

virtual void timerTick ( const Time when  )  [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 
) [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

bool releaseCircuit ( SignallingCircuit circuit  )  [protected]

Release a circuit This method is thread safe

Parameters:
circuit The circuit to release
Returns:
True on success

void processMsgRestart ( ISDNQ931Message msg  )  [protected]

Process a restart or restart acknoledge message Terminate the monitor having the circuit given in restart message

Parameters:
msg The received message


The documentation for this class was generated from the following file:

Generated on Mon Aug 11 16:18:54 2008 for Yate by  doxygen 1.5.6