折腾:
后,继续去试试:
A网络 如何直接拨打B的(座机)电话/手机号
对方商务QQ 2311339860
给我了线路公司的QQ 2133641464
对方:
没有主页,我们是线批
签订线路合作协议进行美元结算
就是线路批发,没有开发的
流程你不用关心拉,我们是直接跟飞语对接的,你在我这边只要有钱,飞语那边会把呼叫请求送过来,我们就可以帮你实现通话
截图
中的地址:
http://www.linknat.com/chs/support/faqs/faq27.html
-》
VOS 系列软交换 | 昆石 – 全球领先的VoIP解决方案供应商
费用方面:
0.012美元/分钟=0.07939人民币元/分钟=大概8分钱/分钟
支付方式:
银行转账?
用美元支付
每次最低限额500美元,你公司个人付款都可以,中国这边汇出来后,到我们这边到账一般两到三天
Name: TIHN PTE. LIMITED Address: 12 MARINA BOULEVARD #17-01 MARINA BAY FINANCIAL CENTRE,SINGAPORE(018982) Bank Account Number: 503356016301 Bank Name: OCBC Bank Bank Address: 65 Chulia Street OCBC Centre Singapore 049513 SWIFTCODE: OCBCSGSG |
然后用代码测试:
func callPstnBtnPressed(callPstnBtn:UIButton) { if (callPstnBtn.isSelected) { fyRtcEngine.endCall(self.endPstnCallCallback) self.infoNotice("挂断PSTN通话") } else { let pstnCalleePhone = self.pstnCalleePhoneTextField.text! let selfUid = self.selfTextField.text! let dialPstnOption:FYOptionData = FYOptionData() dialPstnOption.isRecord = true dialPstnOption.maxDuration = 60 * 1 // 测试:最长1分钟? fyRtcEngine.dialPstn(pstnCalleePhone, callerUid: selfUid, display: pstnCalleePhone, optionData: dialPstnOption) self.infoNotice("调用dialPstn:拨打\(pstnCalleePhone)") } callPstnBtn.isSelected = !callPstnBtn.isSelected } |
可以通话了:
自己手机中,显示来电是刚才设置的
display: pstnCalleePhone
是自己的第二个手机号,所以显示出 自己的名字了:
不过名字下面显示的是:
US UT
之后需要去:
如何获得通话后的录音
但是目前测试了很多次,发现用PSTN拨打被叫时不是很稳定:
被叫有时候根本收不到,有时候过了会显示一个未接
对应调试错误有多个:
code=200112,msg=Request Timeout
code=200109,msg=Not Online
但是总体还凑合。
然后接着去搞如何获取通话录音。
被叫方手机中看到的显示号码,
有时候可以正常显示号码的:
有时候又不行,会出现:
即:
飞语给落地线路公司:+8613812345678
落地线路公司(给运营商,运营商让)被叫(手机上)显示:+13812345678
-》 +1开头的号码 是美国号码
-》国内用户误以为是美国的号码打来的,所以会以为是骗子电话呢
以为是飞语SDK的bug,结果最后发现是:
国内运营商,移动,联通,电信等自己控制的
“+1线路目前还是有些概率的
+1线路 指的是什么?
还有其他哪些线路?
+1线路是指正显不通的时候我们给你用+1的备用线路外呼”
【总结】
飞语:
想要测试PSTN落地线路,直接打手机号
需要提供自己的APPID,然后让飞语后台开通这个功能的
整个逻辑是:
主叫:是用网络,装了比如RSE的app,调用飞语SDK,内部是VOIP的UDP语音,就像微信的语音
利用的是网络+飞语的SDK
被叫:无需网络,无需安装任何app,就是自己的手机号,正常接听就像别人打给你一样的通话了
即可主叫呼叫被叫,被叫显示的号,是主叫的飞语SDK中可以(任意)设置的
利用的是(飞语的合作伙伴,香港的一家,类似于移动,电信等网络提供商提供的)落地线路
举例:
我15012345678 呼叫你 18656781234
我知道你的号 就可以在飞语sdk中调用时写上:
+8618656781234
就可以呼叫到你
你看到的我的号码 我是可以随意设置的,比如+8613900001111
当然我也可以设置你看到的号码 就是我的真实的手机号 比如+8615012345678
A网络(APP) 通过 飞语SDK 直接拨打 B手机号/座机等,的费用是:约8.5分钱/分钟
具体包含2部分:
飞语本身的费用:5元/1000分钟 = 0.5分钱/分钟
飞语平台自带送了5元,可以测试1000分钟通话
如果费用不足,可以在飞语后台管理页面充值
落地线路收费:0.012美元/分钟=大概8分钱/分钟
合作公司是一家新加坡公司
和飞语合作,有送10分钟供测试
但是需要提供APPID,让飞语后台开通此PSTN功能才行
费用不足,需要充值,最低500美元起
然后关于录音的问题,情况是:
目前飞语的SDK正在调整和优化期间
在调用接口之前,option参数中设置了通话要录音(MP3文件)
在通话结束后,想要获得录音文件,暂时有2种方式:
1.联系飞语工程师,提供APPID和被叫号码,对方可以帮你从后台找出来,发给你录音文件
2.配合飞语的流程,提供自己的服务器,自己服务器实现两个接口
录音成功通知:飞语调自己服务器,用于获取callID等参数
获取录音文件下载地址:自己服务器调飞语,
具体详情和接口描述,请咨询飞语官方,要具体文档。
此处由于只是技术可行性研究,就暂时用第一种办法,要了录音MP3文件听听效果,就可以了。
至于暂时遇到的一些小问题:
1.还没开始通话就开始录音:飞语已经开始修改问题,估计新版本就修复掉了。
2.A网络,用PSTN,直拨被叫手机号时,被叫收到呼叫,的时间,比较长,大概有10-20秒。
希望以后或许有改进。
详细流程和示例代码,都已放到:
crifan/feiyuiOSDemo: 飞语云平台iOS点对点通话录音Demo
https://github.com/crifan/feiyuiOSDemo
了。
转载请注明:在路上 » 【已解决】用飞语云平台实现网络电话拨打手机号且带录音