我正在尝试将我的 web 应用程序与我的 Asterisk 服务器链接起来。
当 webapp 的用户更改当前客户时,我希望调用新客户,并将用户连接到该客户。
但是,当我尝试使用“Originate”API 调用时,“Callerid”设计的用户从未被调用,因此该调用被挂起。
我怎样才能连接这两个?
发起命令不是立即直观的。该命令的工作方式是它会呼叫客户,然后,一旦呼叫被连接,它就会将他们桥接到另一个分机(您公司的人)。
这是一个使用 Asterisk.NET 的示例,我将其放在一起,但您使用的 AMI 接口实际上并不重要,因为步骤是相同的:AMI Asterisk Manager Interface Originate Action
查找 PHP-SIP 类: http: //level7systems.co.uk/en/blog/Click+to+Call+with+PHP-SIP
用户提交带有呼叫方 (sip:user1@sip) 和被呼叫方 (sip:user2@sip) SIP URI 的表单。Web 服务器向 sip:user1@sip 发送 INVITE。一旦 INVITE 被 user1 接受,Web 服务器立即在“Refer-to”标头中发送带有 sip:user2@sip 的 REFER。Web 服务器通过向 user1 发送 BYE 来终止“呼叫”。根据web服务器发送的REFER请求,user1向sip:user2@sip发送INVITE。
这应该将 Channel 连接SIP/10
到+1 555 1234
channel originate SIP/10 extension 00015551234