Forums
« Back to Features and enhancements

RE: Cisco Jabber CDRs retrieval programatically

Combination View Flat View Tree View
Threads [ Previous | Next ]
I have Cisco Jabber installed on my desktop. Is there any way to retrieve the CDRs of inbound and outbound calls from this softphone and push them into a php application?

Anum,

I do not think the SDK exposes this kind of information at the moment. However you can use Serviceability APIs to get the CDR file list and gets the file uplad to the FTP/SFTP. Then, have your php application reads from there.

Howard

Howard,
 
Thanks for the reply. Can you tell me that do i have to register the cisco jabber with the unified communication manager? I have cisco jabber 9.0.2 for windows

Assuming you were asking using Serviceability API, you don't have to register Jabber, you will have to have the application user credential to login when accessing this API.
This is XML API and have nothing to do with Jabber.

Howard

ok, thanks alot, one question more, I searched through the documents at the link you referred and what I found is that CDR onDemand can be what i am looking for. There I was introduced to CUCM. I dont have CUCM neither configured nor installed, would CUCM 8.6.2 will do? or do i need CUCM at all? I am kind of novice for all this, so I have to be pretty sure before I start anything. I dont even know what installations i really need to implement all this. So please can you guide me a bit.

Anum,
Yes, CDRonDemand is the one you need and you do need CUCM since it's the one of the service provided by it. And the version 8.6.2 is fine.
Not sure what exactly the use case you are having in mind. You can also hit the Phone call statistic page directly, this might be an alternative way for php to read the pages (since they are html pages).
Here is the doc of "Monitoring the Cisco Unified IP Phone Remotely"

Thanks,
Howard

Howard,

Thanks again for your timely reply. What I have to implement is I have a cisco jabber softphone installed on my desktop, I will retrieve the CDRs through CDRonDemand Service and through ftp upload it to the same server where my php application resides and then read those files and push them in my db; as the information about the caller name, call type(inbound/outbound), call time etc. Its just a simple demo, but for the real life usage i have loads of cisco jabber softphones on a server and i have to retrieve the CDRs of all those softphones and push them in the db. What i have deduced that ill have to get CUCM installed on the same server where all these softphones will be residing. so it can have the CDRs. Am i on the right track with this usecase? 
And does the cisco jabber's username and password will be enough to retrieve the CDRs? As you said theres no need for the registeration of softphone with CUCM. How come the CUCM have the CDRs if it doesnt have a connection with the softphone?
 
I really appreciate all your help and time. 

Anum,
You are welcome!! The process sounds right to me.
Thought about CDRs, there are couple of ways you can do.
1. You can setup FTP Server and have CDRs files upload automatically, and have your php to look for the timestamp on those files when everytime jabber call happens
2. Use CDRonDemans API to upload CDRs only when you have finished a Jabber call, you will only uplload the file you need and it's easier to manage
3. When using CDRondemands, you will be limited to retrieve the file list within one hour period of time per API call. Also limited to upload one file to FTP per API call due to timeout concern
4. The CDRs file is not referencing by account name, it is based on device. So you will need to look for the Device Name and DN number that softphone is using.

Hope this help
Howard

Thanks Howard alot for all your answers. you really educated me about this topic. I am really greatful. ill keep in touch and do let you know the results once i am done with it.
Anum

Hello, I have got the CUCM setup and activated the CDR onDemand service there. Now i am trying to connect to the webservice through the following code from my PHP Application:
1 $client = new SoapClient('https://ip:8443/CDRonDemandService/services/CDRonDemand?wsdl',                          array('trace'=>1,        'cache_wsdl' => 0,                       'exceptions'=>1,                       'location'=>"[url=https://ip:8443/axl]https://ip:8443/axl[/url]",                        'login'=>'user',                        'password'=>'pwd',                         ));  $val=$client->get_file_list(array("Start Time"=>'201210042300',"End Time"=>'201210050000')); print_r ($val);
this gives the following error:
1 [b]Fatal error[/b]: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://ip:8443/CDRonDemandService/services/CDRonDemand?wsdl' : failed to load external entity [url=https://ip:8443/CDRonDemandService/services/CDRonDemand?wsdl]https://ip:8443/CDRonDemandService/services/CDRonDemand?wsdl[/url]

Secondly if i try to access this wsdl file from browser i get page timeout error and cant get to it unless i connect to this server through vpn.
Please help me with this.

Anum,
There seems to have some problem on the link you tried. Please refer to the latest AXL developer guide for the details on how to use CDRondemand wsdl
Howard

Howard,
I tried the method of setting up FTP Server and have CDRs files upload automatically intead of WSDL way and happy to tell you that it worked. But ill surely work throught the guide you referred to.
Thanks