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 Lockable RefObject DebugEnabler GenObject

List of all members.

Public Member Functions

 ISDNQ931Monitor (const NamedList &params, const char *name=0)
virtual ~ISDNQ931Monitor ()
virtual bool initialize (const NamedList *config)
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 ISDNQ921Passiveattach (ISDNQ921Passive *q921, bool net)
virtual SignallingCircuitGroupattach (SignallingCircuitGroup *circuits, bool net)
ISDNQ921Passivecircuits (bool net) const
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 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)

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 SignallingCircuitGroup* 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
Returns:
Pointer to the old group that was detached, NULL if none or no change
virtual ISDNQ921Passive* attach ( ISDNQ921Passive 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
Returns:
Pointer to detached monitor or NULL
ISDNQ921Passive* circuits ( bool  net  )  const [inline]

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
virtual void cleanup ( const char *  reason = "offline"  )  [inline, virtual]

Terminate all monitors This method is thread safe

Parameters:
reason Cleanup reason

Reimplemented from SignallingCallControl.

virtual void dataLinkState ( u_int8_t  tei,
bool  cmd,
bool  value,
ISDNLayer2 layer2 
) [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.

virtual void destroyed (  )  [inline, protected, virtual]

Detach links. Disposes memory

Reimplemented from SignallingComponent.

References SignallingCallControl::attach(), SignallingComponent::destroyed(), and TelEngine::destruct().

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 bool initialize ( const NamedList config  )  [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.

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
virtual void receiveData ( const DataBlock data,
u_int8_t  tei,
ISDNLayer2 layer2 
) [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

Implements ISDNLayer3.

bool releaseCircuit ( SignallingCircuit circuit  )  [protected]

Release a circuit This method is thread safe

Parameters:
circuit The circuit to release
Returns:
True on success
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
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
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.


The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:22:43 2010 for Yate by  doxygen 1.6.3