Originate a call with Asterisk - without the originating extension ringing

徘徊边缘 提交于 2019-12-19 03:40:06

问题


I have a completely standard installation of Trixbox with 2 SIP extensions set up on it.

Both extensions are Snom 370 SIP phones.

I can originate a call from one extension to the other using the following CLI command:

originate sip/101 extension 102

This causes the phone on 101 to ring, then when that phone is picked up it dials 102.

What I would like is for the phone on 101 to automatically call 102, without 101 waiting to be picked up.

Is this something that can be done, or do the SIP phones always need to ring before they place a call?


回答1:


I ended up creating a couple of new contexts in extensions.conf

[clickoutcontext]
exten => _X.,1,NoOp("Click In Context")
exten => _X.,n,SIPAddHeader(Call-Info: <sip:pbx.your-company.de>\;answer-after=0)
exten => _X.,n,Dial(Sip/${EXTEN})

[clickincontext]
exten => _X.,1,NoOp("Click Out Context")
exten => _X.,n,SIPRemoveHeader(Call-Info)
exten => _X.,n,Dial(Sip/${EXTEN})

And then using an AMI action to make the call:

ACTION: Originate
Channel: Local/101@clickoutcontext
Exten: 102
Priority: 1
Timeout: 60000
Context: clickincontext

This sends a header to the Snom phone making the call to tell it to auto answer and then removes it before the call is placed to the second phone.




回答2:


You can use AMI (Asterisk Manager Interface) for originating call. Action "Originate" can be used with header "Async: yes", that allow made a call in both direction in same time.

Yo can also made it using CLI, using Local channel for calling SIP/101 and answering call before executing Dial command to SIP/101 device.



来源:https://stackoverflow.com/questions/9360899/originate-a-call-with-asterisk-without-the-originating-extension-ringing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!