Yate
|
ISDN Q.921 implementation on top of a hardware interface. More...
#include <yatesig.h>
Public Member Functions | |
ISDNQ921 (const NamedList ¶ms, const char *name=0, ISDNQ921Management *mgmt=0, u_int8_t tei=0) | |
virtual | ~ISDNQ921 () |
virtual bool | initialize (const NamedList *config) |
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) |
bool | sendSabme () |
virtual void | cleanup () |
void | setDebug (bool printFrames, bool extendedDebug) |
Protected Member Functions | |
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 () |
Friends | |
class | ISDNQ921Management |
ISDN Q.921 implementation on top of a hardware interface.
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 |
||
) |
Constructor Initialize this object and the component
params | Layer's and TelEngine::ISDNLayer2 parameters |
name | Name of this component |
mgmt | TEI management component |
tei | Value of TEI for this component |
virtual ~ISDNQ921 | ( | ) | [virtual] |
Destructor
virtual void cleanup | ( | ) | [virtual] |
Emergency release. Send 'disconnect' command. Reset all data. Set state to 'Released' This method is thread safe
Implements ISDNLayer2.
u_int64_t dataTimeout | ( | ) | const [inline] |
Get the timeout of a data frame. After that, a higher layer may retransmit data
virtual void destroyed | ( | ) | [inline, protected, virtual] |
Detach links. Disposes memory
Reimplemented from SignallingComponent.
References SignallingReceiver::attach(), ISDNLayer2::attach(), SignallingComponent::destroyed(), and TelEngine::destruct().
virtual bool initialize | ( | const NamedList * | config | ) | [virtual] |
Configure and initialize Q.921 and its interface
config | Optional configuration parameters override |
Reimplemented from SignallingComponent.
virtual bool multipleFrame | ( | u_int8_t | tei, |
bool | establish, | ||
bool | force | ||
) | [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
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 |
Reimplemented from ISDNLayer2.
virtual bool notify | ( | SignallingInterface::Notification | event | ) | [protected, virtual] |
Process a notification generated by the attached interface This method is thread safe
event | Notification event reported by the interface |
Reimplemented from SignallingReceiver.
bool receivedFrame | ( | ISDNFrame * | frame | ) | [protected] |
Process the frame received
frame | Pointer to frame to process |
virtual bool receivedPacket | ( | const DataBlock & | packet | ) | [protected, virtual] |
Process a packet received by the receiver's interface This method is thread safe
packet | The received packet |
Implements SignallingReceiver.
void reset | ( | ) | [protected] |
Reset object if not in Released state. Drop all frames This method is thread safe
virtual bool sendData | ( | const DataBlock & | data, |
u_int8_t | tei, | ||
bool | ack | ||
) | [virtual] |
Implements Q.921 DL-DATA and DL-UNIT DATA request primitives Send data through the HDLC interface This method is thread safe
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 |
Reimplemented from ISDNLayer2.
bool sendSabme | ( | ) | [inline] |
Send a SABME frame to reset the layer
void setDebug | ( | bool | printFrames, |
bool | extendedDebug | ||
) | [inline] |
Set debug data of this layer
printFrames | Enable/disable frame printing on output |
extendedDebug | Enable/disable hex data dump if print frames is enabled |
virtual void timerTick | ( | const Time & | when | ) | [protected, virtual] |
Method called periodically to check timeouts This method is thread safe
when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.