class ISDNQ921Management

ISDN Layer 2 BRI TEI management or PRI with D-channel(s) backup. More...

Full nameTelEngine::ISDNQ921Management
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::ISDNLayer2 [public ], TelEngine::ISDNLayer3 [public ], TelEngine::SignallingDumpable [public ], TelEngine::SignallingReceiver [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods


Detailed Description

This class is intended to be used as a proxy between an ISDN Layer 3 and multiple Layer 2 objects sharing the same signalling interface. It is used for BRI TEI management or PRI with D-channel backup. It also keeps a list of ISDN Layer 2 object(s) used for the designated purpose

 ISDNQ921Management (const NamedList& params, const char* name = 0, bool net = true)

ISDNQ921Management

Constructor - initialize this Layer 2 and the component

Parameters:
paramsLayer's parameters
nameOptional name of the component
netTrue if managing the network side of Q.921

 ~ISDNQ921Management ()

~ISDNQ921Management

[virtual]

Destructor

bool  initialize (const NamedList* config)

initialize

[virtual]

Configure and initialize Q.921 Management and its children

Parameters:
configOptional configuration parameters override

Returns: True if Q.921 management was initialized properly

Reimplemented from SignallingComponent.

void  engine (SignallingEngine* eng)

engine

[virtual]

Set the engine for this management and all Layer 2 children

Parameters:
engPointer to the engine that will manage this mangement

Reimplemented from SignallingComponent.

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

multipleFrame

[virtual]

Implements Q.921 DL-ESTABLISH and DL-RELEASE request primitives

Parameters:
teiThis layer TEI (-1 to apply it to all targets this object may have attached)
establishTrue to establish. False to release
forceTrue to establish even if we already are established.

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

Parameters:
dataData to send
teiThis layer TEI (-1 for broadcast)
ackTrue to send an acknowledged frame, false to send an unacknowledged one

Returns: True if the request was accepted

Reimplemented from ISDNLayer2.

bool  sendFrame (const ISDNFrame* frame, const ISDNQ921* q921 = 0)

sendFrame

Implements Q.921 send frame to the interface

Parameters:
frameThe frame to be sent
q921Pointer to the Q.921 that sends the frame, if any

Returns: True if the frame was sent

void  cleanup ()

cleanup

[virtual]

Emergency release. Cleanup all Layer 2 objects attached to this Management

Reimplemented from ISDNLayer2.

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:
teiThis layer TEI
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 from ISDNLayer2.

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:
teiThis layer TEI
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 from ISDNLayer2.

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:
teiThis layer TEI
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 from ISDNLayer2.

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

receiveData

[virtual]

Implements Q.921 DL-DATA and DL-UNIT DATA indication primitives Receive data from an encapsulated Layer 2 and send it to the attached Layer 3

Parameters:
dataReceived data
teiThe TEI as received in the packet
layer2Pointer to the sender

Reimplemented from ISDNLayer2.

void  timerTick (const Time& when)

timerTick

[protected virtual]

Method called periodically to check timeouts This method is thread safe

Parameters:
whenTime to use as computing base for events and timeouts

Reimplemented from SignallingComponent.

bool  receivedPacket (const DataBlock& packet)

receivedPacket

[protected virtual]

Process a Signalling Packet received by the interface. Parse the data and send all non-UI frames to the appropriate Layer 2. Process UI frames

Returns: True if message was successfully processed

Reimplemented from SignallingReceiver.

bool  notify (SignallingInterface::Notification event)

notify

[protected virtual]

Process a notification generated by the attached interface

Parameters:
eventNotification event reported by the interface

Returns: True if notification was processed

Reimplemented from SignallingReceiver.

bool  processTeiManagement (ISDNFrame* frame)

processTeiManagement

[protected]

Process UI frames carrying TEI management messages

Parameters:
frameThe parsed frame

Returns: False if the frame is not a TEI management one, true otherwise

bool  sendTeiManagement (ISDNFrame::TeiManagement type, u_int16_t ri, u_int8_t ai, u_int8_t tei = 127, bool pf = false)

sendTeiManagement

[protected]

Send a TEI management frame

Parameters:
typeType of the frame to send
riReference number to send in frame
aiAction indicator to send in frame
teiThe TEI to send the frame to, default use broadcast
pfThe Poll/Final bit to set in the frame

Returns: True if frame was sent successfully

void  processTeiRequest (u_int16_t ri, u_int8_t ai, bool pf)

processTeiRequest

[protected]

Process TEI request message and send back to TE: TEI Assigned message if the request succeeded; TEI Denied message with the received reference number if the reference number is already in use; TEI Denied message with the reference number set to 127 if there is no TEI value available.

Parameters:
riThe reference number
aiAction indicator
pfThe Poll/Final bit in the incoming frame

void  processTeiRemove (u_int8_t ai)

processTeiRemove

[protected]

Process Tei remove message removing the tei(s) contained by ai

Parameters:
aiContains the TEI value to remove or 127 to remove all TEI values

void  processTeiCheckRequest (u_int8_t ai, bool pf)

processTeiCheckRequest

[protected]

Process TEI Check Request message and send to the NET a message with the TEI and the asociated reference number

Parameters:
aiContains the TEI value to check or 127 to check all TEI values
pfThe Poll/Final bit in the incoming frame

void  processTeiCheckResponse (u_int16_t ri, u_int8_t ai)

processTeiCheckResponse

[protected]

Process TEI Check Response message and set the check flag to true to know that we have a response for that TEI

Parameters:
riThe associated reference number to the ai
aiThe TEI value as received in the answer

void  processTeiAssigned (u_int16_t ri, u_int8_t ai)

processTeiAssigned

[protected]

Process TEI Assigned message

Parameters:
riThe reference number assigned to the ai
aiThe TEI value assigned

void  processTeiDenied (u_int16_t ri)

processTeiDenied

[protected]

Process TEI Denied message

Parameters:
riThe reference number of the denied request

void  processTeiVerify (u_int8_t ai, bool pf)

processTeiVerify

[protected]

Process TEI verify

Parameters:
aiThe TEI value of the message initiator
pfThe Poll/Final bit in the incoming frame

void  sendTeiReq (u_int8_t tei)

sendTeiReq

[protected]

Send TEI request message

Parameters:
teiTEI value to assign

void  sendTeiRemove ()

sendTeiRemove

[protected]

Send a TEI remove frame


Generated by: paulc on bussard on Sun Oct 20 21:06:06 2013, using kdoc 2.0a54.