__setLocation($config['url']); // 获取录音录像服务器配置,如果已经启用, // 调用录音录像服务器的webservice 接口,否则直接获取记录 $serverInfo = $client->SelectRecordServerInfo(); if (!$serverInfo->IsUsed ) { $result = array(); // $result = $client->SelectCallRecord( // $pageindex, $pagesize, $begintime, $endtime, $minlen, $maxlen, // $number, $calltype, $recordtype); $result = $client->SelectCallRecord2( $pageindex, $pagesize, $begintime, $endtime, $minlen, $maxlen, $number, $calltype, $recordtype,$localNum); foreach ($result['details'] as $record) { //修改每个记录,拼接文件下载所需的URL // if (WEBSERVICE_IP == 'localhost' ) { // $record->url = "/records/". $record->Subpath . "/" // . $record->Recordname.'?recordserver='.WEBSERVICE_IP; // } else { // $record->url = "http://".WEBSERVICE_IP."/records/" // . $record->Subpath . "/" . $record->Recordname; // } $record->url = "/records/". $record->Subpath . "/" . $record->Recordname.'?recordserver='.WEBSERVICE_IP; } //$IsUseRecordServer =false; echo "{\"IsUseRecordServer\":0,\"webSrvData\":".json_encode($result)."}"; } else { // 启用录音录像服务器 $serverPort = $serverInfo->WebServicePort; if ($serverPort == -1) { $serverPort = 8091; // 还是 5080? } $serverIP = $serverInfo->InternalIP; // 强制设置端口和IP (测试用途) //$serverPort = 8092; //$serverIP = "124.205.140.5"; $serverUrl = 'http://'.$serverIP.":". $serverPort; $client2 = new SoapClient($serverUrl."/?wsdl"); $client2->__setLocation($serverUrl); // webport 通常应该是80 $sysParams = $client2->GetSystemParameter('WebPort'); $WebPort = $sysParams[0]->TheValue; if ($calltype < 0 ) { $calltype = 0; } // 视频处理状态,目前没用 $proc_state = -1; //GetRecords2(string $bdate, string $edate, int $minlenth, int $maxlenth, // string $number, int $calltype, int $proc-state, // int $pageindex, int $pagesize, // int $filetype, int $ids-id, string $cid) $result = $client2->GetRecords3($begintime, $endtime, $minlen, $maxlen, $localNum,$number, $calltype, $proc_state, $pageindex, $pagesize, $recordtype, -1,''); // print_r($result); // 需检查返回数据是否有url if(empty($result) || empty($result[0]->list) ){ $obj = new StdClass(); $obj->list = array(); $result=array($obj); } foreach ($result[0]->list as &$record) { // 注意大小写 //$record->url = "http://".$serverIP.":".$WebPort."/records/" // . $record->SubPath . "/" . $record->RecordName; $record->url = "/records/". $record->SubPath . "/" . $record->RecordName.'?recordserver='.$serverIP; } //$IsUseRecordServer =true; echo "{\"IsUseRecordServer\":".true.",\"webSrvData\":".json_encode($result[0])."}"; } } catch (SOAPFault $e) { // print $e; // 如果有异常,开启上面这一行调试 echo json_encode(array("error" => 502, "desc" => "WebService服务故障")); return; } /* [CID] => 9EEC7ACC-58E9-4CBB-9BE4-75656E738B99 [Caller] => 2002 [Called] => 2001 [RecordName] => 9EEC7ACC-58E9-4CBB-9BE4-75656E738B99_2001.mp4 [SubPath] => video/2021/04/09/ [CreateTime] => 20210409195310 [ReleaseTime] => 20210409195324 [TimeLength] => 14 [ProcessState] => 0 [RecordType] => 12 [WebPath] => /usr/local/records/ [CallerName] => 2002 [CalledName] => 2001 [GroupCid] => 9EEC7ACC-58E9-4CBB-9BE4-75656E738B99 [FileType] => 1 [Callnumber] => 2001 */ ?>