freeswitch 发update sip消息_最常用的18个SIP呼叫业务流程详解完整版-点击呼叫处理...

Click to Dial

Click to Dial,我们称之为点击呼叫或页面点击呼叫。浏览器用户以插件的形式或者页面的形式通过浏览器访问点击界面。用户通过点击页面的一个SIP URL链接,页面点击呼叫消息传递给电脑SIP终端,终端配置了呼叫方的SIP URL地址,通过REFER发送SIP终端,然后SIP终端和被呼叫方创建一个会话连接,实现双方呼叫。

ec78e0137c38d68884b3bc9d71bb2558.png

这里的呼叫场景适合于简单的点对点的SIP呼叫场景。如果用户通过媒体服务器实现呼叫的话,处理流程和我们现在讨论的有所不同。具体的呼叫流程如下:

71a0bcb953ce2d1dde23fe524abf1ec6.png

现在,我们配合具体的SIP消息内容和每一个流程来简单说明点击呼叫的处理过程。

ace677655e68398a6419b4060ba0de2c.png

首先,Bob的PC端SIP对BobSIP电话发送REFER消息(F1),这里的头域中设置了Refer-Sub:false,这表示PC端要求不生成REFER的dialog,仅支持2XX响应消息。关于Refer-Sub的使用方法和参数设置,读者可以查阅RFC4488。

7f0cf66424d1f412e96ea2a8f340b09b.png

然后,BobSIP电话终端回复202 接受(F2):

59ccaa8a6d118253da596649719d6e77.png

接下来,Bob对Carol发送INVITE请求消息,表示需要对Carol进行呼叫(F3):

54edc437837bc0f2bbd633ff1ec18637.png

接下来,Carol对Bob SIP 电话回复180 振铃(F4):

465687907e222cb0694deb250ee1e61d.png

然后,Alice对Bob SIP电话回复200 OK(F5):

1f0060ebea8fad141fbd96f61843af24.png

接下来,Bob的SIP 电话回复ACK确认消息(F6),然后实现双方语音流传输。

a81915915f3197d9206a08559a5bfa9f.png

到此为止,整个点击呼叫的流程结束,双方开始电话互通。

事实上,现在点击呼叫业务功能可以通过很多种方式实现,可以通过浏览器插件的形式实现,也可以通过HTML加脚本语言的形式实现,WebRTC或者邮件终端插件工具来实现。

6227dd9eff281b7300a1c7b00850c0cb.png

特别是基于开源软交换的平台,例如Asterisk/FreePBX或者FreeSWITCH都可以通过接口语言来开发更加灵活的点击呼叫功能。例如,通过脚本语言加Asterisk AMI接口实现的页面点击呼叫功能。用户可以下载以下代码来实现点击呼叫功能。以下是一个PHP的页面点击呼叫实例地址,读者可以参考:

https://github.com/spbx/Simple-Click2Call-for-Asterisk-PBX/blob/master/click2dial.php

基于Asterisk的点击呼叫的插件,用户可以参考TBDialOut来实现,开源项目地址:

http://www.oak-wood.co.uk/tbdialout/

ae4bad4dffa7c9437b2a828ed997501c.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值