Allow for "magic" pickups to work when we wish to ignore the context
authorMark Michelson <mmichelson@digium.com>
Wed, 4 Mar 2009 17:03:32 +0000 (17:03 +0000)
committerMark Michelson <mmichelson@digium.com>
Wed, 4 Mar 2009 17:03:32 +0000 (17:03 +0000)
When the subscription context for a call pickup subscription differs
from the context of the call pickup target, there's not an easy way
to divine what context should be used for the pickup. The way to work
around this is to use PICKUPMARK as the context for the pickup.

This has been documented in the sip.conf.sample file

(ABE-1708)

closes issue #14567
submitted by: alecdavis

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180155 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c
configs/sip.conf.sample

index 066cc3d..6051fa9 100644 (file)
@@ -18574,7 +18574,7 @@ static int do_magic_pickup(struct ast_channel *channel, const char *extension, c
                return -1;
        }
 
-       ast_str_set(&str, 0, "%s@%s", extension, context);
+       ast_str_set(&str, 0, "%s@%s", extension, sip_cfg.notifycid == IGNORE_CONTEXT ? "PICKUPMARK" : context);
 
        ast_debug(2, "About to call Pickup(%s)\n", str->str);
 
index a33ec7f..3ff56f8 100644 (file)
@@ -414,7 +414,10 @@ srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
                                 ; extension is ringing because multiple calls are incoming,
                                 ; only one will be used as the source of caller ID.  Specify
                                 ; 'ignore-context' to ignore the called context when looking
-                                ; for the caller's channel.  The default value is 'no.'
+                                ; for the caller's channel.  The default value is 'no.' Setting
+                                ; notifycid to 'ignore-context' also causes call-pickups attempted
+                                ; via SNOM's NOTIFY mechanism to set the context for the call pickup
+                                ; to PICKUPMARK.
 ;callcounter = yes              ; Enable call counters on devices. This can be set per
                                 ; device too.