]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Thu Jan 15 09:38:34 CST 2009 Bernhard Suttner <bernhard DOT suttner AT comdasys...
authorMichael Jerris <mike@jerris.com>
Wed, 11 Feb 2009 17:03:30 +0000 (17:03 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 11 Feb 2009 17:03:30 +0000 (17:03 +0000)
  * 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

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c

index c47a8e95a4e6fe158a0a6a4280b8670a11444d95..f30fffd9d1758bed09ee678645aa72b7fe96bf9d 100644 (file)
@@ -1 +1 @@
-Wed Feb 11 11:00:10 CST 2009
+Wed Feb 11 11:03:24 CST 2009
index b553ed7fdb0df2eaba8a687188311f5ce650436b..cf470075a245564519a0a965a68fd3ebd0b08290 100644 (file)
@@ -1164,14 +1164,25 @@ int sip_response_terminates_dialog(int response_code,
     return 0;
 
   case 484: /* Address Incomplete */
-  case 485: /* Ambiguous */
     /** @par 484 Address Incomplete and 485 Ambiguous
 
       Similar to 404 and 410, these
       responses came to a request whose Request-URI was provided by the
       peer in a @Contact header field.  Something has gone fundamentally
       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;
 
   case 486: /** @par 486 Busy Here