00001 /****************************************************************************** 00002 00003 FileName: Q931ie.h 00004 00005 Contents: Header and definition for the ITU-T Q.931 ie 00006 structures and functions 00007 00008 License/Copyright: 00009 00010 Copyright (c) 2007, Jan Vidar Berger, Case Labs, Ltd. All rights reserved. 00011 email:janvb@caselaboratories.com 00012 00013 Redistribution and use in source and binary forms, with or without 00014 modification, are permitted provided that the following conditions are 00015 met: 00016 00017 * Redistributions of source code must retain the above copyright notice, 00018 this list of conditions and the following disclaimer. 00019 * Redistributions in binary form must reproduce the above copyright notice, 00020 this list of conditions and the following disclaimer in the documentation 00021 and/or other materials provided with the distribution. 00022 * Neither the name of the Case Labs, Ltd nor the names of its contributors 00023 may be used to endorse or promote products derived from this software 00024 without specific prior written permission. 00025 00026 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00027 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00029 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00030 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00031 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00032 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00033 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00034 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00035 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00036 POSSIBILITY OF SUCH DAMAGE. 00037 ******************************************************************************/ 00038 00039 #ifndef _Q931IE_NL 00040 #define _Q931IE_NL 00041 00042 /* Codesets */ 00043 /* 00044 typedef enum { 00045 00046 Q931_CODESET_0 = ( 0 ), 00047 Q931_CODESET_1 = ( 1 << 8 ), 00048 Q931_CODESET_2 = ( 2 << 8 ), 00049 Q931_CODESET_3 = ( 3 << 8 ), 00050 Q931_CODESET_4 = ( 4 << 8 ), 00051 Q931_CODESET_5 = ( 5 << 8 ), 00052 Q931_CODESET_6 = ( 6 << 8 ), 00053 Q931_CODESET_7 = ( 7 << 8 ) 00054 00055 } q931_codeset_t; 00056 */ 00057 00058 /* 00059 * Q.931 IEs 00060 */ 00061 /* Single octet information elements */ 00062 #define Q931ie_SHIFT 0x90 /* 1001 ---- */ 00063 #define Q931ie_MORE_DATA 0xa0 /* 1010 ---- */ 00064 #define Q931ie_SENDING_COMPLETE 0xa1 /* 1010 0001 */ 00065 #define Q931ie_CONGESTION_LEVEL 0xb0 /* 1011 ---- */ 00066 #define Q931ie_REPEAT_INDICATOR 0xd0 /* 1101 ---- */ 00067 00068 /* Variable Length Information Elements */ 00069 #define Q931ie_SEGMENTED_MESSAGE 0x00 /* 0000 0000 */ 00070 #define Q931ie_CHANGE_STATUS 0x01 /* 0000 0001 */ 00071 #define Q931ie_BEARER_CAPABILITY 0x04 /* 0000 0100 */ 00072 #define Q931ie_CAUSE 0x08 /* 0000 1000 */ 00073 #define Q931ie_CALL_IDENTITY 0x10 /* 0001 0000 */ 00074 #define Q931ie_CALL_STATE 0x14 /* 0001 0100 */ 00075 #define Q931ie_CHANNEL_IDENTIFICATION 0x18 /* 0001 1000 */ 00076 #define Q931ie_PROGRESS_INDICATOR 0x1e /* 0001 1110 */ 00077 #define Q931ie_NETWORK_SPECIFIC_FACILITIES 0x20 /* 0010 0000 */ 00078 #define Q931ie_NOTIFICATION_INDICATOR 0x27 /* 0010 0111 */ 00079 #define Q931ie_DISPLAY 0x28 /* 0010 1000 */ 00080 #define Q931ie_DATETIME 0x29 /* 0010 1001 */ 00081 #define Q931ie_KEYPAD_FACILITY 0x2c /* 0010 1100 */ 00082 #define Q931ie_SIGNAL 0x34 /* 0011 0100 */ 00083 #define Q931ie_INFORMATION_RATE 0x40 /* 0100 0000 */ 00084 #define Q931ie_END_TO_END_TRANSIT_DELAY 0x42 /* 0100 0010 */ 00085 #define Q931ie_TRANSIT_DELAY_SELECTION_AND_IND 0x43 /* 0100 0011 */ 00086 #define Q931ie_PACKED_LAYER_BINARY_PARAMETERS 0x44 /* 0100 0100 */ 00087 #define Q931ie_PACKED_LAYER_WINDOW_SIZE 0x45 /* 0100 0101 */ 00088 #define Q931ie_PACKED_SIZE 0x46 /* 0100 0110 */ 00089 #define Q931ie_CLOSED_USER_GROUP 0x47 /* 0100 0111 */ 00090 #define Q931ie_REVERSE_CHARGING_INDICATION 0x4a /* 0100 1010 */ 00091 #define Q931ie_CALLING_PARTY_NUMBER 0x6c /* 0110 1100 */ 00092 #define Q931ie_CALLING_PARTY_SUBADDRESS 0x6d /* 0110 1101 */ 00093 #define Q931ie_CALLED_PARTY_NUMBER 0x70 /* 0111 0000 */ 00094 #define Q931ie_CALLED_PARTY_SUBADDRESS 0x71 /* 0111 0001 */ 00095 #define Q931ie_REDIRECTING_NUMBER 0x74 /* 0111 0100 */ 00096 #define Q931ie_TRANSIT_NETWORK_SELECTION 0x78 /* 0111 1000 */ 00097 #define Q931ie_RESTART_INDICATOR 0x79 /* 0111 1001 */ 00098 #define Q931ie_LOW_LAYER_COMPATIBILITY 0x7c /* 0111 1100 */ 00099 #define Q931ie_HIGH_LAYER_COMPATIBILITY 0x7d /* 0111 1101 */ 00100 #define Q931ie_USER_USER 0x7e /* 0111 1110 */ 00101 #define Q931ie_ESCAPE_FOR_EXTENSION 0x7f /* 0111 1111 */ 00102 00103 /* 00104 * ??? 00105 */ 00106 #define Q931ie_SWITCHOOK 0x36 /* 0011 0110 */ 00107 /* Variable Length Codeset 6 Information Elements */ 00108 #define Q931ie_GENERIC_DIGITS 0x37 /* 0011 0111 */ 00109 00110 00111 /* 00112 * Q.931 Annex M / Q.951 / EN 300 097-1 00113 */ 00114 #define Q931ie_CONNECTED_NUMBER 0x4c /* 0100 1100 */ 00115 #define Q931ie_CONNECTED_SUBADDRESS 0x4d /* 0100 1101 */ 00116 00117 /* 00118 * Q.932 / EN 300 196-1 00119 */ 00120 #define Q932ie_EXTENDED_FACILITY 0x0d /* 0000 1101 */ 00121 #define Q932ie_FACILITY 0x1c /* 0001 1100 */ 00122 #define Q932ie_FEATURE_ACTIVATION 0x38 /* 0011 1000 */ 00123 #define Q932ie_FEATURE_INDICATION 0x39 /* 0011 1001 */ 00124 #define Q932ie_SERVICE_PROFILE_IDENTIFICATION 0x3a /* 0011 1010 */ 00125 #define Q932ie_ENDPOINT_IDENTIFIER 0x3b /* 0011 1011 */ 00126 00127 00128 00129 typedef struct { 00130 L3UCHAR IEId; 00131 L3UCHAR Size; 00132 } Q931ie_Generic; 00133 00134 /***************************************************************************** 00135 00136 Struct: Q931ie_BearerCap 00137 00138 Description: Bearer Capability Information Element. 00139 00140 *****************************************************************************/ 00141 00142 typedef struct { 00143 00144 L3UCHAR IEId; /* 00000100 for Bearer Capability */ 00145 L3UCHAR Size; /* Length of Information Element */ 00146 00147 L3UCHAR CodStand; /* Coding Standard. */ 00148 /* 00 - ITU-T */ 00149 /* 01 - ISO/IEC */ 00150 /* 10 - National standard */ 00151 /* 11 - Network side spesific */ 00152 00153 L3UCHAR ITC; /* Information Transfer Capability */ 00154 /* 00000 - Speech */ 00155 /* 01000 - Unrestricted digital info */ 00156 /* 01001 - Restricted digital info */ 00157 /* 10000 - 3.1 kHz audio */ 00158 /* 10001 - Unrestricted with tones */ 00159 /* 11000 - Video */ 00160 00161 L3UCHAR TransMode; /* Transfer Mode. */ 00162 /* 00 - Circuit mode */ 00163 /* 10 - Packet mode */ 00164 00165 L3UCHAR ITR; /* Information Transfer Rate. */ 00166 /* 00000 - Packed mode */ 00167 /* 10000 - 64 kbit/s */ 00168 /* 10001 - 2 x 64 kbit/s */ 00169 /* 10011 - 384 kbit/s */ 00170 /* 10101 - 1536 kbit/s */ 00171 /* 10111 - 1920 kbit/s */ 00172 /* 11000 - Multirat (64 kbit/s base) */ 00173 00174 L3UCHAR RateMul; /* Rate Multiplier */ 00175 00176 L3UCHAR Layer1Ident; /* Layer 1 Ident. */ 00177 00178 L3UCHAR UIL1Prot; /* User Information Layer 1 Protocol */ 00179 /* 00001 : ITU-T V.110, I.460 and X.30 */ 00180 /* 00010 : G.711 my-law */ 00181 /* 00011 : G.711 A-law */ 00182 /* 00100 : G.721 */ 00183 /* 00101 : H.221 and H.242 */ 00184 /* 00110 : H.223 and H.245 */ 00185 /* 00111 : Non ITU-T Standard */ 00186 /* 01000 : ITU-T V.120 */ 00187 /* 01001 : ITU-T X.31 HDLC flag stuff. */ 00188 00189 L3UCHAR SyncAsync; /* Sync/Async */ 00190 /* 0 : Syncronous data */ 00191 /* 1 : Asyncronous data */ 00192 00193 L3UCHAR Negot; /* Negotiation */ 00194 /* 0 : In-band negotiation not possib. */ 00195 /* 1 : In-band negotiation possible */ 00196 00197 L3UCHAR UserRate; /* User rate */ 00198 /* 00000 : I.460, V.110, X,30 */ 00199 /* 00001 : 0.6 kbit/s x.1 */ 00200 /* 00010 : 1.2 kbit/s */ 00201 /* 00011 : 2.4 kbit/s */ 00202 /* 00100 : 3.6 kbit/s */ 00203 /* 00101 : 4.8 kbit/s */ 00204 /* 00110 : 7.2 kbit/s */ 00205 /* 00111 : 8 kbit/s I.460 */ 00206 /* 01000 : 9.6 kbit/s */ 00207 /* 01001 : 14.4 kbit/s */ 00208 /* 01010 : 16 kbit/s */ 00209 /* 01011 : 19.2 kbit/s */ 00210 /* 01100 : 32 kbit/s */ 00211 /* 01101 : 38.4 kbit/s */ 00212 /* 01110 : 48 kbit/s */ 00213 /* 01111 : 56 kbit/s */ 00214 /* 10000 : 57.6 kbit/s */ 00215 /* 10010 : 28.8 kbit/s */ 00216 /* 10100 : 24 kbit/s */ 00217 /* 10101 : 0.1345 kbit/s */ 00218 /* 10110 : 0.100 kbit/s */ 00219 /* 10111 : 0.075/1.2 kbit/s */ 00220 /* 11000 : 1.2/0.075/kbit/s */ 00221 /* 11001 : 0.050 kbit/s */ 00222 /* 11010 : 0.075 kbit/s */ 00223 /* 11011 : 0.110 kbit/s */ 00224 /* 11100 : 0.150 kbit/s */ 00225 /* 11101 : 0.200 kbit/s */ 00226 /* 11110 : 0.300 kbit/s */ 00227 /* 11111 : 12 kbit/s */ 00228 00229 L3UCHAR InterRate; /* Intermediate Rate */ 00230 /* 00 : Not used */ 00231 /* 01 : 8 kbit/s */ 00232 /* 10 : 16 kbit/s */ 00233 /* 11 : 32 kbit/s */ 00234 00235 L3UCHAR NIConTx; /* Network Indepentend Clock on transmit*/ 00236 /* 0 : Not required to send data clc */ 00237 /* 1 : Send data w/NIC clc */ 00238 00239 L3UCHAR NIConRx; /* NIC on Rx */ 00240 /* 0 : Cannot accept indep. clc */ 00241 /* 1 : data with indep. clc accepted */ 00242 00243 L3UCHAR FlowCtlTx; /* Flow control on Tx */ 00244 /* 0 : Send Flow ctrl not required */ 00245 /* 1 : Send flow ctrl required */ 00246 00247 L3UCHAR FlowCtlRx; /* Flow control on Rx */ 00248 /* 0 : cannot use receive flow ctrl */ 00249 /* 1 : Receive flow ctrl accepted */ 00250 L3UCHAR HDR; /* HDR/No HDR */ 00251 L3UCHAR MultiFrame; /* Multi frame support */ 00252 /* 0 : multiframe not supported */ 00253 /* 1 : multiframe supported */ 00254 00255 L3UCHAR Mode; /* Mode of operation */ 00256 /* 0 : bit transparent mode of operat. */ 00257 /* 1 : protocol sesitive mode of op. */ 00258 00259 L3UCHAR LLInegot; /* Logical link id negotiation (oct. 5b)*/ 00260 /* 0 : default LLI=256 only */ 00261 /* 1 : Full protocol negotiation */ 00262 00263 L3UCHAR Assignor; /* Assignor/assignee */ 00264 /* 0 : Default Asignee */ 00265 /* 1 : Assignor only */ 00266 00267 L3UCHAR InBandNeg; /* In-band/out-band negot. */ 00268 /* 0 : negot done w/ USER INFO mes */ 00269 /* 1 : negot done in-band w/link zero */ 00270 00271 L3UCHAR NumStopBits; /* Number of stop bits */ 00272 /* 00 : Not used */ 00273 /* 01 : 1 bit */ 00274 /* 10 : 1.5 bits */ 00275 /* 11 : 2 bits */ 00276 00277 L3UCHAR NumDataBits; /* Number of data bits. */ 00278 /* 00 : not used */ 00279 /* 01 : 5 bits */ 00280 /* 10 : 7 bits */ 00281 /* 11 : 8 bits */ 00282 00283 L3UCHAR Parity; /* Parity Information */ 00284 /* 000 : Odd */ 00285 /* 010 : Even */ 00286 /* 011 : None */ 00287 /* 100 : Forced to 0 */ 00288 /* 101 : Forced to 1 */ 00289 00290 L3UCHAR DuplexMode; /* Mode duplex */ 00291 /* 0 : Half duplex */ 00292 /* 1 : Full duplex */ 00293 00294 L3UCHAR ModemType; /* Modem type, see Q.931 p 64 */ 00295 00296 L3UCHAR Layer2Ident; /* Layer 2 Ident */ 00297 00298 L3UCHAR UIL2Prot; /* User Information Layer 2 Protocol */ 00299 /* 00010 : Q.921/I.441 */ 00300 /* 00110 : X.25 */ 00301 /* 01100 : LAN logical link */ 00302 00303 L3UCHAR Layer3Ident; /* Layer 3 ident. */ 00304 00305 L3UCHAR UIL3Prot; /* User Information Layer 3 Protocol */ 00306 /* 00010 : Q.931 */ 00307 /* 00110 : X.25 */ 00308 /* 01011 : ISO/IEC TR 9577 */ 00309 00310 L3UCHAR AL3Info1; /* additional layer 3 info 1 */ 00311 00312 L3UCHAR AL3Info2; /* additional layer 3 info 2 */ 00313 00314 } Q931ie_BearerCap; 00315 00316 /***************************************************************************** 00317 00318 Struct: Q931ie_CallID 00319 00320 00321 *****************************************************************************/ 00322 00323 typedef struct { 00324 00325 L3UCHAR IEId; /* 00010000 */ 00326 L3UCHAR Size; /* Length of Information Element */ 00327 L3UCHAR CallId[1]; /* Call identity */ 00328 00329 } Q931ie_CallID; 00330 00331 /***************************************************************************** 00332 00333 Struct: Q931ie_CallState 00334 00335 00336 *****************************************************************************/ 00337 00338 typedef struct { 00339 00340 L3UCHAR IEId; /* 00010100 */ 00341 L3UCHAR Size; /* Length of Information Element */ 00342 L3UCHAR CodStand; /* Coding Standard */ 00343 L3UCHAR CallState; /* Call State Value */ 00344 00345 } Q931ie_CallState; 00346 00347 /***************************************************************************** 00348 00349 Struct: Q931ie_Cause 00350 00351 Description: Cause IE as described in Q.850 00352 00353 *****************************************************************************/ 00354 typedef struct { 00355 00356 L3UCHAR IEId; /* 00010100 */ 00357 L3UCHAR Size; /* Length of Information Element */ 00358 L3UCHAR CodStand; /* Coding Standard */ 00359 L3UCHAR Location; /* Location */ 00360 L3UCHAR Recom; /* Recommendation */ 00361 L3UCHAR Value; /* Cause Value */ 00362 L3UCHAR Diag[1]; /* Optional Diagnostics Field */ 00363 00364 } Q931ie_Cause; 00365 00366 /***************************************************************************** 00367 00368 Struct: Q931ie_CalledNum 00369 00370 *****************************************************************************/ 00371 typedef struct { 00372 00373 L3UCHAR IEId; /* 01110000 */ 00374 L3UCHAR Size; /* Length of Information Element */ 00375 L3UCHAR TypNum; /* Type of Number */ 00376 L3UCHAR NumPlanID; /* Numbering plan identification */ 00377 L3UCHAR Digit[1]; /* Digit (IA5) */ 00378 00379 } Q931ie_CalledNum; 00380 00381 /***************************************************************************** 00382 00383 Struct: Q931ie_CalledSub 00384 00385 Description: Called party subaddress 00386 00387 *****************************************************************************/ 00388 00389 typedef struct { 00390 00391 L3UCHAR IEId; /* 01110001 */ 00392 L3UCHAR Size; /* Length of Information Element */ 00393 L3UCHAR TypNum; /* Type of subaddress */ 00394 L3UCHAR OddEvenInd; /* Odd/Even indicator */ 00395 L3UCHAR Digit[1]; /* digits */ 00396 00397 } Q931ie_CalledSub; 00398 00399 /***************************************************************************** 00400 00401 Struct: Q931ie_CallingNum 00402 00403 Description: Calling party number 00404 00405 *****************************************************************************/ 00406 00407 typedef struct { 00408 00409 L3UCHAR IEId; /* 01101100 */ 00410 L3UCHAR Size; /* Length of Information Element */ 00411 L3UCHAR TypNum; /* Type of number */ 00412 L3UCHAR NumPlanID; /* Numbering plan identification */ 00413 L3UCHAR PresInd; /* Presentation indicator */ 00414 L3UCHAR ScreenInd; /* Screening indicator */ 00415 L3UCHAR Digit[1]; /* Number digits (IA5) */ 00416 00417 } Q931ie_CallingNum; 00418 00419 /***************************************************************************** 00420 00421 Struct: Q931ie_CallingSub 00422 00423 Description: Calling party subaddress 00424 00425 *****************************************************************************/ 00426 00427 typedef struct { 00428 00429 L3UCHAR IEId; /* 01101101 */ 00430 L3UCHAR Size; /* Length of Information Element */ 00431 L3UCHAR TypNum; /* Type of subaddress */ 00432 L3UCHAR OddEvenInd; /* Odd/Even indicator */ 00433 L3UCHAR Digit[1]; /* digits */ 00434 00435 } Q931ie_CallingSub; 00436 00437 /***************************************************************************** 00438 00439 Struct: Q931ie_ChanID 00440 00441 Description: Channel identification 00442 00443 Channel Identificationis one of the IE elements that differ 00444 between BRI and PRI. IntType = 1 = BRI and ChanSlot is used 00445 for channel number, while InfoChanSel is used for BRI. 00446 00447 ChanID is one of the most important IE as it is passed 00448 either though SETUP or CALL PROCEEDING to select the channel 00449 to be used. 00450 00451 *****************************************************************************/ 00452 00453 typedef struct { 00454 00455 L3UCHAR IEId; /* 00011000 */ 00456 L3UCHAR Size; /* Length of Information Element */ 00457 L3UCHAR IntIDPresent; /* Int. id. present */ 00458 L3UCHAR IntType; /* Interface Type */ 00459 /* 0 : Basic Interface (BRI) */ 00460 /* 1 : Other interfaces, PRI etc. */ 00461 00462 L3UCHAR PrefExcl; /* Pref./Excl. */ 00463 /* 0 : Indicated channel is preffered */ 00464 /* 1 : Exclusive, no other accepted */ 00465 00466 L3UCHAR DChanInd; /* D-channel ind. */ 00467 /* 0 : chan is NOT D chan. */ 00468 /* 1 : chan is D chan */ 00469 00470 L3UCHAR InfoChanSel; /* Info. channel selection */ 00471 /* 00 : No channel */ 00472 /* 01 : B1 channel */ 00473 /* 10 : B2 channel */ 00474 /* 11 : Any channel */ 00475 00476 L3UCHAR InterfaceID; /* Interface identifier */ 00477 00478 L3UCHAR CodStand; /* Code standard */ 00479 /* 00 : ITU-T standardization coding */ 00480 /* 01 : ISO/IEC Standard */ 00481 /* 10 : National Standard */ 00482 /* 11 : Standard def. by network. */ 00483 00484 L3UCHAR NumMap; /* Number/Map */ 00485 /* 0 : chan is in following octet */ 00486 /* 1 : chan is indicated by slot map */ 00487 00488 L3UCHAR ChanMapType; /* Channel type/Map element type */ 00489 /* 0011 : B Channel units */ 00490 /* 0110 : H0 channel units */ 00491 /* 1000 : H11 channel units */ 00492 /* 1001 : H12 channel units */ 00493 00494 L3UCHAR ChanSlot; /* Channel number */ 00495 00496 } Q931ie_ChanID; 00497 00498 /***************************************************************************** 00499 00500 Struct: Q931ie_DateTime 00501 00502 Description: Date/time 00503 00504 *****************************************************************************/ 00505 00506 typedef struct { 00507 00508 L3UCHAR IEId; /* 00101001 */ 00509 L3UCHAR Size; /* Length of Information Element */ 00510 L3UCHAR Year; /* Year */ 00511 L3UCHAR Month; /* Month */ 00512 L3UCHAR Day; /* Day */ 00513 L3UCHAR Hour; /* Hour */ 00514 L3UCHAR Minute; /* Minute */ 00515 L3UCHAR Second; /* Second */ 00516 L3UCHAR Format; /* Indicate presense of Hour, Min & sec */ 00517 /* 0 : Only Date */ 00518 /* 1 : Hour present */ 00519 /* 2 : Hour and Minute present */ 00520 /* 3 : Hour, Minute and Second present */ 00521 } Q931ie_DateTime; 00522 00523 /***************************************************************************** 00524 00525 Struct: Q931ie_Display 00526 00527 Description: Display 00528 00529 *****************************************************************************/ 00530 00531 typedef struct { 00532 00533 L3UCHAR IEId; /* 00101000 */ 00534 L3UCHAR Size; /* Length of Information Element */ 00535 L3UCHAR Display[1]; /* Display information (IA5) */ 00536 00537 } Q931ie_Display; 00538 00539 /***************************************************************************** 00540 00541 Struct: Q931ie_HLComp 00542 00543 Description: High layer compatibility 00544 00545 *****************************************************************************/ 00546 00547 typedef struct { 00548 00549 L3UCHAR IEId; /* 01111101 */ 00550 L3UCHAR Size; /* Length of Information Element */ 00551 L3UCHAR CodStand; /* Coding standard */ 00552 L3UCHAR Interpret; /* Interpretation */ 00553 L3UCHAR PresMeth; /* Presentation methor of prot. profile */ 00554 L3UCHAR HLCharID; /* High layer characteristics id. */ 00555 L3UCHAR EHLCharID; /* Extended high layer character. id. */ 00556 L3UCHAR EVideoTlfCharID; /* Ext. videotelephony char. id. */ 00557 00558 } Q931ie_HLComp; 00559 00560 /***************************************************************************** 00561 00562 Struct: Q931ie_KeypadFac 00563 00564 Description: Keypad facility 00565 00566 *****************************************************************************/ 00567 00568 typedef struct { 00569 L3UCHAR IEId; /* 00101100 */ 00570 L3UCHAR Size; /* Length of Information Element */ 00571 L3UCHAR KeypadFac[1]; /* dynamic buffer */ 00572 00573 } Q931ie_KeypadFac; 00574 00575 /***************************************************************************** 00576 00577 Struct: Q931ie_LLComp 00578 00579 Description: Low layer compatibility 00580 00581 *****************************************************************************/ 00582 00583 typedef struct { 00584 00585 L3UCHAR IEId; /* 01111100 */ 00586 L3UCHAR Size; /* Length of Information Element */ 00587 L3UCHAR CodStand; /* Coding standard */ 00588 /* 00 - ITU-T */ 00589 /* 01 - ISO/IEC */ 00590 /* 10 - National standard */ 00591 /* 11 - Network side spesific */ 00592 00593 L3UCHAR ITransCap; /* Information transfer capability */ 00594 /* 00000 - Speech */ 00595 /* 01000 - Unrestricted digital info */ 00596 /* 01001 - Restricted digital info */ 00597 /* 10000 - 3.1 kHz audio */ 00598 /* 10001 - Unrestricted with tones */ 00599 /* 11000 - Video */ 00600 00601 L3UCHAR NegotInd; /* Negot indic. */ 00602 /* 0 : Out-band neg. not possib. */ 00603 /* 1 : Out-band neg. possible */ 00604 00605 L3UCHAR TransMode; /* Transfer Mode */ 00606 /* 00 : Circuit Mode */ 00607 /* 10 : Packed Mode */ 00608 00609 L3UCHAR InfoRate; /* Information transfer rate */ 00610 /* 00000 - Packed mode */ 00611 /* 10000 - 64 kbit/s */ 00612 /* 10001 - 2 x 64 kbit/s */ 00613 /* 10011 - 384 kbit/s */ 00614 /* 10101 - 1536 kbit/s */ 00615 /* 10111 - 1920 kbit/s */ 00616 /* 11000 - Multirat (64 kbit/s base) */ 00617 00618 L3UCHAR RateMul; /* Rate multiplier */ 00619 L3UCHAR Layer1Ident; /* Layer 1 ident. */ 00620 L3UCHAR UIL1Prot; /* User information layer 1 protocol */ 00621 /* 00001 : ITU-T V.110, I.460 and X.30 */ 00622 /* 00010 : G.711 my-law */ 00623 /* 00011 : G.711 A-law */ 00624 /* 00100 : G.721 */ 00625 /* 00101 : H.221 and H.242 */ 00626 /* 00110 : H.223 and H.245 */ 00627 /* 00111 : Non ITU-T Standard */ 00628 /* 01000 : ITU-T V.120 */ 00629 /* 01001 : ITU-T X.31 HDLC flag stuff. */ 00630 00631 L3UCHAR SyncAsync; /* Synch/asynch */ 00632 /* 0 : Syncronous data */ 00633 /* 1 : Asyncronous data */ 00634 00635 L3UCHAR Negot; /* Negot */ 00636 /* 0 : In-band negotiation not possib. */ 00637 /* 1 : In-band negotiation possible */ 00638 00639 L3UCHAR UserRate; /* User rate */ 00640 /* 00000 : I.460, V.110, X,30 */ 00641 /* 00001 : 0.6 kbit/s x.1 */ 00642 /* 00010 : 1.2 kbit/s */ 00643 /* 00011 : 2.4 kbit/s */ 00644 /* 00100 : 3.6 kbit/s */ 00645 /* 00101 : 4.8 kbit/s */ 00646 /* 00110 : 7.2 kbit/s */ 00647 /* 00111 : 8 kbit/s I.460 */ 00648 /* 01000 : 9.6 kbit/s */ 00649 /* 01001 : 14.4 kbit/s */ 00650 /* 01010 : 16 kbit/s */ 00651 /* 01011 : 19.2 kbit/s */ 00652 /* 01100 : 32 kbit/s */ 00653 /* 01101 : 38.4 kbit/s */ 00654 /* 01110 : 48 kbit/s */ 00655 /* 01111 : 56 kbit/s */ 00656 /* 10000 : 57.6 kbit/s */ 00657 /* 10010 : 28.8 kbit/s */ 00658 /* 10100 : 24 kbit/s */ 00659 /* 10101 : 0.1345 kbit/s */ 00660 /* 10110 : 0.100 kbit/s */ 00661 /* 10111 : 0.075/1.2 kbit/s */ 00662 /* 11000 : 1.2/0.075/kbit/s */ 00663 /* 11001 : 0.050 kbit/s */ 00664 /* 11010 : 0.075 kbit/s */ 00665 /* 11011 : 0.110 kbit/s */ 00666 /* 11100 : 0.150 kbit/s */ 00667 /* 11101 : 0.200 kbit/s */ 00668 /* 11110 : 0.300 kbit/s */ 00669 /* 11111 : 12 kbit/s */ 00670 00671 L3UCHAR InterRate; /* Intermediate rate */ 00672 /* 00 : Not used */ 00673 /* 01 : 8 kbit/s */ 00674 /* 10 : 16 kbit/s */ 00675 /* 11 : 32 kbit/s */ 00676 00677 L3UCHAR NIConTx; /* Network Indepentend Clock on transmit*/ 00678 /* 0 : Not required to send data clc */ 00679 /* 1 : Send data w/NIC clc */ 00680 00681 L3UCHAR NIConRx; /* NIC on Rx */ 00682 /* 0 : Cannot accept indep. clc */ 00683 /* 1 : data with indep. clc accepted */ 00684 00685 L3UCHAR FlowCtlTx; /* Flow control on Tx */ 00686 /* 0 : Send Flow ctrl not required */ 00687 /* 1 : Send flow ctrl required */ 00688 00689 L3UCHAR FlowCtlRx; /* Flow control on Rx */ 00690 /* 0 : cannot use receive flow ctrl */ 00691 /* 1 : Receive flow ctrl accepted */ 00692 L3UCHAR HDR; /* HDR/No HDR */ 00693 L3UCHAR MultiFrame; /* Multi frame support */ 00694 /* 0 : multiframe not supported */ 00695 /* 1 : multiframe supported */ 00696 00697 L3UCHAR ModeL1; /* Mode L1 */ 00698 /* 0 : bit transparent mode of operat. */ 00699 /* 1 : protocol sesitive mode of op. */ 00700 00701 L3UCHAR NegotLLI; /* Negot. LLI */ 00702 /* 0 : default LLI=256 only */ 00703 /* 1 : Full protocol negotiation */ 00704 00705 L3UCHAR Assignor; /* Assignor/Assignor ee */ 00706 /* 0 : Default Asignee */ 00707 /* 1 : Assignor only */ 00708 00709 L3UCHAR InBandNeg; /* In-band negot. */ 00710 /* 0 : negot done w/ USER INFO mes */ 00711 /* 1 : negot done in-band w/link zero */ 00712 00713 L3UCHAR NumStopBits; /* Number of stop bits */ 00714 /* 00 : Not used */ 00715 /* 01 : 1 bit */ 00716 /* 10 : 1.5 bits */ 00717 /* 11 : 2 bits */ 00718 00719 L3UCHAR NumDataBits; /* Number of data bits. */ 00720 /* 00 : not used */ 00721 /* 01 : 5 bits */ 00722 /* 10 : 7 bits */ 00723 /* 11 : 8 bits */ 00724 00725 L3UCHAR Parity; /* Parity Information */ 00726 /* 000 : Odd */ 00727 /* 010 : Even */ 00728 /* 011 : None */ 00729 /* 100 : Forced to 0 */ 00730 /* 101 : Forced to 1 */ 00731 00732 L3UCHAR DuplexMode; /* Mode duplex */ 00733 /* 0 : Half duplex */ 00734 /* 1 : Full duplex */ 00735 00736 L3UCHAR ModemType; /* Modem type, see Q.931 p 89 */ 00737 00738 L3UCHAR Layer2Ident; /* Layer 2 ident. */ 00739 00740 L3UCHAR UIL2Prot; /* User information layer 2 protocol */ 00741 /* 00001 : Basic mode ISO 1745 */ 00742 /* 00010 : Q.921/I.441 */ 00743 /* 00110 : X.25 single link */ 00744 /* 00111 : X.25 multilink */ 00745 /* 01000 : Extended LAPB T.71 */ 00746 /* 01001 : HDLC ARM */ 00747 /* 01010 : HDLC NRM */ 00748 /* 01011 : HDLC ABM */ 00749 /* 01100 : LAN logical link */ 00750 /* 01101 : X.75 SLP */ 00751 /* 01110 : Q.922 */ 00752 /* 01111 : Q.922 core aspect */ 00753 /* 10000 : User specified */ 00754 /* 10001 : ISO/IEC 7776 DTE-DCE */ 00755 00756 L3UCHAR ModeL2; /* Mode */ 00757 /* 01 : Normal Mode of operation */ 00758 /* 10 : Extended mode of operation */ 00759 00760 L3UCHAR Q933use; /* Q.9333 use */ 00761 00762 L3UCHAR UsrSpcL2Prot; /* User specified layer 2 protocol info */ 00763 00764 L3UCHAR WindowSize; /* Window size (k) */ 00765 00766 L3UCHAR Layer3Ident; /* Layer 3 ident */ 00767 00768 L3UCHAR UIL3Prot; /* User Information Layer 3 protocol */ 00769 /* 00010 : Q.931 */ 00770 /* 00110 : X.25 */ 00771 /* 00111 : 8208 */ 00772 /* 01000 : X.233 ... */ 00773 /* 01001 : 6473 */ 00774 /* 01010 : T.70 */ 00775 /* 01011 : ISO/IEC TR 9577 */ 00776 /* 10000 : User specified */ 00777 L3UCHAR OptL3Info; /* Optional Leyer 3 info */ 00778 00779 L3UCHAR ModeL3; /* Mode of operation */ 00780 /* 01 : Normal packed seq. numbering */ 00781 /* 10 : Extended packed seq. numbering */ 00782 00783 L3UCHAR DefPackSize; /* Default packet size */ 00784 00785 L3UCHAR PackWinSize; /* Packet window size */ 00786 00787 L3UCHAR AddL3Info; /* Additional Layer 3 protocol info */ 00788 00789 } Q931ie_LLComp; 00790 00791 /***************************************************************************** 00792 00793 Struct: Q931ie_NetFac; 00794 00795 Description: Network-specific facilities 00796 00797 *****************************************************************************/ 00798 00799 typedef struct { 00800 00801 L3UCHAR IEId; /* 00100000 */ 00802 L3UCHAR Size; /* Length of Information Element */ 00803 L3UCHAR LenNetID; /* Length of network facilities id. */ 00804 L3UCHAR TypeNetID; /* Type of network identification */ 00805 L3UCHAR NetIDPlan; /* Network identification plan. */ 00806 L3UCHAR NetFac; /* Network specific facility spec. */ 00807 L3UCHAR NetID[1]; /* Network id. (IA5) */ 00808 00809 } Q931ie_NetFac; 00810 00811 /***************************************************************************** 00812 00813 Struct: Q931ie_NotifInd; 00814 00815 Description: Notification Indicator 00816 00817 *****************************************************************************/ 00818 00819 typedef struct { 00820 00821 L3UCHAR IEId; /* 00100000 */ 00822 L3UCHAR Size; /* Length of Information Element */ 00823 L3UCHAR Notification; /* Notification descriptor */ 00824 00825 } Q931ie_NotifInd; 00826 00827 /***************************************************************************** 00828 00829 Struct: Q931ie_ProgInd 00830 00831 Description: Progress indicator 00832 00833 *****************************************************************************/ 00834 00835 typedef struct { 00836 00837 L3UCHAR IEId; /* 00011110 */ 00838 L3UCHAR Size; /* Length of Information Element */ 00839 L3UCHAR CodStand; /* Coding standard */ 00840 L3UCHAR Location; /* Location */ 00841 L3UCHAR ProgDesc; /* Progress description */ 00842 00843 } Q931ie_ProgInd; 00844 00845 /***************************************************************************** 00846 00847 Struct; Q931ie_Segment 00848 00849 Description: Segmented message 00850 00851 *****************************************************************************/ 00852 00853 typedef struct { 00854 00855 L3UCHAR IEId; /* 00000000 */ 00856 L3UCHAR Size; /* Length of Information Element */ 00857 L3UCHAR FSI; /* First segment indicator */ 00858 L3UCHAR NumSegRem; /* Number of segments remaining */ 00859 L3UCHAR SegType; /* Segment message type */ 00860 00861 } Q931ie_Segment; 00862 00863 00864 typedef struct { 00865 00866 L3UCHAR IEId; /* 00000000 */ 00867 L3UCHAR Size; /* Length of Information Element */ 00868 00869 } Q931ie_SendComplete; 00870 00871 /***************************************************************************** 00872 00873 Struct: Q931ie_Signal 00874 00875 Description: Signal 00876 00877 *****************************************************************************/ 00878 00879 typedef struct { 00880 00881 L3UCHAR IEId; /* 00000000 */ 00882 L3UCHAR Size; /* Length of Information Element */ 00883 L3UCHAR Signal; /* Signal value */ 00884 /* 00000000 Dial tone on */ 00885 /* 00000001 Ring back tone on */ 00886 /* 00000010 Intercept tone on */ 00887 /* 00000011 Network congestion on */ 00888 /* 00000100 Busy tone on */ 00889 /* 00000101 Confirm tone on */ 00890 /* 00000110 Answer tone on */ 00891 /* 00000111 Call waiting tone */ 00892 /* 00001000 Off-hook warning tone */ 00893 /* 00001001 Pre-emption tone on */ 00894 /* 00111111 Tones off */ 00895 /* 01000000 Alerting on - pattern 0 */ 00896 /* 01000001 Alerting on - pattern 1 */ 00897 /* 01000010 Alerting on - pattern 2 */ 00898 /* 01000011 Alerting on - pattern 3 */ 00899 /* 01000100 Alerting on - pattern 4 */ 00900 /* 01000101 Alerting on - pattern 5 */ 00901 /* 01000110 Alerting on - pattern 6 */ 00902 /* 01000111 Alerting on - pattern 7 */ 00903 /* 01001111 Alerting off */ 00904 } Q931ie_Signal; 00905 00906 /***************************************************************************** 00907 00908 Struct: Q931ie_TransDelSelInd 00909 00910 description: Transit delay selection and indication 00911 00912 *****************************************************************************/ 00913 #ifdef Q931_X25_SUPPORT 00914 typedef struct { 00915 00916 L3UCHAR IEId; /* 00000000 */ 00917 L3UCHAR Size; /* Length of Information Element */ 00918 L3ULONG TxDSIValue; /* Trans. delay sel. & ind. value */ 00919 00920 } Q931ie_TransDelSelInd; 00921 #endif 00922 00923 /***************************************************************************** 00924 00925 Struct: Q931ie_TransNetSel 00926 00927 Description: Transit network selection 00928 00929 *****************************************************************************/ 00930 00931 typedef struct { 00932 00933 L3UCHAR IEId; /* 01111000 */ 00934 L3UCHAR Size; /* Length of Information Element */ 00935 L3UCHAR Type; /* Type of network identifier */ 00936 L3UCHAR NetIDPlan; /* Network idetification plan */ 00937 L3UCHAR NetID[1]; /* Network identification(IA5) */ 00938 00939 } Q931ie_TransNetSel; 00940 00941 /***************************************************************************** 00942 00943 Struct: Q931ie_UserUser 00944 00945 Description: User-user 00946 00947 *****************************************************************************/ 00948 00949 typedef struct { 00950 00951 L3UCHAR IEId; /* 01111110 */ 00952 L3UCHAR Size; /* Length of Information Element */ 00953 L3UCHAR ProtDisc; /* Protocol discriminator */ 00954 L3UCHAR User[1]; /* User information */ 00955 00956 } Q931ie_UserUser; 00957 00958 /***************************************************************************** 00959 00960 Struct: Q931ie_ClosedUserGrp 00961 00962 Description: Closed user group 00963 00964 *****************************************************************************/ 00965 #ifdef Q931_X25_SUPPORT 00966 typedef struct { 00967 00968 L3UCHAR IEId; /* 01000111 */ 00969 L3UCHAR Size; /* Length of Information Element */ 00970 L3UCHAR CUGInd; /* CUG indication */ 00971 L3UCHAR CUG[1]; /* CUG index code (IA5) */ 00972 00973 } Q931ie_ClosedUserGrp; 00974 #endif 00975 00976 /***************************************************************************** 00977 00978 Struct: Q931ie_CongLevel 00979 00980 Description: Congestion Level 00981 00982 *****************************************************************************/ 00983 typedef struct { 00984 00985 L3UCHAR IEId; /* 01000111 */ 00986 L3UCHAR Size; /* Length of Information Element */ 00987 L3UCHAR CongLevel; /* Conguestion Level */ 00988 00989 } Q931ie_CongLevel; 00990 00991 /***************************************************************************** 00992 00993 Struct: Q931ie_EndEndTxDelay 00994 00995 Description: End to end transit delay 00996 00997 *****************************************************************************/ 00998 #ifdef Q931_X25_SUPPORT 00999 typedef struct { 01000 01001 L3UCHAR IEId; /* 01000010 */ 01002 L3UCHAR Size; /* Length of Information Element */ 01003 L3ULONG CumTxDelay; /* Cumulative transit delay value */ 01004 L3ULONG ReqTxDelay; /* Requested end to end transit delay */ 01005 L3ULONG MaxTxDelay; /* Maximum transit delay */ 01006 01007 } Q931ie_EndEndTxDelay; 01008 #endif 01009 01010 /***************************************************************************** 01011 01012 Struct: Q931ie_InfoRate 01013 01014 Description: Information Rate 01015 01016 *****************************************************************************/ 01017 #ifdef Q931_X25_SUPPORT 01018 typedef struct { 01019 01020 L3UCHAR IEId; /* 01100000 */ 01021 L3UCHAR Size; /* Length of Information Element */ 01022 L3UCHAR InInfoRate; /* Incoming information rate */ 01023 L3UCHAR OutInfoRate; /* Outgoing information rate */ 01024 L3UCHAR MinInInfoRate; /* Minimum incoming information rate */ 01025 L3UCHAR MinOutInfoRate; /* Minimum outgoing information rate */ 01026 01027 } Q931ie_InfoRate; 01028 #endif 01029 01030 /***************************************************************************** 01031 01032 Struct: Q931ie_PackParam 01033 01034 Description: Packed layer binary parameters 01035 01036 *****************************************************************************/ 01037 #ifdef Q931_X25_SUPPORT 01038 typedef struct { 01039 01040 L3UCHAR IEId; /* 01000100 */ 01041 L3UCHAR Size; /* Length of Information Element */ 01042 L3UCHAR FastSel; /* Fast selected */ 01043 L3UCHAR ExpData; /* Exp. data */ 01044 L3UCHAR DelConf; /* Delivery conf */ 01045 L3UCHAR Modulus; /* Modulus */ 01046 01047 } Q931ie_PackParam; 01048 #endif 01049 01050 /***************************************************************************** 01051 01052 Struct: Q931ie_PackWinSize 01053 01054 Description: Packed window size 01055 01056 *****************************************************************************/ 01057 #ifdef Q931_X25_SUPPORT 01058 typedef struct { 01059 01060 L3UCHAR IEId; /* 01000101 */ 01061 L3UCHAR Size; /* Length of Information Element */ 01062 L3UCHAR ForwardValue; /* Forward value */ 01063 L3UCHAR BackwardValue; /* Backward value */ 01064 01065 } Q931ie_PackWinSize; 01066 #endif 01067 01068 /***************************************************************************** 01069 01070 Struct: Q931ie_PackSize 01071 01072 Description: Packet size 01073 01074 *****************************************************************************/ 01075 #ifdef Q931_X25_SUPPORT 01076 typedef struct { 01077 01078 L3UCHAR IEId; /* 01000110 */ 01079 L3UCHAR Size; /* Length of Information Element */ 01080 L3UCHAR ForwardValue; /* Forward value */ 01081 L3UCHAR BackwardValue; /* Backward value */ 01082 01083 } Q931ie_PackSize; 01084 #endif 01085 01086 /***************************************************************************** 01087 01088 Struct: Q931ie_RedirNum 01089 01090 Description: Redirecting number 01091 01092 *****************************************************************************/ 01093 #ifdef Q931_X25_SUPPORT 01094 typedef struct { 01095 01096 L3UCHAR IEId; /* 01110100 */ 01097 L3UCHAR Size; /* Length of Information Element */ 01098 L3UCHAR TypeNum; /* Type of number */ 01099 L3UCHAR NumPlanID; /* Number plan identification */ 01100 L3UCHAR PresInd; /* Presentation indicator */ 01101 L3UCHAR ScreenInd; /* Screening indicator */ 01102 L3UCHAR Reason; /* Reason for redirection */ 01103 L3UCHAR Digit[1]; /* Number digits (IA5) */ 01104 01105 } Q931ie_RedirNum; 01106 #endif 01107 01108 typedef struct { 01109 01110 L3UCHAR IEId; /* 01110100 */ 01111 L3UCHAR Size; /* Length of Information Element */ 01112 L3UCHAR RepeatInd; /* 0010 Prioritized list for selecting */ 01113 /* one possible. */ 01114 } Q931ie_RepeatInd; 01115 01116 typedef struct { 01117 01118 L3UCHAR IEId; /* 01110100 */ 01119 L3UCHAR Size; /* Length of Information Element */ 01120 L3UCHAR Spare; /* Spare */ 01121 L3UCHAR Class; /* Class */ 01122 /* 000 Indicate channels */ 01123 /* 110 Single interface */ 01124 /* 111 All interfaces */ 01125 } Q931ie_RestartInd; 01126 01127 typedef struct { 01128 01129 L3UCHAR IEId; /* 01110100 */ 01130 L3UCHAR Size; /* Length of Information Element */ 01131 L3UCHAR Preference; /* Preference 0 = reserved, 1 = channel */ 01132 L3UCHAR Spare; /* Spare */ 01133 L3UCHAR NewStatus; /* NewStatus */ 01134 /* 000 In service */ 01135 /* 001 Maintenance */ 01136 /* 010 Out of service */ 01137 } Q931ie_ChangeStatus; 01138 01139 /***************************************************************************** 01140 01141 Struct: Q931ie_GenericDigits 01142 01143 01144 *****************************************************************************/ 01145 01146 typedef struct { 01147 01148 L3UCHAR IEId; /* 00110111 */ 01149 L3UCHAR Size; /* Length of Information Element */ 01150 L3UCHAR Type; /* Type of number */ 01151 L3UCHAR Encoding; /* Encoding of number */ 01152 L3UCHAR Digit[1]; /* Number digits (IA5) */ 01153 01154 } Q931ie_GenericDigits; 01155 01156 01157 /***************************************************************************** 01158 01159 Q.931 Information Element Pack/Unpack functions. Implemented in Q931ie.c 01160 01161 *****************************************************************************/ 01162 q931pie_func_t Q931Pie_ChangeStatus; 01163 q931pie_func_t Q931Pie_BearerCap; 01164 q931pie_func_t Q931Pie_ChanID; 01165 q931pie_func_t Q931Pie_ProgInd; 01166 q931pie_func_t Q931Pie_Display; 01167 q931pie_func_t Q931Pie_Signal; 01168 q931pie_func_t Q931Pie_HLComp; 01169 q931pie_func_t Q931Pie_Segment; 01170 q931pie_func_t Q931Pie_DateTime; 01171 q931pie_func_t Q931Pie_Cause; 01172 q931pie_func_t Q931Pie_SendComplete; 01173 q931pie_func_t Q931Pie_KeypadFac; 01174 q931pie_func_t Q931Pie_NotifInd; 01175 q931pie_func_t Q931Pie_CallID; 01176 q931pie_func_t Q931Pie_RepeatInd; 01177 q931pie_func_t Q931Pie_NetFac; 01178 q931pie_func_t Q931Pie_CallingNum; 01179 q931pie_func_t Q931Pie_CallingSub; 01180 q931pie_func_t Q931Pie_CalledNum; 01181 q931pie_func_t Q931Pie_CalledSub; 01182 q931pie_func_t Q931Pie_CalledNum; 01183 q931pie_func_t Q931Pie_TransNetSel; 01184 q931pie_func_t Q931Pie_LLComp; 01185 q931pie_func_t Q931Pie_CallState; 01186 q931pie_func_t Q931Pie_RestartInd; 01187 q931pie_func_t Q931Pie_UserUser; 01188 01189 q931pie_func_t Q931Pie_GenericDigits; 01190 01191 L3USHORT Q931Uie_CRV(Q931_TrunkInfo_t *pTrunk,L3UCHAR * IBuf, L3UCHAR *OBuf, L3INT *IOff, L3INT *OOff); 01192 01193 q931uie_func_t Q931Uie_ChangeStatus; 01194 q931uie_func_t Q931Uie_BearerCap; 01195 q931uie_func_t Q931Uie_ChanID; 01196 q931uie_func_t Q931Uie_ProgInd; 01197 q931uie_func_t Q931Uie_Display; 01198 q931uie_func_t Q931Uie_Signal; 01199 q931uie_func_t Q931Uie_HLComp; 01200 q931uie_func_t Q931Uie_Segment; 01201 q931uie_func_t Q931Uie_DateTime; 01202 q931uie_func_t Q931Uie_Cause; 01203 q931uie_func_t Q931Uie_SendComplete; 01204 q931uie_func_t Q931Uie_KeypadFac; 01205 q931uie_func_t Q931Uie_NotifInd; 01206 q931uie_func_t Q931Uie_CallID; 01207 q931uie_func_t Q931Uie_RepeatInd; 01208 q931uie_func_t Q931Uie_NetFac; 01209 q931uie_func_t Q931Uie_CallingNum; 01210 q931uie_func_t Q931Uie_CallingSub; 01211 q931uie_func_t Q931Uie_CalledNum; 01212 q931uie_func_t Q931Uie_CalledSub; 01213 q931uie_func_t Q931Uie_TransNetSel; 01214 q931uie_func_t Q931Uie_LLComp; 01215 q931uie_func_t Q931Uie_CallState; 01216 q931uie_func_t Q931Uie_RestartInd; 01217 q931uie_func_t Q931Uie_UserUser; 01218 01219 q931uie_func_t Q931Uie_GenericDigits; 01220 01221 01222 L3INT Q931ReadExt(L3UCHAR * IBuf, L3INT Off); 01223 L3INT Q931Uie_CongLevel(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR * IBuf, L3UCHAR * OBuf, L3INT *IOff, L3INT *OOff); 01224 L3INT Q931Pie_CongLevel(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet); 01225 L3INT Q931Uie_RevChargeInd(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR * IBuf, L3UCHAR * OBuf, L3INT *IOff, L3INT *OOff); 01226 L3INT Q931Pie_RevChargeInd(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet); 01227 01228 L3INT Q931Uie_Generic(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *IOff, L3INT *OOff); 01229 L3INT Q931Pie_Generic(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3INT *Octet); 01230 01231 #endif /* _Q931IE_NL */