Breadcrumbs

CX Voice Upgrade to 4.10

CX Voice Recording Components

Follow the guide here to deploy the recording link uploader and middleware components.

Voice Connector

Voice Connector
  1. SSH onto the Debian server on which the Voice connector is installed.

    1. Use command

      ssh <username>@<server-ip>
      
    2. Enter user password and press ENTER.

    3. Use command

      su
      
    4. Enter root password and press ENTER.

  2. Navigate to the folder where the docker-compose.yml and env.txt files are located for the voice connector.

  3. Open the docker-compose.yml file and replace the image tag with 4.10.

  4. Save and close the file.

  5. Run the command

    docker compose up -d
    
  6. Confirm that the docker container is running by using the command

    docker ps
    
  7. Confirm that the container is running correctly by opening the logs with command

    docker logs -f containerID
    

Media Server configuration

Scripts
  1. SSH onto the Debian server on which the Voice connector is installed.

    1. Use command

      ssh <username>@<server-ip>
      
    2. Enter user password and press ENTER.

    3. Use command

      su
      
    4. Enter root password and press ENTER.

  2. Confirm git is installed, and install it if is not.

  3. Clone the Media Server scripts repository:

    git clone -b 4.10 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/rtc/freeswitch-scripts.git
    
  4. Navigate to the cloned repository to access the files:

    cd freeswitch-scripts
    
  5. 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.

image2024-1-29_18-39-38.png
  • 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:

image2024-1-29_18-42-44.png
  • Open the Dialplan Manager section under the Dialplan tab.

image2024-1-29_18-49-17.png
  • 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

image-20250430-135151.png
  • 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