网络电话api(网络电话可以发短信吗)
iOS VOIP实现语音播报、网络电话
。。。。。。。
。。。。。。。
iosvoip推送--->>>案例
https://www.jianshu.com/p/22ffe3816090
https://blog.csdn.net/jjblockAndmm/article/details/78879089
https://www.cnblogs.com/windsSunShine/p/9399515.html
https://blog.csdn.net/jeffasd/article/details/68060129 java
https://oopsr.github.io/2016/06/20/voip/ php
https://www.jianshu.com/p/e759c864c2b8验证.pem
。。。。。。。
注意⚠️token在ahc打包出来的是不一样的,切记
。1。。。。。。。。。。。。。。
如何生成.pem证书,适用于PHP。Java是.p12证书
1、将之前生成的voip.cerSSL证书双击导入钥匙串
2、打开钥匙串访问,在证书中找到对应voip.cer生成的证书,右键导出并选择.p12格式,这里我们命名为voippush.p12,这里导出需要输入密码(随意输入,别忘记了)。
3、目前我们有两个文件,voip.cerSSL证书和voippush.p12私钥,新建文件夹命名为VoIP、并保存两个文件到VoIP文件夹。
4、把.cer的SSL证书转换为.pem文件,打开终端命令行cd到VoIP文件夹、执行以下命令
opensslx509-invoip.cer -informder-outVoiPCert.pem
5、把.p12私钥转换成.pem文件,执行以下命令(这里需要输入之前导出设置的密码)
opensslpkcs12-nocerts-outVoIPKey.pem-invoippush.p12
6、再把生成的两个.pem整合到一个.pem文件中
catVoiPCert.pemVoIPKey.pem>ck.pem
最终生成的ck.pem文件一般就是服务器用来推送的。
但是我惊奇的发现,不管是对于生产pem,还是测试pem,这两个网址都可以进行验证
openssls_client-connectgateway.sandbox.push.apple.com:2195-certck.pem
openssls_client-connectgateway.push.apple.com:2195-certapns-ck.pem
验证结果:
。2。。。。。。。。。。
后台使用的接口
开发接口:gateway.sandbox.push.apple.com:2195
发布接口:gateway.push.apple.com:2195
官网提供的是:
开发接口:api.development.push.apple.com:443
发布接口:api.push.apple.com:443
这两个接口都能使用一个是Socket连接的方式,一个是采用Http的方式
。3。。。。。。。。。。。
用终端命令行cd到我们的VoIP文件夹中(有5个证书),输入:php-f文件名.php;
<?php
$deviceToken='token';//能通
//ck.pem密码
$pass='******';
//消息内容
$message='收到金额0.12元,来自支付宝扫码支付';
//数字
$badge=1;
$sound='default';
$body=array();
$body['aps']=array('alert'=>$message);
//把数组数据转换为json数据
$payload=json_encode($body);
echostrlen($payload),"\r\n";
$ctx=stream_context_create([
'ssl'=>[
'verify_peer' =>false,
'verify_peer_name'=>false
//'cafile' =>'/path/to/bundle/entrust_2048_ca.cer',
]
]);
//$pem=dirname(__FILE__).'/'.'ck.pem';
stream_context_set_option($ctx,'ssl','local_cert','ck.pem');
stream_context_set_option($ctx,'ssl','passphrase',$pass);
//gateway.push.apple.com:2195-->>正式环境
//gateway.sandbox.push.apple.com:2195-->>开发环境
$fp=stream_socket_client('tls://gateway.push.apple.com:2195',$err,$errstr,60,STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT,$ctx);
if(!$fp){
print"Failedtoconnect$err$errstr\n";
return;
}
else{
print"ConnectionOK\n
";
}
//sendmessage
$msg=chr(0).pack("n",32).pack('H*',str_replace('','',$deviceToken)).pack("n",strlen($payload)).$payload;
print"Sendingmessage:".$payload."\n";
fwrite($fp,$msg);
fclose($fp);
/*
35ConnectionOK
Sendingmessage:{"aps":{"alert":"Atestmessage!"}}
*/
。补充。。。。。。。。。。。。。。
1、当app要上传AppStore时,请在iTunesconnect上传页面右下角备注中填写你用到VoIP推送的原因,附加上音视频呼叫用到VoIP推送功能的demo演示链接,演示demo必须提供呼出和呼入功能,demo我一般上传到优酷。
2、经过大量测试,VoIP当应用被杀死(双击划掉)并且黑屏大部分情况都能收到推送,很小的情况会收不到推送消息,经测试可能跟手机电量消耗还有信号强弱有关。再强调一遍,测试稳定性请在生产环境测试。
3、如果不足和错误的地方,欢迎补充和改正,谢谢。
哪个网络电话可以设置拨出电话归属地
线路网络电话只有API显号线路的是不能设置主叫方所处的归属地的,意思你注册的手机号注册的是哪个地方显示的就是哪个地方的归属地,但像云信电话这种有API线路又有sip线路的,是可以显示随机号码的归属地的,意思是可以显示其他地方的去电显示。
网络电话可以发短信吗
网络电话可以发短信。以阿里云为例:短信服务(ShortMessageService)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。
短信服务API提供短信发送、发送状态查询、短信批量发送、设置短信签名与模板等能力,在短信服务控制台上添加签名、模板并通过审核之后,可以调用短信服务API完成短信发送等操作。
扩展资料可以通过以下方式调用短信服务API:
(1)(推荐)不同编程语言的短信服务SDK;
(2)阿里云OpenAPIExplorer。
调用短信服务API之前,请先在短信服务控制台中添加签名、模板,获取签名和模板的相关参数。
签名和模板必须经审核通过之后才能使用。
参考资料:阿里云-网络电话可以发短信
参考资料:阿里云-短信服务-简介
Tags: