[asterisk-users] Unable to pickup an extension

Jonas Kellens jonas.kellens at telenet.be
Fri Jun 18 01:53:51 CDT 2010


The only solution I see to have a PICKUPMARK-variable created on an 
incoming channel, and have the same PICKUPMARK on another created 
channel (the one that does the pickup) is to work with a database like 
MySQL.

I see no other way to separate multiple incoming channels (with their 
own PICKUPMARK) and have the different PICKUPMARK's available for the 
local Phone (with a new channel) that does the Pickup.

You see, I have multiple incoming lines, and the resulting Phones that 
need to ring are set dynamically. So it's perfectly possible that one 
time phone1 and phone2 ring, and the other time phone2 and phone4.

When I press the BLF-button on phone4, I do not want the incoming call 
that rang phone1/phone2.

So in my case, the local phone I'm trying to pick up determines the 
incoming channel that needs to be picked up.

I need some identifier inside the PICKUPMARK-variable that uniquely 
defines which phone/phones are rang. This info is simply not available 
on the channel that is doing the pickup.

I see no other option than working with a database to write this data into.


Jonas.


On 06/17/2010 10:14 PM, Philipp von Klitzing wrote:
> Hi!
>
>    
>> exten =>  **XX
>>
>> -->  This is a local extension, a certain phone which is monitored with
>> BLF-lights. So if I press the button I want the phone call that made this
>> phone ring, not another phone.
>>      
> This is NOT a local extension: It is a special local PICKUP extension
> (you even named it "[example-pickup]"). So, in order to pickup an inbound
> call that has been placed to ...67 you need to dial **67.
>
> Small note for SNOM phones: Those can be configured to prefix a monitored
> extions (67) with f.e. "**" so that the phone dials **67 when pressing a
> blinking BLF button.
>
>    
>> exten =>  1234567,n,Set(_PICKUPMARK=${EXTEN:5})
>>
>> -->  If I set the PICKUPMARK-variable the same as the DID that is called,
>> how can I know which DID that is set in the context [example-pickup] ??
>> My phone, who tries to do the pickup, creates a new channel, and the
>> PICKUPMARK-channel variable is of course not inherited to this newly
>> created channel...
>>      
> I am not sure I got your question, but the phone the does the pickup does
> not need to worry about inheritance of the PICKUPMARK variable - it
> _sets_ that variable itself (see code for **XX) and then ask Asterisk to
> search for a corresponding chanel with that value that is currently in
> RINGING state.
>
> The variable inheritance only matters for the device that is being
> called, in this case "IPphone-1", because that is the phone that you want
> to relieve of its inbound caller.
>
> In general: PICKUPMARK is for "directed pickup" where you know exactly
> which call you want. Look at *8 undirected pickup (and pickup groups) if
> you just want to "catch whatever just started calling me".
>
> Philipp
>
>
>    
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20100618/72da92c7/attachment-0001.htm 


More information about the asterisk-users mailing list