libisdn
5ESSmes.c
Go to the documentation of this file.
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 };