Does Anyone Have Directed Call Pickup Working?
Just testing it for you quickly internally, Ext107 dials Ext100 and Ext108 uses directed pickup and is connected with Ext107
-- Executing [*8100@from-internal:1] NoOp("SIP/108-087b2d88", "Attempt to Pickup 100 by 108") in new stack
-- Executing [*8100@from-internal:2] Pickup("SIP/108-087b2d88", "100") in new stack
-- Executing [*8100@from-internal:3] Wait("SIP/108-087b2d88", "1") in new stack
-- SIP/108-087b2d88 answered SIP/107-087b0420
The default is **, we have changed it to *8 as that is what we used to have with our old PABX
In FreePBX it is this feature code: Call Pickup (Can be used with GXP-2000)
When there is more than one phone rining by dialing **(ext) (or in our situation because we've changed it from the default feature code it is *8(ext)) we can pickup that particular ringing extension...
But dialling ** (or *8 for us) when there is only 1 phone ringing also works.
before I used to hit **+ the extension and didn't have to do a ring group. my question is do i have to do a ring group. I would like to pick up any extention that I hear ringing. I tried **8 + ext+# , *8+ ext, **8+ext, ** +ext. # andnothing .. it tells me:"This feature is not aviailable" how do I enable it...
Please help
Thank you
Rrichiez
in feature codes (freepbx), try changing the ** to *8
then make sure that you have each extension set up with callgroup and pickupgroup,
to pickup a ringing phone in a call group the pickup group must be the same number.
ie: at my home, callgroup is 1 for each phone in the house.
i have all phones in the house set for 1 to pick up the other ringing phones at home.
*8 does the job when another phone is ringing and i pick up on a different extension.
In my apartment in the city, i have call group set for 2. Each phone there has pickup group of two.
My wireless phone i have set to callgroup 1-2 and pickup group 1-2 which allows me to pickup phones at both my house and apartment, and allows for my home/apartment phones to pickup from my wireless.
hope this information is useful. they do work well when configured correctly.
This works successfully for me in 2.2x and 2.4x: In feature codes (freepbx), try changing the ** to *8
then make sure that you have each extension set up with callgroup and pickupgroup,
to pickup a ringing phone in a call group the pickup group must be the same number.
ie: at my home, callgroup is 1 for each phone in the house.
i have all phones in the house set for 1 to pick up the other ringing phones at home.
*8 does the job when another phone is ringing and i pick up on a different extension.
In my apartment in the city, i have call group set for 2. Each phone there has pickup group of two.
My wireless phone i have set to callgroup 1-2 and pickup group 1-2 which allows me to pickup phones at both my house and apartment, and allows for my home/apartment phones to pickup from my wireless.
hope this information is useful. they do work well when configured correctly.
There is another thread on this here too:
http://www.trixbox.org/forums/trixbox-forums/help/directed-pickup...
It appears that a lot of helpful-minded people THINK that they have directed call pickup working in CE 2.4 when in fact they do not.
What they DO have working appears to be *8 pickup... Which picks up any ringing extension in a pickup group...
What I want is DIRECTED CALL PICKUP... The ability to pick up a PARTICULAR RINGING EXTENSION. This is accomplished in Asterisk by dialing "**ext#".
What this means is that if extension 203 is ringing... And if I'm at extension 201 and dial **203, I pick up the call coming in to 203..
What this DOES NOT MEAN is that if a call comes into 203 and I dial *8# from 201, I get the call... This feature is NOT "directed call pickup". This is group pickup. This feature picks up ANY ringing extension in a pickup group. If the call were ringing to 202 or 204 0r 205, then *8 would pick up the call from whatever extension were ringing.
I need the ability to pickup ONLY the extension I want to pickup...
If calls are coming in to 202, 204 and 205, I want the ability to dial **202 and pickup ONLY that call... I don't want to dial *8# and end up picking up the calls from 204 and 205.
I had this feature working in 2.2 and even in the 2.3 beta (2.4 RC4) But I can't get it working in 2.4!
Does anyone have this feature working in 2.4?
If working properly group pickup and directed pickup should use the same feature code.
There is some confusion over ** and *8. I don't think *8 corresponds to a feature in a default install. However, lots of sites use *8 as it was commonly used for older style PABXs.
If you dial **, you should pickup any ringing phone in your group
If you dial **(ext) you should pickup that particular ringing extension
Obviously sub in *8 if that is what you have changed it to.
Im kinda confused how do you do a call group or a pickup group i dont esee that option in freepbx.
when i call extention to extention i can pick up using ** but when its an outside call It tells me this feature is not available.
I think there is a bug. I need this feature available please anyone.
rrichiez
rrichiez, go to extensions, under device options, set your call group and pickup group to let's say 1. If all are in same group, you can pick each others calls by dialing *8. Play with that for starters, you can set different groups for let's say departments. If you need more help let me know.
Chris
For all those interested, there is a sample fix by Jynger in the ticket posted above by philippel that WORKS!!! I have tested it on both incoming SIP & ZAP channels. The fix I used is listed below.
Add the following lines to the bottom of '/etc/asterisk/extensions_custom.conf':
[app-pickup-custom]
exten => _**.,3,Pickup(${EXTEN:2}@from-did-direct)
And don't forget to restart Asterisk...
I tried the above and it is not working get an error in the log stating no target channel found for the ext. I am trying to pick up that is ringing from an outside call (see log snip below). I upgraded to ast 1.4.18 and I am runnng tb 2.4.2. I restarted asterisk for the above addition to the conf file should I have rebooted the server? 301 is the extension I tried to pickup from 286 - the intent is to have 301 as the overhead ring that can be picked up after hours from any extension. I tried this from both zap channel as well as a SIP trunk. Do I need to modify my @from-did-direct to say @from-trunk not sure what this is doing as I am new to this area of Asterisk.
[Feb 18 09:38:17] VERBOSE[28255] logger.c: Extension Changed 286[ext-local] new state InUse for Notify User 221
[Feb 18 09:38:17] VERBOSE[28255] logger.c: Extension Changed 286[ext-local] new state InUse for Notify User 298
[Feb 18 09:38:17] VERBOSE[10283] logger.c: -- Executing [**301@from-internal:1] NoOp("SIP/286-b7bd7c20", "Attempt to Pickup 301 by 286") in new stack
[Feb 18 09:38:17] VERBOSE[10283] logger.c: -- Executing [**301@from-internal:2] Pickup("SIP/286-b7bd7c20", "301") in new stack
[Feb 18 09:38:17] NOTICE[10283] app_directed_pickup.c: No target channel found for 301.
[Feb 18 09:38:17] VERBOSE[10283] logger.c: -- Executing [**301@from-internal:3] Pickup("SIP/286-b7bd7c20", "301@from-did-direct") in new stack
[Feb 18 09:38:17] NOTICE[10283] app_directed_pickup.c: No target channel found for 301.
[Feb 18 09:38:17] VERBOSE[10283] logger.c: -- Executing [**301@from-internal:4] Playback("SIP/286-b7bd7c20", "silence/1&feature-not-avail-line&silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer") in new stack
[Feb 18 09:38:17] VERBOSE[10283] logger.c: -- Playing 'silence/1' (language 'en')
[Feb 18 09:38:18] VERBOSE[10284] logger.c: == Connect attempt from '127.0.0.1' unable to authenticate
[Feb 18 09:38:18] VERBOSE[10283] logger.c: -- Playing 'feature-not-avail-line' (language 'en')
[Feb 18 09:38:20] VERBOSE[28255] logger.c: Extension Changed 286[ext-local] new state Idle for Notify User 221
[Feb 18 09:38:20] VERBOSE[28255] logger.c: Extension Changed 286[ext-local] new state Idle for Notify User 298
[Feb 18 09:38:20] VERBOSE[10283] logger.c: == Spawn extension (from-internal, **301, 4) exited non-zero on 'SIP/286-b7bd7c20'
[Feb 18 09:38:20] VERBOSE[10283] logger.c: -- Executing [h@from-internal:1] Macro("SIP/286-b7bd7c20", "hangupcall") in new stack
[Feb 18 09:38:20] VERBOSE[10283] logger.c: -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/286-b7bd7c20", "w") in new stack
[Feb 18 09:38:20] DEBUG[10283] app_macro.c: Executed application: ResetCDR
paulv,
the extensions_custom.conf will not override extensions_additional.conf which comes before it. You need to use the extensions_override_freepbx.conf file. You can always check to see if your attempted change is being seen by asterisk by typing "show dialplan context-name" at the cli to see what Asterisk is really planning on executing.
Feeling adventurous, I took the initiative (and Philippe's advice) and added the follwing to my extensions_override_freepbx.conf file as well as to my extensions_custom.conf file:
[app-pickup-custom]
exten => _**.,3,Pickup(${EXTEN:2}@from-did-direct)
Back in business. Thanks!
I dont able to pickup a call from the external (zap chanel). In my case the extarnal calls go t the front dest by a ring group (600). The phone (Aastra9133i) have 2 ext setup (226,230) to give the time at the Receptionniste to put the call on hold and take the second one. But if the Receptionniste is not at her desk the rest of the staff are not able to pickup the call. They have the message ''feature not availlable...''
I do this :
[app-pickup-custom]
exten => _**.,3,Pickup(${EXTEN:2}@from-did-direct)
in both files : extensions_override_freepbx.conf file as well as to my extensions_custom.conf file.
see exemple below
(Note : the 2 ext. (226 and 230) are ine a ring group.)
Thank you.
Nick
-- Executing [s@macro-dial:7] Dial("Zap/1-1", "SIP/230&SIP/226|20|trM(auto-blkvm)") in new stack
-- Called 230
-- Called 226
-- SIP/230-08c968a0 is ringing
-- SIP/226-08b957d0 is ringing
-- Executing [**230@from-internal:1] NoOp("SIP/225-08ca5258", "Attempt to Pickup 230 by 225") in new stack
-- Executing [**230@from-internal:2] Pickup("SIP/225-08ca5258", "230") in new stack
-- Executing [**230@from-internal:3] Pickup("SIP/225-08ca5258", "230@from-did-direct") in new stack
-- Executing [**230@from-internal:4] Playback("SIP/225-08ca5258", "silence/1&feature-not-avail-line&silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer") in new stack
--
--
--
--
TB2.4 - FreePbx 2.4 - *1.4.18 - TDM04B
Seems that I have the same problem as zeusgr and nickreadma.
If an inbound call is routed directly to an extension, directed call pickup works (had to apply the "@from-direct-did" fix as mentioned few posts above)
But if an inbound call is routed to a ring group, pickuping a call is not possible. Tried different contexts but without success.
Anyone got it working?
trixbox 2.6.0.5; freepbx 2.4
After my 'Directed Call Pickup' feature dumped on me again, (only to find out afterwards it was my doing), I did some research and came up with this simpler more effective dialplan.
This updated dialplan gets asterisk to find the first ringing channel that is ringing the extension and picks up. Basically, this makes asterisk search for which ever context the ringing extension is in using the special context name 'PICKUPMARK'. Instead of the need for multiple 'Pickup(${EXTEN:2}@every_context_you_have' lines. Works for both internal & external calls on my system so far.
Just modify your [app-pickup] context in 'extensions_additional.conf' to:
[app-pickup]
include => app-pickup-custom
exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
exten => _**.,n,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
exten => _**.,n,Pickup(${EXTEN:2}@PICKUPMARK)
This ?MAY? solve the ring groups not being able to pickup due to not knowing which context those ringing extensions are in.
My Bad!
Place the code in 'extensions_override_freepbx.conf' as reminded by KodaK! You will need to paste the COMPLETE dialplan as listed into that file. Don't forget to reload or restart asterisk to pickup the new dialplan!
If you want to check what context will be executed, to verify your work, enter the following command in the asterisk cli:
dialplan show app-pickup
Hi all,
I tried the code suggested by rstebih but with it, the directed pickup **EXT behaves exactly like the "blind" *8 group pickup. To confirm this I've checked that when an extension is ringing, if I dial **WHICHEVEREXT I always pickup the ringing one.
My PARTIAL solution (it doesn't work for extensions ringing for a call to a group or a queue but only for direct calls from other extensions or from dialing during IVR from external) is:
[app-pickup-custom]
exten => _**.,3,Pickup(${EXTEN:2}@from-did-direct)
exten => _**.,n,Pickup(${EXTEN:2}@from-internal-additional-CUSTOM1)
exten => _**.,n,Pickup(${EXTEN:2}@from-internal-additional-CUSTOM2)
exten => _**.,n,Pickup(${EXTEN:2}@from-internal-additional-CUSTOM3)
"from-internal-additional-CUSTOMx" are my internal manual custom contexts to allow extensions call with specific trunks.
As stated this doesn't work when the extension is ringing for a call to its group or queue.
Has anyone a solution for picking a call to an extension coming from a group or queue, only by using **EXT
Regards
Rocco77
I think that it is a problem i have reported to the freePBX forum a long time ago, when version 2.3 came to life.
I've found that the new V2 ring strategy had broken the call pickup.
Some tests i've made today have shown that upgrading asterisk to version 1.20 destroyed as well call pickup with V1 ring strategy.
The problem exhibit not only with ring group, but with follow me as well.
I think that the FreePBX code would need to be reworked for call pickup to work again, as it is not possible to use a modern telephone system without this function.
I would be interested to know if this is working fine in the commercial version of Trixbox Pro.
beh theres confusion about this..
Theres always otherways to get things accomplished when using asterisk.
The *8 originaly came from old trixbox (a@h)
Its not used anymore unless your manually trying to do so..
This is what you can do to get call pickup working across the board:
1)Disable the callpickup feature on the features codes page of
trixbox in order to make a custom pickup extension.
2) Add the following to address the call pickup issues:
FILE:
/etc/asterisk/features_general_custom.conf
CONTAINS:
pickupexten=**
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=--==-=-=-=-=-
FILE:
/etc/asterisk/extensions_custom.conf
CONTAINS:
[from-internal-custom]
exten => _**.,1,Pickup(${EXTEN:2})
exten => _**.,n,Pickup(${EXTEN:2}@ext-group)
exten => _**.,n,Pickup(${EXTEN:2}@ext-local)
exten => _**.,n,Pickup(${EXTEN:2}@from-trunk)
exten => _**.,n,Pickup(${EXTEN:2}@from-pstn)
exten => _**.,n,Pickup(${EXTEN:2}@from-internal)
exten => _**.,n,Pickup(${EXTEN:2}@from-did-direct)
-=-=-=-=-=-=---=--=-=-=-=-=-=-=-=-=-==--==-=-=-=-=-=-
PM me if you have any issues.
Thanks
Christopher Brown
trixbox support
see the ticket listed above, I don't think that is going to work for all cases still, for example, in the case of a ring group.
Example, ringgoup 600 rings and your extension 300 is part of that group. So you press **300 (or your phone's blf firmware automagically does that for you). Call Pickup does not see 300 ringing, it sees 600 ringing so it does not get picked up. Now if you had:
exten => **300,1,Pickup(600@from-internal)
in your dialplan you would pick it up because extension 600 is what is ringing, not 300.
That is what has been at the crux of the call Pickup issue. It has also been addressed in FreePBX 2.5, it was not put into FreePBX 2.4. (I have no idea what that means for the re-branded trixbox version of FreePBX since there is not transparent timeline or svn tree to see the changes...)
its just a context thing...
Follow my instructions above to get it working.. Message me if you have any issues. I'll fix it right up for you guys not a problem.
/me passes a beer to freepbx man..
I can't tell you how many people get confused because of all the cross instructions.
It's a very simple concept. You dont need callpickup groups defined or none of that and *8 doesnt matter anymore. That's from older versions in which is was replaced with **.
christopherb,
I didn't read your post carefully enough, my bad (and btw, thanks for the beer), concerning your instructions:
FILE:
/etc/asterisk/features_general_custom.conf
CONTAINS:
pickupexten=**
This simply replaced *8 with **, it is still not directed call pickup. It requires that you have callgroups and pickupgroups defined and will pickup up any extension configured just like *8 (because it is *8 redefined). So you are back to the 'use *8' as a solution, which it is not.
I have tried this in FreePBX 2.5 and 2.4 and have mixed results. I have a production system with Trixbox 2.6 and FreePBX 2.4 and all Aastra 57i phones. On that system I have ext 1157 with a button configured for a BLF on ext 1104 and I can answer an internal call on 1104 by using the button on 1157. If I try to configure this same setup on different extensions it will not pickup the call, it just acts as a blf/speed dial button.
I also have a test box with Trixbox 2.6 and FreePBX 2.5 and the same extension configuration I listed above does not work. I am not sure if I have to configure a button on my extensions specifically for pickup or if a blf button is supposed to do that also. Below is a snip from my test system. I have looked at the tickets that you listed above Philippe but I don't know if that means this should work in FreePBX 2.5 or if I need to patch it.
Thanks in advance...
/code
[Oct 14 15:57:04] VERBOSE[7257] logger.c: -- dialparties.agi: dbset CALLTRACE/2101 to 2102
[Oct 14 15:57:04] VERBOSE[7257] logger.c: -- dialparties.agi: Filtered ARG3: 2101
[Oct 14 15:57:04] VERBOSE[7260] logger.c: == Manager 'admin' logged off from 127.0.0.1
[Oct 14 15:57:04] VERBOSE[7257] logger.c: -- AGI Script dialparties.agi completed, returning 0
[Oct 14 15:57:04] DEBUG[7257] app_macro.c: Executed application: AGI
[Oct 14 15:57:04] VERBOSE[7257] logger.c: -- Executing [s@macro-dial:7] Dial("SIP/2102-b7702d80", "SIP/2101|15|tr") in new stack
[Oct 14 15:57:04] VERBOSE[7257] logger.c: -- Called 2101
[Oct 14 15:57:05] VERBOSE[7257] logger.c: -- SIP/2101-08b081d8 is ringing
[Oct 14 15:57:15] VERBOSE[2360] logger.c: Extension Changed 2100[ext-local] new state InUse for Notify User 2101 (queued)
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:1] NoOp("SIP/2100-b77017f0", "Attempt to Pickup 2101 by 2100") in new stack
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:2] Pickup("SIP/2100-b77017f0", "2101") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for 2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:3] Pickup("SIP/2100-b77017f0", "2101@from-internal") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for 2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:4] Pickup("SIP/2100-b77017f0", "2101@from-did-direct") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for 2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:5] Pickup("SIP/2100-b77017f0", "FMPR-2101") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for FMPR-2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:6] Pickup("SIP/2100-b77017f0", "FMPR-2101@from-internal") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for FMPR-2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:7] Pickup("SIP/2100-b77017f0", "FMPR-2101@from-did-direct") in new stack
[Oct 14 15:57:15] NOTICE[7261] app_directed_pickup.c: No target channel found for FMPR-2101.
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [**2101@from-internal:8] Hangup("SIP/2100-b77017f0", "") in new stack
[Oct 14 15:57:15] VERBOSE[7261] logger.c: == Spawn extension (from-internal, **2101, 8) exited non-zero on 'SIP/2100-b77017f0'
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [h@from-internal:1] Macro("SIP/2100-b77017f0", "hangupcall") in new stack
[Oct 14 15:57:15] VERBOSE[7261] logger.c: -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/2100-b77017f0", "w") in new stack
[Oct 14 15:57:15] DEBUG[7261] app_macro.c: Executed application: ResetCDR
I have discovered why directed call pickup would not work on some of the extensions on my FreePBX 2.4 installation. If the extension has FollowMe configured but is DISABLED it will not allow directed call pickup of that extension.
Anyone know if this is the way it functions in FPBX 2.5?
daftech,
how is the call coming in. What it is trying to do is determine what extension in what context to look for. If you have follow-me but it is disabled, I would think we should still be able to pickup the call. The important part to see is how the call is coming in. For example, if the call comes in as a ringgroup number 650 and extensions 2101 is part of the ringgroup, we need to pickup "extension 650" cause that is what it is for Asterisk. We don't do that in 2.4, we try to do that in 2.5. I believe we put some more exhaustive attempts around Follow-Me as well in 2.5, but again need to see the exact scenario and then repro it in the lab if the traces are not enough - an the important part is the incoming call and then the static part of extensions_additional.conf where the pickup code is for that extension.
I can confirm that FPBX 2.4 works as I described above. None of the extensions I am working with are in a ring group or any other groups, no special settings just a basic extension setup with followme configured and an internal call. If followme is disabled then the extension will not be allowed to be answered by directed call pickup. It gives the "That feature is not available on this extension" message. As this is on FPBX 2.4 it's really moot, I plan on moving to 2.5 soon. I am going to redo the setup on my FPBX 2.5 test system and check the operation again. I'll post here and let you know the results.
Thanks for the reply Philippe, you and your team are doing a great job imo.
Did you check your dialing rules on that phone? it could be that the dialing rules don't allow it. make sure that **xxx is in your dialing rules.
I've run into a bit of the same issue my self recently. internal calls can be picked up, but not external calls. Example. I can call from extension 100, to ext 102, and pick up the ringing 102 call on ext 116 using **102. However if I call the DID of 102 from my cell phone, or the main number that rings the call group 102 is a member of, then try from 116 to dial **102 as I did before, it says "the number you have dialed is not in service". Internal calls from ext to ext can be picked up, but not external to internal.
any ideas? anyone else seeing this as well?


Member Since:
2007-03-19