Revision as of 14:32, December 18, 2014 by Alison.obrien (talk | contribs)
Troubleshooting
What Happens if MCP fails to send recordings to Recording Processor?
If you have scheduled maintenance for an extended period of time which could cause lost recordings, Genesys recommends that you reconfigure Media Control Platform (MCP) to stop posting recording, so that you do not have to handle the failed recordings.
Important
Genesys recommends that your deployment be sized to accommodate 48 hours worth of recording on disk, and that there is plenty of physical memory available on the MCP machine, so that the recording can reload efficiently when MCP restarts.
To reconfigure MCP:
- Stop MCP.
- Set the recordnumparallelpost parameter in the mcp section to 0.
- Restart MCP.
This disables the MCP posting functionality and all recording/meta data files will continue to accumulate in the cache/record directory. - When suitable, stop MCP, set the recordnumparallelpost parameter back to the
recommended/default value and restart MCP.
MCP will now scan the cache/record directory and post the requests for the recording files that are present.
Handling Failed Recordings
For handling MCP post failures in the cache directory:
- Find the MCP's $InstallationRoot$/cache/record/failed directory for the following file types:
- [audiofilename]-htccmetadata.json
- [audiofilename]
- [audiofilename].pem (provided only when encryption is enabled)
- 743CTLVFHH0TH7HHB4D1PTS5US00000F_2014-10-04_11-47-25-00780142-10004349-00000001.mp3-htccmetadata.json
- 743CTLVFHH0TH7HHB4D1PTS5US00000F_2014-10-04_11-47-25-00780142-10004349-00000001.mp3
- Submit these files to:
- Recording Processor
- Recording storage (WebDAV)
- Recording post failures can be due to incorrect provisioning in the IVR Profile, so before posting the metadata file to Recording Processor, look at the metadata file to make sure provisioning is correct. The following is an example of a metadata json file:
{ "mediaFiles": [ { "duration": "0", "ivrprofile": "DefaultProfile", "mediaDescriptor": { "path": "http://ca-to-irp02/recordings/743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3", "storage": "webDAV" }, "mediaId": "743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3", "parameters": { "agentId": "1001", "ani": "5000", "callUuid": "743CTLVFHH0TH7HHB4D1PTS5US00000G", "connId": "007002526eab5010", "dateTime": "2014-10-07T15:46:21Z", "dnis": "3001", "id": "743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21", "recordDN": "2001", "rp.speechminer_auth": "user:password", "rp.speechminer_uri": "http://ca-to-macon2/interactionreceiver", "sipsAppName": "SIPServer" }, "size": "0", "startTime": "2014-10-07T15:46:21Z", "stopTime": "2014-10-07T15:46:21Z", "tenant": "Environment", "type": "audio/mp3" } ] }Check for following items in the json file:
- mediaFiles[0].mediaDescriptor.path—Make sure this is the correct WebDAV address
- mediaFiles[0].parameters['rp.speechminer_uri']—Make sure this is the correct location of SpeechMiner Interaction Receiver
- mediaFiles[0].parameters['rp.speechminer_auth']—Make sure this is the correct authorization of SpeechMiner Interaction Receiver
- When encryption is enabled, edit the json file and manually add the pkcs7 headers which is the content of the .pem file (make sure that you replace the line break with \n). Use the following as an example:
{ "mediaFiles": [ { "duration": "0", "ivrprofile": "DefaultProfile", "mediaDescriptor": { "path": "http://ca-to-irp02/recordings/743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3", "storage": "webDAV" }, "mediaId": "743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3", "parameters": { "agentId": "1001", "ani": "5000", "callUuid": "743CTLVFHH0TH7HHB4D1PTS5US00000G", "connId": "007002526eab5010", "dateTime": "2014-10-07T15:46:21Z", "dnis": "3001", "id": "743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21", "recordDN": "2001", "rp.speechminer_auth": "user:password", "rp.speechminer_uri": "http://ca-to-macon2/interactionreceiver", "sipsAppName": "SIPServer" }, "size": "0", "startTime": "2014-10-07T15:46:21Z", "stopTime": "2014-10-07T15:46:21Z", "tenant": "Environment", "type": "audio/mp3", "pkcs7": "-----BEGIN PKCS7-----\nMIIBJQYJKoZIhvcNAQcDoIIBFjCCARICAQAxgeAwgd0CAQAwgYYwgYAxCzAJBgNV\nBAYTAkNBMQswCQYDVQQIDAJPTjEQMA4GA1UEBwwHTWFya2hhbTEQMA4GA1UECgwH\nR2VuZXN5czEOMAwGA1UECwwFQ2xvdWQxDDAKBgNVBAMMA0dJUjEiMCAGCSqGSIb3\nDQEJARYTZ2lyLWRldkBnZW5lc3lzLmNvbQIBBzANBgkqhkiG9w0BAQEFAARAry30\nyyZ/LU76eZvON+FWWMCPCjb/mR4b62dHy31O5wHfXrf6YrZIXMJgqh+T/4kYzQMq\ndefDKqjVKUOUi+I56zAqBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAkaESb2bwB\nKnCLYVzw2Csq\n-----END PKCS7-----\n" } ] } - When you are ready to submit the files, do the following steps in order:
- Issue an HTTP PUT to WebDAV:
curl -u [webdavauth] -T [audiofilename] [mediaFiles[0].mediaDescriptor.path]
Using this example above and assuming the webdav authorization is webdav:password, you will see the following returned:
curl -u webdav:passowrd -T 743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3 http://ca-to-irp02/recordings/743CTLVFHH0TH7HHB4D1PTS5US00000G_2014-10-07_15-46-21-00780143-100043F9-00000001.mp3
- Issue an HTTP POST to Recording Processor:
curl -u [rpauth] -X POST -d @[metadatafile] --header "Content-Type: application/json" [rpuri]
where:
- [rpauth] is the Recording Processor authorization as per the IVR Profile
- [metadatafile] is the metadata json file in MCP's cache/failed directory
- [rpuri] is the Recording Processor URI as per the IVR Profile
Using the example above, you should see the following returned:
curl -u user:password -X POST -d @743CTLVFHH0TH7HHB4D1PTS5US00000F_2014-10-04_11-47-25-00780142-10004349-00000001.mp3 -htccmetadata.json --header "Content-Type: application/json" http://ca-to-macon2:8889/api/contact-centers//recordings/
- Issue an HTTP PUT to WebDAV:
Comments or questions about this documentation? Contact us for support!
