The following examples use both a Web browser (in this case Firefox), and the command line tool cURL, an open source tool available for all major operating systems.
Replace strings shown between angle brackets (for example: <server>, <username>, <password>) with appropriate values (such as: http://callrec.company.com, admin, mypassword).
Log In To Call Recording
With Firefox:
To log into Call Recording, point to this address:
http://<server>/callrec/loginservlet?loginname=< username>&password=<password>
The Service will reply with a response similar to the following:
<ok sessionid="BA803B97624F0880A4C58B78C733EB5B" number="1">Access is authorized.</ok>
Note that the reply includes a JSESSIONID value. It will be needed later for the other services.
With cURL:
curl -v -b cookies.txt -c cookies.txt -X POST -d "loginname=<username>" -d "password=<password>" \ -H"Content-Type: application/x-www-form-urlencoded" -H"Accept: text/plain" http://<server>/callrec/loginservlet
The service will reply with a JSESSIONID (present both in the XML response and the created cookies.txt cookie file). This is required later for accessing the other services:
* About to connect() to myserver port 80 (#0) * Trying 10.0.0.1... connected * Connected to myserver (10.0.0.1) port 80 (#0) > POST /callrec/loginservlet HTTP/1.1 > User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 > Host: myserver > Content-Type: application/x-www-form-urlencoded > Accept: text/plain > Content-Length: 33 > < HTTP/1.1 200 OK < Server: Apache-Coyote/1.1 * Added cookie JSESSIONID="E3D794FEE4638143C1C89C18F693EB6B" for domain myserver, path /callrec, expire 0 < Set-Cookie: JSESSIONID=E3D794FEE4638143C1C89C18F693EB6B; Path=/callrec < Transfer-Encoding: chunked < Date: Fri, 20 May 2011 10:10:18 GMT < <?xml version="1.0" encoding="UTF-8"?> <ok sessionid="E3D794FEE4638143C1C89C18F693EB6B" number="1">Access is authorized.</ok> * Connection #0 to host myserver left intact * Closing connection #0
A cookies.txt file will be created with the following content:
# Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. myserver FALSE /callrec FALSE 0 JSESSIONID E3D794FEE4638143C1C89C18F693EB6B
See the description of the Log In Service for more details.
Request a Media File with the Audio Data Service
The following sample search criteria will be used for this request:
timeLength: 10 secondscallingParty: 5655problemStatus: NO_PROBLEMstartTime: 2011-05-20 12:14:14.684
With Firefox:
Enter the following URL into the browser, including the JSESSIONID value obtained in the previous request and the above search criteria (the \ characters represents line breaks that should be removed and the complete URL pasted in one line):
http://<server>/callrec/audiodata;jsessionid=<jsessionid>\ ?startTime=2011-05-20%2012:14:14.684&problemStatus=NO_PROBLEM\ &callingParty=5655&timeLength=10
The server will respond by sending the media file, triggering the browser to display the file open/save dialog.
With cURL:
Use the following command, specifying the location of the cookies.txt cookie file obtained in the previous request together with the sample search criteria:
curl -v -b cookies.txt -c cookies.txt -X POST -d "startTime=2011-05-20%2012:14:14.684" -d \ "problemStatus=NO_PROBLEM" -d "callingParty=5655" -d "timeLength=10" \ -H"Content-Type: application/x-www-form-urlencoded" -H"Accept: application/octet-stream" \ -o media.mp3 http://<server>/callrec/audiodata
The server will respond by sending the requested media file:
* About to connect() to myserver port 80 (#0)
* Trying 10.0.0.1... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0connected
* Connected to myserver (10.0.0.1) port 80 (#0)
> POST /callrec/audiodata HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: myserver
> Cookie: JSESSIONID=E3D794FEE4638143C1C89C18F693EB6B
> Content-Type: application/x-www-form-urlencoded
> Accept: application/octet-stream
> Content-Length: 26
> } [data not shown] 0 0 0 0 0 26 0 0 --:--:-- 0:01:01 --:--:-- 0< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Disposition: attachment; filename=1305886454684_5655_5682_29.mp3
< Content-Type: application/octet-stream;;charset=UTF-8
< Content-Length: 29936
< Date: Fri, 20 May 2011 10:28:46 GMT
< { [data not shown]
100 29936 100 29936 0 26 468 0 0:01:03 0:01:03 --:--:-- 7875
* Connection #0 to host myserver left intact
* Closing connection #0
If multiple audio files meet the search criteria specified, the server will respond with an error similar to the following:
<?xml version="1.0" encoding="UTF-8"?> <error sessionid="5DFF7181E7CF8C9B76F33418D2BBFFBA" number="5"> Multiple results found.</error>
See the description of the Audio Data Service for more details about valid search parameters.
Request a Download Token
The download token is required before requesting a media file from the Send Call File Service.
For this example, the following search criteria will be specified:
id_call[]: 1165, 1166type: 1action: download
With Firefox:
Enter the following URL into the browser:
http://<server>/callrec/downloadtoken;jsessionid=<jsessionid>?id_call[]=1165,1166&type=1&action=download
The server will respond with a token similar to the following:
<reply>NWnMJ4iKhVLOY0sUlGDX</reply>
With cURL:
Use the following command:
curl -v -b cookies.txt -c cookies.txt -X POST -d "id_call[]=1165,1166" -d "type=1" -d "action=download" \ -H"Content-Type: application/x-www-form-urlencoded" -H"Accept: text/xml" http://<server>/callrec/downloadtoken
The server will respond with a token similar to the following:
* About to connect() to myserver port 80 (#0) * Trying 10.0.0.1... connected * Connected to myserver (10.0.0.1) port 80 (#0) > POST /callrec/downloadtoken HTTP/1.1 > User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 > Host: myserver > Cookie: JSESSIONID=E3D794FEE4638143C1C89C18F693EB6B > Content-Type: application/x-www-form-urlencoded > Accept: text/xml > Content-Length: 92 > < HTTP/1.1 200 OK < Server: Apache-Coyote/1.1 < Transfer-Encoding: chunked < Date: Fri, 20 May 2011 10:27:30 GMT < <?xml version="1.0" encoding="UTF-8"?> <reply>y1vqe7xvFffKA1R5xgS6</reply> * Connection #0 to host myserver left intact * Closing connection #0
See the description of the Download Token Service for more details.
Request a Media File with the Send Call File Service
Now that we have the download token, the Send Call File Service can be called:
With Firefox:
Enter the following URL into the browser to invoke the Send Call File Service (substituting in the download token obtained):
http://<server>/callrec/sendcallfile.mp3;jsessionid=< jsessionid>?token=<download_token>
The server will respond by sending a zip containing the requested media files, triggering the browser to display the file open/save dialog.
With cURL:
Invoke the Send Call Service with the following request:
curl -v -b cookies.txt -c cookies.txt -X POST -d "token=<download_token>" \ -H"Content-Type: application/x-www-form-urlencoded" -H"Accept: application/octet-stream" \ -o file.zip http://<server>/callrec/sendcallfile.mp3
The server will respond with a zip containing the requested media files:
* About to connect() to myserver port 80 (#0)
* Trying 10.0.0.1... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0connected
* Connected to myserver (10.0.0.1) port 80 (#0)
> POST /callrec/sendcallfile.mp3 HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: myserver
> Cookie: JSESSIONID=8A355EC61B5D804447704B8CB64DF535
> Content-Type: application/x-www-form-urlencoded
> Accept: application/octet-stream
> Content-Length: 26
> } [data not shown]
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Disposition: attachment; filename=calldata.zip
< Content-Type: application/zip;
< Transfer-Encoding: chunked
< Date: Fri, 20 May 2011 13:55:18 GMT
< { [data not shown]
100 40521 0 40521 0 26 440k 289 --:--:-- --:--:-- --:--:-- 454k
* Connection #0 to host myserver left intact
* Closing connection #0
See the description of the Send Call File Service for more details about valid search parameters.
Request a Log File with the Send Log File Service
With Firefox:
Enter the following URL into the browser to download the audit log file, after first logging in using the Log In Service step above:
http://<server>/callrec/sendlogfile?sendLogIdx=1
The server will respond by sending the log file in a zip, triggering the browser to display the file open/save dialog.
With cURL:
Use the following command, after first completing the Log In Service step above:
curl -v -b cookies.txt -c cookies.txt -X POST -d "sendLogIdx=1" -H"Content-Type: application/x-www-form-urlencoded" \ -H"Accept: application/octet-stream" -o audit-log.zip http://<server>/callrec/sendlogfile
The server will respond by sending the log file in a zip:
* About to connect() to myserver port 80 (#0)
* Trying 10.0.0.1... % Total % Received % Xferd Average Speed Ti
me Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0co
nnected
* Connected to myserver (10.0.0.1) port 80 (#0)
> POST /callrec/sendlogfile HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: myserver
> Cookie: JSESSIONID=8A355EC61B5D804447704B8CB64DF535
> Accept: */*
> Content-Length: 12
> Content-Type: application/x-www-form-urlencoded
>
} [data not shown]
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Disposition: attachment; filename=audit_log.zip
< Content-Type: application/zip;
< Transfer-Encoding: chunked
< Date: Wed, 15 Jun 2011 13:46:56 GMT
<
{ [data not shown]
100 301k 0 301k 0 12 644k 25 --:--:-- --:--:-- --:--:-- 666k
* Connection #0 to host myserver left intact
* Closing connection #0
See the description of the Send Log File Service for more details about log file IDs.