13 #ifndef __PACKET_IAX2_H__
14 #define __PACKET_IAX2_H__
20 #define IAX_PROTO_VERSION 2
22 #define IAX_MAX_CALLS 32768
24 #define IAX_FLAG_FULL 0x8000
26 #define IAX_FLAG_RETRANS 0x8000
28 #define IAX_FLAG_SC_LOG 0x80
30 #define IAX_MAX_SHIFT 0x1F
34 #define AST_FRAME_DTMF_END 1
35 #define AST_FRAME_VOICE 2
36 #define AST_FRAME_VIDEO 3
37 #define AST_FRAME_CONTROL 4
38 #define AST_FRAME_NULL 5
39 #define AST_FRAME_IAX 6
40 #define AST_FRAME_TEXT 7
41 #define AST_FRAME_IMAGE 8
42 #define AST_FRAME_HTML 9
43 #define AST_FRAME_CNG 10
44 #define AST_FRAME_MODEM 11
45 #define AST_FRAME_DTMF_BEGIN 12
50 #define IAX_COMMAND_NEW 1
51 #define IAX_COMMAND_PING 2
52 #define IAX_COMMAND_PONG 3
53 #define IAX_COMMAND_ACK 4
54 #define IAX_COMMAND_HANGUP 5
55 #define IAX_COMMAND_REJECT 6
56 #define IAX_COMMAND_ACCEPT 7
57 #define IAX_COMMAND_AUTHREQ 8
58 #define IAX_COMMAND_AUTHREP 9
59 #define IAX_COMMAND_INVAL 10
60 #define IAX_COMMAND_LAGRQ 11
61 #define IAX_COMMAND_LAGRP 12
62 #define IAX_COMMAND_REGREQ 13
63 #define IAX_COMMAND_REGAUTH 14
64 #define IAX_COMMAND_REGACK 15
65 #define IAX_COMMAND_REGREJ 16
66 #define IAX_COMMAND_REGREL 17
67 #define IAX_COMMAND_VNAK 18
68 #define IAX_COMMAND_DPREQ 19
69 #define IAX_COMMAND_DPREP 20
70 #define IAX_COMMAND_DIAL 21
71 #define IAX_COMMAND_TXREQ 22
72 #define IAX_COMMAND_TXCNT 23
73 #define IAX_COMMAND_TXACC 24
74 #define IAX_COMMAND_TXREADY 25
75 #define IAX_COMMAND_TXREL 26
76 #define IAX_COMMAND_TXREJ 27
77 #define IAX_COMMAND_QUELCH 28
78 #define IAX_COMMAND_UNQUELCH 29
79 #define IAX_COMMAND_POKE 30
80 #define IAX_COMMAND_PAGE 31
81 #define IAX_COMMAND_MWI 32
82 #define IAX_COMMAND_UNSUPPORT 33
83 #define IAX_COMMAND_TRANSFER 34
84 #define IAX_COMMAND_PROVISION 35
85 #define IAX_COMMAND_FWDOWNL 36
86 #define IAX_COMMAND_FWDATA 37
87 #define IAX_COMMAND_TXMEDIA 38
88 #define IAX_COMMAND_RTKEY 39
89 #define IAX_COMMAND_CALLTOKEN 40
91 #define IAX_DEFAULT_REG_EXPIRE 60
93 #define IAX_LINGER_TIMEOUT 10
95 #define IAX_DEFAULT_PORTNO 4569
98 #define IAX_IE_CALLED_NUMBER 1
99 #define IAX_IE_CALLING_NUMBER 2
100 #define IAX_IE_CALLING_ANI 3
101 #define IAX_IE_CALLING_NAME 4
102 #define IAX_IE_CALLED_CONTEXT 5
103 #define IAX_IE_USERNAME 6
104 #define IAX_IE_PASSWORD 7
105 #define IAX_IE_CAPABILITY 8
106 #define IAX_IE_FORMAT 9
107 #define IAX_IE_LANGUAGE 10
108 #define IAX_IE_VERSION 11
109 #define IAX_IE_ADSICPE 12
110 #define IAX_IE_DNID 13
111 #define IAX_IE_AUTHMETHODS 14
112 #define IAX_IE_CHALLENGE 15
113 #define IAX_IE_MD5_RESULT 16
114 #define IAX_IE_RSA_RESULT 17
115 #define IAX_IE_APPARENT_ADDR 18
116 #define IAX_IE_REFRESH 19
117 #define IAX_IE_DPSTATUS 20
118 #define IAX_IE_CALLNO 21
119 #define IAX_IE_CAUSE 22
120 #define IAX_IE_IAX_UNKNOWN 23
121 #define IAX_IE_MSGCOUNT 24
122 #define IAX_IE_AUTOANSWER 25
123 #define IAX_IE_MUSICONHOLD 26
124 #define IAX_IE_TRANSFERID 27
125 #define IAX_IE_RDNIS 28
126 #define IAX_IE_PROVISIONING 29
127 #define IAX_IE_AESPROVISIONING 30
128 #define IAX_IE_DATETIME 31
129 #define IAX_IE_DEVICETYPE 32
130 #define IAX_IE_SERVICEIDENT 33
131 #define IAX_IE_FIRMWAREVER 34
132 #define IAX_IE_FWBLOCKDESC 35
133 #define IAX_IE_FWBLOCKDATA 36
134 #define IAX_IE_PROVVER 37
135 #define IAX_IE_CALLINGPRES 38
136 #define IAX_IE_CALLINGTON 39
137 #define IAX_IE_CALLINGTNS 40
138 #define IAX_IE_SAMPLINGRATE 41
139 #define IAX_IE_CAUSECODE 42
140 #define IAX_IE_ENCRYPTION 43
141 #define IAX_IE_ENCKEY 44
142 #define IAX_IE_CODEC_PREFS 45
143 #define IAX_IE_RR_JITTER 46
144 #define IAX_IE_RR_LOSS 47
145 #define IAX_IE_RR_PKTS 48
146 #define IAX_IE_RR_DELAY 49
147 #define IAX_IE_RR_DROPPED 50
148 #define IAX_IE_RR_OOO 51
149 #define IAX_IE_VARIABLE 52
150 #define IAX_IE_OSPTOKEN 53
151 #define IAX_IE_CALLTOKEN 54
152 #define IAX_IE_CAPABILITY2 55
153 #define IAX_IE_FORMAT2 56
154 #define IAX_IE_DATAFORMAT 255
157 #define AST_CAUSE_UNALLOCATED 1
158 #define AST_CAUSE_NO_ROUTE_TRANSIT_NET 2
159 #define AST_CAUSE_NO_ROUTE_DESTINATION 3
160 #define AST_CAUSE_MISDIALLED_TRUNK_PREFIX 5
161 #define AST_CAUSE_CHANNEL_UNACCEPTABLE 6
162 #define AST_CAUSE_CALL_AWARDED_DELIVERED 7
163 #define AST_CAUSE_PRE_EMPTED 8
164 #define AST_CAUSE_NUMBER_PORTED_NOT_HERE 14
165 #define AST_CAUSE_NORMAL_CLEARING 16
166 #define AST_CAUSE_USER_BUSY 17
167 #define AST_CAUSE_NO_USER_RESPONSE 18
168 #define AST_CAUSE_NO_ANSWER 19
169 #define AST_CAUSE_SUBSCRIBER_ABSENT 20
170 #define AST_CAUSE_CALL_REJECTED 21
171 #define AST_CAUSE_NUMBER_CHANGED 22
172 #define AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23
173 #define AST_CAUSE_ANSWERED_ELSEWHERE 26
174 #define AST_CAUSE_DESTINATION_OUT_OF_ORDER 27
175 #define AST_CAUSE_INVALID_NUMBER_FORMAT 28
176 #define AST_CAUSE_FACILITY_REJECTED 29
177 #define AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY 30
178 #define AST_CAUSE_NORMAL_UNSPECIFIED 31
179 #define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION 34
180 #define AST_CAUSE_NETWORK_OUT_OF_ORDER 38
181 #define AST_CAUSE_NORMAL_TEMPORARY_FAILURE 41
182 #define AST_CAUSE_SWITCH_CONGESTION 42
183 #define AST_CAUSE_ACCESS_INFO_DISCARDED 43
184 #define AST_CAUSE_REQUESTED_CHAN_UNAVAIL 44
185 #define AST_CAUSE_FACILITY_NOT_SUBSCRIBED 50
186 #define AST_CAUSE_OUTGOING_CALL_BARRED 52
187 #define AST_CAUSE_INCOMING_CALL_BARRED 54
188 #define AST_CAUSE_BEARERCAPABILITY_NOTAUTH 57
189 #define AST_CAUSE_BEARERCAPABILITY_NOTAVAIL 58
190 #define AST_CAUSE_BEARERCAPABILITY_NOTIMPL 65
191 #define AST_CAUSE_CHAN_NOT_IMPLEMENTED 66
192 #define AST_CAUSE_FACILITY_NOT_IMPLEMENTED 69
193 #define AST_CAUSE_INVALID_CALL_REFERENCE 81
194 #define AST_CAUSE_INCOMPATIBLE_DESTINATION 88
195 #define AST_CAUSE_INVALID_MSG_UNSPECIFIED 95
196 #define AST_CAUSE_MANDATORY_IE_MISSING 96
197 #define AST_CAUSE_MESSAGE_TYPE_NONEXIST 97
198 #define AST_CAUSE_WRONG_MESSAGE 98
199 #define AST_CAUSE_IE_NONEXIST 99
200 #define AST_CAUSE_INVALID_IE_CONTENTS 100
201 #define AST_CAUSE_WRONG_CALL_STATE 101
202 #define AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE 102
203 #define AST_CAUSE_MANDATORY_IE_LENGTH_ERROR 103
204 #define AST_CAUSE_PROTOCOL_ERROR 111
205 #define AST_CAUSE_INTERWORKING 127
207 #define IAX_AUTH_PLAINTEXT (1 << 0)
208 #define IAX_AUTH_MD5 (1 << 1)
209 #define IAX_AUTH_RSA (1 << 2)
211 #define IAX_META_TRUNK 1
212 #define IAX_META_VIDEO 2
214 #define IAX_DPSTATUS_EXISTS (1 << 0)
215 #define IAX_DPSTATUS_CANEXIST (1 << 1)
216 #define IAX_DPSTATUS_NONEXISTANT (1 << 2)
217 #define IAX_DPSTATUS_IGNOREPAT (1 << 14)
218 #define IAX_DPSTATUS_MATCHMORE (1 << 15)
221 IAX2_MINI_VOICE_PACKET,
223 IAX2_MINI_VIDEO_PACKET,
237 voip_call_state callState;
238 const gchar *messageName;
239 const gchar *callingParty;
240 const gchar *calledParty;
241 const guint8 *payload_data;
247 conversation_type ctype;
Definition: packet-iax2.h:246
Definition: packet-iax2.h:229