From: David Vossel Date: Fri, 13 Aug 2010 18:58:10 +0000 (+0000) Subject: Merged revisions 282235 via svnmerge from X-Git-Tag: 1.8.0-beta4~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fbfafb59bab28fa5f851f938bfbc3e973ebf4826;p=thirdparty%2Fasterisk.git Merged revisions 282235 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r282235 | dvossel | 2010-08-13 13:54:53 -0500 (Fri, 13 Aug 2010) | 16 lines 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 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@282236 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index c0d0924702..7fe6a635ae 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -11660,23 +11660,26 @@ static void state_notify_build_xml(int state, int full, const char *exten, const ast_channel_unlock(caller); caller = ast_channel_unref(caller); } + + /* 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, + "\n" + "\n" + /* See the limitations of this above. Luckily the phone seems to still be + happy when these values are not correct. */ + "%s\n" + "\n" + "\n" + "\n" + "%s\n" + "\n" + "\n", + exten, p->callid, local_display, local_target, local_target, mto, mto); + } else { + ast_str_append(tmp, 0, "\n", 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, - "\n" - "\n" - /* See the limitations of this above. Luckily the phone seems to still be - happy when these values are not correct. */ - "%s\n" - "\n" - "\n" - "\n" - "%s\n" - "\n" - "\n", - exten, p->callid, local_display, local_target, local_target, mto, mto); } else { ast_str_append(tmp, 0, "", exten); }