Recording files delivered to FTP
Recording file formats and file names
If you want to store the recording files locally instead of storing them in the Puzzel Administration Portals Archive, we can deliver the recording files to Puzzels FTP server, so that you can log on to the FTP server and download the files to a local server e.g. every hour or every night. The default storage time for recording files on Puzzels FTP server is 7 days.
Puzzel can deliver recording files to FTP in the following formats:
- WMA (16 kbps)
- MP3 (9-19 kbps)
- WAV (PCM 128 kpbs)
* The original recording file from the phone system is on format wav A-law 64 kbps format before being converted to one of these 3 formats.
The recording is in mono, not stereo.
Each call recording files metadata can be delivered in a separate XML file.
Only WMA recording files contain metadata (callers number, access number etc) about the recording in the File property details (the Comment field).
The file name for recording files delivered to FTP server will be
...where sessionID is the internal id in Puzzels platform, Number is the recording number within the session, and Format is WMA, MP3 or WAV.
The sessionID can also be found in the Raw data (detailed call records) for the call, and sessionID can be sent as a parameter in a web request (Xml Http Client) to populate your CRM system when the agent answers or ends the call.
Recording metadata XML file
When recording files are delivered to FTP, Puzzel can deliver each recording files metadata in a separate XML file. The metadata is the basic information related to a call recording. The metadata file will have the same file name as the corresponding recording file, but with extension .XML.
The recording metadata XML file contains four parts:
- Session information: sessionID, start time, access number, etc
- Request information: remoteAddress (=callers phone number), queue_key, queue description, etc
- User information: The agents userID and firstname/lastname etc
- Recording information: Recording start/stop/duration, and Forced on queue/agent
In Puzzel Raw data, you can find much more detailed information about a call than what is present in the recording files metadata.
About the caller's number
The callers phone number is usually received by Puzzel as Calling Party Number, and this number is in the recording metadata shown as RemoteAddress. In Raw data, this will be the Initiation events Source. If a caller (A) called to a number (B) that is forwarded to a Puzzel access number (C), the callers number (A) might be received by Puzzel as Additional Calling Party Number (additional_source in Rawdata) or Redirecting Number (redirect_source in Raw data), and the number the caller called to (B) might be received as Calling Party Number. If this is the case, the called number (B) is shown as RemoteAddress in the recording metadata (and as Source in Raw data).
In the Puzzel Admin Portals Archive, you can search for calls and recordings. If you search for a call where the Callers number is xxx, the Archive searches for calls with xxx as Calling Party Number, Additional Calling Party Number or Redirecting Number.
Call recording metadata example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <recordingDetails version="1.0"> <sessionInformation> <sessionId>002b93e0-fe71-4d16-af34-d91a31214d8c</sessionId> <sessionStart>2016-11-02T16:50:55.003+01:00</sessionStart> <serviceId>10298</serviceId> <serviceNumber>21494324</serviceNumber> <serviceDescription>My Services</serviceDescription> <accessPoint>21492970</accessPoint> <countryCode>NO</countryCode> <fileName>002b93e0-fe71-4d16-af34-d91a31214d8c_1.mp3</fileName> </sessionInformation> <requestInformation> <requestId>467224</requestId> <remoteAddress>21498175</remoteAddress> <queueKey>Q_PHONE_SALES</queueKey> <queueDescription>Phone Sales</queueDescription> <vip>0</vip> </requestInformation> <userInformation> <userId>17064</userId> <firstName>Kristian</firstName> <lastName>Halvorsen</lastName> <userName>kristian</userName> </userInformation> <recordingInformation> <recordingIndex>1</recordingIndex> <recordingStart>2016-11-02T16:51:00.69+01:00</recordingStart> <recordingStop>2016-11-02T16:51:03.307+01:00</recordingStop> <ownerType>user</ownerType> <ownerTypeId>1</ownerTypeId> <ownerId>17064</ownerId> <forcedOnQueue>false</forcedOnQueue> <forcedOnUser>true</forcedOnUser> <recordingSeconds>3</recordingSeconds> </recordingInformation> </recordingDetails>