[asterisk-commits] dvossel: branch 1.6.2 r282235 - /branches/1.6.2/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 13 13:55:55 CDT 2010


Author: dvossel
Date: Fri Aug 13 13:54:53 2010
New Revision: 282235

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=282235
Log:
only do magic pickup when notifycid is enabled

A new way of doing BLF pickup was introduced into 1.6.2.  This feature
adds a call-id value into the XML of a SIP_NOTIFY message sent to alert
a subscriber that a device is ringing.  This option should only be enabled
when the new 'notifycid' option is set... but this was not the case.  Instead
the call-id value was included for every RINGING Notify message, which
caused a regression for people who used other methods for call pickup.

(closes issue #17633)
Reported by: urosh
Patches:
      chan_sip.txt uploaded by urosh (license )
      blf_cid_issue.diff uploaded by dvossel (license 671)
Tested by: dvossel, urosh, okrief, alecdavis

Modified:
    branches/1.6.2/channels/chan_sip.c

Modified: branches/1.6.2/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/channels/chan_sip.c?view=diff&rev=282235&r1=282234&r2=282235
==============================================================================
--- branches/1.6.2/channels/chan_sip.c (original)
+++ branches/1.6.2/channels/chan_sip.c Fri Aug 13 13:54:53 2010
@@ -11319,23 +11319,24 @@
 					ast_channel_unlock(caller);
 					caller = NULL;
 				}
+				/* We create a fake call-id which the phone will send back in an INVITE
+				 * Replaces header which we can grab and do some magic with. */
+				ast_str_append(&tmp, 0, 
+						"<dialog id=\"%s\" call-id=\"pickup-%s\" direction=\"recipient\">\n"
+						"<remote>\n"
+						/* See the limitations of this above.  Luckily the phone seems to still be
+						   happy when these values are not correct. */
+						"<identity display=\"%s\">%s</identity>\n"
+						"<target uri=\"%s\"/>\n"
+						"</remote>\n"
+						"<local>\n"
+						"<identity>%s</identity>\n"
+						"<target uri=\"%s\"/>\n"
+						"</local>\n",
+						p->exten, p->callid, local_display, local_target, local_target, mto, mto);
+			} else {
+				ast_str_append(&tmp, 0, "<dialog id=\"%s\" direction=\"recipient\">\n", p->exten);
 			}
-
-			/* We create a fake call-id which the phone will send back in an INVITE
-			   Replaces header which we can grab and do some magic with. */
-			ast_str_append(&tmp, 0, 
-					"<dialog id=\"%s\" call-id=\"pickup-%s\" direction=\"recipient\">\n"
-					"<remote>\n"
-					/* See the limitations of this above.  Luckily the phone seems to still be
-					   happy when these values are not correct. */
-					"<identity display=\"%s\">%s</identity>\n"
-					"<target uri=\"%s\"/>\n"
-					"</remote>\n"
-					"<local>\n"
-					"<identity>%s</identity>\n"
-					"<target uri=\"%s\"/>\n"
-					"</local>\n",
-					p->exten, p->callid, local_display, local_target, local_target, mto, mto);
 		} else {
 			ast_str_append(&tmp, 0, "<dialog id=\"%s\">\n", p->exten);
 		}




More information about the asterisk-commits mailing list