mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-03 19:16:46 +00:00
This change enables DNS client support within PJSIP. System nameservers are automatically discovered using res_init or res_ninit. If this fails then PJSIP will resort to using gethostbyname for resolution. By enabling this support we gain SRV support, failover, and weight support. (closes issue ASTERISK-23435) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3343/ ........ Merged revisions 410795 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
43 lines
1.5 KiB
C
43 lines
1.5 KiB
C
/*
|
|
* Asterisk -- An open source telephony toolkit.
|
|
*
|
|
* Written by Thorsten Lockert <tholo@trollphone.org>
|
|
*
|
|
* Funding provided by Troll Phone Networks AS
|
|
*
|
|
* See http://www.asterisk.org for more information about
|
|
* the Asterisk project. Please do not directly contact
|
|
* any of the maintainers of this project for assistance;
|
|
* the project provides a web site, mailing lists and IRC
|
|
* channels for your use.
|
|
*
|
|
* This program is free software, distributed under the terms of
|
|
* the GNU General Public License Version 2. See the LICENSE file
|
|
* at the top of the source tree.
|
|
*/
|
|
|
|
/*! \file
|
|
* \brief DNS support for Asterisk
|
|
* \author Thorsten Lockert <tholo@trollphone.org>
|
|
*/
|
|
|
|
#ifndef _ASTERISK_DNS_H
|
|
#define _ASTERISK_DNS_H
|
|
|
|
/*! \brief Perform DNS lookup (used by DNS, enum and SRV lookups)
|
|
\param context
|
|
\param dname Domain name to lookup (host, SRV domain, TXT record name)
|
|
\param class Record Class (see "man res_search")
|
|
\param type Record type (see "man res_search")
|
|
\param callback Callback function for handling DNS result
|
|
\note Asterisk DNS is synchronus at this time. This means that if your DNS
|
|
services does not work, Asterisk may lock while waiting for response.
|
|
*/
|
|
int ast_search_dns(void *context, const char *dname, int class, int type,
|
|
int (*callback)(void *context, unsigned char *answer, int len, unsigned char *fullanswer));
|
|
|
|
/*! \brief Retrieve the configured nameservers of the system */
|
|
struct ao2_container *ast_dns_get_nameservers(void);
|
|
|
|
#endif /* _ASTERISK_DNS_H */
|