Thu Jan 15 09:38:34 CST 2009 Bernhard Suttner <bernhard DOT suttner AT comdasys DOT com>

* sip_util.c: fix 484 respose to REFER in sip_response_terminates_dialog()

  Asterisk (v 1.2.7.1) does response with 484 if a client does send a refer
  with a @ReferTo header to an unknown number.  This is therefore not
  fundamentally wrong and the dialog should not be destroyed!



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11829 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2009-02-11 17:03:30 +00:00
parent 48b5844e30
commit 27a5a679be
2 changed files with 13 additions and 2 deletions

View File

@ -1 +1 @@
Wed Feb 11 11:00:10 CST 2009 Wed Feb 11 11:03:24 CST 2009

View File

@ -1164,14 +1164,25 @@ int sip_response_terminates_dialog(int response_code,
return 0; return 0;
case 484: /* Address Incomplete */ case 484: /* Address Incomplete */
case 485: /* Ambiguous */
/** @par 484 Address Incomplete and 485 Ambiguous /** @par 484 Address Incomplete and 485 Ambiguous
Similar to 404 and 410, these Similar to 404 and 410, these
responses came to a request whose Request-URI was provided by the responses came to a request whose Request-URI was provided by the
peer in a @Contact header field. Something has gone fundamentally peer in a @Contact header field. Something has gone fundamentally
wrong, and the dialog and all of its usages are destroyed. wrong, and the dialog and all of its usages are destroyed.
Asterisk (v 1.2.7.1) does response with 484 if a client does send a refer
with a @ReferTo header to an unknown number. This is therefore not
fundamentally wrong and the dialog should not be destroyed!
*/ */
if (method == sip_method_refer)
{
*return_graceful_terminate_usage = 0;
return 0;
}
case 485: /* Ambiguous */
return terminate_dialog; return terminate_dialog;
case 486: /** @par 486 Busy Here case 486: /** @par 486 Busy Here