Pickuping a user in a parallel group


We are banging our head for pickuping user when they are in a parallel group.

First of all i’ll try to show you how we are doing pickup :

Users are created like that (i hope this is the correct way, is that better to have [extention] instead of [userXXX] ?):

callerid=John Doe <334>



Here is how we place calls :

For each extention we have the following diaplan :

exten => _334,1,Set(__PICKUPMARK=334)
exten => _334,2,Dial(${PJSIP_DIAL_CONTACTS(user001)},20,tT)                
exten => _334,3,VoiceMail(${EXTEN}@to-voicemail)
exten => _334,4,Hangup()

The first line is used for user pickup, with this diaplan :

exten => _*8.,1,Pickup(${EXTEN:2}@PICKUPMARK)  
exten => _*8.,n,Hangup()

I guess that all of that is quite usual, then let’s talk about pickuping a user when it is in a group that is ringing.

No problem for sequential groups :


exten => s,1,Set(__PICKUPMARK=325)
same => n,Dial(${PJSIP_DIAL_CONTACTS(user017)},20,tT)  
same => n,Set(__PICKUPMARK=309)
same => n,Dial(${PJSIP_DIAL_CONTACTS(user032)},20,tT)
same => n,Set(__PICKUPMARK=306)
same => n,Dial(${PJSIP_DIAL_CONTACTS(user006)},20,tT)
same => n,Set(__PICKUPMARK=322) 

But what about parallel groups like that :

exten => s,1,Dial(${PJSIP_DIAL_CONTACTS(306)} & ${PJSIP_DIAL_CONTACTS(322)},20,tT)

here, setting a pickupmark is not a choice, in fact there should have 2 marks !
I guess this could be done with pickuping the group, but we’d like to use the BLF button of the user.

We tried many things but none were ok
How can we do ? How others are doing that :slight_smile: ?

Many thanks for you help, tips, remark, …

Hi all

any idea to help us ? We are really stuck on that.
Is there any info i could add that could help ? I tried to give only related details.

Thanks a lot

Hi David and thanks,

not sure we understand your reply as it seems not to be related to the topic question “how to pickup a parallel group using exten of one of the user of the group”
Or we missed something :slight_smile:

Ca va??? Je peux te lire en français stp??


oui, ma langue est le français. Tu veux que je traduise ma question du début ?

Oops. There were two threads with “parallel” in the subject, and some how I added this to the wrong thread. (I thought about it in the background, and tried to return to the thread, but must have only taken a cursory look at the subject).

no problem at all ! (we were 3 guys, reading the reply and trying to understand)
Do not hesitate to give tips while you are here :wink:

Hello all,

for the guys that will need a reply, we found something : when creating my users i do not use [userXXX] but [321], then for pickup i use pickup_chan(${EXTEN})

Then pickup is only :

 exten => _*8.,1,PickupChan(PJSIP/${​EXTEN:2}​)

No more need for pickup mark or so, and it works for sequential and parallel groups with no need for specific dialplan !

and then we can have a generic dial instead of one per user :

exten => _XXX,1,Noop()
same => n,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})},20,tT)
same => n,Hangup()

But i’d still like to use [userXXX] method, is there a simple way to find the userXXX when we have the number ? I guess i should open a new topic for that

By the way i’ll mark the topic as solved even if this is a partial solution