Commit d89e611a authored by Etienne Allovon's avatar Etienne Allovon

Merge branch '3104-disable-queue-recording' into 'Callisto.16'

3104 disable queue recording

See merge request !187
parents 16dd0275 4ebc5114
......@@ -11,6 +11,7 @@ This section covers specific configuration parameters for the different applicat
agent
ccmanager
recording/recording
recording/recording_on_gateway
reporting
web_desktop_assistant
webrtc
.. _recording_configuration:
***********************
Recording configuration
***********************
*********
Recording
*********
This page describes how to configure the recording feature.
This page describes how to configure the recording feature on the XiVO PBX.
Configure recording
===================
.. figure:: recording_on_pbx.png
.. contents:: :local:
.. important:: Recording can also be activated on the *XiVO Gateway*.
For this, you need to follow the :ref:`recording_gw_configuration` guide.
**Beware that you cannot use both.**
Recording Configuration
=======================
To configure recording there are two steps to follow on *XiVO PBX*:
......@@ -32,11 +41,11 @@ The first step is to configure the link towards the Recording Server by running
During the configuration, you will be asked for :
* the Recording Server IP (i.e. 192.168.0.2)
* the Recording Server IP (e.g. 192.168.0.2)
* the *XiVO PBX* name (it must not contain any space or "-" character).
If you configure more more than one *XiVO PBX* on the same Recording Server, you must give a different name to each of them.
If you configure more than one *XiVO PBX* on the same Recording Server, you must give a different name to each of them.
After having configured the recording, you have to enable it via sub-routines. See below.
After having configured the recording, you have to enable it in the Queue's configuration or via sub-routines. See below.
2. Enable recording
-------------------
......@@ -115,12 +124,52 @@ These subroutines are to be configured on the following *XiVO PBX* objects (eith
and set the field :menuselection:`Pre-process subroutine` to ``xivocc-incall-recording``
Recording Features
==================
.. _automatic_stop_start_rec_on_queues_conf:
Automatic Stop/Start Recording On Queues
----------------------------------------
By default recording is stopped when a call is transferred to a queues in *Not Recorded* mode (see the feature descriptiuon: :ref:`automatic_stop_start_rec_on_queues`).
This can be deactivated by adding ``ENABLE_RECORDING_RULES`` environment variable to the xuc section of your :file:`docker-xivocc.yml` file:
.. code-block:: yaml
:emphasize-lines: 1,7
xuc:
image: ...
environment:
- ...
- SECURED_KRB5_PRINCIPAL
- ENABLE_RECORDING_RULES
and ``ENABLE_RECORDING_RULES=false`` value to your :file:`custom.env`.
.. code-block:: bash
:emphasize-lines: 5
XIVO_HOST=192.168.1.1
XUC_HOST=192.168.1.2
XUC_PORT=8090
...
ENABLE_RECORDING_RULES=false
and then relaunch the xivocc services with ``xivocc-dcomp up -d`` command.
.. _stop_recording_upon_ext_xfer_conf:
Stop recording upon external transfer
-------------------------------------
By default recording is stopped when both parties of the call are external.
By default recording is stopped when both parties of the call are external (see the feature descriptiuon: :ref:`stop_recording_upon_ext_xfer`).
This can be deactivated by adding ``STOP_RECORDING_UPON_EXTERNAL_XFER`` environment variable to the xuc section of your :file:`docker-xivocc.yml` file:
......@@ -154,7 +203,7 @@ and then relaunch the xivocc services with ``xivocc-dcomp up -d`` command.
.. _recording_filtering_configuration:
Recording filtering configuration
=================================
---------------------------------
.. note:: Steps to be done on **XiVO CC**
......@@ -190,21 +239,3 @@ to be excluded from recording on outgoing calls. These numbers will be checked b
.. note:: check is made against XIVO_SRCNUM dialplan variable.
.. _recording_gw_configuration:
********************
Recording on gateway
********************
Recording can be enabled on a gateway instead of the XiVO PBX where the users, queues and other objects are configured. This architecture will allow to off-load the recording process to a gateway server. To configure recording on a gateway, you need to follow the process to enable recording via subroutines (see :ref:`enable_recording_via_subroutines`).
In order to allow agents to control the recording of their current call, you need to perform the following steps:
* Copy the following file `/etc/asterisk/manager.d/02-xivocc.conf` from the XiVO PBX to the same folder on the gateway.
* On your XiVO gateway, configure your operators' trunks and the trunk to your XiVO [1]_.
* On your XiVO PBX, configure the gateway as a media server in `Configuration/Media servers`
* On your XiVO PBX, configure your operators' trunks of your gateway and assign it to the media server configured for your XiVO gateway [1]_.
* Disable the feature to stop recording upon external transfer (see :ref:`stop_recording_upon_ext_xfer_conf`, `STOP_RECORDING_UPON_EXTERNAL_XFER=false`)
* Configure recording as per :ref:`enable_recording_via_subroutines`
.. [1] Please note that you need to do this configuration both on the XiVO PBX and on your gateway as no synchronization mechanism exists at the moment.
.. _recording_gw_configuration:
********************
Recording on Gateway
********************
Recording can be enabled on a gateway instead of the XiVO PBX where the users, queues and other objects are configured. This architecture will allow to off-load the recording process to a gateway server.
Note that in this architecture not all the recording features are available - see :ref:`recording_gw_features` section.
.. figure:: recording_on_gw.png
.. contents:: :local:
.. important:: This page describes the case when recording is activated on the **XiVO Gateway**.
If you want to configure it on the *XiVO PBX* you MUST follow the :ref:`recording_configuration` guide.
**Beware that you cannot use both.**
Activate Recording on Gateway
=============================
To configure recording there are two steps to follow on **XiVO Gateway**:
#. Add link towards Recording Server,
#. and then enable recording via subroutines
1. Add link towards Recording Server
------------------------------------
.. note:: Steps to be done on **XiVO Gateway**
The first step is to configure the link towards the Recording Server by running the configuration script:
.. code-block:: bash
xivocc-recording-config
During the configuration, you will be asked for :
* the Recording Server IP (e.g. 192.168.0.2)
* the *XiVO Gateway* name (it must not contain any space or "-" character).
If you configure more than one *XiVO PBX* on the same Recording Server, you must give a different name to each of them.
After having configured the recording, you have to enable via sub-routines. See below.
2. Enable recording
-------------------
.. note:: Steps to be done on **XiVO Gateway**
You must activate the recording by adding subroutines:
* Create the subroutines in the file :file:`/etc/asterisk/extensions_extra.d/gateway-recording.conf`:
.. code-block:: bash
[gateway-recording-outcall]
exten = s,1,NoOp(=== Recording calls from Gateway to XiVO PBX ===)
same = n,Set(gateway_name=xivogw1)
same = n,Set(recordingid=${gateway_name}-${UNIQUEID})
same = n,SIPAddHeader(X-Xivo-Recordingid: ${recordingid})
same = n,Set(MONITOR_EXEC=/usr/bin/xivocc-synchronize-file)
same = n,Monitor(,/var/spool/xivocc-recording/audio/${recordingid},m)
same = n,Return()
[gateway-recording-incall]
exten = s,1,NoOp(=== Recording calls from Gateway to Provider ===)
same = n,Set(recordingid=${SIP_HEADER(X-Xivo-Recordingid)})
same = n,GotoIf($["${recordingid}" = ""]?norecord:)
same = n,Set(MONITOR_EXEC=/usr/bin/xivocc-synchronize-file)
same = n,Monitor(,/var/spool/xivocc-recording/audio/${recordingid},m)
same = n(norecord),Return()
* Activate subroutines:
* Configure the ``gateway-recording-outcall`` on the Outgoing call rule towards the XiVO PBX
* Configure the ``gateway-recording-incall`` on the Outgoing call rule towards the Provider
Activate Recording on XiVO PBX
==============================
.. note:: Step to be done on the *XiVO PBX*
On the XiVO PBX you need to use specific subroutines instead of the default ones.
* Create the subroutines in the file :file:`/etc/asterisk/extensions_extra.d/xivo-gateway-recording.conf`:
.. code-block:: bash
; This subroutine is to be used only when recording is set up on gateway
[xivocc-incall-recording-viagw]
exten = s,1,NoOp(=== Recording incoming calls ===)
same = n,Set(XIVO_RECORDINGID=${SIP_HEADER(X-Xivo-Recordingid)})
same = n,Set(DO_RECORD=true)
same = n,System(test -f /usr/share/asterisk/agi-bin/xivocc-determinate-record-incall)
same = n,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?:noagi)
same = n,AGI(determinate-record-incall)
same = n(noagi),GotoIf($["${DO_RECORD}" = "true"]?:norecord)
same = n,CelGenUserEvent(ATTACHED_DATA,recording=${XIVO_RECORDINGID})
same = n(norecord),Return()
[xivocc-outcall-recording-viagw]
exten = s,1,NoOp(=== Outgoing Call Recording (XiVO PBX) ===)
same = n,Set(DO_RECORD=true)
same = n,System(test -f /usr/share/asterisk/agi-bin/xivocc-determinate-record-outcall)
same = n,GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?:noagi)
same = n,AGI(determinate-record-outcall)
same = n(noagi),GotoIf($["${DO_RECORD}" = "true"]?:norecord)
same = n,Set(ipbx_name=xivo)
same = n,Set(XIVO_RECORDINGID=${ipbx_name}-${UNIQUEID})
same = n,SIPAddHeader(X-Xivo-Recordingid: ${XIVO_RECORDINGID})
same = n,CelGenUserEvent(ATTACHED_DATA,recording=${XIVO_RECORDINGID})
same = n(norecord),Return()
* Activate the subroutines:
* Configure the ``xivocc-incall-recording-viagw`` on the Incoming calls/Queues in your XiVO PBX
* Configure the ``xivocc-outcall-recording-viagw`` on the Outgoing call rule towards the Provider
.. _recording_gw_features:
Recording On Gateway Features
=============================
Available Features
------------------
When you activate the recording on a XiVO Gateway all features of the recording server are available:
* :ref:`recording_search_listen`
* :ref:`recording_disk_space`
* :ref:`recording_access`
* :ref:`recording_filtering`
Unavailable Features
--------------------
When you activate the recording on a XiVO Gateway these features **are not** available:
* :ref:`automatic_stop_start_rec_on_queues`
* :ref:`stop_recording_upon_ext_xfer`
* :ref:`Recording Control on CC Agent <agent_recording>` *except if you follow the* :ref:`recording_gw_activate_rec_control` *procedure*
.. _recording_gw_activate_rec_control:
Activate the Recording Control on CC Agent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When the recording is activated on the XiVO Gateway you can activate the Recording Control feature by following this specific procedure :
**Allow the xucserver to connect to your XiVO Gateways:**
#. Copy the file :file:`/etc/asterisk/manager.d/02-xivocc.conf` from the XiVO PBX to the same folder on the gateway.
**Configure the XiVO Gateway as a Media Server**
#. On your XiVO PBX, add your *XiVO Gateway* as a Media Server in :menuselection:`Configuration --> Media servers`
.. important:: After this step the xucserver will try to connect to the *XiVO Gateway* asterisk AMI
#. On your **XiVO PBX**, configure the provider trunks: you need to add on your *XiVO PBX* the **same** provider trunk that is already
created on your *XiVO Gateway* BUT with selecting, for the field :guilabel:`Media Server` the *XiVO Gateway* you added.
**Configure the xuc**
#. Disable the feature Stop recording upon external transfer feature: see :ref:`stop_recording_upon_ext_xfer_conf`
#. Disable the Automatic Stop/Start Recording On Queues feature : see :ref:`automatic_stop_start_rec_on_queues_conf`
#. Restart the xuc::
xivocc-dcomp up -d
......@@ -4,25 +4,36 @@
Recording
*********
*XiVO CC* includes a call recording feature: recording is done on *XiVO PBX* and recorded files are sent to the *XiVO CC* Recording server. It's possible then to search for recordings and download recorded files from *Recording server*. If connected user is an administrator, he will be able to download also an access log file that track all action made on files by all users having access to recording server.
*XiVO CC* includes a call recording feature:
* recording is done on *XiVO PBX* (or the XiVO Gateway)
* and recorded files are sent to the *XiVO CC* Recording server.
Recording
=========
It's then possible to search for recordings and download recorded files from *Recording server*.
If connected user is an administrator, he will also be able to download an access log file that tracks all actions made on files by all users having access to recording server.
.. contents:: :local:
Recording Server
================
For configuring this feature, see :ref:`recording_configuration`.
Recording must first be enabled on the *XiVO PBX*, see :ref:`recording_configuration`.
Description
-----------
Recording feature records the conversation between caller and callee and stores it on dedicated recording server. All the files are then available for download only for predefined *granted* users.
Recording is done on *XiVO PBX* and sent to *Recording server*. If recorded file can't be synchronized on *XiVO CC* Recording Server, files might be found on *XiVO PBX* in
When recording is enabled the whole conversation between caller and callee is recorded and then sent on dedicated recording server. All the files are then available for download only for predefined *granted* users (see :ref:`profile_mgt-profile`).
.. code-block:: bash
.. _recording_search_listen:
ls -al /var/spool/xivocc-recording/failed
Search, Download, Listen
------------------------
These files will be automatically resynchronized from *XiVO PBX* to *XiVO CC* Recording server each night.
Here's the recording search page:
.. figure:: search.png
:scale: 100%
You can then do following actions:
......@@ -31,8 +42,10 @@ You can then do following actions:
#. Listen or download the recording
#. Download access log to recording files
.. figure:: search.png
:scale: 100%
.. _recording_disk_space:
Disk Space
----------
On *Recording server*, one can monitor the space used by the audio files stored in ``Contrôle d'enregistrement`` menu.
......@@ -51,11 +64,21 @@ Any action made from the UI on a recording file (``result``, ``listen`` or ``dow
.. note:: This access log is defined to track information for 6 months by default.
Transferred calls recordings
----------------------------
Search and Display
^^^^^^^^^^^^^^^^^^
File Sync
---------
Recording is done on *XiVO PBX* and sent to *Recording server*. If recorded file can't be synchronized on *XiVO CC* Recording Server, files might be found on *XiVO PBX* in
.. code-block:: bash
ls -al /var/spool/xivocc-recording/failed
These files will be automatically resynchronized from *XiVO PBX* to *XiVO CC* Recording server each night.
Recording and Transfers
=======================
In case an agent has transferred a call to another queue, which was answered by the agent available in that queue, the recording feature will display both agents (name and number) in column **Agent**
and both queues (name and number) under column **File** in one recording.
......@@ -63,8 +86,10 @@ and both queues (name and number) under column **File** in one recording.
.. figure:: search-transfer.png
:scale: 100%
Stop/Start Recording
^^^^^^^^^^^^^^^^^^^^
.. _automatic_stop_start_rec_on_queues:
Automatic Stop/Start Recording On Queues
========================================
When a call enters a queue, the recording will be started (or not) according to the queue Recording mode (see :ref:`queue_recording_configuration`).
If this call is transferred to another queue, it will stop or start the recording according to the following table:
......@@ -81,11 +106,12 @@ If this call is transferred to another queue, it will stop or start the recordin
|*State* |*Disabled*| Stop recording | Stop recording | |
+------------+----------+-------------------+--------------------+----------------+
This behavior can be deactivcated, see :ref:`configuration section <automatic_stop_start_rec_on_queues_conf>`
.. _stop_recording_upon_ext_xfer:
Stop recording upon external transfer
-------------------------------------
Automatic Stop Recording Upon External Transfer
===============================================
Recording is stopped when both parties of the call are external.
......@@ -98,10 +124,12 @@ as soon as the transfer is completed, the recording of the outgoing call will be
This behavior can be deactivated, see :ref:`configuration section <stop_recording_upon_ext_xfer_conf>`.
.. _recording_filtering:
Recording filtering
===================
For configuring this feature, see :ref:`recording_filtering_configuration`.
To configure this feature, see :ref:`recording_filtering_configuration`.
Description
-----------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment