Two SIP phone in parallel

hello everyone,

I want to know if the following is possible, if so how?

I want two SIP phones to register with same extension number. So if someone calls that number both the extensions should ring. Similarly, if I take one phone off hook the status should be send to the other phone.

In short, the two SIP phones should behave like two analog phones connected to one POTS line.

So the idea is if I can have one softphone on my PC and a hard phone on my desk I could use them interchangeably.


I briefly tried this and had some issues but honestly cant rememnber what the were (it was more than a year ago). Its worth setting up and just trying it.

But I do not how to proceed. It wil be great If you can give some pointers.

Will SLA (shared line appearance) be of any use in this scenario.


Just set both phones to register to the same extension.

SLA has nothing to do with this. SLA will only show if person on another extension is on the phone or off the phone. It does not show ringing status (as far as I am aware - I dont use it).

I have tried that and it does not work. Asterisk just keeps the latest registrated phone for the extension (the ip corresponding to the extenstion displayed in “sip show peers”).

Any other ideas.

You could use a combination of SLA\BLF and Ring Groups (this requires asterisk 1.4.1 or later)

Assuming your phone support SLA\BLF set that up on both phones.

Then setup a ring group with both extensions in it and set it to “ringall”. When you dial into the ring group both phones will ring.

The two phones will have different extensions but if you only tell people about the number to the ring group you get the results your are looking for (more or less).

I too had an issue with this. The only way I could find to do this is to have a seperate sip account for each phone. Then I do a virtual extenshion number. For instance in our dial script I set variables like

exten = Set(extGrp4000=SIP/EXT4000&SIP/EXT-5000)
exten = Set(extGrp4010=SIP/EXT4000&SIP/EXT-5010)

Then in our internal dialing macro I check to see if the variable extGrp${EXTEN} has a value if it does I used that value to ring the phones otherwise I use SIP/EXT${EXTEN} to ring the phone. This is a very simplified explination of it but It works very well. The only thing I have not figured out yet is how to set the BLF for both extenshions to the primary. Below is a cut back example of our internal extenshion dialing script. I have removed a lot of other complex items and provided some of the basics.

exten => s,1,Set(l_VMExt=${MACRO_EXTEN})
exten => s,n,Set(l_Ext=${MACRO_EXTEN})
;I passed in the default dialing string SIP/Ext${EXTEN} Store it so it can be check and over ridden
exten => s,n,Set(l_CallArgs=${ARG1})
exten => s,n,GosubIf($["${extVmap${l_VMExt}}" != “”]?setVMExt|1)
exten => s,n,GosubIf($["${extGrp${l_Ext}}" != “”]?setGrpExt|1)
exten => s,n,Dial(${l_CallArgs},20,tT)
exten => s,n,Goto(r-${DIALSTATUS},1)

exten => r-NOANSWER,1,Voicemail(${l_VMExt}@corpVM|u)
exten => r-NOANSWER,n,Hangup()

exten => r-BUSY,1,Voicemail(${l_VMExt}@corpVM|b)
exten => r-BUSY,n,Hangup()

exten => r-CHANUNAVAIL,1,Voicemail(${l_VMExt}@corpVM|u)
exten => r-CHANUNAVAIL,n,Goto(${l_pRetInvExt})

exten => _r-.,1,Goto(r-NOANSWER,1)

;;**Allows for virtually mapping multiple extenshions to a single voice mail box
exten => setVMExt,1,Set(l_VMExt=${extVmap${l_VMExt}})
exten => setVMExt,n,Return

;;**Allows for the definition of extenshion groups. These groups can ring more than one extenshion.
exten => setGrpExt,1,Set(l_CallArgs=${extGrp${l_Ext}}) ;Override the passed in value with the virtual mapped value
exten => setGrpExt,n,Return

I have over 30 customers using this method and they love it.


Thanks for the replies. Solves the problem to a good extent.