...
Code Block |
---|
443/tcp 8088/tcp 5060/tcp 16386-32768/udp |
Installation Steps
Follow
to install and configure Freeswitch. The recording path should bethis guide /usr/share/freeswitch/cucmRecording
(Not Required for EFCX)Please make sure that Solution Prerequisites are met for the desired deployment type.
Follow this guide to create an application user on CUCM for jtapi-connector. (Not Required for EFCX)
Download the deployment script
and place it in the user’s home or any desired directory. This script will:View file name deployment.sh delete the recording-solution directory if it exists.
clone the required files for deployment
To execute the script, give it the execute permissions and execute it. This command will clone the skeleton project for the recording solution. the recording-solution directory contains all the required files for deployment.
Code Block language bash $ chmod 755 deployment.sh $ ./deployment.sh
Follow step 5 to 8 for deployment with Cisco UCCX or UCCE
Follow
to install and configure Freeswitch. The recording path should bethis guide /usr/share/freeswitch/cucmRecording
Follow this guide to create an application user on CUCM for jtapi-connector.
Open recording-solution/docker/config.env and update the environment variables given below.
Name | Description | |
---|---|---|
1 | VRS_URL | URL of a local machine. example, https: //192.168.1.101 |
2 | LOCAL_MACHINE_IP | Local machine IP since it is a non-HA deployment. example 192.168.1.101 |
3 | KC_HOSTNAME | Keycloak hostname where keycloak is hosted. e.g 192.168.1.101 |
4 | TZ | Time Zone. e.g Asia/Karachi |
5 | TRUST_STORE_PATH | /app/ssl/truststore.jks. [keep it same] |
6 | TRUST_STORE_PASSWORD | Password for the trust store. [Expertflow464] |
7 | FINESSE_URL | https: //uccx12-5p.ucce.ipcc:8445 |
8 | DIRECTORY_PATH_TO_MONITOR | The path for archival process to monitor, it should be the same path where sessions are kept. e.g /usr/share/freeswitch/cucmRecording/sessions/ |
9 | ARCHIVED_MEDIA_FILES_EXTENSION | mp4 [keep it same] |
10 | FILE_EXTENSION | wav [keep it same] |
11 | NO_OF_DAYS | No of days before which all the files will be archived. If set 2, then except for last 2 days from the date and time of service started or triggered all the files will be archived. |
12 | SFTP_HOST | SFTP host IP for archival e.g 192.168.1.106 |
13 | SFTP_PORT | 22 |
14 | SFTP_USERNAME | Username of the SFTP server e.g expertflow |
15 | SFTP_PASSWORD | SFTP password e.g Expertflow464 |
16 | ARCHIVAL_JOB_INTERVAL | It is a duration that tells the service to trigger again. This value is in hours. For example, if set 24 the service would be triggered after 24 hrs to get the desired job done. |
17 | STEAM_DELETION_JOB_INTERVAL_HRS | Time in hours before which all the stream is to be deleted. e.g 24 |
18 | RETRY_LIMIT | limit to retry in case the connection fails. e.g 2 |
19 | ARCHIVAL_PROCESS_NODE | active |
20 | NO_OF_DEL_DAYS | No of days before which all the streams will be deleted. If set 2, then except for last 2 days from the date and time of service started or triggered all the files will be deleted. |
21 | KEYCLOAK_CLIENT_ID (Not for EFCX) | Name of the client e.g vrs [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ] |
22 | KEYCLOAK_CLIENT_SECRET (Not for EFCX) | it is a token or code which we need to add. We can get it from keycloak. [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ] |
23 | KEYCLOAD_REALM_NAME (Not for EFCX) | Name of the realm e.g vrs [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ] |
24 | KEYCLOAK_PERMISSION_GROUP (Not for EFCX) | Permission group e.g AGENT_GROUP [All the variables from 25 - 28 is to be set after keycloak configuration step 8 ] |
25 | CISCO_TYPE (Not for EFCX) | Either UCCE or UCCX |
2622 | ACTIVEMQ_BROKER_URL (Not for EFCX) | Connection URL to Consumer as a Broker e.g |
2723 | ACTIVEMQ_URL (Not for EFCX) | Connection URL for ActiveMQ |
2824 | ACTIVEMQ_USER (Not for EFCX) | UserName for the ActiveMQ service i.e admin |
2925 | ACTIVEMQ_PASSWORD (Not for EFCX) | Password for the ActiveMQ service i.e admin |
3026 | CUCM_APPLICATION_USER_NAME (Not for EFCX) | CUCM User's username that has been created in step 3. |
3127 | CUCM_APPLICATION_USER_PASSWORD (Not for EFCX) | Password for the CUCM Application User. |
3228 | CUCM_IP (Not for EFCX) | IP address where CUCM has been Deployed |
3329 | DEPLOYMENT_PROFILE | Profile that we want to use for backend “CISCO” or “EFSWITCH“ |
34 | LICENSE_MANAGER_URL | URL of License Manager wherever it is deployed |
35 | PRODUCT_ID | Id of the project whose License has been purchased |
36 | LM_TOPIC_NAME | Name of the topic for License Manager |
3730 | EFCX_FQDN (Not for CISCO) | URL of the EFCX |
38 | ACTIVEMQ_BROKER_URL_LM | ActiveMq broker url for the License manager |
39 | ENCRYPTION_ENABLED | Encryption Feature either ‘true’ or ‘false’ |
Below Env variables are only for UCCX (Not for EFCX)
Name | Description | |
---|---|---|
1 | CCX_PRIMARY_IP | Primary UCCX IP address. e.g 192.168.1.33 |
2 | CCX_SECONDARY_IP | Secondary UCCX IP e.g 192.168.1.33 |
3 | CCX_ADMIN_USERNAME | CCX Admin username |
4 | CCX_ADMIN_PASSWORD | CCX Admin password |
Below Env variables are only for UCCE (Not for EFCX)
Name | Description | |
---|---|---|
1 | UCCE_IP | UCCE IP |
2 | UCCE_DATABASE | UCCE awdb database name |
3 | UCCE_USERNAME | UCCE awdb database user’s username |
4 | UCCE_PASSWORD | UCCE awdb database user’s password |
Navigate to the recording solution directory and execute the following commands:
Code Block chmod 755 install.sh # for EFCX (FusionPBX) run ./install-efcx.sh #for UCCX and UCCE run ./install-cisco.sh
Verify all the containers are up and healthy
Verify if the keycloak container is healthy (docker ps), if it is on restarting, kill (docker kill keycloak) and remove (docker rm keycloak) the keycloak container then run ./install.sh. Wait for keycloak container to become healthy. (Not for EFCX)
Set u p keycloak (Not for EFCX)Once keycloak is set up, update the below environment variables in the
recording-solution/docker/config.env
file. (Not for EFCX)Name Description 1 KEYCLOAK_REALM_NAME Realm name created in step 4 of keycloak setup 2 KEYCLOAK_CLIENT_ID Keycloak client id from step 6 of keycloak setup 3 KEYCLOAK_CLIENT_SECRET Keycloak client secret from step 8 of keycloak setup 4 KEYCLOAK_PERMISSION_GROUP Keep it same To update the self-signed certificates for VRS, get the public authority or domain signed certificate .crt and .key files, name them server.crt and server.key, and replace the files in /recording-solution/config/certificates with these two new files. Names should be the same.
Run ./install-efcx.sh for EFCX Or run ./install-cisco.sh for UCCX and UCCE.
Run the following command to ensure all the components are running.
Code Block # docker ps
Go to https : //VRS-IP/#/login to access the application.
Configure the SIP trunk to enable CUCM to send SIP events to VRS for call recordings. Two sip trunks should be configured in case of HA. (Not for EFCX)
...