Merged revisions 197562 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r197562 | eliel | 2009-05-28 11:21:32 -0400 (Thu, 28 May 2009) | 13 lines Use the address we already know when reloading a peer with nat=yes. If we already have an address for a peer, and we are reloading the sip configuration, try to use that address to contact the peer, instead of getting it from the Contact. (closes issue #15194) Reported by: ibc Patches: sip.patch uploaded by eliel (license 64) Tested by: manwe ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@197621 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
7e7b82276d
commit
b733ebf8c3
|
@ -23992,10 +23992,13 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
|
|||
* address listed on the entry (or if it's 'dynamic'), then we need to
|
||||
* parse the entry to obtain the IP address, so a dynamic host can be
|
||||
* contacted immediately after reload (as opposed to waiting for it to
|
||||
* register once again). */
|
||||
* register once again). But if we have an address for this peer and NAT was
|
||||
* specified, use that address instead. */
|
||||
/* XXX May need to revisit the final argument; does the realtime DB store whether
|
||||
* the original contact was over TLS or not? XXX */
|
||||
__set_address_from_contact(fullcontact->str, &peer->addr, 0);
|
||||
if (!ast_test_flag(&peer->flags[0], SIP_NAT_ROUTE) || !peer->addr.sin_addr.s_addr) {
|
||||
__set_address_from_contact(fullcontact->str, &peer->addr, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (srvlookup && peer->dnsmgr == NULL) {
|
||||
|
|
Reference in New Issue