2,245
社区成员
发帖
与我相关
我的任务
分享
<?php
// 拼接请求包体//填入相应的值即可,这是老早以前的代码了,我看最近的更新貌似把subAccountSid 和 voipAccount都去掉了 只要from和to 以及显号customerSerNum和fromSerNum 后两项是选填的。//URL里的f和t对应拨叫和被叫号如果要做回拨卡,把这两个参数配置到用户的请求上即可。//之前是要给号码前加0086的 现在新的逻辑不知道还需要不$body= "<CallBack>
<subAccountSid>子账号</subAccountSid>
<voipAccount>VOIP的账号</voipAccount>
<from>0086".$_GET["f"]."</from>
<to>0086".$_GET["t"]."</to>
</CallBack>";
// 大写的sig参数
$val = "子账号"."账户授权令牌 就是那个TOKEN".date("YmdHis",time());
$sig = strtoupper(md5($val));
// 生成请求URL
$url="h体体ps://sandboxapp.cloopen.com:8883/2013-12-26/SubAccounts/子账号/Calls/Callback?sig=$sig";
// 生成授权:子账户Id + 英文冒号 + 时间戳。
$authen=base64_encode("子账号:".date("YmdHis",time()));
// 生成包头
$header = array("Accept:application/xml","Content-Type:application/xml;charset=utf-8","Authorization:$authen");
function curl_post($url,$data,$header,$post=1)
{
//初始化curl//首先确定你服务器PHP配置了curl
$ch = curl_init();
//参数设置 //用SSL方式请求
$res= curl_setopt ($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, $post);
if( $post)
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
$result = curl_exec ($ch);
//连接失败
if($result == FALSE){
print curl_error($ch);
}
curl_close($ch);
return $result;
}//如果没有其他错误 一般等一会 两个号码就能接到一个中继号打来的电话了
echo curl_post($url,$body,$header);
?>