The aim here is to explain the relationship between the callgroup and pickup group settings in extension conf files of an Asterisk server.
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
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.
Numeric call pickup groups
A numeric callgroup and pickupgroup can be set to a comma separated list of ranges (e.g., 1-4) or numbers that can have a value of 0 to 63. There can be a maximum of 64 numeric groups. This is important to note as Freepbx does not sanity check what you put in there, So you can put 70 in the Gui and it will show 70 but do a sip show peer or a pjsip show endpoint and you will see its not set.
Named call pickup groups
Named pickup groups are new with Asterisk 11. But are not yet supported in FreePBX upto and including 13, So be carefull and dont add them to your pickup/call group settings yet in Freepbx as they will not work eventhough it shows in the GUI.
A named callgroup and pickupgroup can be set to a comma separated list of case sensitive name strings. The number of named groups is unlimited. The number of named groups you can specify at once is limited by the line length supported.
- namedcallgroup – specifies which named pickup groups that this channel is a member.
- namedpickupgroup – specifies which named pickup groups this channel can pickup.
Configuration should be supported in several channel drivers, including:
pjsip.conf uses snake case: