libisdn
|
00001 /* 00002 * 5ESS Message <-> IE table 00003 * 00004 * Copyright (C) 2009 Stefan Knoblich <s.knoblich@axsentis.de> 00005 */ 00006 #include "Q931.h" 00007 #include "Q931priv.h" 00008 #include "Q932.h" 00009 00010 #include "5ESS.h" 00011 00012 /* 00013 * 00014 */ 00015 struct Q931MessageIE ATT5ESSMessageIEs[] = { 00016 /* 00017 * AT&T 5ESS IE table 00018 */ 00019 00020 /* ALERTING */ 00021 { Q931mes_ALERTING, 8, { 00022 /* Codeset 0 */ 00023 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00024 { Q931ie_USER_USER, 3, 131, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00025 { Q931ie_REDIRECTION_NUMBER, 3, 20, Q931_IE_CODESET_0, Q931_IEF_TO_USER }, 00026 /* Codeset 6 */ 00027 { Q932ie_FACILITY, 4, 0, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00028 /* TODO: verify/confirm */ 00029 // { ATT5ESSie_GENERIC_BILLING_DATA, 5, 0, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00030 // { ATT5ESSie_ITEM, 3, 3, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00031 // { ATT5ESSie_ORIGINATING_ACCESS_SERVICE_TYPE, 4, 4, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00032 // { ATT5ESSie_ORIGINATING_LINE_INFORMATION, 3, 3, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00033 // { ATT5ESSie_SPECIFIC_EVENT, 3, 3, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00034 // { ATT5ESSie_USER_ENTERED_CODE, 5, 0, Q931_IE_CODESET_6, Q931_IEF_TO_BOTH }, 00035 /* Codeset 7 */ 00036 { 0, 0, 0, 0 }, 00037 }}, 00038 00039 /* CALL PROCEEDING */ 00040 { Q931mes_CALL_PROCEEDING, 8, { 00041 /* Codeset 0 */ 00042 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00043 { 0, 0, 0, 0 }, 00044 }}, 00045 00046 /* CONGESTION CONTROL */ 00047 { Q931mes_CONGESTION_CONTROL, 8, { 00048 /* Codeset 0 */ 00049 { Q931ie_CONGESTION_LEVEL, 1, 1, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00050 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00051 { 0, 0, 0, 0 }, 00052 }}, 00053 00054 /* CONNECT */ 00055 { Q931mes_CONNECT, 8, { 00056 /* Codeset 0 */ 00057 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00058 { Q931ie_CONNECTED_NUMBER, 3, 18, Q931_IE_CODESET_0, Q931_IEF_TO_NET }, 00059 { Q931ie_REDIRECTION_NUMBER, 3, 20, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00060 { Q931ie_USER_USER, 3, 131, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00061 /* Codeset 6 */ 00062 /* Codeset 7 */ 00063 { 0, 0, 0, 0 }, 00064 }}, 00065 00066 /* CONNECT ACKNOWLEDGE */ 00067 { Q931mes_CONNECT_ACKNOWLEDGE, 8, { 00068 { 0, 0, 0, 0 }, 00069 }}, 00070 00071 /* DISCONNECT */ 00072 { Q931mes_DISCONNECT, 8, { 00073 /* Codeset 0 */ 00074 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00075 { Q931ie_USER_USER, 3, 131, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00076 /* Codeset 6 */ 00077 /* Codeset 7 */ 00078 { 0, 0, 0, 0 }, 00079 }}, 00080 00081 /* PROGRESS */ 00082 { Q931mes_PROGRESS, 8, { 00083 /* Codeset 0 */ 00084 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_NET }, 00085 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00086 { Q931ie_PROGRESS_INDICATOR, 4, 4, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00087 { 0, 0, 0, 0 }, 00088 }}, 00089 00090 /* RELEASE */ 00091 { Q931mes_RELEASE, 8, { 00092 /* Codeset 0 */ 00093 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00094 { 0, 0, 0, 0 }, 00095 }}, 00096 00097 /* RELEASE COMPLETE */ 00098 { Q931mes_RELEASE_COMPLETE, 8, { 00099 /* Codeset 0 */ 00100 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00101 { 0, 0, 0, 0 }, 00102 }}, 00103 00104 /* SETUP */ 00105 { Q931mes_SETUP, 8, { 00106 /* Codeset 0 */ 00107 { Q931ie_BEARER_CAPABILITY, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00108 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00109 { Q931ie_NETWORK_SPECIFIC_FACILITIES, 4, 9, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00110 { Q931ie_CALLING_PARTY_NUMBER, 3, 19, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00111 { Q931ie_CALLING_PARTY_SUBADDRESS, 3, 23, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00112 { Q931ie_CALLED_PARTY_NUMBER, 3, 20, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00113 { Q931ie_CALLED_PARTY_SUBADDRESS, 3, 23, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00114 { Q931ie_REDIRECTING_NUMBER, 3, 20, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00115 { Q931ie_TRANSIT_NETWORK_SELECTION, 7, 7, Q931_IE_CODESET_0, Q931_IEF_TO_NET }, 00116 { Q931ie_LOW_LAYER_COMPATIBILITY, 3, 16, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00117 { Q931ie_HIGH_LAYER_COMPATIBILITY, 3, 5, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00118 { Q931ie_USER_USER, 3, 131, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00119 /* Codeset 6 */ 00120 /* Codeset 7 */ 00121 { 0, 0, 0, 0 }, 00122 }}, 00123 00124 /* STATUS */ 00125 { Q931mes_STATUS, 8, { 00126 /* Codeset 0 */ 00127 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00128 { Q931ie_CALL_STATE, 3, 3, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00129 { 0, 0, 0, 0 }, 00130 }}, 00131 00132 /* STATUS ENQUIRY */ 00133 { Q931mes_STATUS_ENQUIRY, 8, { 00134 { 0, 0, 0, 0 }, 00135 }}, 00136 00137 /* USER INFORMATION */ 00138 { Q931mes_USER_INFORMATION, 8, { 00139 /* Codeset 0 */ 00140 { Q931ie_MORE_DATA, 1, 1, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00141 { Q931ie_USER_USER, 3, 251, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00142 /* Codeset 6 */ 00143 /* Codeset 7 */ 00144 { 0, 0, 0, 0 }, 00145 }}, 00146 00147 00148 /* RESTART */ 00149 { Q931mes_RESTART, 8, { 00150 /* Codeset 0 */ 00151 { Q931ie_CHANNEL_IDENTIFICATION, 5, 6, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00152 { Q931ie_RESTART_INDICATOR, 3, 3, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00153 { 0, 0, 0, 0 }, 00154 }}, 00155 00156 /* RESTART ACKNOWLEDGE */ 00157 { Q931mes_RESTART_ACKNOWLEDGE, 8, { 00158 /* Codeset 0 */ 00159 { Q931ie_CHANNEL_IDENTIFICATION, 5, 6, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00160 { Q931ie_RESTART_INDICATOR, 3, 3, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00161 { 0, 0, 0, 0 }, 00162 }}, 00163 00164 /* FACILITY (3.5.2) */ 00165 { Q932mes_FACILITY, 8, { 00166 /* Codeset 0 */ 00167 { Q931ie_CHANNEL_IDENTIFICATION, 4, 8, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00168 { Q931ie_NETWORK_SPECIFIC_FACILITIES, 4, 9, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00169 /* Codeset 6 */ 00170 { 0, 0, 0, 0 }, 00171 }}, 00172 00173 /* FACILITY ACKNOWLEDGE (3.5.3) */ 00174 { Q931mes_FACILITY_ACKNOWLEDGE, 8, { 00175 /* Codeset 0 */ 00176 { Q931ie_NETWORK_SPECIFIC_FACILITIES, 4, 9, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00177 { Q931ie_CALLING_PARTY_NUMBER, 3, 19, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00178 /* Codeset 6 */ 00179 // TODO: { ATT5ESSie_OLI 3, 3, Q931_IE_CODESET_6, Q931_IEF_TO_USER }, 00180 { 0, 0, 0, 0 }, 00181 }}, 00182 00183 /* FACILITY REJECT (3.5.4) */ 00184 { Q931mes_FACILITY_REJECT, 8, { 00185 /* Codeset 0 */ 00186 { Q931ie_CAUSE, 4, 22, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH | Q931_IEF_MANDATORY }, 00187 { Q931ie_NETWORK_SPECIFIC_FACILITIES, 4, 9, Q931_IE_CODESET_0, Q931_IEF_TO_BOTH }, 00188 { 0, 0, 0, 0 }, 00189 }}, 00190 00191 /* REGISTER (3.5.5) */ 00192 { Q932mes_REGISTER, 8, { 00193 /* CODESET 6 */ 00194 { 0, 0, 0, 0 }, 00195 }}, 00196 00197 00198 /* TODO... */ 00199 00200 { 0, 0, {{ 0, 0, 0, 0 }}}, 00201 };