func_srv and explicit specification of a remote IP for SIP.
authorMark Michelson <mmichelson@digium.com>
Fri, 9 Apr 2010 14:37:50 +0000 (14:37 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 9 Apr 2010 14:37:50 +0000 (14:37 +0000)
commit6cad0f1602c1e07fcef98714281ae4d4cedb7e09
treea4229d9951584abfc017622e1a74d2d358d9edf5
parent0f01ace7af23550f05619ef5dc61f0537f93a564
func_srv and explicit specification of a remote IP for SIP.

From Review Board:
There are two interrelated changes here.

First, there is the introduction of func_srv. This adds two new read-only
dialplan functions, SRVQUERY and SRVRESULT. They work very similarly to the
ENUMQUERY and ENUMRESULT functions, except that this allows one to query SRV
records instead. In order to facilitate this work, I added a couple of new API
calls to srv.h. ast_srv_get_record_count tells the number of records returned
by an SRV lookup. This number is calculated at the time of the SRV lookup.
ast_srv_get_nth_record allows one to get a numbered SRV record.

Second, there is the modification to chan_sip that allows one to specify a
hostname or IP address (along with a port) to send an outgoing INVITE to when
dialing a SIP peer. This goes hand-in-hand with func_srv. You can query SRV
records and then use the host and port from the results to dial via a specific
host instead of what is configured in sip.conf.

Review: https://reviewboard.asterisk.org/r/608
SWP-1200

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
channels/chan_sip.c
funcs/func_srv.c [new file with mode: 0644]
include/asterisk/srv.h
main/srv.c