Jump to content

This is the support site for Andrews & Arnold Ltd, a UK Internet provider. Information on these pages is generally for our customers but may be useful to others, enjoy!

FireBrick Call Recording: Difference between revisions

Content deleted Content added
Neil (talk | contribs)
No edit summary
AA-Andrew (talk | contribs)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Overview=

The FireBrick supports call recording by teeing off the two way audio from a call leg and sending to a SIP endpoint. The SIP endpoint will then record the call and handle it in any way you wish.
The FireBrick supports call recording by teeing off the two way audio from a call leg and sending to a SIP endpoint. The SIP endpoint will then record the call and handle it in any way you wish.


Line 32: Line 30:
* a C application, ''voip-answer'', which acts as a SIP endpoint and handles the call recording; and
* a C application, ''voip-answer'', which acts as a SIP endpoint and handles the call recording; and
* a python script
* a python script

from: https://github.com/revk/voip-answer


==Setting up ''voip-answer''==
==Setting up ''voip-answer''==
Line 46: Line 46:
b.) make sure that you have siptools.c in dep/
b.) make sure that you have siptools.c in dep/


2.) set the email address parameter (i.e. the ''from'' address). Change line 803 from:
2.) depending on your version of voip-answer.c, you may need to set the email address parameter (i.e. the ''from'' address). Change line 803 from:


sprintf (temp, "sip:%c@voiceless.aa.net.uk", done);
sprintf (temp, "sip:%c@voiceless.aa.net.uk", done);


to whatever email address you want to the recordings to be sent from. (%c is the unique ID of the call recording)
to whatever email address you want to the recordings to be sent from. (%c is the unique ID of the call recording)

(As of 9 August 2018, this has been replaced in voip-answer.c with "sip:%s%.*s", so no modification is necessary.)


3.) By default, the (temporary) path for the recordings is /tmp/. If you want to change this, amend line 62:
3.) By default, the (temporary) path for the recordings is /tmp/. If you want to change this, amend line 62:
Line 58: Line 60:


Once you have configured the script to your preferences, install it by running ''make''.
Once you have configured the script to your preferences, install it by running ''make''.

(If you do not have it installed already, you might need to install libpopt-dev.)




Line 78: Line 82:
So, for example, if you wanted to run ''voip-answer'' with a call recording script at ''/voipuser/voip-answer/python/voip-rec-email/voip_rec_email.py'', serving wav files for announcements from ''/voipuser/voip-answer/sounds/'', you would run it with:
So, for example, if you wanted to run ''voip-answer'' with a call recording script at ''/voipuser/voip-answer/python/voip-rec-email/voip_rec_email.py'', serving wav files for announcements from ''/voipuser/voip-answer/sounds/'', you would run it with:


./voip-answer -r /root/voip-answer/python/voip-rec-email/voip_rec_email.py -d /voipuser/voip-answer/sounds/
./voip-answer -r /voipuser/voip-answer/python/voip-rec-email/voip_rec_email.py -d /voipuser/voip-answer/sounds/

If you want to run it as a background process (which you probably do...), append an ampersand:

./voip-answer -r /voipuser/voip-answer/python/voip-rec-email/voip_rec_email.py -d /voipuser/voip-answer/sounds/ &


=Using the A&A / FireBrick call recording software for announcements (e.g. out of hours announcement)=
=Using the A&A / FireBrick call recording software for announcements (e.g. out of hours announcement)=
Line 89: Line 97:
* .wav
* .wav
* A-LAW
* A-LAW
* 8000Hz sample rate
* 8000 Hz sample rate
* mono only
* mono only


You can easily use Audacity to create suitable files; just remember to set the sample rate to 8000Hz, and to set the track to mono only, first.
You can easily use Audacity to create suitable files; just remember to set the sample rate to 8000 Hz, and to set the track to mono only, first.


If, when you play the files back through ''voip-answer'', they sound distorted, chances are you have either got the sample rate wrong, or else accidentally recorded them in stereo.
If, when you play the files back through ''voip-answer'', they sound distorted, chances are you have either got the sample rate wrong, or else accidentally recorded them in stereo.

If you have a recording at a different sample rate, using Audacity, change the project's sample rate to 8000, then change the recording's sample rate to 8000, and then use the "Change Speed" effect on the recording — if the original rate was 44100 Hz, apply a speed multiple of 5.50.


== Hosting the announcement / playback files ==
== Hosting the announcement / playback files ==
Line 114: Line 124:
! Add a SIT, may be repeated
! Add a SIT, may be repeated
N* The playback sequence is to be repeated N times
N* The playback sequence is to be repeated N times

You can download aai.wav and sit.wav [https://support.aa.net.uk/images/9/98/Firebrick_tones.zip here].


=== Filenames ===
=== Filenames ===
Line 127: Line 139:
# Refer to #
# Refer to #


So if you wanted two rings, followed by playback of a file called "on-holiday.wav", you would specify the following SIP URI:
So if you wanted two rings, followed by playback of a file called "onholiday.wav", you would specify the following SIP URI:

''--onholiday@hostname/address''

=Pre-call announcements (e.g. "this call will be recorded")=

You can combine these features with the REFER function ("#"), to create an extension which will first play back an announcement (such as "This call will be recorded"), before referring the call to your chosen destination.

You do not need to do anything with the voip-answer.c script (other than make sure your chosen recordings are in the right place).

Configure your FireBrick:

# As at 10 August 2018, make sure you have alphas enabled, and have at least alpha V1.48.123
# Create a new telephone extension (or amend an existing one)
# Give it the username "Voicemail" and do not give it a password
# Add the URI: <your-pre-call-sound-file>#<extension you want to refer to>@hostname/address

So if you wanted to first play an announcement of called "callsarerecorded.wav", followed by a refer to your extension or hunt group number 500, you would use:

callsarerecorded#500@hostname/address


''--on-holiday@hostname/address''