前几天去营业厅交宽带费,顺便把固化也开通了,北京联通的固化是没有月租的,给个固化号码,还挺好记的。
当天师傅就上门了,在APP上设置了几下,也就5分钟倒腾好了,安上话机后拨打接听都没有问题。
有个遗憾就是必须从弱电箱拖出一条电话线出来,一头接光猫,一头接电话机,有点丑陋。
网上搜了了,北京联通的固化10年前进行光改,目前都是ims sip通话,既然是sip协议,理论上Android就可以,市面上又很多sip话机,理论也可以,有些sip话机还是支持无线连接的,淘宝搜了下sip话机国内很多家做,卖的多的是华为的espace系列,79xx,8xxx,有的价格都赶上一个中低端手机了。
手头有个nexus6p,Android8.1的,有源代码。闲鱼又下单了一个atcom A10w,80元带wifi,一个话机,一个手机,基本可以覆盖全屋了。
手机配置好参数后,(参数获取参考我另外一个光猫破解的帖子),注册失败,预料之中,国内3大运营商一只就封杀voip业务,国内版本的手机都没有sip通话的菜单,贴个图,很多人没见过
atcom 话机到货了,也是同城的,配置好参数,依旧注册失败,心里隐隐担心,难道要翻车。
后面就是近一周的折腾,过程记录如下:
1. 配置好光猫,改成voip桥接
2. 配置话机,固定IP,固定网关
3. 第二步之后,话机已经处于联通的局域网了,本地电脑已经无法连接,这时可以电脑用有线连接话机的PC口,配置IP为同网段
4. 在浏览器中输入话机IP,用户名密码admin:admin,导出话机配置,解压,修改configuration/voip/sip.cfg, 修改user agent为服务器可以识别的字段
5. 修改账户设置
6. 其他话机配置参数可以去atcom的网站下载
7. Android手机默认无法打通电话的原因,通过抓IP包分析有两点需要修改
1. ua 不识别,android默认UA是 SIPAUA,需要改成microSIP的
2. Android收到401 Unauthorized指令后发送的request后,服务器报480,具体错误消息为"399 P.20.111.bj.ims.chinaunicom.cn "SS250200F133L3382S0E0[00001] Hllm query failed"",从报文里看上游proxy(也就是pcscf)是华为设备,果真在华为网站里找到线索,是上报的sip服务器地址不对,看IP包正常的是bj.ims.chinaunicom.cn,Android上报的是bj.ims.chinaunicom.cn:5060,把端口号删除
截图show下,设备是nexus6P