Always relying on the responses when crossing NAT's are not a good

solution, it breaks communication.
Rizzo - you need to implement a configuration option for this 
code. It's good, but maybe should be off by default.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Olle Johansson 2007-11-15 12:21:57 +00:00
parent a4ce44bda4
commit 8740176dc3
1 changed files with 7 additions and 1 deletions

View File

@ -13810,7 +13810,13 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
gettag(req, "To", tag, sizeof(tag));
ast_string_field_set(p, theirtag, tag);
}
check_via_response(p, req);
/* This needs to be configurable on a channel/peer/user level,
not mandatory for all communication. Sadly enough, NAT implementations
are not so stable so we can always rely on these headers.
Temporarily disabled, while waiting for fix.
Fix assigned to Rizzo :-)
*/
/* check_via_response(p, req); */
if (p->relatedpeer && p->method == SIP_OPTIONS) {
/* We don't really care what the response is, just that it replied back.
Well, as long as it's not a 100 response... since we might