5 * Copyright 2003, Michael Lum <mlum [AT] telostech.com>,
6 * In association with Telos Technology Inc.
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1998 Gerald Combs
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 #define ISUP_MAX_NUM_MESSAGE_TYPES 256
32 typedef struct _isup_tap_rec_t {
34 /* added for VoIP calls analysis, see gtk/voip_calls.c*/
36 gchar *calling_number;
42 * the following allows TAP code access to the messages
43 * without having to duplicate it. With MSVC and a
44 * libwireshark.dll, we need a special declaration.
46 WS_VAR_IMPORT const value_string isup_message_type_value[];
47 WS_VAR_IMPORT const value_string isup_message_type_value_acro[];
48 WS_VAR_IMPORT const value_string q850_cause_code_vals[];
50 * Export some definitions and value_string tables for other dissectors
53 /* Definition of Parameter Types */
54 #define PARAM_TYPE_END_OF_OPT_PARAMS 0
55 #define PARAM_TYPE_CALL_REF 1
56 #define PARAM_TYPE_TRANSM_MEDIUM_REQU 2
57 #define PARAM_TYPE_ACC_TRANSP 3
58 #define PARAM_TYPE_CALLED_PARTY_NR 4
59 #define PARAM_TYPE_SUBSQT_NR 5
60 #define PARAM_TYPE_NATURE_OF_CONN_IND 6
61 #define PARAM_TYPE_FORW_CALL_IND 7
62 #define PARAM_TYPE_OPT_FORW_CALL_IND 8
63 #define PARAM_TYPE_CALLING_PRTY_CATEG 9
64 #define PARAM_TYPE_CALLING_PARTY_NR 10
65 #define PARAM_TYPE_REDIRECTING_NR 11
66 #define PARAM_TYPE_REDIRECTION_NR 12
67 #define PARAM_TYPE_CONNECTION_REQ 13
68 #define PARAM_TYPE_INFO_REQ_IND 14
69 #define PARAM_TYPE_INFO_IND 15
70 #define PARAM_TYPE_CONTINUITY_IND 16
71 #define PARAM_TYPE_BACKW_CALL_IND 17
72 #define PARAM_TYPE_CAUSE_INDICATORS 18
73 #define PARAM_TYPE_REDIRECTION_INFO 19
74 #define PARAM_TYPE_CIRC_GRP_SV_MSG_TYPE 21
75 #define PARAM_TYPE_RANGE_AND_STATUS 22
76 #define PARAM_TYPE_FACILITY_IND 24
77 #define PARAM_TYPE_CLSD_USR_GRP_ILOCK_CD 26
78 #define PARAM_TYPE_USER_SERVICE_INFO 29
79 #define PARAM_TYPE_SIGNALLING_POINT_CODE 30
80 #define PARAM_TYPE_USER_TO_USER_INFO 32
81 #define PARAM_TYPE_CONNECTED_NR 33
82 #define PARAM_TYPE_SUSP_RESUME_IND 34
83 #define PARAM_TYPE_TRANSIT_NETW_SELECT 35
84 #define PARAM_TYPE_EVENT_INFO 36
85 #define PARAM_TYPE_CIRC_ASSIGN_MAP 37
86 #define PARAM_TYPE_CIRC_STATE_IND 38
87 #define PARAM_TYPE_AUTO_CONG_LEVEL 39
88 #define PARAM_TYPE_ORIG_CALLED_NR 40
89 #define PARAM_TYPE_OPT_BACKW_CALL_IND 41
90 #define PARAM_TYPE_USER_TO_USER_IND 42
91 #define PARAM_TYPE_ORIG_ISC_POINT_CODE 43
92 #define PARAM_TYPE_GENERIC_NOTIF_IND 44
93 #define PARAM_TYPE_CALL_HIST_INFO 45
94 #define PARAM_TYPE_ACC_DELIV_INFO 46
95 #define PARAM_TYPE_NETW_SPECIFIC_FACLTY 47
96 #define PARAM_TYPE_USER_SERVICE_INFO_PR 48
97 #define PARAM_TYPE_PROPAG_DELAY_COUNTER 49
98 #define PARAM_TYPE_REMOTE_OPERATIONS 50
99 #define PARAM_TYPE_SERVICE_ACTIVATION 51
100 #define PARAM_TYPE_USER_TELESERV_INFO 52
101 #define PARAM_TYPE_TRANSM_MEDIUM_USED 53
102 #define PARAM_TYPE_CALL_DIV_INFO 54
103 #define PARAM_TYPE_ECHO_CTRL_INFO 55
104 #define PARAM_TYPE_MSG_COMPAT_INFO 56
105 #define PARAM_TYPE_PARAM_COMPAT_INFO 57
106 #define PARAM_TYPE_MLPP_PRECEDENCE 58
107 #define PARAM_TYPE_MCID_REQ_IND 59
108 #define PARAM_TYPE_MCID_RSP_IND 60
109 #define PARAM_TYPE_HOP_COUNTER 61
110 #define PARAM_TYPE_TRANSM_MEDIUM_RQUR_PR 62
111 #define PARAM_TYPE_LOCATION_NR 63
112 #define PARAM_TYPE_REDIR_NR_RSTRCT 64
113 #define PARAM_TYPE_CALL_TRANS_REF 67
114 #define PARAM_TYPE_LOOP_PREV_IND 68
115 #define PARAM_TYPE_CALL_TRANS_NR 69
116 #define PARAM_TYPE_CCSS 75
117 #define PARAM_TYPE_FORW_GVNS 76
118 #define PARAM_TYPE_BACKW_GVNS 77
119 #define PARAM_TYPE_REDIRECT_CAPAB 78
120 #define PARAM_TYPE_NETW_MGMT_CTRL 91
121 #define PARAM_TYPE_CORRELATION_ID 101
122 #define PARAM_TYPE_SCF_ID 102
123 #define PARAM_TYPE_CALL_DIV_TREAT_IND 110
124 #define PARAM_TYPE_CALLED_IN_NR 111
125 #define PARAM_TYPE_CALL_OFF_TREAT_IND 112
126 #define PARAM_TYPE_CHARGED_PARTY_IDENT 113
127 #define PARAM_TYPE_CONF_TREAT_IND 114
128 #define PARAM_TYPE_DISPLAY_INFO 115
129 #define PARAM_TYPE_UID_ACTION_IND 116
130 #define PARAM_TYPE_UID_CAPAB_IND 117
131 #define PARAM_TYPE_REDIRECT_COUNTER 119
132 #define PARAM_TYPE_APPLICATON_TRANS 120
133 #define PARAM_TYPE_COLLECT_CALL_REQ 121
134 #define PARAM_TYPE_CALLING_GEODETIC_LOCATION 129 /* ANSI is the same */
135 #define PARAM_TYPE_GENERIC_NR 192
136 #define PARAM_TYPE_GENERIC_DIGITS 193
137 #define PARAM_TYPE_JURISDICTION 196
138 #define PARAM_TYPE_GENERIC_NAME 199
139 #define PARAM_TYPE_ORIG_LINE_INFO 234
140 #define PARAM_TYPE_CHARGE_NR 235
142 #define ANSI_ISUP_PARAM_TYPE_OPER_SERV_INF 0xC2
143 #define ANSI_ISUP_PARAM_TYPE_EGRESS 0xC3
144 #define ANSI_ISUP_PARAM_TYPE_JURISDICTION 0xC4
145 #define ANSI_ISUP_PARAM_TYPE_CARRIER_ID 0xC5
146 #define ANSI_ISUP_PARAM_TYPE_BUSINESS_GRP 0xC6
147 #define ANSI_ISUP_PARAM_TYPE_GENERIC_NAME 0xC7
148 #define ANSI_ISUP_PARAM_TYPE_NOTIF_IND 0xE1
150 #define ANSI_ISUP_PARAM_TYPE_CG_CHAR_IND 229
151 #define ANSI_ISUP_PARAM_TYPE_CVR_RESP_IND 230
152 #define ANSI_ISUP_PARAM_TYPE_OUT_TRK_GRP_NM 231
153 #define ANSI_ISUP_PARAM_TYPE_CI_NAME_IND 232
154 #define ANSI_ISUP_PARAM_CLLI_CODE 233
156 #define ANSI_ISUP_PARAM_ORIG_LINE_INF 0xEA
157 #define ANSI_ISUP_PARAM_CHRG_NO 0xEB
158 #define ANSI_ISUP_PARAM_SERV_CODE_IND 0xEC
159 #define ANSI_ISUP_PARAM_SPEC_PROC_REQ 0xED
160 #define ANSI_ISUP_PARAM_CARRIER_SEL_INF 0xEE
161 #define ANSI_ISUP_PARAM_NET_TRANS 0xEF
163 extern const value_string isup_parameter_type_value[];
164 extern const value_string isup_transmission_medium_requirement_value[];
165 extern const value_string isup_calling_partys_category_value[];
166 extern const value_string bearer_network_connection_characteristics_vals[];
167 extern const value_string x213_afi_value[];
169 * Export dissection of some parameters
171 void dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *parameter_tree);
172 void dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
173 void dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
174 void dissect_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
175 void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
176 void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
177 void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
179 void dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
181 void dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
183 extern int dissect_codec_mode(proto_tree *tree, tvbuff_t *tvb, int offset, int len);
185 #endif /* PACKET_ISUP_H */