Skip to main content

Record Location

Recording to a file

When recording to a file, the PBX needs to know the location where to place the file. The WAV file itself contains only the recorded conversation; there is no ancillary information (caller-ID, IP-Addresses etc.) embedded in the WAV file. However, by using variables in the recording file name, you can include the following types of information:

Text Description

SymbolMeaning
$rThe recording directory, which is "recordings". This directory is relative to the working directory of the PBX. This directory also contains other recordings, for example mailbox messages. If you use another directory, you must first create that directory before using it. The directory path must always be relative to the working directory of the PBX.
$pThe remote party for the call (since version 5.3.3).
$iThe direction of the call. The PBX substitutes an "i" for incoming calls, and a "o" for outgoing calls.
$uThe canonical (primary) name of the extension. Depending on the direction of the call, this could be calling or called party number. Details explained below.
$nThe calling party number. Depending on the direction of the call, this could be calling or called party number. Details explained below.
$oThe domain name.
$aThe user account number.
$dThe date of the call in the format "20071220" (no spaces or dashes in between).
$tThe time if the call in the format "134349" (no spaces or dashes in between).
$gThe timestamp in GMT format "YYYY-MM-DDTHH:MM:SS".
$yThe year in format "YYYY".
$mThe month in format "MM".
$wThe day in format "DD".
$hThe hour in format "HH".
$bThe minute in format "MM".
$eThe second in format "SS".
$kThe customer-ID from the domain recording settings.
$sThe site-ID from the domain recording settings.
$xThe account number from the connected agent.
$cClient matter code (CMC).
$lThe Call-ID of the call.
$*A UUID for the recording
$$A single "$" symbol.

The default recording name is $r/$o/$a/$d-$t-$i-$n.wav. If the directory that results from the replacement does not exist, the PBX will automatically generate it. This makes it possible to sort the recordings into directories for every day. If you are running multiple domains, then you can use $r/$m/$d/$t-$i-$u-$n.wav as the recording name. This will create the recorded files under each domain name.

Recording to a SIP URI

When you specify a recording name with a sip scheme (e.g. sip:record@192.168.1.2), the PBX will initiate a call to that location. The other side of the call can either accept the call or it can send an error code if it does not wish to record this call. In this case, the associated resources for the recording call are released.

This feature is useful if you want to employ external equipment for recording calls or you want to monitor life calls e.g. with a softphone.

If the call connects, the PBX will encode the data in the selected codec type. Please be aware that in any case, the PBX must decode the monitored media streams, because otherwise it would not be able to mix the two streams together. This might mean a significant increase in CPU load that you should keep in mind.

Recording with CallCabinet

When using the hosted recording solution from CallCabinet you need to provide the "Customer ID" and "Site ID" in the domain settings. The compression should be turned off, as the cloud software takes care about compression. An example for a recording location would be /home/callcabinet/$p_$g_$a_0_$i.WAV; please note that the suffix must be in UPPER CASE with the version that we were using.

When using Linux, MacOS or FreeBSD, we recommend to use a different account for the CallCabinet upload daemon. That means that the PBX and the daemon must be in the same group and the recording directory needs to have write permission for that group.

For more information see Setting up Call Recording for Vodia on Atmos.