Answering an incoming phone call from any extension


#1

Well. After a couple weeks of fiddling and re-configuring, I’ve finally got Asterisk PBX up and running which already gives us more functionality than the exchange we’re moving away from… and I still haven’t really started to configure it yet!

There is one think that I need fairly quickly that I haven’t been able to work out and that is how to let any extension on our network to pick up a call that is ringing… for example we have this as the first rule for incoming calls:

exten => _X.,1,Dial(SIP/321,60)
exten => _X.,2,Hangup

All incoming, external calls goes straight to extension 321, but at the moment (because we don’t know any better) and someboy is away from extension 321, somebody has to physically go to phone at 321 and answer it. What we need, is allow any of the SIP extensions to answer the ringing phone. Does anyone know how to do this?

All help greatly appreciated.

John


#2

one way would be to ring all available extensions at once…

exten => _X.,1,Dial(SIP/321&SIP/322&SIP/323&SIP/324,60) exten => _X.,2,Hangup

the above should ring 321-324 for 60 seconds - whoever picks up first gets the call, and the other phones should stop ringing.

that would be my way to do it…


#3

[quote=“whoiswes”]one way would be to ring all available extensions at once…

exten => _X.,1,Dial(SIP/321&SIP/322&SIP/323&SIP/324,60) exten => _X.,2,Hangup

the above should ring 321-324 for 60 seconds - whoever picks up first gets the call, and the other phones should stop ringing.

that would be my way to do it…[/quote]

Well that’s one idea, but we only want one phone to ring… if I append all of our phones to the Dial string, all 25 will ring simultaneously and make a hell of a noise :smile: I only want one phone to ring but be able to answer it from any extension.

Thanks for the help though.

John


#4

Hello,

You can use pickupgroup. In users declaration you can use: pickupgroup=group1 (or any other name). All the users in this pickup group can pickup the call when one extension is ringing by dialing *8 (this is by default, but you can verify in features.conf. If it is commented, modify it).

Regards,
Mircea.


#5

I must correct my previous answer. It seems that the value of pickupgroup must be a number and this parameter must be used in conjunction with callgroup.

So, you must have in all users that you want to belong to the same pickupgroup the following declarations:

callgroup = 1
pickupgroup = 1

Regards.


#6

Where would the values of callgroup = 1 and pickupgroup = 1 go? Will they go after each extension in sip.conf or in extension.conf?

John


#7

You must put this values in every user declaration in sip.conf (or in iax.conf etc., depending which users you declare).

For example we have, in sip.conf:

[john]
username=john
secret=blablabla
context=whatever

callgroup=1
pickupgroup=1

[steven]
username=steven
secret=etc…
context=whatever

callgroup=1
pickupgroup=1

If someone calls john, steven can pickup the call by dialing *8.

Once again, you must check in features.conf, to have:

[general]


pickupexten=*8 ;or any other number you want to use

If you have other users, and you assign them in another callgroup and pickupgroup (maybe group 2), they cannot pickup calls for the ones in group 1. I hope I am clear enough.

Regards,
Mircea.


#8

How about this

If you have a 3 digit extension add the following lines to your context

extensions.conf or if you are running asterisk@home
extensions_custom.conf

;Pickup ringing ext
exten => _7XXX,1,Pickup(${EXTEN:1})

Now if ext 321 was ringing like in your example a person at ext 322 could dial 7321 to pick up the phone ringing at 321

check out http://www.voip-info.org/wiki/view/Asterisk+cmd+Pickup

I hope this helps

Birkey


#9

[quote=“mirceahuh”]You must put this values in every user declaration in sip.conf (or in iax.conf etc., depending which users you declare).

For example we have, in sip.conf:

[john]
username=john
secret=blablabla
context=whatever

callgroup=1
pickupgroup=1

[steven]
username=steven
secret=etc…
context=whatever

callgroup=1
pickupgroup=1

If someone calls john, steven can pickup the call by dialing *8.

Once again, you must check in features.conf, to have:

[general]


pickupexten=*8 ;or any other number you want to use

If you have other users, and you assign them in another callgroup and pickupgroup (maybe group 2), they cannot pickup calls for the ones in group 1. I hope I am clear enough.

Regards,
Mircea.[/quote]

Thanks Mircea

That’s working great!

John


#10

Is that compatible with IAX extensions ?
I mean that callgroup and pickupgroup seem not being IAX options, so, pickup doesn’t work from an IAX extension, or when that is an IAX extension which is called.
Is that normal ?


#11

No, its not. Use the Pickup() application instead.