Ring 2 extensions at the same time

Can anyone give me some suggestions on how to efficiently handle users who have both a hardset and a softphone, but want to have the same “dialing” number assigned to both?

I know i can do this with Ring groups, but it would mean quite a bit of re-working of my current configs and the thought of that doesn’t excite me. Is there a trick i could do in a .conf file that might let me pull this off?


This rings 3 zap channels and 1 iax softphone

yea, i’ve looked at code similar to this, but i’m not sure how to put it into the system so that its specific to each extension.

Basically, i’m looking for something that will do the following:

When someon dials 555-1234 and comes in on a DID or if someone dials internally 4 digits (1234) i’d like the phone call to ring the extension 1234 and 2234.

same thing with other extension, 555-5678, i’d like it to ring 5678 as well as 6678.

I don’t think that what you specifically state is possible.

If the system sees an extension of 1234, and a group called 1234, how is it supposed to know what to do? Should it ring the extension? should it call the group? How is it to know the intent of the caller? (To reach the group or the individual?)

I think what you have to do is create an extension called 1235, that will call extension 1234 and 2234.

In any telecom system you must have unique addresses for phones and services.

Actually, with Asterisk, extensions are entirely programmable based on contexts, therefore you could do what is originally posted in this thread. For example, for the inbound provider you would put that provider in a context that did this:

[inbound_provider] exten => _5551234,1,Dial(SIP/${EXTEN:3})

And for internal calls you would create an internal dialplan that would be:

[internal] exten => _1234,1,Dial(SIP/${EXTEN}&SIP/2${EXTEN:1})

If you are using the ManagerAPI and Originate commands there may be issues, would need ot think that one through.

I agree, I know Asterisk can do it, because I’ve done it using Ring groups (basically making the ring group number the actual extension number of the set and include all the extensions i want it to ring, then creating a dummy number in my extensions list that is referenced to by the ring group, works perfect) but due to the number of extensions, I was looking for something the might be a littler easier to deploy.

I’ll test out your codeing and see if i can implement it any easier.


I suppose that within Asterisk contexts, that method would work, however you limit yourself.

For example, it wouldn’t be possible for an external caller to reach the group.

I understand what you’re attempting to do, but I really don’t see any advantage to doing it. Using a seperate extension for the group just makes things so much easier.

Yes, it’s possible for an extensions.conf file to be written that would have nothing but ‘s’ extensions and would move to contexts to ring individual SIP phones based on input from callers, or events like an incoming call. But why would you put yourself through that? Asterisk is difficult enough without creating your own pitfalls.

Keep it simple.

I do not believe you are adding any complexity, all that was shown is the flexibility that is provide by Asterisk through programmable extensions.

You could just as easily have one context that provides this capability to internal and external users:


exten => _.,1,SetVar(dial_len=${LEN(${EXTEN})})
exten => _.,2,GotoIf($[${dial_len}=7]?3:4) ; or whatever length your externally dialed numbers are
exten => _.,3,Dial(SIP/${EXTEN:3}&SIP/2${EXTEN:4})
exten => _.,4,Dial(SIP/${EXTEN}&SIP/2{EXTEN:1})[/code]

In my opinion, assigning more extensions would be more difficult than doing the grouping dynamically in the dialplans. But it is all based on preference, Asterisk provides the flexibility.