iPhone多卡多待方案:VoIP+GoIP

iPhone多卡多待方案:VoIP+GoIP

Tags
VOIP
GOIP
Published
May 30, 2018
Author
Joybean
本方案比较繁琐,适合有一定技术且喜欢折腾的童鞋,想省事的话建议直接移步某宝搜索“苹果皮多卡多待神器”。
本方案可以实现:
  • 他人拨打自己副卡号码时,可以通过手机app接听
  • 通过手机app使用副卡号码拨打他人电话号码
  • 副卡号码接收的短信可以转发到主卡号码
  • 副卡语音通话记录及录音
本方案的优点:
  • 副卡无需随身携带
  • 全终端软件拨打/接收电话

术语

  • PBX(Private Branch eXchange):用户电话交换机,是一个在企业内部使用的私有电话网络。PBX可以连接企业内部电话,也可以将这些电话与公共交换电话网(PSTN)连接在一起。
  • IP PBX:基于IP协议建立的电话交换系统,可以通过网络提供语音、视频以及即时消息通信。
  • PSTN(Public Switched Telephone Network):公共交换电话网,一种用于全球语音通信的电路交换网络,包括电话线,光纤电缆,微波传输链路,蜂窝网络,通信卫星,与海底电话电缆,所有这些都由交换中心相互连接,从而允许大多数电话相互通信。
  • GoIP:GSM网关,可以装入SIM卡,用于建立GSM网络和VoIP之间的连接。
  • 落地:VoIP语音传输到本地运营商电话网络的过程,即用VoIP客户端拨打普通电话。
  • 上车:电话语音传输到互联网的过程,即用普通电话拨打到VoIP客户端。

方案

  • 落地
你的手机(VoIP客户端)--> 互联网 --> IP PBX服务器 --> 互联网 --> GoIP(副卡) --> GSM网络 --> 他人手机
你的手机(VoIP客户端)--> 互联网 --> IP PBX服务器 --> 互联网 --> GoIP(副卡) --> GSM网络 --> PSTN 网络 --> 座机
  • 上车
他人手机 --> GSM网络 --> GoIP(副卡) --> 互联网 --> IP PBX服务器 --> 互联网 --> 你的手机(VoIP客户端)
座机 --> PSTN 网络 --> GSM网络 --> GoIP(副卡) --> 互联网 --> IP PBX服务器 --> 互联网 --> 你的手机(VoIP客户端)

准备

  • 软件方面
    • IP PBX服务端软件,本文以FreePBX为例
    • VoIP客户端App,本文以Zoiper为例
  • 硬件方面
    • GoIP/CoIP 设备,本文以GoIP为例
    • SIM副卡,GoIP设备要求SIM卡支持GSM网络,CoIP设备要求SIM卡支持CDMA网络

服务端设置

添加分机

点击 Application-Extensions-Quick Create Extension菜单。
创建成功后,编辑该分机,Advanced选项卡NAT Mode项改为Yes

增加trunk

点击 Connectivity-Trunks-Add Trunk-Add SIP Trunk菜单。
General选项卡中的Trunk Name任意,然后切换到sip Settings-Outgoing选项卡,填入如下信息。
host=dynamic secret=[设置一个密码,后面GoIP设备注册会用到] type=friend context=from-trunk nat=yes qualify=yes dtmfmode=rfc2833 canreinvite=no

设置出局路由

点击 Connectivity-Outbound Routes-Add Outbound Route菜单。
设置拨号规则,通过以下设置将实现:若VoIP客户端拨号前缀为9则将对9之后的号码的呼叫请求路由到Goip设备。

GoIP设置

GoIP设备就是这货

访问GoIP管理页面

  1. 使用网线将GoIP设备连上电脑,将SIM卡装入第一个卡槽;
  1. 设置电脑的本地连接为固定 IP:192.168.8.2;
  1. 用一根网线直接连接到 GoIP 的 PC 口;
  1. 打开电脑的浏览器,在地址栏输入 192.168.8.1 并回车,接着输入用户名和密码(默认都是 admin)。

VoIP配置

点击Configuration-Basic VoIP菜单,进行配置使GoIP设备注册到FreePBX服务器上。
若未更改FreePBXSIP默认端口号,则SIP Proxy和SIP Registerar Server配置项中的端口号无需指定;否则,必须与FreePBX Settings-Asterisk SIP Settings-Chan SIP Settings菜单中Bind Port值保持一致。

呼入设置

点击Configuration-Call In菜单,设置呼入到GoIP副卡号码的电话转移到特定的分机号上,当手机VoIP客户端使用该分机号注册成功后,可以接收到转移后的呼叫。

SMS配置

点击Configuration-SMS菜单,设置将副卡收到的短信转发到主卡号码。

查看状态

以上设置完成后,将GoIP设备连接到路由器,通过路由器管理界面找到的GoIP设备的IP,通过该IP地址再次访问GoIP管理页面,点击Status菜单查看SIM卡状态,正常状态如下:

客户端设置

手机端

手机端App使用Zoiper 。
点击Settings-Accounts添加账号,填入FreePBX配置的分机信息,点击Register将你的SIP账户信息提交到FreePBX服务端验证,验证成功将注册客户端IP地址等信息在服务端。
Settings-Incoming Calls设置后台运行,这样即使不手动启动Zoiper也可以正常接收电话。

PC端

建议使用X-Lite ,设置同手机端Zoiper大同小异,故不赘述。

测试

使用zoiper客户端拨号910010,正常情况下可以拨通联通客服电话。
使用手机主卡拨打副卡号码,正常情况下可以在PC或手机的zoiper客户端接到来电。
使用手机主卡发送短信到副卡号码,正常情况下主卡号码可以接收到该条短信。

FAQ

  • 如何进一步实现多卡多待?
GoIP设备插入多张SIM卡,FreePBX建多个分机,客户端配置多个Account。
  • 接通之后为啥听不到语音?
确认手机是否开启了诸如vpn一类的代理,应当关闭代理,否则导致客户端注册在FreePBX上的IP地址为代理服务器地址,服务端错误地将语音传输到代理服务器。
  • 如何开启通话录音?
FreePBX分机配置中Advanced-Recording Options相关项启用录音功能。到Reports-Call Recording菜单查看通话录音(需要购买相应模块)。

参考