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


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to