本方案比较繁琐,适合有一定技术且喜欢折腾的童鞋,想省事的话建议直接移步某宝搜索“苹果皮多卡多待神器”。
本方案可以实现:
- 他人拨打自己副卡号码时,可以通过手机app接听
- 通过手机app使用副卡号码拨打他人电话号码
- 副卡号码接收的短信可以转发到主卡号码
- 副卡语音通话记录及录音
本方案的优点:
- 副卡无需随身携带
- 全终端软件拨打/接收电话
术语
- PBX(Private Branch eXchange):用户电话交换机,是一个在企业内部使用的私有电话网络。PBX可以连接企业内部电话,也可以将这些电话与公共交换电话网(PSTN)连接在一起。
- IP PBX:基于IP协议建立的电话交换系统,可以通过网络提供语音、视频以及即时消息通信。
- VoIP(Voice over Internet Protocol):一种语音通话技术,经由IP协议来达成语音通话与多媒体会议,也就是经过互联网来进行通信。
- GSM(Global System for Mobile communications):第二代移动通信技术,移动设备使用的蜂窝网络。
- 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客户端)
准备
- 硬件方面
- 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管理页面
- 使用网线将GoIP设备连上电脑,将SIM卡装入第一个卡槽;
- 设置电脑的本地连接为固定 IP:192.168.8.2;
- 用一根网线直接连接到 GoIP 的 PC 口;
- 打开电脑的浏览器,在地址栏输入 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菜单查看通话录音(需要购买相应模块)。