# class ISDNQ921 | ISDN Q.921 implementation on top of a hardware interface. More...
Full name | `TelEngine::ISDNQ921`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::ISDNLayer2 [public ], TelEngine::SignallingDumpable [public ], TelEngine::SignallingReceiver [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- ISDNQ921 (const NamedList& params, const char* name = 0, ISDNQ921Management* mgmt = 0, u_int8_t tei = 0)
- virtual ~ISDNQ921 ()
- virtual bool initialize (const NamedList* config)
- inline u_int64_t dataTimeout () const
- virtual bool multipleFrame (u_int8_t tei, bool establish, bool force)
- virtual bool sendData (const DataBlock& data, u_int8_t tei, bool ack)
- inline bool sendSabme ()
- virtual void cleanup ()
- inline void setDebug (bool printFrames, bool extendedDebug)

#### Protected Methods

- virtual void destroyed ()
- virtual void timerTick (const Time& when)
- virtual bool receivedPacket (const DataBlock& packet)
- bool receivedFrame (ISDNFrame* frame)
- virtual bool notify (SignallingInterface::Notification event)
- void reset ()

## Detailed Description

Q.921 ISDN Layer 2 implementation on top of a hardware HDLC interface

ISDNQ921 (const NamedList& params, const char* name = 0, ISDNQ921Management* mgmt = 0, u_int8_t tei = 0) | ### ISDNQ921

Constructor Initialize this object and the component

Parameters:

params | Layer's and TelEngine::ISDNLayer2 parameters
name | Name of this component
mgmt | TEI management component
tei | Value of TEI for this component

~ISDNQ921 () | ### ~ISDNQ921

[virtual]

Destructor

bool initialize (const NamedList* config) | ### initialize

[virtual]

Configure and initialize Q.921 and its interface

Parameters:

config | Optional configuration parameters override

Returns: True if Q.921 and the interface were initialized properly

Reimplemented from SignallingComponent.

inline u_int64_t dataTimeout () | ### dataTimeout

[const]

Get the timeout of a data frame. After that, a higher layer may retransmit data

Returns: The timeout of a data frame

bool multipleFrame (u_int8_t tei, bool establish, bool force) | ### multipleFrame

[virtual]

Implements Q.921 DL-ESTABLISH and DL-RELEASE request primitives If accepted, the primitive is enqueued for further processing This method is thread safe

Parameters:

tei | This layer's TEI
establish | True to establish. False to release
force | True to establish even if we already are in this mode. This parameter is ignored if establish is false

Returns: True if the request was accepted

Reimplemented from ISDNLayer2.

bool sendData (const DataBlock& data, u_int8_t tei, bool ack) | ### sendData

[virtual]

Implements Q.921 DL-DATA and DL-UNIT DATA request primitives Send data through the HDLC interface This method is thread safe

Parameters:

data | Data to send
tei | The TEI to send with the data frane
ack | True to send an acknowledged frame, false to send an unacknowledged one

Returns: False if the request was not accepted or send operation failed

Reimplemented from ISDNLayer2.

inline bool sendSabme () | ### sendSabme

Send a SABME frame to reset the layer

Returns: True if a SABME frame was sent

void cleanup () | ### cleanup

[virtual]

Emergency release. Send 'disconnect' command. Reset all data. Set state to 'Released' This method is thread safe

Reimplemented from ISDNLayer2.

inline void setDebug (bool printFrames, bool extendedDebug) | ### setDebug

Set debug data of this layer

Parameters:

printFrames | Enable/disable frame printing on output
extendedDebug | Enable/disable hex data dump if print frames is enabled

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 receivedPacket (const DataBlock& packet) | ### receivedPacket

[protected virtual]

Process a packet received by the receiver's interface This method is thread safe

Parameters:

packet | The received packet

Returns: True if message was successfully processed

Reimplemented from SignallingReceiver.

bool receivedFrame (ISDNFrame* frame) | ### receivedFrame

[protected]

Process the frame received

Parameters:

frame | Pointer to frame to process

Returns: True if the frame was processed

bool notify (SignallingInterface::Notification event) | ### notify

[protected virtual]

Process a notification generated by the attached interface This method is thread safe

Parameters:

event | Notification event reported by the interface

Returns: True if notification was processed

Reimplemented from SignallingReceiver.

void reset () | ### reset

[protected]

Reset object if not in Released state. Drop all frames This method is thread safe

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.