blob: 7322e003398ef4c7ea6177f2c09344a7096465f7 [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001/* $Id$ */
2/*
3 * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#ifndef __PJNATH_ERRNO_H__
21#define __PJNATH_ERRNO_H__
22
23/**
24 * @file errno.h
25 * @brief PJNATH specific error codes
26 */
27
28#include <pj/errno.h>
29
30/**
31 * @defgroup PJNATH_ERROR NAT Helper Library Error Codes
32 * @brief PJNATH specific error code constants
33 * @ingroup PJNATH_STUN_BASE
34 * @{
35 */
36
37/**
38 * Start of error code relative to PJ_ERRNO_START_USER.
39 * This value is 370000.
40 */
41#define PJNATH_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*4)
42
43
44/************************************************************
45 * STUN MESSAGING ERRORS
46 ***********************************************************/
47
48/**
49 * Map STUN error code (300-699) into pj_status_t error space.
50 */
51#define PJ_STATUS_FROM_STUN_CODE(code) (PJNATH_ERRNO_START+code)
52
53/**
54 * @hideinitializer
55 * Invalid STUN message
56 */
57#define PJNATH_EINSTUNMSG (PJNATH_ERRNO_START+1) /* 370001 */
58/**
59 * @hideinitializer
60 * Invalid STUN message length.
61 */
62#define PJNATH_EINSTUNMSGLEN (PJNATH_ERRNO_START+2) /* 370002 */
63/**
64 * @hideinitializer
65 * Invalid or unexpected STUN message type
66 */
67#define PJNATH_EINSTUNMSGTYPE (PJNATH_ERRNO_START+3) /* 370003 */
68/**
69 * @hideinitializer
70 * STUN transaction has timed out
71 */
72#define PJNATH_ESTUNTIMEDOUT (PJNATH_ERRNO_START+4) /* 370004 */
73
74
75/**
76 * @hideinitializer
77 * Too many STUN attributes.
78 */
79#define PJNATH_ESTUNTOOMANYATTR (PJNATH_ERRNO_START+21) /* 370021 */
80/**
81 * @hideinitializer
82 * Invalid STUN attribute length.
83 */
84#define PJNATH_ESTUNINATTRLEN (PJNATH_ERRNO_START+22) /* 370022 */
85/**
86 * @hideinitializer
87 * Found duplicate STUN attribute.
88 */
89#define PJNATH_ESTUNDUPATTR (PJNATH_ERRNO_START+23) /* 370023 */
90
91/**
92 * @hideinitializer
93 * STUN FINGERPRINT verification failed
94 */
95#define PJNATH_ESTUNFINGERPRINT (PJNATH_ERRNO_START+30) /* 370030 */
96/**
97 * @hideinitializer
98 * Invalid STUN attribute after MESSAGE-INTEGRITY.
99 */
100#define PJNATH_ESTUNMSGINTPOS (PJNATH_ERRNO_START+31) /* 370031 */
101/**
102 * @hideinitializer
103 * Invalid STUN attribute after FINGERPRINT.
104 */
105#define PJNATH_ESTUNFINGERPOS (PJNATH_ERRNO_START+33) /* 370033 */
106
107
108/**
109 * @hideinitializer
110 * STUN (XOR-)MAPPED-ADDRESS attribute not found
111 */
112#define PJNATH_ESTUNNOMAPPEDADDR (PJNATH_ERRNO_START+40) /* 370040 */
113/**
114 * @hideinitializer
115 * STUN IPv6 attribute not supported
116 */
117#define PJNATH_ESTUNIPV6NOTSUPP (PJNATH_ERRNO_START+41) /* 370041 */
118/**
119 * @hideinitializer
120 * Invalid address family value in STUN message.
121 */
122#define PJNATH_EINVAF (PJNATH_ERRNO_START+42) /* 370042 */
123
124/**
125 * @hideinitializer
126 * Invalid STUN server or server not configured.
127 */
128#define PJNATH_ESTUNINSERVER (PJNATH_ERRNO_START+50) /* 370050 */
129
130
131/************************************************************
132 * STUN SESSION/TRANSPORT ERROR CODES
133 ***********************************************************/
134/**
135 * @hideinitializer
136 * STUN object has been destoyed.
137 */
138#define PJNATH_ESTUNDESTROYED (PJNATH_ERRNO_START+60) /* 370060 */
139
140
141/************************************************************
142 * ICE ERROR CODES
143 ***********************************************************/
144
145/**
146 * @hideinitializer
147 * ICE session not available
148 */
149#define PJNATH_ENOICE (PJNATH_ERRNO_START+80) /* 370080 */
150/**
151 * @hideinitializer
152 * ICE check is in progress
153 */
154#define PJNATH_EICEINPROGRESS (PJNATH_ERRNO_START+81) /* 370081 */
155/**
156 * @hideinitializer
157 * This error indicates that ICE connectivity check has failed, because
158 * there is at least one ICE component that does not have a valid check.
159 * Normally this happens because the network topology had caused the
160 * connectivity check to fail (e.g. no route between the two agents),
161 * however other reasons may include software incompatibility between
162 * the two agents, or incomplete candidates gathered by the agent(s).
163 */
164#define PJNATH_EICEFAILED (PJNATH_ERRNO_START+82) /* 370082 */
165/**
166 * @hideinitializer
167 * Default destination does not match any ICE candidates
168 */
169#define PJNATH_EICEMISMATCH (PJNATH_ERRNO_START+83) /* 370083 */
170/**
171 * @hideinitializer
172 * Invalid ICE component ID
173 */
174#define PJNATH_EICEINCOMPID (PJNATH_ERRNO_START+86) /* 370086 */
175/**
176 * @hideinitializer
177 * Invalid ICE candidate ID
178 */
179#define PJNATH_EICEINCANDID (PJNATH_ERRNO_START+87) /* 370087 */
180/**
181 * @hideinitializer
182 * Source address mismatch. This error occurs if the source address
183 * of the response for ICE connectivity check is different than
184 * the destination address of the request.
185 */
186#define PJNATH_EICEINSRCADDR (PJNATH_ERRNO_START+88) /* 370088 */
187/**
188 * @hideinitializer
189 * Missing ICE SDP attribute
190 */
191#define PJNATH_EICEMISSINGSDP (PJNATH_ERRNO_START+90) /* 370090 */
192/**
193 * @hideinitializer
194 * Invalid SDP "candidate" attribute
195 */
196#define PJNATH_EICEINCANDSDP (PJNATH_ERRNO_START+91) /* 370091 */
197/**
198 * @hideinitializer
199 * No host candidate associated with srflx. This error occurs when
200 * a server reflexive candidate is added without the matching
201 * host candidate.
202 */
203#define PJNATH_EICENOHOSTCAND (PJNATH_ERRNO_START+92) /* 370092 */
204/**
205 * @hideinitializer
206 * Controlled agent timed-out in waiting for the controlling agent to
207 * send nominated check after all connectivity checks have completed.
208 */
209#define PJNATH_EICENOMTIMEOUT (PJNATH_ERRNO_START+93) /* 370093 */
210
211/************************************************************
212 * TURN ERROR CODES
213 ***********************************************************/
214/**
215 * @hideinitializer
216 * Invalid or unsupported TURN transport.
217 */
218#define PJNATH_ETURNINTP (PJNATH_ERRNO_START+120) /* 370120 */
219
220
221
222/**
223 * @}
224 */
225
226#endif /* __PJNATH_ERRNO_H__ */