app_directed_pickup does not work on sip to sip calls

app_directed_pickup does not allow me to pickup SIP to SIP calls.
SIP/A calls SIP/B and SIP/C attempts to directed pickup

It works with ZAP to SIP calls.
ZAP/A calls SIP/B and SIP/C can pickup successfully

Asterisk SVN-branch-1.4-r86502M

extensions.conf

exten = s-pickup,1,Pickup(${ARG1}@default)
exten = s-pickup,n,Pickup(${ARG1})
exten = s-pickup,n,Pickup(${ARG1}@numberplan-Full)
exten = s-pickup,n,Pickup(${ARG1}@macro-stdexten)
exten = s-pickup,n,Pickup(${ARG1}@PICKUPMARK)
exten = s-pickup,n,Pickup(${ARG1}@${PICKUPMARK})

-- Executing [s@macro-stdexten:4] Dial("Zap/1-1", "SIP/8884|20|tTwW") in new stack

Fails if calling from SIP phone to SIP phone

-- Executing [s-pickup@macro-pupifring:1] Pickup("SIP/4087-08faec20", "8884@default") in new stack

[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.
– Executing [s-pickup@macro-pupifring:2] Pickup(“SIP/4087-08faec20”, “8884”) in new stack
[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.
– Executing [s-pickup@macro-pupifring:3] Pickup(“SIP/4087-08faec20”, “8884@numberplan-Full”) in new stack
[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.
– Executing [s-pickup@macro-pupifring:4] Pickup(“SIP/4087-08faec20”, “8884@macro-stdexten”) in new stack
[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.
– Executing [s-pickup@macro-pupifring:5] Pickup(“SIP/4087-08faec20”, “8884@PICKUPMARK”) in new stack
[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.
– Executing [s-pickup@macro-pupifring:6] Pickup(“SIP/4087-08faec20”, “8884@”) in new stack
[Oct 22 08:46:31] NOTICE[3234]: app_directed_pickup.c:159 pickup_exec: No target channel found for 8884.

Works when called from ZAP channels
– Executing [s-pickup@macro-pupifring:1] Pickup(“SIP/4087-08fb2198”, “8884@default”) in new stack

I’m experiencing the same issue…

Version: Asterisk 1.4.18

[Mar 20 14:29:03] NOTICE[6639]: app_directed_pickup.c:159 pickup_exec: No target channel found for 202.
[Mar 20 14:29:09] NOTICE[6714]: app_directed_pickup.c:159 pickup_exec: No target channel found for 200.

I have the same problem.

My grandstream 2000’s give me an error code of 603. Im using the BLF buttons to try and answer the remote extension.

Mee to, is there any workaround?
Im running 1.4.18.1.

 -- Executing [#9145@AMS-ADMIN:1] Pickup("SIP/Zentrale1-09f0c670", "9145") in new stack
[Mar 27 10:16:14] NOTICE[9925]: app_directed_pickup.c:159 pickup_exec: No target channel found for 9145.
  == Auto fallthrough, channel 'SIP/Zentrale1-09f0c670' status is 'UNKNOWN'

I hope so because this is the last feature i need to get sorted before i move the building over to asterisk!

I still haven’t found a workaround…I’ve found other references to this problem, but the solutions did not apply…

One of the main things I keep finding is making sure the context is correct, but I AM calling from the correct context…

grrrrrrrr…

I tried adding

callgroup = 1
pickupgroup = 1

to all my users this morning but that made no difference either!

I’ve tried using it as a macro too, but this doesn’t work either.

[macro-directedPickup] exten => s,1,Pickup(${MACRO_EXTEN:2})

[default] exten = _**.,1,Macro(directedPickup)

Dialing *8 anwsers any ringing phone, either internal calls, incoming external sip and incoming from PSTN.

My problem has solved and it i’s working with 1.4.18.1.
You can only pickup calls under the same extension!

How do you mean???

Im trying to use the BLF button on my grandstream 2000, which dials **205

205 being the extension that its monitoring.

This is the error i recieve…
[Mar 27 12:38:24] NOTICE[3520]: app_directed_pickup.c:159 pickup_exec: No target channel found for 205.

All devices for pickup should be in the same context.
example.:

sip.conf

[SNOM1]
name=SNOM1
canreinvite=no
context=SIP-INTERN
dtmfmode=rfc2833
host=dynamic
type=friend
insecure=port,invite
secret=*****
username=SNOM1

[SNOM2]
name=SNOM2
canreinvite=no
context=SIP-INTERN
dtmfmode=rfc2833
host=dynamic
type=friend
insecure=port,invite
secret=*****
username=SNOM2

[SNOM3]
name=SNOM3
canreinvite=no
context=SIP-INTERN
dtmfmode=rfc2833
host=dynamic
type=friend
insecure=port,invite
secret=*****
username=SNOM3

As you can see, my context is SIP-INTERN.
Now you can pickup from any telephone.

PS:
You can only Pickup while it is ringing, not a established call i think!

Thanks for the input, when I get into the shop today I’ll see if your solution resolves the problem.

Cheers!

Thanks, managed to sort it in the end from a previous bug report.

i changed my macro to include contexts now.

exten=s,1,Pickup(${MACRO_EXTEN:2}) exten=s,n,Pickup(${MACRO_EXTEN:2}@default) exten=s,n,Pickup(${MACRO_EXTEN:2}@numberplan-custom-1) exten=s,n,Pickup(${MACRO_EXTEN:2}@numberplan-custom-2) exten=s,n,Pickup(${MACRO_EXTEN:2}@numberplan-custom-3)

Hmm my above solution doesn’t seem to want to work with ring groups. I’ve added the ring group context to the macro but still doesn’t seem to work.

I just had a similar problem to what you are all describing, and eventually stumbled on a good solution: use of the PICKUPMARK feature. I couldn’t find any examples of use, so I added what worked for me to www.voip-info.org and will also post my solution here (I came across this discussion while googling for my own issues).

This removes the need to have that drop-down list of Pickup(EXTEN@every_context_you_have) and has worked for intercepting internal and external calls on our system. Hope it helps!

; Call pick-up using *8xxx for extension xxx, first set the PICKUPMARK value
; to equal “xxx” then attempt a directed pickup to xxx@PICKUPMARK
exten => _*8.,1,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
exten => _*8.,n,Pickup(${EXTEN:2}@PICKUPMARK)

Mantaro, that looks like a fantastic solution, thanks! I’ll try putting that into the system today!

Hi

This works great , Shame the inbuilt help hasnt been updated to reflect the change :frowning:

This is not a fantastic solution.

Doing this is similar as a group pickup (*8), not a directed pickup.

Try it, you will see that for example if you are calling extension 40, you will be able to pickup dialing say **45.

With a true directed pickup, you can only pickup the phone you are trying to pickup. If not it is a group pickup, and if more than one phone is ringing, you will not know wich one will be picked up.

The problem does come from FreePBX ring groups or Follow Me and need to be corrected here i think.

Try to suppress follow me and ring groups and you will see that it works again.

The Custom Contexts freePBX module as well can cause problems, more easily manageable with the inclusion of the different contexts you are using inside the pickup definitions.

This is very basic stuff and should be corrected as soon as possible, before loosing time to try to make magic things like speech recognition, or changing asterisk command line words for esotheric reasons.

Users need those basic functions to work before we can speek them about more advanced one.

I’m still using Asterisk 1.2 and FreePBX 2.3, because as soon as i tried to upgrade, i’ve lost some basic functions.

Asterisk is certainly “the futur of telephony” but should take care a bit more about the present of users.

Olivier