Merged revisions 88719 via svnmerge from
[asterisk/asterisk.git] / include / asterisk / srv.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Mark Spencer <markster@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19 /*
20  * DNS SRV record support
21  */
22
23 #ifndef _ASTERISK_SRV_H
24 #define _ASTERISK_SRV_H
25
26 /*!
27   \file srv.h
28   \brief Support for DNS SRV records, used in to locate SIP services.
29   \note Note: This SRV record support is very minimal; it will only
30         return the first (lowest priority) answer that is received, and
31         has no provisions for the 'weight' elements of the records or
32         retrying if the first returned result fails.
33 */
34
35 /*! Lookup entry in SRV records Returns 1 if found, 0 if not found, -1 on hangup 
36         Only do SRV record lookup if you get a domain without a port. If you get a port #, it's a DNS host name.
37 */
38 /*!     \param  chan Ast channel
39         \param  host host name (return value)
40         \param  hostlen Length of string "host"
41         \param  port Port number (return value)
42         \param service Service tag for SRV lookup (like "_sip._udp" or "_stun._udp"
43 */
44 extern int ast_get_srv(struct ast_channel *chan, char *host, int hostlen, int *port, const char *service);
45
46 #endif /* _ASTERISK_SRV_H */