Revision as of 14:30, November 27, 2014 by Alison.obrien (talk | contribs)
Jump to: navigation, search

Archiving and Metadata

The Genesys Interaction Recording solution, by default, is schedule to generate an archive file every day based on the retention period. Each time the archival process is run, the output file is saved to a compressed file. The compressed file contains the recording files and the metadata. The following directory structure is the result of the expanded compressed file:

/{contact-center-id}
	/{tenant-name}
		/{year-month-day}
			/{recording-id}
				/recording.json
				/{mediaFiles}


  • contact-center-id—The unique identifier of the contact center that is generated by Web Services.
  • tenant-name—The name of the tenant.
  • year-month-day—The directory where the recording files are stored. There is a separate directory generated for each calendar day.
  • recording-id—The unique recording identifier for each recording.
  • recording.json—The recording metadata.
  • mediaFiles—One or more recording files for the recording. The file name is referenced in the metadata. If encryption is enabled for this tenant, the recording is also encrypted in PKCS7 format. For an example of how to decrypt an encrypted recording file, see Decrypting Call Recordings.


Recording Metadata

The Recording Processor builds the recording metadata from ICON, and from the metadata from MCP for each recording file. The overall structure is in JSON format with the following mandatory core properties:

  • id—The recording identifier.
  • callerPhoneNumber—The caller DN (ANI).
  • dialedPhoneNumber—The dialed number (DNIS).
  • mediaFile—A list of recording files associated with this recording.
  • eventHistory—A list of call events associated with this recording.

mediaFile Properties

The following table describes the mediaFile properties.

Property Data Type Description Required
mediaDescriptor object—Contains the path and storage property. Specifies the path and storage location of the media file. Yes
startTime datetime Specifies the start time of the media file. Yes
stopTime datetime Specifies the stop time of the media file. If MCP fails, this value will be the same as the startTime. Yes
mediaID string Specifies the media file name for the media file that is used by clients to refer to the same media file. MCP ensures that this value is globally unique. Yes
type string Specifies the MIME type of the media file. Yes
duration time Specifies the time duration of the media file. No
size number Specifies the size, in bytes, of the media file. No
tenant string Specifies the tenant that the recording belongs to. Yes
ivrprofile string Specifies the IVR Profile name that serviced the recording. Yes
parameters object—The properties are parameters. Specifies the list of additional metadata information provided by SIP Server and the client applications. The properties are:
  • sipsAppName
  • ani
  • dnis
  • dateTime
  • calluuid
  • connid
  • agentId
  • recordDn
  • record
Yes
masks array of objects—Each object contains the time and type property. Specifies the time stamps of the pause/resume periods if the recording is
masked by a client application.
No
pkcs7 string Specifies the PKCS7 envelope (in PEM, base 64 string format) if the media file is encrypted. No
certAlias array of strings Specifies a list of aliases to the encryption certificates if the media file is encrypted. No (Yes if the pkcs7 property is present)
partitions array of strings Specifies a list of partition names for the media file. Yes
accessgroups array of strings Specifies the access groups identified agent associated with the recording. Yes

eventHistory Properties

The following table describes the eventHistory properties.

Property Data Type Description Required
occurredAt datetime Specifies the start time of the event. Yes
calluuid string Specifies the call UUID that the event belongs to. Yes
event string Specifies the event type:
  • Joined
  • Left
  • data
Yes
contact object Specifies the the contact information of the caller who joined or left the recording if the event is Joined or Left. No
data object The attached data included in the recording if the event is data. No

Metadata Format

The following code snippet illustrates the metadata format:

{
   "id": "00PV5Q27MG8AB8VNE49362LAES000013",
   "callerPhoneNumber": "+14152213344",
   "dialedPhoneNumber": "+14155551234",
   "mediaFiles":
   [
     {
      "mediaDescriptor": {
       "path":"100PV5Q27MG8AB8VNE49362LAES000013_029FO32T0G8LDFTEK9I4K8DAES0KTDVE.wav",
       "storage":"awsS3",
       "data": {
        "bucket": "mybucket"
       }
      },
      "startTime": "2012-12-18T13:45:032.000Z",
      "stopTime": "2012-12-18T14:15:036.000Z",
      "mediaId" : "00PV5Q27MG8AB8VNE49362LAES000013_029FO32T0G8LDFTEK9I4K8DAES0KTDVE.wav"
      "type" : "audio/wav",
      "duration" : "534s",
      "tenant" : "Environment",
      "ivrprofile" : "DefaultIVRProfile",
      "size" : "8544"
      "parameters" : {
        "record" : "source",
        "recorddn" : "2222",
        "calluuid":"00PV5Q27MG8AB8VNE49362LAES000013", 
        "ani":"+14152213344", 
        "dnis":"+14155551234", 
        "agentdn":"2222", 
      },
      "masks" : [
        {"time":"2013-02-06T10:23:10.034Z","type":"paused"},
        {"time":"2013-02-06T10:23:23.124Z","type":"resume"}
      ],
     "pkcs7" : "...", 
     "certAlias" : [ "...", "..." ], 
     "partitions" : [ "support" ],
     "accessgroups" : [ "region1", "team1" ] 
    }
   ],
   "eventHistory":
   [
    {
     "occurredAt": "2012-12-18T13:45:032.000Z",
     "calluuid":"00PV5Q27MG8AB8VNE49362LAES000013",
     "contact":
     {
         "type": "User",
         "phoneNumber": "+16501112222",
         "userName": "AliceAmb@company",
         "firstName": "Alice_NEW2",
         "lastName": "Amber"
     },
     "event": "Joined"
    },
    {
     "occurredAt":"2012-12-18T13:45:56.000Z",
     "calluuid":"00PV5Q27MG8AB8VNE49362LAES000013",
     "event":"Data",
     "data":{"Test":"helloworld"}
    },
    {
     "occurredAt": "3333-12-18T14:15:036.000Z",
     "calluuid":"00PV5Q27MG8AB8VNE49362LAES000013",
     "contact":
     {
         "type": "External",
         "phoneNumber": "+1415221344"
     },
     "event": "Left"
    }
   ]
 }

Comments or questions about this documentation? Contact us for support!