Multiple simultaneous calls

Hello everyone! So I’ve been having lots of trouble figuring out how to accomplish what I’m trying to accomplish.

I have three SIP devices set to auto answer and I have one SIP phone. I want to set up an extension to call on my phone where when I talk my voice is projected on all three SIP devices that are set to auto answer any calls coming to it. Any help would be greatly appreciated!

The Page application[1] was written for this purpose. It calls multiple devices and conferences them in, so they all hear the same thing.

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_Page

Do you have any quick examples you could link me so I could implement it?

I don’t have anything handy but the application works pretty much the same as Dial (and accepts dial strings the same way). Using a Local channel you can place calls through the dialplan which add the appropriate header for auto-answer.

1 Like

Here’s what I use for Intercom Paging. It reads from a database: int_data will be something like SIP/12345&SIP/12346&SIP/12347… The int_direction is either 1 or 2 for unidirectional paging (no return audio) or bidirectional (allows for audio both ways).

[intercom]
exten    => _*[0-5]X,1,Set(CALLERID(num)=${CHANNEL:4:5})
same    => n,Answer()

same    => n,Set(ARRAY(int_data,int_direction)=${ODBC_READSQL(SELECT int_data\, int_direction from extensions left outer join intercom on ext_intercom_group=int_id where int_dialed=\"${EXTEN}\" and ext_dialed='${CALLERID(num)}')})

same    => n,GotoIf($["${int_data}" = ""]?hangup)
same    => n,GotoIf($["${int_direction}" = "1"]?unidirectional)
same    => n,GotoIf($["${int_direction}" = "2"]?bidirectional)
same    => n(hangup),GoTo(h,1)

same    => n(unidirectional),SIPAddHeader(Call-Info:\;answer-after=0)
same    => n,Page(${int_data},i,30)
same    => n,Hangup()

same    => n(bidirectional),SIPAddHeader(Call-Info:\;answer-after=0)
same    => n,Page(${int_data},id,30)
same    => n,Hangup()

exten    => i,1,Hangup()
exten    => t,1,Hangup()
exten    => h,1,Hangup()