JTApi和未接来电/之前完成的通话

时间:2017-04-13 06:51:52

标签: jtapi cucm cisco-jtapi

我正试图找到一种方法来使用JTApi来接收来自手机的未接来电和已完成的电话。我知道我可以自己编写这些代码并在callobserver中捕获它们,但我特别希望它来自PBX / Phone。 这可能吗?

1 个答案:

答案 0 :(得分:1)

Cisco JTAPI不提供对历史通话记录的访问,也不是直接查询电话设备的编程方式。对于'实时'呼叫历史记录,您需要实施全时呼叫观察并将呼叫元数据记录到您自己的数据库中。

历史通话记录可通过CUCM'呼叫详细记录'功能:https://developer.cisco.com/site/sxml/discover/overview/cdr/

这些CDR在每次通话结束时从支持电话发送到CUCM,并且每隔1分钟(默认情况下)作为CSV格式的平面文件收集/存储在CUCM发布器上。

访问CDR有两种主要机制:

  • FTP / SSH-FTP传送:在CUCM可维护性管理页面中最多可以配置三个目的地,其中CDR文件将按照配置的间隔传送: CDR Delivery Target Configuration
  • CDRonDemand SOAP API:可列出一段时间(最多一小时)的可用CDR文件名,以及请求将FTP / SSH-FTP传送到指定位置(即应用程序主机)的单个文件。服务/ WSDL在CUCM Publisher上可用:https://:8443 / realtimeservice2 / services / CDRonDemandService?wsdl

get_file_list请求示例:

<!--CDRonDemand API - get_file_list - Request (datetime format is in UTC time)-->
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.cisco.com/ast/soap/">
   <soapenv:Header/>
   <soapenv:Body>
      <soap:get_file_list>
         <soap:in0>201409121600</soap:in0>
         <soap:in1>201409121700</soap:in1>
         <soap:in2>true</soap:in2>
      </soap:get_file_list>
   </soapenv:Body>
</soapenv:Envelope>

get_file请求示例:

<!--CDRonDemand API - get_file - Request-->
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:CDRonDemand">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:get_file soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <in0>sftp-server.server.com</in0>
         <in1>user</in1>
         <in2>password</in2>
         <in3>/tmp</in3>
         <in4>cdr_StandAloneCluster_01_201409121628_189</in4>
         <in5>true</in5>
      </urn:get_file>
   </soapenv:Body>
</soapenv:Envelope>

有关应用程序访问CDR的更多详细信息,请访问:https://developer.cisco.com/site/sxml/