Click to Dial,我们称之为点击呼叫或页面点击呼叫。浏览器用户以插件的形式或者页面的形式通过浏览器访问点击界面。用户通过点击页面的一个SIP URL链接,页面点击呼叫通报给电脑SIP终端,终端配置了呼叫方的SIP URL地址,通过REFER发送SIP终端,然后SIP终端和被呼叫方创建一个会话连接,实现双方呼叫。
这里的呼叫场景适宜于大略的点对点的SIP呼叫场景。如果用户通过媒体做事器实现呼叫的话,处理流程和我们现在谈论的有所不同。详细的呼叫流程如下:

现在,我们合营详细的SIP内容和每一个流程来大略解释点击呼叫的处理过程。
首先,Bob的PC端SIP对BobSIP电话发送REFER(F1),这里的头域中设置了Refer-Sub:false,这表示PC端哀求不天生REFER的dialog,仅支持2XX相应。关于Refer-Sub的利用方法和参数设置,读者可以查阅RFC4488。
然后,BobSIP电话终端回答202 接管(F2):
接下来,Bob对Carol发送INVITE要求,表示须要对Carol进行呼叫(F3):
接下来,Carol对Bob SIP 电话回答180 振铃(F4):
然后,Alice对Bob SIP电话回答200 OK(F5):
接下来,Bob的SIP 电话回答ACK确认(F6),然后实现双方语音流传输。
到此为止,全体点击呼叫的流程结束,双方开始电话互通。
事实上,现在点击呼叫业务功能可以通过很多种办法实现,可以通过浏览器插件的形式实现,也可以通过HTML加脚本措辞的形式实现,WebRTC或者邮件终端插件工具来实现。
特殊是基于开源软交流的平台,例如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/