1 /* 2 * Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23 * SUCH DAMAGE. 24 * 25 *--------------------------------------------------------------------------- 26 * 27 * i4b_q931.h - Q931 handling header file 28 * -------------------------------------- 29 * 30 * $Id: i4b_q931.h,v 1.1 2003/04/06 04:37:48 tg Stab $ 31 * 32 * $FreeBSD$ 33 * 34 * last edit-date: [Thu Apr 27 11:07:37 2000] 35 * 36 *---------------------------------------------------------------------------*/ 37 38 #ifndef _I4B_Q931_H_ 39 #define _I4B_Q931_H_ 40 41 /* extension bit */ 42 43 #define EXT_LAST 0x80 /* last octett */ 44 45 /* reserve space in mbuf */ 46 47 #define I_FRAME_HDRLEN 4 /* to be added by layer 2 */ 48 49 /* SHIFT */ 50 51 #define CODESET_MASK 0x07 52 #define UNSHIFTED 0 53 #define SHIFTED 1 54 #define CRLENGTH_MASK 0x0f 55 56 /* CONNECT */ 57 58 #define MSG_CONNECT_LEN 4 /* length of a connect message */ 59 60 /* DISCONNECT */ 61 62 #define MSG_DISCONNECT_LEN 8 /* length of a disconnect message */ 63 64 /* RELEASE COMPLETE */ 65 66 #define MSG_RELEASE_COMPLETE_LEN 8 /* length of release complete msg */ 67 68 /* for outgoing causes */ 69 70 #define CAUSE_LEN 2 71 #define CAUSE_STD_LOC_OUT 0x80 /* std = CCITT, loc = user */ 72 73 /* SETUP */ 74 75 #define MSG_SETUP_LEN 18 /* without number strings ! */ 76 77 #define IEI_BEARERCAP_LEN 2 /* 2 octetts lenght */ 78 79 #define IT_CAP_SPEECH 0x80 /* BC: information xfer capability */ 80 #define IT_CAP_UNR_DIG_INFO 0x88 /* BC: information xfer capability */ 81 82 #define IT_RATE_64K 0x90 /* BC: information xfer rate */ 83 #define IT_UL1_G711A 0xa3 /* layer1 proto G.711 A-law */ 84 85 #define IEI_CHANNELID_LEN 0x01 /* length of channel id */ 86 #define CHANNELID_B1 0x81 /* channel = B1 (outgoing) */ 87 #define CHANNELID_B2 0x82 /* channel = B2 (outgoing) */ 88 #define CHANNELID_ANY 0x83 /* channel = any channel (outgoing) */ 89 90 #define IE_CHAN_ID_NO 0x00 /* no channel (incoming) */ 91 #define IE_CHAN_ID_B1 0x01 /* B1 channel (incoming) */ 92 #define IE_CHAN_ID_B2 0x02 /* B2 channel (incoming) */ 93 #define IE_CHAN_ID_ANY 0x03 /* ANY channel (incoming) */ 94 95 #define NUMBER_TYPEPLAN 0x81 /* type of number/numbering plan */ 96 97 #define IEI_CALLINGPN_LEN 1 /* without number string ! */ 98 99 #define IEI_CALLEDPN_LEN 1 /* without number string ! */ 100 101 /* CONNECT_ACK */ 102 103 #define MSG_CONNECT_ACK_LEN 4 /* length of a connect ack message */ 104 105 /* STATUS */ 106 107 #define MSG_STATUS_LEN 11 108 #define CALLSTATE_LEN 1 109 110 /* RELEASE */ 111 112 #define MSG_RELEASE_LEN 8 /* length of release msg */ 113 114 /* ALERT */ 115 116 #define MSG_ALERT_LEN 4 /* length of a alert message */ 117 118 #endif /* _I4B_Q931_H_ */ 119 120 /* EOF */ 121