1 /* packet-q931.h 2 * Declarations of exported routines and tables for Q.931 and Q.2931 frame 3 * disassembly 4 * Guy Harris <guy@alum.mit.edu> 5 * 6 * Wireshark - Network traffic analyzer 7 * By Gerald Combs <gerald@wireshark.org> 8 * Copyright 1998 9 * 10 * SPDX-License-Identifier: GPL-2.0-or-later 11 */ 12 13 #ifndef __PACKET_Q931_H__ 14 #define __PACKET_Q931_H__ 15 16 #include "ws_symbol_export.h" 17 18 WS_DLL_PUBLIC void dissect_q931_bearer_capability_ie(tvbuff_t *, int, int, 19 proto_tree *); 20 21 extern void dissect_q931_cause_ie(tvbuff_t *, int, int, 22 proto_tree *, int, guint8 *,const value_string *); 23 24 extern void dissect_q931_progress_indicator_ie(tvbuff_t *, int, int, 25 proto_tree *); 26 27 WS_DLL_PUBLIC void dissect_q931_high_layer_compat_ie(tvbuff_t *, int, int, 28 proto_tree *); 29 30 extern void dissect_q931_user_user_ie(tvbuff_t *tvb, packet_info *pinfo, int offset, int len, 31 proto_tree *tree); 32 33 extern value_string_ext q931_cause_location_vals_ext; 34 35 typedef struct _q931_packet_info { 36 gchar *calling_number; 37 gchar *called_number; 38 guint8 cause_value; 39 gint32 crv; 40 guint8 message_type; 41 } q931_packet_info; 42 43 /* 44 * the following allows TAP code access to the messages 45 * without having to duplicate it. With MSVC and a 46 * libwireshark.dll, we need a special declaration. 47 */ 48 WS_DLL_PUBLIC value_string_ext q931_cause_code_vals_ext; 49 WS_DLL_PUBLIC const value_string q931_message_type_vals[]; 50 51 extern value_string_ext q931_protocol_discriminator_vals_ext; 52 extern value_string_ext q931_progress_description_vals_ext; 53 extern value_string_ext q931_call_state_vals_ext; 54 55 /* 56 * Q.931 message types. 57 */ 58 #define Q931_ESCAPE 0x00 59 #define Q931_ALERTING 0x01 60 #define Q931_CALL_PROCEEDING 0x02 61 #define Q931_PROGRESS 0x03 62 #define Q931_SETUP 0x05 63 #define Q931_GROUIP_SERVICE 0x06 64 #define Q931_CONNECT 0x07 65 #define Q931_RESYNC_REQ 0x08 66 #define Q931_RESYNC_RESP 0x09 67 #define Q931_VERSION 0x0A 68 #define Q931_GROUIP_SERVICE_ACK 0x0B 69 #define Q931_SETUP_ACK 0x0D 70 #define Q931_CONNECT_ACK 0x0F 71 #define Q931_USER_INFORMATION 0x20 72 #define Q931_SUSPEND_REJECT 0x21 73 #define Q931_RESUME_REJECT 0x22 74 #define Q931_HOLD 0x24 75 #define Q931_SUSPEND 0x25 76 #define Q931_RESUME 0x26 77 #define Q931_HOLD_ACK 0x28 78 #define Q931_SUSPEND_ACK 0x2D 79 #define Q931_RESUME_ACK 0x2E 80 #define Q931_HOLD_REJECT 0x30 81 #define Q931_RETRIEVE 0x31 82 #define Q931_RETRIEVE_ACK 0x33 83 #define Q931_RETRIEVE_REJECT 0x37 84 #define Q931_DETACH 0x40 85 #define Q931_DISCONNECT 0x45 86 #define Q931_RESTART 0x46 87 #define Q931_DETACH_ACKNOWLEDGE 0x48 88 #define Q931_RELEASE 0x4D 89 #define Q931_RESTART_ACK 0x4E 90 #define Q931_RELEASE_COMPLETE 0x5A 91 #define Q931_SEGMENT 0x60 92 #define Q931_FACILITY 0x62 93 #define Q931_REGISTER 0x64 94 #define Q931_FACILITY_ACKNOWLEDGE 0x6A 95 #define Q931_NOTIFY 0x6E 96 #define Q931_FACILITY_REJECT 0x72 97 #define Q931_STATUS_ENQUIRY 0x75 98 #define Q931_CONGESTION_CONTROL 0x79 99 #define Q931_INFORMATION 0x7B 100 #define Q931_STATUS 0x7D 101 102 /* 103 * Maintenance message types. 104 * AT&T TR41459, Nortel NIS A211-1, Telcordia SR-4994, ... 105 */ 106 #define DMS_SERVICE_ACKNOWLEDGE 0x07 107 #define DMS_SERVICE 0x0F 108 109 #endif 110