蓝牙电话-做一个Android的SIP客户端
--手机app做SIP坐席发起蓝牙呼叫
- 一、前言
继上一篇章《蓝牙电话-与FreeSwitch服务器和UA坐席的通话.docx》后,有一些感兴趣的用户和友商在线咨询“这个产品怎么用”“app正常连接了但要怎么拨打电话”。我们每次都解释和引导到Windows电脑端,建议Ta使用电脑版的eyeBeam或者X-Lite的软SIP终端进行对外呼叫和来电的接听。
Windows电脑的软SIP电话的下载路径如下:
eyeBeam1.5安装包:https://pan.baidu.com/s/1WoWrc1wlhDAMcYTMtf4JiQ 提取码:96ta
X-Lite安装包:https://pan.baidu.com/s/1AfTbslNqMKQrn46TZj3E0A 提取码:savy
但是感觉每次都引导到Windows电话上,操作步骤太过于繁琐了。本篇章中,我们直接在【拨号器管理app】中集成SIP终端的功能,使得用户在另一个Android手机上能直接使用蓝牙电话的功能,通过SIP链路的方式桥接到蓝牙手机上,进行SIP呼叫来拨打目标电话(此方式不再依赖Windows电脑,但需要依赖另一个安卓手机)
方案中继续采用上一篇章搭建的FreeSWITCH服务器做SIP链路的B2B-UA转发,通过局域网“云平台”,使另一台手机上的“软电话”能正常使用蓝牙电话的方案呼叫出去。
拨号器管理app的下载路径为:
拨号器管理app:http://120.78.211.195:8060/DialerManager.apk
- 二、SIP坐席软电话的功能入口
点击【拨号器管理app】的图标进入管理app的主界面,如下图所示,点击界面顶部的“在线设备”或“用户类型:xxx”所在的区域,进入对应的【在线设备】界面或【设备管理】界面,分别如下所示。
主界面:
在线设备界面:
设备管理界面:
- 三、SIP坐席界面
依次点击上图示中【在线设备】界面或【设备管理】界面的设备列表项,选择其中某一个手机,如果这个手机当前的【智能拨号器app】处于运行过程中(俗称在线),则底部的各种控制按钮是能正常可点击的状态。
点击【拨打SIP电话】的按钮,弹出“SIP坐席通话”的操作界面,如下图所示:
图中若选中的手机之前有上传过本地的SIM卡号码,则顶部区域的【SIP账号密码】区域自动进行填充,此时只需点击底部【初始化】按钮即可进行SIP注册,注册完成后各按钮均从灰色变为可用状态。
若之前从未上传过手机号,则需要用户手动点击顶部右侧的【拉取SIP号】按钮,拉取该用户名下所有注册的SIP号列表,供用户进行选择,如下图所示:
- 四、SIP坐席发起呼叫
在SIP坐席通话界面中,点击【初始化】按钮,等待SIP坐席账号注册完成后,输入目标手机号(如10086),点击【发起呼叫】按钮,即可从选择的手机SIM卡中呼叫10086,并在当前app中进行语音的通话。
呼叫完毕直接点击【挂断】按钮即可,此部分功能操作与一般的SIP软电话的操作相同。
- 五、SIP坐席接听来电
与上图的界面相同,来电时,界面中【发起呼叫】按钮的文字将变为【接听】,点击该【接听】按钮或【挂断】,即可正常对来电进行操作。
来电的对方号码,将显示在底部的状态栏中,告知用户当前正在与谁进行语音通话(不会显示在号码编辑框中)。
- 六、通话中按键DTMF
与上图的界面相同,通话过程中,用户可以点击SIP坐席通话界面的拨号盘数字,进行“按键DTMF”的交互。用于某些IVR场景(如10086中按下1转归宿地,按下2接通本地10086)。
用户可以使用DTMF功能与呼叫的目标号码进行响应的业务互动操作。
- 七、总结
我们前期思考了一下,觉得还是有必要弄一个纯Android手机的SIP客户端,没必要干啥都引导到Windows电脑中进行操作。于是就花了一天时间,简单的把SIP坐席的软电话功能给整合到了管理app上, 用需要使用的用户进行快速的调试和验证。
我们所有的文章和功能,都尽力使用最简洁的方式,让蓝牙电话的用户,能第一时间的把呼叫链路打通,并能实现正常的电话呼叫。
对于呼叫其它SIP平台,本篇章的SIP坐席电话的功能,也能起到一定的参考作用。