Pickup Strange behavior!

Hi there.
I spend a lot of time searching for this explanation, so I hope someone can tell me what I am doing wrong.
I am using asterisk and SIP peers are real time(in mysql).
In feauters.conf I have set pickupexten = ** .
The test:
Exten 219 calls 298. And then 294 tries to pickup 298 with **298. The cli says

All phones are in the same pickup and call gorup.

And the second test.
I set in dialplan :

and I change 294 pickupgroup to 2. So if I know correctly the 294 doesn’t supposed to pickup call for 298, which is in callgorup1. But no mater what are pickupgoups 294 can always pickup another call, and i don’t want that. If I know correctly pickupgoup means, to allow which callgoup can peer pickups.

What am I doing wrong?

Anyone ?


You have defined ** as your pickup number this means that by dialing ** you will pickup a call ringing in the same groups.

use a different code for directed like *6 for example. exten => _*6XXX, 1, Pickup(${EXTEN:2}@internal_dial) and that then wont conflict against the code you have defined.

This is a short guide on pickups I wrote some while back

[quote]Asterisk pickup groups

From Cyberco_wiki
The aim here is to explain the relationship between the callgroup and pickup group settings in extension conf files.

Call Pickup is the abilty to pickup a ringing phone from another phone.

The ability to do this is defined in the extensions conf file.

In many systems there is only on setting to do this normally “pickup group” you add etensions to this group and they can pickup calls ringing at members of the group. Obvious realy.

Now Asterisk goes one better. You can define the callgroup and pickup group, This way you define who you can pickup and who can pickup you. This is very useful for operators, who for example dont want calls picked up of them but do want to pickup calls from all other users.

So how do you define it.

In our example we will have 4 phones defined as follows

Callgroup   Pickupgroup

201 2 1-2
202 1-4 1-4
203 2,4 2,4
204 1 1

And who can do what when trying t pickup is as follows

Ringing Phones attempting Pickup
Call to 201 204 PU failed 203 PU Passed
Call to 202 201 PU passed 203 PU Passed
Call to 203 201 PU passed 204 PU failed
Call to 204 201 PU passed 203 PU failed

So from this we can see that its the Pickupgroup that defines what callgroup can be picked up.

So because 201 has a callgroup of 2 Only sets whos pickup group includes 2 can pck up the call. whereas as 201 has a pickupgroup of 1-2 it can pickup calls from callgroups 1-2.

For example you may have 6 pickup groups defined with users only allowed to pickup their own group members except an operato who wishes to be able to pick everyone up and a PA who has a collegue who she wants to be able to pickup

So all normal users would have their pickup and callgroup the same. The PA would have the pickupgroup defined with both the group numbers but only its own call group. And finally the operator would have a callgroup of 0 and its pickupgroup of 1-6. [/quote]

I hope that goes someway to explain how they work :smile:


Very much thank you for answer.
May be i wasn’t so celar.
Pickup works for me if I set it in dialplan. (exten => _**XXX, 1, Pickup(${EXTEN:2}@internal_dial) )
But it always pickups channel, it igores what I had set for callgroups and pickupgorups.

If i don’t set it in dialplan nothing happens. Just only this eror:

Hi. I finally figure it out. Stupid me. I was always dialing **extern.number, not just ** :unamused: