Reference13r1:Concept App Service Recordings

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference13r1 (this version) | Reference13r2 | Reference13r3 | Reference14r1

Applies To

  • innovaphone PBX from version 13r1


Recordings App (innovaphone-recordings)

Usrrecord.png User version of the App allow you to :

  • Access to the user specific records
  • Filter records by name, by date
  • Play, Listen or Download the recording as a .WAV file
  • Protect against deleting or delete a recording

Recordings Admin App (innovaphone-recordingsadmin)

Adminrecord.png Admin version of the app allow you to :

  • Access to all records
  • Set up the records auto deletion retention time in days
  • Filter records by name, by date
  • Play, Listen or Download the recording as a .WAV file
  • Protect against deleting or delete a recording


  Recordings is an application running on the app platform which allows to capture the audio streams during a telephone call.

The users phone can be configured to send bi-directional audio streams to the Recordings App and store them into the database.

Setting up

Setting up the Recordings App on the App Platform

  1. On the App Platform click the App Store, install the App Recordings.
  2. Create an instance and fill the fields Name, Domain, Password and Database Password
  3. Start the new instance

The Recording App on the App Platform is now up and running:

Installing the App Object on the PBX

Prerequisite for installing and configuring the Recordings App Object is that a AP Object is set up properly on the PBX and the user has the PBX manager app available (as required for configuration of all other app objects). Select the PBX manager, then the “AP recordings” Plugin.

Now you can add the Recording config and configure a “User” object (TYPE selector) via which a user can access and administrate his own recordings and/or an “Admin” object which allows the access to all recordings. “NAME” and “SIP” can be freely chosen. The “Licenses” entry specifies how many licenses from the installed Recordings Service License are allocated for this object. For example:


After pressing “Ok” the installed entry appears:


Note: The checkmark between “USER” and “10” indicates that the Pbx Object has successfully opened a connection to the Recordings App. Similarly an administrator object can be configured:


Note: The administrator does not claim licenses

The App is known to the pbx under the “SIP” name. For the user to be able to use the app the checkbox must be ticked in the “Apps” tab:


Note: the “arecordings” aka AdminRecordings app and the “urecordings” aka UserRecordings app are enable for the User. Please do not get confused by the appearance of “recordings” and “recordingsadmin” in the selection. These are dormant leftovers from previous configurations

Setting up the users phone

In order to set up the users phone for recording the Record to (URL) entry must be set:


This entry consists of the app platform server address ( ,the “Webserver path” (as configured in Pic 2, here in this example: "") and the “Files” submodule name. This could also be pushed by the Devices-app: Devices -> Domains -> (select the correct domain) -> edit the 'Phone'-configuration and tick and add this URL under 'Recording URL'.

Note: the recordings url for the phone configuration is constructed as follows: platform server address "" + webserverpath "" + submodule name = "Files" (fixed name). Do not concatenate "Files" to the App url, here in this example: "" since the "innovaphone-recordings" (fixed name) part is the submodule name of the app configure, gui, pbx connect functionality

Furthermore, under “Recording” the “Recorder”: HTTP Server must be selected. The mode can be set as appropriate.:


In the above example the mode “transparent” is set so the recording starts automatically when the call is established. We recommend the users phone to be configured via a configuration script or template.

Note: pressing the function key after recording has started pauses the recording, another press resumes recording until it stops when the call terminates.

Setting up reporting to provide the recordings app with the call information

In order to have call information (caller name, number..) the reporting information must be passed from the pbx to the recordings app. If this is not configured the calls are still recorded but appear with “No CDR” indistinguishable on the GUIs. First enable CDR generation :


Then configure the cdr target (please note that CDR0 could have been configured already for the Reporting-app, then take CDR1):


“Type” must be “HTTP”. Address: the app platform server ip address, Port: must be 80 Method: must be “External(Post)” Path: the webserver path as configured in Pic 1 plus “cdr” as the submodulename

User and Admin GUI

User Gui

The User Gui allows a user to access the OWN recordings

He can listen, delete, filter through his records. Furthermore he can save the Record as wav file. Every record will be saved per default for 30 days in Recordings App. (This can be modified by the admin in Recordingsadmin App) If the user wants to save his Record for longer than he can press the lock symbol of his Record.

In the following picture we see the Gui showing one call:

Recordings13.png Pic 13

The GUI consists of a header containing a

  • Search field to the left
 The search can either be a search for names or phone numbers. The search is dynamic, so every every character or digit entered lists the matching substrings
  • followed by a Sort button “A-Z”/”Z-A”
 Sort the entries in ascending or descending order
  • and a “settings” button to the right
 the button opens a menu where display filters for name and/or recording periodcan be set:


The above example shows just one recording entry, which comprises of the following items:

  • an arrow indicating the call direction (bottom left to top right: outgoing, top right to bottom left: incoming).
  • The partners name and number
  • A conversion button
 Since the recordings are stored in pcap format and the respective codec used for the call, the recording must be converted to a wave file before it can be played back (or downloaded). Note: depending on the codec used during the call this conversion process can be time consuming. The  most time consuming codecs are: G729 and Opus.  
  • The date and time
 The date and time of the recording
  • A lock button
 The recordings are automatically deleted after a specific time which can be set in the Administrator GUI. If the user wants to avoid this and permanently flag the recording, this button can be engaed. The button appears Orange for permanently flagged recordings.
  • A delete checkmark
 To delete recording(s) they can be selected here, A confirm button triggers the deletion.

Conversion process

When pressing the conversion button a thread is started on the app platform for this purpose. The conversion button changes to a circling activity icon with the percentage completed indicator below. Multiple conversions can be started, however they are processed subsequently . Once the convertion process is completed the activity indicator changes to a download icon (to download the wave file) with the duration of the audio file underneath. Additionally a player interface opens in the recording item:

Recordings15.png Pic 15

The wave file generated by the conversion process is stored temporarily in the database to allow for subsequent access without the nessecity to go through the conversion process again. After a lifetime of 1 hour this temporary file is deleted and the player item in the recording entry disappears.

Admin Gui

TheAdmin Gui allows a user to access ALL recordings. Its layout is similar to the users Gui with the addition that both parties of the call are showm with the call initiator in the top row.:

Recordings16.png Pic16

The settings menu contains, besides the filter settings an item to configure the time how long the recordings are held in the database before they are permanently deleted:


To practically disable automatic deletion configure a bigger number of days, e.g. 7300 for 20 years.