1 /* packet-isup.h
2  *
3  * Copyright 2003, Michael Lum <mlum [AT] telostech.com>,
4  * In association with Telos Technology Inc.
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12 
13 #ifndef PACKET_ISUP_H
14 #define PACKET_ISUP_H
15 
16 #include "ws_symbol_export.h"
17 
18 #define ISUP_MAX_NUM_MESSAGE_TYPES  256
19 
20 typedef struct _isup_tap_rec_t {
21     guint8      message_type;
22     /* added for VoIP calls analysis, see ui/voip_calls.c*/
23     gchar           *called_number;
24     gchar           *calling_number;
25     guint8          cause_value;
26     guint32         circuit_id;
27 } isup_tap_rec_t;
28 
29 
30 /*
31  * the following allows TAP code access to the messages
32  * without having to duplicate it. With MSVC and a
33  * libwireshark.dll, we need a special declaration.
34  */
35 WS_DLL_PUBLIC value_string_ext isup_message_type_value_acro_ext;
36 WS_DLL_PUBLIC value_string_ext q850_cause_code_vals_ext;
37 /*
38  * Export some definitions and value_string tables for other dissectors
39  */
40 
41 /* Definition of Parameter Types */
42 #define PARAM_TYPE_END_OF_OPT_PARAMS            0
43 #define PARAM_TYPE_CALL_REF                     1
44 #define PARAM_TYPE_TRANSM_MEDIUM_REQU           2
45 #define PARAM_TYPE_ACC_TRANSP                   3
46 #define PARAM_TYPE_CALLED_PARTY_NR              4
47 #define PARAM_TYPE_SUBSQT_NR                    5
48 #define PARAM_TYPE_NATURE_OF_CONN_IND           6
49 #define PARAM_TYPE_FORW_CALL_IND                7
50 #define PARAM_TYPE_OPT_FORW_CALL_IND            8
51 #define PARAM_TYPE_CALLING_PRTY_CATEG           9
52 #define PARAM_TYPE_CALLING_PARTY_NR            10
53 #define PARAM_TYPE_REDIRECTING_NR              11
54 #define PARAM_TYPE_REDIRECTION_NR              12
55 #define PARAM_TYPE_CONNECTION_REQ              13
56 #define PARAM_TYPE_INFO_REQ_IND                14
57 #define PARAM_TYPE_INFO_IND                    15
58 #define PARAM_TYPE_CONTINUITY_IND              16
59 #define PARAM_TYPE_BACKW_CALL_IND              17
60 #define PARAM_TYPE_CAUSE_INDICATORS            18
61 #define PARAM_TYPE_REDIRECTION_INFO            19
62 #define PARAM_TYPE_CIRC_GRP_SV_MSG_TYPE        21
63 #define PARAM_TYPE_RANGE_AND_STATUS            22
64 #define PARAM_TYPE_FACILITY_IND                24
65 #define PARAM_TYPE_CLSD_USR_GRP_ILOCK_CD       26
66 #define PARAM_TYPE_USER_SERVICE_INFO           29
67 #define PARAM_TYPE_SIGNALLING_POINT_CODE       30
68 #define PARAM_TYPE_USER_TO_USER_INFO           32
69 #define PARAM_TYPE_CONNECTED_NR                33
70 #define PARAM_TYPE_SUSP_RESUME_IND             34
71 #define PARAM_TYPE_TRANSIT_NETW_SELECT         35
72 #define PARAM_TYPE_EVENT_INFO                  36
73 #define PARAM_TYPE_CIRC_ASSIGN_MAP             37
74 #define PARAM_TYPE_CIRC_STATE_IND              38
75 #define PARAM_TYPE_AUTO_CONG_LEVEL             39
76 #define PARAM_TYPE_ORIG_CALLED_NR              40
77 #define PARAM_TYPE_OPT_BACKW_CALL_IND          41
78 #define PARAM_TYPE_USER_TO_USER_IND            42
79 #define PARAM_TYPE_ORIG_ISC_POINT_CODE         43
80 #define PARAM_TYPE_GENERIC_NOTIF_IND           44
81 #define PARAM_TYPE_CALL_HIST_INFO              45
82 #define PARAM_TYPE_ACC_DELIV_INFO              46
83 #define PARAM_TYPE_NETW_SPECIFIC_FACLTY        47
84 #define PARAM_TYPE_USER_SERVICE_INFO_PR        48
85 #define PARAM_TYPE_PROPAG_DELAY_COUNTER        49
86 #define PARAM_TYPE_REMOTE_OPERATIONS           50
87 #define PARAM_TYPE_SERVICE_ACTIVATION          51
88 #define PARAM_TYPE_USER_TELESERV_INFO          52
89 #define PARAM_TYPE_TRANSM_MEDIUM_USED          53
90 #define PARAM_TYPE_CALL_DIV_INFO               54
91 #define PARAM_TYPE_ECHO_CTRL_INFO              55
92 #define PARAM_TYPE_MSG_COMPAT_INFO             56
93 #define PARAM_TYPE_PARAM_COMPAT_INFO           57
94 #define PARAM_TYPE_MLPP_PRECEDENCE             58
95 #define PARAM_TYPE_MCID_REQ_IND                59
96 #define PARAM_TYPE_MCID_RSP_IND                60
97 #define PARAM_TYPE_HOP_COUNTER                 61
98 #define PARAM_TYPE_TRANSM_MEDIUM_RQUR_PR       62
99 #define PARAM_TYPE_LOCATION_NR                 63
100 #define PARAM_TYPE_REDIR_NR_RSTRCT             64
101 #define PARAM_TYPE_CALL_TRANS_REF              67
102 #define PARAM_TYPE_LOOP_PREV_IND               68
103 #define PARAM_TYPE_CALL_TRANS_NR               69
104 #define PARAM_TYPE_CCSS                        75
105 #define PARAM_TYPE_FORW_GVNS                   76
106 #define PARAM_TYPE_BACKW_GVNS                  77
107 #define PARAM_TYPE_REDIRECT_CAPAB              78
108 #define PARAM_TYPE_NETW_MGMT_CTRL              91
109 #define PARAM_TYPE_CORRELATION_ID             101
110 #define PARAM_TYPE_SCF_ID                     102
111 #define PARAM_TYPE_CALL_DIV_TREAT_IND         110
112 #define PARAM_TYPE_CALLED_IN_NR               111
113 #define PARAM_TYPE_CALL_OFF_TREAT_IND         112
114 #define PARAM_TYPE_CHARGED_PARTY_IDENT        113
115 #define PARAM_TYPE_CONF_TREAT_IND             114
116 #define PARAM_TYPE_DISPLAY_INFO               115
117 #define PARAM_TYPE_UID_ACTION_IND             116
118 #define PARAM_TYPE_UID_CAPAB_IND              117
119 #define PARAM_TYPE_REDIRECT_COUNTER           119
120 #define PARAM_TYPE_APPLICATON_TRANS           120
121 #define PARAM_TYPE_COLLECT_CALL_REQ           121
122 #define PARAM_TYPE_CALLING_GEODETIC_LOCATION  129     /* ANSI is the same */
123 #define PARAM_TYPE_GENERIC_NR                 192
124 #define PARAM_TYPE_GENERIC_DIGITS             193
125 #define PARAM_TYPE_JURISDICTION               196
126 #define PARAM_TYPE_GENERIC_NAME               199
127 #define PARAM_TYPE_ORIG_LINE_INFO             234
128 #define PARAM_TYPE_CHARGE_NR                  235
129 
130 #define ANSI_ISUP_PARAM_TYPE_OPER_SERV_INF   0xC2  /* 194 */
131 #define ANSI_ISUP_PARAM_TYPE_EGRESS          0xC3  /* 195 */
132 #define ANSI_ISUP_PARAM_TYPE_JURISDICTION    0xC4  /* 196 */
133 #define ANSI_ISUP_PARAM_TYPE_CARRIER_ID      0xC5  /* 197 */
134 #define ANSI_ISUP_PARAM_TYPE_BUSINESS_GRP    0xC6  /* 198 */
135 #define ANSI_ISUP_PARAM_TYPE_GENERIC_NAME    0xC7  /* 199*/
136 #define ANSI_ISUP_PARAM_TYPE_NOTIF_IND       0xE1  /* 225 */
137 
138 #define ANSI_ISUP_PARAM_TYPE_CG_CHAR_IND      229
139 #define ANSI_ISUP_PARAM_TYPE_CVR_RESP_IND     230
140 #define ANSI_ISUP_PARAM_TYPE_OUT_TRK_GRP_NM   231
141 #define ANSI_ISUP_PARAM_TYPE_CI_NAME_IND      232
142 #define ANSI_ISUP_PARAM_CLLI_CODE             233
143 
144 #define ANSI_ISUP_PARAM_ORIG_LINE_INF        0xEA  /* 234 */
145 #define ANSI_ISUP_PARAM_CHRG_NO              0xEB  /* 235 */
146 #define ANSI_ISUP_PARAM_SERV_CODE_IND        0xEC  /* 236 */
147 #define ANSI_ISUP_PARAM_SPEC_PROC_REQ        0xED  /* 237 */
148 #define ANSI_ISUP_PARAM_CARRIER_SEL_INF      0xEE  /* 238 */
149 #define ANSI_ISUP_PARAM_NET_TRANS            0xEF  /* 239 */
150 
151 extern const value_string isup_parameter_type_value[];
152 
153 extern value_string_ext isup_transmission_medium_requirement_value_ext;
154 extern value_string_ext bearer_network_connection_characteristics_vals_ext;
155 extern value_string_ext x213_afi_value_ext;
156 
157 WS_DLL_PUBLIC value_string_ext isup_calling_partys_category_value_ext;
158 /*
159  * Export dissection of some parameters
160  */
161 void dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *parameter_tree);
162 WS_DLL_PUBLIC
163 void dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
164 WS_DLL_PUBLIC
165 void dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
166 WS_DLL_PUBLIC
167 void dissect_isup_calling_geodetic_location_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item _U_);
168 void dissect_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
169 WS_DLL_PUBLIC
170 void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
171 WS_DLL_PUBLIC
172 void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
173 WS_DLL_PUBLIC
174 void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
175 
176 void dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
177 
178 void dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
179 void dissect_isup_generic_digits_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item _U_);
180 
181 void dissect_japan_isup_additonal_user_cat(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item);
182 extern int dissect_codec_mode(proto_tree *tree, tvbuff_t *tvb, int offset, int len);
183 
184 #endif  /* PACKET_ISUP_H */
185