Yate
ISDNLayer3 Class Referenceabstract

Abstract ISDN layer 3 (Q.931) message transport. More...

#include <yatesig.h>

Inheritance diagram for ISDNLayer3:
SignallingComponent RefObject DebugEnabler GenObject ISDNQ921Management ISDNQ931 ISDNQ931Monitor

Public Member Functions

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 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)=0
 
virtual ISDNLayer2attach (ISDNLayer2 *layer2)
 
- Public Member Functions inherited from SignallingComponent
virtual ~SignallingComponent ()
 
virtual const StringtoString () const
 
virtual bool initialize (const NamedList *config)
 
virtual bool control (NamedList &params)
 
virtual NamedListcontrolCreate (const char *oper=0)
 
virtual bool controlExecute (NamedList *params)
 
virtual void engine (SignallingEngine *eng)
 
SignallingEngineengine () const
 
int debugLevel (int level)
 
const StringcomponentType () 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 StringtraceId () const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (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

 ISDNLayer3 (const char *name=0)
 
Mutexl3Mutex ()
 
- Protected Member Functions inherited from SignallingComponent
 SignallingComponent (const char *name=0, const NamedList *params=0, const char *type="unknown")
 
virtual void destroyed ()
 
void insert (SignallingComponent *component)
 
virtual void detach ()
 
virtual void timerTick (const Time &when)
 
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)
 

Additional Inherited Members

- Static Public Member Functions inherited from SignallingComponent
static bool resolveConfig (const String &cmpName, NamedList &params, 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 NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 

Detailed Description

Abstract ISDN layer 3 (Q.931) message transport.

An interface to a Layer 3 (Q.931) ISDN message transport

Constructor & Destructor Documentation

◆ ISDNLayer3()

ISDNLayer3 ( const char * name = 0)
inlineprotected

Constructor Initialize the component

Parameters
nameName of this component

References SignallingComponent::SignallingComponent().

Member Function Documentation

◆ attach()

virtual ISDNLayer2 * attach ( ISDNLayer2 * layer2)
inlinevirtual

Attach an ISDN Q.921 Layer 2

Parameters
layer2Pointer to the Q.921 Layer 2 to attach
Returns
Pointer to the detached Layer 2 or NULL

Reimplemented in ISDNQ931.

◆ dataLinkState()

virtual void dataLinkState ( u_int8_t tei,
bool cmd,
bool value,
ISDNLayer2 * layer2 )
inlinevirtual

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

Parameters
teiThe TEI of the command or response
cmdTrue if received a command, false if received a response
valueThe 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
layer2Pointer to the notifier

Reimplemented in ISDNQ921Management, and ISDNQ931Monitor.

◆ idleTimeout()

virtual void idleTimeout ( ISDNLayer2 * layer2)
inlinevirtual

Notification from layer 2 of data link idle timeout Used for stateless layer 2

Parameters
layer2Pointer to the notifier

Reimplemented in ISDNQ931Monitor.

◆ l3Mutex()

Mutex & l3Mutex ( )
inlineprotected

Retrieve the layer's mutex

Returns
Reference to the Layer 3 mutex

◆ multipleFrameEstablished()

virtual void multipleFrameEstablished ( u_int8_t tei,
bool confirm,
bool timeout,
ISDNLayer2 * layer2 )
inlinevirtual

Implements Q.921 DL-ESTABLISH indication/confirmation primitive: 'multiple frame acknowledged' mode established

Parameters
teiThe TEI of the frame
confirmTrue if this is a confirmation of a previous request. False if it is an indication of state change on remote request
timeoutTrue if the reason is a timeout
layer2Pointer to the notifier

Reimplemented in ISDNQ921Management, and ISDNQ931.

◆ multipleFrameReleased()

virtual void multipleFrameReleased ( u_int8_t tei,
bool confirm,
bool timeout,
ISDNLayer2 * layer2 )
inlinevirtual

Implements Q.921 DL-RELEASE indication/confirmation primitive: 'multiple frame acknowledged' mode released

Parameters
teiThe TEI of the frame
confirmTrue if this is a confirmation of a previous request. False if it is an indication of state change on remote request
timeoutTrue if the reason is a timeout.
layer2Pointer to the notifier

Reimplemented in ISDNQ921Management, and ISDNQ931.

◆ receiveData()

virtual void receiveData ( const DataBlock & data,
u_int8_t tei,
ISDNLayer2 * layer2 )
pure virtual

Implements Q.921 DL-DATA and DL-UNIT DATA indication primitives Receive data from remote peer

Parameters
dataReceived data
teiThe TEI of the received frame
layer2Pointer to the sender

Implemented in ISDNQ921Management, ISDNQ931, and ISDNQ931Monitor.


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