出国狗的福音--使用树莓派搭建跨国语音短信设备

2018-02-08 03:05:32 +08:00
 ety001

自从开始刷 SteemIt 社区后,很少来 v2ex 了。

把之前欠社区的一篇 Asterisk 教程补上,

首发在 https://steemit.com/cn/@ety001/5zehat

12818 次点击
所在节点    程序员
41 条回复
neoblackcap
2018-02-08 03:22:08 +08:00
看了一下方案,其实你这个方案是挺取决于你的卡托。而且如果是移动的话,我之前搞过类似的东西,移动连短信都不是走 2G 的,现在都是 4G 的,3G 卡没法收短信。我这里是广州移动。
最后的解决方案是使用安卓手机,一来信号稳定都比树莓派好,二来整个开发环境都比较友好,资源需要的并不多,只要一台有公网 IP 的服务器 /VPS,你的手机能联网,那么大可通过短信拦截将所有的短信通过服务器中转(小米的云同步)。至于语音的话,的确需要再开发,不过安卓的开发环境怎么样都比较友好吧。而且 API 不好用,直接升级就可以了。
seafarer
2018-02-08 03:30:08 +08:00
@ety001 steemit 如何注册? 尝试几次都不成功
ety001
2018-02-08 03:54:53 +08:00
@neoblackcap 我也因为 Asterisk 的恶心配置参数,一度想要基于 Root 的 Android 开发个 App。我觉得开发个 Android App 才应该是最终的方案。不过你说的移动的短信不走 2G 网络,由于我也不懂这些细节,我觉得还是挺匪夷所思的。


@seafarer 目前走邮件免费注册,需要等很久才能审批通过。最快的方法是花钱注册,你可以走 cnsteem.com 这个节点,花钱注册。
dynaguy
2018-02-08 04:16:10 +08:00
微信时代,有楼主这个需求的人多吗?
ericFork
2018-02-08 05:51:14 +08:00
我去年折腾了一次,一模一样的方式。RasPBX + 华为 E1750。除了语音延时之外,主要还有两个问题:

1. 走 SIP 协议时,有机率听不到对面的声音,和 NAT 有关,但没有彻底解决,用 IAX2 协议就没有这个问题。目前对这两种协议支持都好的免费、跨平台客户端,我试了几个之后用了 Zoiper。

2. 打国内自动客服电话时,有些需要输入卡号、身份证等多个数字的场景,即使是 IAX2 也会发生某些数字未被识别的情况,应该主要还是延时的锅。

另外,你这是才折腾成功几天么?这套方案,3G 网卡的供电需要特别注意一下,最好能用一个有源的 USB HUB,否则整套系统可能运行一周到半个月后死机……

如果你是 iOS 手机,可能还需要一个支持来电 Push 或者 CallKit 的客户端,免费的话没有现成方案。付费的话,Bria Mobile 是堪用的。

基于上面的问题,我后来尝试了 GOIP 这个硬件设备,单卡槽的 GOIP-1 价格远比自己搭一套 RasPBX 便宜得多,可以接入 FreePBX、3cx 等 PBX 系统,实现 VoIP ; ROM 自带短信转发邮件,我和厂商( DBL )客服反馈了之后,最近甚至支持了长短信合并等一系列实用的功能。

再后来,我发现了双享号 Pro,上述两套方案就被我全部弃置了,主要是这货的 App 完成度已经相当高,短信 /通话界面接近原生体验,自带通话录音、勿扰模式(可配置时间区间)、CallKit,设备在国外也可以免短信 /通话的国际漫游费用,设备体积小,价格和 GOIP 也差不多,下次回国打算再来一个。
yesqu
2018-02-08 06:36:50 +08:00
@ericFork 话说双享号美帝的运营商能用么?
ericFork
2018-02-08 06:38:16 +08:00
@yesqu #6 是不可以的,他们的原理大致是读取 SIM 卡信息,走网络到国内落地,向基站注册,只支持国内三家运营商。
nifury
2018-02-08 08:42:52 +08:00
本来一直是这个方案,结果电信自行套了一层 NAT,失去了公网 IP,卒……

@ericFork #5 goip 的 MESSAGE 消息不支持验证,反馈了好多次都没解决,而且不支持注册到 onsip。(原来长短信合并是你反馈的)
双享号 Pro 经常失联需要手动重启,到后来移动限制终端数量就根本注册不上了

感觉你折腾的经历跟我怎么一模一样
jisibencom
2018-02-08 08:56:09 +08:00
@ericFork 你好,你说的这个 GOIP-1 是直接插 SIM 卡就能用吗?

如果还需要接入 PBX,那和 LZ 搭建的 PBX 好像不是同一个东西啊
cjjia
2018-02-08 08:58:57 +08:00
移动有个 APP 叫 Jego,登录后可以设置把来电和短信通过网络用 app 接听。

联通也有一个,叫沃什么的,忘了。
ys0290
2018-02-08 09:03:56 +08:00
用了几个免费的 APP,就 zoiper 能在 ios11 下接到电话,其他都被系统杀了后台,可能是因为我用的 6
function007
2018-02-08 09:09:41 +08:00
现在用的 SIM 小二,一个国内卡一个国外卡。国内卡的电话可以走国外卡的网络接到,但短信得手动切过去收了再切回来,也就是语音双待,短信单待
defunct9
2018-02-08 09:36:08 +08:00
旅信+双享号
ericFork
2018-02-08 09:50:54 +08:00
@nifury #8 接个虚拟专用网络到 VPS 上转发出去?我家暂时还有公网 IP ……

双享号 Pro 的话我用的是联通卡,暂时没有问题。


@jisibencom #9 只为了收短信的话插卡即可,短信可以在 web ui 上直接看,如果需要转发到邮箱,需要填个 SMTP 连接信息。


@cjjia #10 移动 Jego,联通沃信,基本可以都算作已死了……至少新户是别想了
Linxing
2018-02-08 11:04:09 +08:00
我怎么记得 orangepi 出了个支持手机卡的 2G 网络
ety001
2018-02-08 15:06:24 +08:00
@ericFork 你说的很对,你遇到的问题就是我遇到的,独立供电 USB HUB 我在文章中提到了。
不过目前我主要接短信,已经满足需求了且运行超过两年了,就没有再折腾。单卡槽的 VOIP 设备没有见过,之前见过 8 卡槽的,太贵没买。双享号是啥?关于 ios,push 的确是个问题,目前使用 Media5 还好,教程中用 Linphone 主要是为了跟电脑端统一起来,写教程省劲😂。

@nifury 木有公网 IP 就是蛋疼,据说联通也要这么干了,因为 IP 不够了。
linooy
2018-02-08 18:08:41 +08:00
旅信 双享号 络漫宝 国内有三家在做,比较不理解的是为什么没有手机或者 APP 可以支持这样的功能,家里废弃的二手手机还是蛮多的。
ety001
2018-02-08 22:48:18 +08:00
@linooy 我觉得可能还是开发过于繁杂。既要开发基于 root 的 Android App 作为服务端,还要再开发支持 ios 和 Android 的客户端,感觉开发压力对于个人开发者来说过大。
Tink
2018-02-09 09:35:46 +08:00
@ety001 @ericFork

Asterisk 这个支持收到短信或者电话之后,自动执行某个脚本吗?比如 post 到一个 http 地址上或者写入数据库这类的操作
ety001
2018-02-09 09:59:53 +08:00
@Tink 短信可以,我写过一个脚本,收到短信推送到微信公众号。电话的话,不清楚,目测也是可以的。
修改短信的话,在 /etc/asterisk/extensions_custom.conf

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/429338

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX