|
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
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 |
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.
1.7.6.1