<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<font face="Helvetica, Arial, sans-serif">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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
When I press the BLF-button on phone4, I do not want the incoming call
that rang phone1/phone2.<br>
<br>
So in my case, the local phone I'm trying to pick up determines the
incoming channel that needs to be picked up.<br>
<br>
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.<br>
<br>
I see no other option than working with a database to write this data
into.<br>
<br>
<br>
Jonas.<br>
<br>
</font><br>
On 06/17/2010 10:14 PM, Philipp von Klitzing wrote:
<blockquote
 cite="mid:4C1A9E48.24736.24749E6@klitzing.pool.informatik.rwth-aachen.de"
 type="cite">
  <pre wrap="">Hi!

  </pre>
  <blockquote type="cite">
    <pre wrap="">exten =&gt; **XX

--&gt; 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.
    </pre>
  </blockquote>
  <pre wrap="">
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.

  </pre>
  <blockquote type="cite">
    <pre wrap="">exten =&gt; 1234567,n,Set(_PICKUPMARK=${EXTEN:5})

--&gt; 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... 
    </pre>
  </blockquote>
  <pre wrap="">
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


  </pre>
</blockquote>
</body>
</html>