CX Voice Recording Components
Follow the guide here to deploy the recording link uploader and middleware components.
Voice Connector
Voice Connector
-
SSH onto the Debian server on which the Voice connector is installed.
-
Use command
ssh <username>@<server-ip> -
Enter user password and press ENTER.
-
Use command
su -
Enter root password and press ENTER.
-
-
Navigate to the folder where the docker-compose.yml and env.txt files are located for the voice connector.
-
Open the docker-compose.yml file and replace the image tag with 4.10.
-
Save and close the file.
-
Run the command
docker compose up -d -
Confirm that the docker container is running by using the command
docker ps -
Confirm that the container is running correctly by opening the logs with command
docker logs -f containerID
Media Server configuration
Scripts
-
SSH onto the Debian server on which the Voice connector is installed.
-
Use command
ssh <username>@<server-ip> -
Enter user password and press ENTER.
-
Use command
su -
Enter root password and press ENTER.
-
-
Confirm git is installed, and install it if is not.
-
Clone the Media Server scripts repository:
git clone -b 4.10 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/rtc/freeswitch-scripts.git -
Navigate to the cloned repository to access the files:
cd freeswitch-scripts -
Move the updated scripts and prompts to their respective folders:
mv consult_conf.lua barge.lua channel_* cx_hangup.lua /usr/share/freeswitch/scripts/ chmod -R 777 /usr/share/freeswitch/scripts/
Changes in Call Recording Dialplan
-
Login to Media Server web interface.
-
Open in browser: https://IP-addr, where IP-addr is the IP address of the Media Server.
-
-
Add the username and password that was shown upon installation of Media Server and press LOGIN.
-
Press the IP address in the top right and select the Domain created in the Domain creation section above:
-
Open the Dialplan Manager section under the Dialplan tab.
-
Find and open the user_record dialplan.
-
Make sure to delete the lines present previously in Group 9 apart from the first one, and NOT in the table and image below.
-
Add the following data to the table, such that the final version of Group 9 looks like the image below:
|
Tag |
Type |
Data |
Inline |
Group |
Order |
Enabled |
|---|---|---|---|---|---|---|
|
condition |
${record_session} |
^true$ |
|
9 |
5 |
true |
|
action |
set |
record_path=${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)} |
true |
9 |
10 |
true |
|
action |
export |
record_path=${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)} |
true |
9 |
15 |
true |
|
action |
set |
record_name=${uuid}.${record_ext} |
true |
9 |
20 |
true |
|
action |
set |
recording_follow_transfer=false |
true |
9 |
25 |
true |
|
action |
export |
recording_follow_transfer=false |
true |
9 |
30 |
true |
|
action |
set |
record_append=true |
true |
9 |
35 |
true |
|
action |
export |
record_append=true |
true |
9 |
40 |
true |
|
action |
set |
record_in_progress=true |
true |
9 |
45 |
true |
|
action |
set |
RECORD_ANSWER_REQ=true |
- |
9 |
50 |
true |
|
action |
export |
RECORD_ANSWER_REQ=true |
- |
9 |
55 |
true |
-
Save the changes by pressing SAVE button in top right corner.
Add recording event hooks
-
SSH into the Media Server.
-
Use command
ssh username@server-ip -
Enter user password and press ENTER.
-
Use command
su -
Enter root password and press ENTER.
-
-
Open /etc/freeswitch/autoload_configs/lua.conf.xml
-
Find the line near the end containing <!-- Subscribe to events -->
-
Insert the following under it:
<hook event="CHANNEL_BRIDGE" subclass="" script="channel_bridge.lua"/> <hook event="CHANNEL_UNBRIDGE" subclass="" script="channel_unbridge.lua"/> <hook event="CHANNEL_CALLSTATE" subclass="" script="channel_state.lua"/> -
Save the file.
-
Run the command:
systemctl restart freeswitch