# class ISDNLayer3 | Abstract ISDN layer 3 (Q.931) message transport. More...
Contains pure virtuals
Full name | `TelEngine::ISDNLayer3`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::SignallingComponent [virtual public ]
Inherited by | ISDNQ921Management, ISDNQ931, ISDNQ931Monitor
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- 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)
- virtual ISDNLayer2* attach (ISDNLayer2* layer2)

#### Protected Methods

- inline ISDNLayer3 (const char* name = 0)
- inline Mutex& l3Mutex ()

## Detailed Description

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

void multipleFrameEstablished (u_int8_t tei, bool confirm, bool timeout, ISDNLayer2* layer2) | ### multipleFrameEstablished

[virtual]

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

Parameters:

tei | The TEI of the frame
confirm | True if this is a confirmation of a previous request. False if it is an indication of state change on remote request
timeout | True if the reason is a timeout
layer2 | Pointer to the notifier

void multipleFrameReleased (u_int8_t tei, bool confirm, bool timeout, ISDNLayer2* layer2) | ### multipleFrameReleased

[virtual]

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

Parameters:

tei | The TEI of the frame
confirm | True if this is a confirmation of a previous request. False if it is an indication of state change on remote request
timeout | True if the reason is a timeout.
layer2 | Pointer to the notifier

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 Used for stateless layer 2

Parameters:

tei | The TEI of the command or response
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

void idleTimeout (ISDNLayer2* layer2) | ### idleTimeout

[virtual]

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

Parameters:

layer2 | Pointer to the notifier

void receiveData (const DataBlock& data, u_int8_t tei, ISDNLayer2* layer2) | ### receiveData

[pure virtual]

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

Parameters:

data | Received data
tei | The TEI of the received frame
layer2 | Pointer to the sender

ISDNLayer2* attach (ISDNLayer2* layer2) | ### attach

[virtual]

Attach an ISDN Q.921 Layer 2

Parameters:

layer2 | Pointer to the Q.921 Layer 2 to attach

Returns: Pointer to the detached Layer 2 or NULL

inline ISDNLayer3 (const char* name = 0) | ### ISDNLayer3

[protected]

Constructor Initialize the component

Parameters:

name | Name of this component

inline Mutex& l3Mutex () | ### l3Mutex

[protected]

Retrieve the layer's mutex

Returns: Reference to the Layer 3 mutex

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