PHP源码
| <?php //配置信息$apiKey= "";//你的ssy帐号的apiKey$account="";//你的ssy帐号$ID="";//Sip providers名称$filename="zhubeijiao.txt";//记录主被叫的文件名$ipkall="";//ipkall号码,001XXXXXXXXXX格式?><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>优艾米SIP通用回拨平台</title></head><body><center>SIP通用回拨平台.<a href="index.php">6分钟回拨平台</a>.<a href="callback.php">5分钟回拨平台</a><br/><form action="sip.php" method="post"><p>SIP:<input name="server" type="text" value="<?php echo $_REQUEST["server"];?>"></p><p>用户:<input name="user" type="text" value="<?php echo $_REQUEST["user"];?>"></p><p>密码:<input name="pass" type="text" value="<?php echo $_REQUEST["pass"];?>"></p><p>主叫:<input name="caller" type="text" value="<?php echo $_REQUEST["caller"];?>"></p><p>被叫:<input name="called" type="text" value="<?php echo $_REQUEST["called"];?>"></p><input name="sovi" type="submit" value="Call"></form><?phpdate_default_timezone_set('PRC');if($_POST['sovi']=="Call"){$url="https://www.sipsorcery.com/rest/v0.1/provisioning.svc/sipprovider/update";$body=json_encode(array("ID"=>$ID, "ProviderName"=>"my", "ProviderUsername"=>$_REQUEST["user"], "ProviderPassword"=>$_REQUEST["pass"], "ProviderServer"=>$_REQUEST["server"], "ProviderAuthUsername"=>null, "ProviderOutboundProxy"=>null, "ProviderType"=>"SIP", "ProviderFrom"=>null, "CustomHeaders"=>null, "RegisterContact"=>"sip:{$account}@sipsorcery.com", "RegisterExpiry"=>3600, "RegisterServer"=>null, "RegisterRealm"=>null, "RegisterEnabled"=>true, "GVCallbackNumber"=>null, "GVCallbackPattern"=>null, "GVCallbackType"=>null));$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: application/json; charset=utf-8")); curl_setopt($ch, CURLOPT_COOKIE, "apikey=".$apiKey);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_POSTFIELDS, $body);$result = curl_exec($ch);curl_close($ch);echo "SIP信息已提交<br/>";if(strstr($result,"true}")!=False){ file_put_contents($filename,$_REQUEST["caller"].",".$_REQUEST["called"]); $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); socket_connect($socket,'210.83.225.48',5138); socket_write($socket,"Action: Login\r\nUsername: 15505285877\r\nCHAP-Password: f002380c006e60a536d1adb7a83be901\r\nCHAP-Challenge: 1369977169\r\nRandom: 1\r\nh323-conf-id: EEF5A8A6 85FB1810 826F0050 56C00008\r\nFramed-IP-Address: 192.168.2.110\r\nCalling-Station-Id: 14794175500\r\nCalled-Station-Id: {$ipkall}|008613800138000\r\n\r\n"); $data = socket_read($socket,1024); //echo $data; socket_write($socket,"Action: originate\r\nChannel: {$ipkall}\r\nContext: Main\r\nExten: 8000011\r\nPriority: 1\r\nTimeout: 30000\r\nCallerID: 008613800138000\r\nVariable: DEST=008613800138000\r\nVariable: DialNum=2\r\nAsync: 1\r\nAccount: \r\nActionID: 1369977169\r\n\r\n"); $data = socket_read($socket,1024); //echo $data; socket_close($socket); echo "呼叫请求已提交,请等待来电";}else{ echo "配置SIP帐号出现错误,请联系管理员".$result;}}?><hr/>Code By:Sovi<br/>QQ:726723821<br/><?php echo date('Y-m-d H:i:s',time());?></center></body></html> |
ssy中的Dial plan写成
|