
The Q.93B driver is an
Send messages to Q.93B by applications according to the format illustrated in FIGURE
M_PROTO
mp
Ifname
Call_ID
Type
Error_Code
Call_Tag
FIGURE C-2 Message Format
|
| M_DATA | |||
Q.2931 | Message |
|
|
|
|
|
|
|
|
|
|
|
|
|
| R | |
|
|
|
| S |
|
| Information |
|
| V |
|
| Elements (IEs) |
|
|
|
|
(9) |
|
|
|
|
|
|
| (16) |
| ||
|
|
|
|
|
|
TABLE C-2 Fields in the M_PROTO mblock
Message | Explanation |
|
|
Ifname | |
Call_ID | Unique number from Q.93B for each interface. |
Type | Same as the Q.2931 message type except there is a local |
| message type SETUP_ACK. The SETUP_ACK message is used to provide |
| the Call_ID to the user. |
Error_Code | Error returned from Q.93B when an erroneous message is received from |
| the user. The same mblock chain is returned to the user with the |
| Error_Code field set. The user must always clear this field |
Call_Tag | Number assigned by the calling application layer to a SETUP message. |
| When a SETUP_ACK is received from Q.93B, the Call_ID has been set; |
| use the Call_Tag field to identify the acknowledgment (ack) with the |
| original request. From that point on, use the Call_ID value to identify |
| the call. |
|
|
The structure included in the M_PROTO mblock is defined as the qcc_hdr_t structure in the <atm/qcctypes.h> header file. In the second mblock, the Q.2931 header portion (9 bytes) of the Q.2931 message is blank and is later filled in by the
Appendix C Application Programmer’s Interface 91