Skip to main content

Uniphore Customer Portal

General Configuration

This topic contains detailed configuration guidelines to enable call recording for Cisco Active – steps 1 to 3 provide general config details, steps 4 to 7 cover specifics:

Step

Reference

Description

1

Integration Adapter Config

Configure the Integration Adapter on the U‑Capture Collector.

2

RTP Collector Config

Configure the RTP Collector on the U‑Capture Collector.

3

SIP RAM Config

Configure the SIP RAM on the U‑Capture Collector.

4

Active Recording – CUCM Config

Set up Active Recording using the CUCM.

5

Secure Active Recording – CUCM Config

Set up Secure Active Recording using the CUCM.

6

Cisco Secure JTAPI – CUCM Config

Set up Secure JTAPI connection using the CUCM.

7

JTAPI CTI Server Config

Configure the JTAPI Connector CTI Server on the U‑Capture Collector.

Integration Adapter Config

The Integration Adapter configuration is specified in IntegrationAdapter.ini – this file is automatically generated with default values on first start of the Collector. An example is shown below:

[General]
CollectorId=0f89817f-e324-48ca-bcb6-3d61f292755b
TenantId=dcedc429-11a9-4408-84a7-c781363c62e1

[JetStream]
ServerURL=nats://u-capture.example.com:4222

[VoiceActivityDetection]
WindowSizeMS=10
UseShortTermEnergy=1
MinEnergy=0.000060
UseZeroCrossingRate=0
MinZeroCrossingRate=0.000001
MaxZeroCrossingRate=0.187400
UseActivityTriggering=0
MinActivityMS=20
ActivityEndHangTimeMS=5000

[Licence]
RecordInternalCalls=1
RecordPoolChannels=1000
PP0=P9XCS8KLATSJNHGN

[INSTALLED PPS]
PP0=/usr/lib/libPP_Matcher.so

[Phones]
SegLengthSecs=9999999
DetectNewItems=1
Settings

Only config settings relevant to this Cisco Active integration are listed here. For all other settings, leave these set to their default values.

Note

U-Capture 2024.2 introduced the support of NATS JetStream, therefore the NATS Streaming settings (STAN and STANChannels) have been depreciated, Uniphore recommends using the new JetStream settings however the depreciated NATS Streaming settings are still available. For the depreciated STAN settings and an example of those settings in context see Depreciated NATS Streaming Settings.

Setting

Description

[General]CollectorId

The unique identifier for this Collector. A UUID will be automatically generated and written to IntegrationAdapter.ini on first start.

[General]TenantId

Set to the unique identifier of the U‑Capture tenant associated with this Collector. If no tenants are defined, set this value to dcedc429-11a9-4408-84a7-c781363c62e1

[General]RecordByDefault

Set to 1 to enable or 0 to disable recording by default, for newly discovered devices. If not specified, the default value is 1 (enabled).

[JetStream]ServerURL

The URL of the NATS server. In the most simple of cases, this will be the NATS server used by U-Capture’s Core Services.

[JetStream]Username

If the NATS server is configured for user based authentication, specify the username here. If not specified, no value is used.

[JetStream]Password

If the NATS server is configured for user based authentication, specify the password here. If a password is used, the NATS server should also be configured to use TLS to prevent the password from being sent over the network in the clear. If not specified, no value is used.

[JetStream]Token

If the NATS server is configured for token based authentication, specify the token here. If a token is used, the NATS server should also be configured to use TLS to prevent the token from being sent over the network in the clear. If not specified, no value is used.

[JetStream]TrustedCACertificatesFileName

If the NATS server is configured to use TLS, specify the trusted CA certificate chain here. This will be the CA certificate chain that was used to sign the server certificate. If not specified, no value is used.

[JetStream]ClientCertificateChainFilename

If the NATS server is configured to use TLS, specify the trusted CA certificate chain here. This will be the CA certificate chain that was used to sign the server certificate. If not specified, no value is used.

[JetStream]ClientCertificateKeyFilename

If the NATS server is configured to use TLS with mutual-authentication, specify the client private key here. If not specified, no value is used.

[JetStream]SkipServerVerification

If the NATS server is configured to use TLS, disables verification of the server certificate. Not recommended. If not specified, the default value is 0.

[VoiceActivityDetection]

This section of the ini file is used to define the VAD settings. If the default configuration values don’t work for the customer, it’s recommended that you disable VAD, then record and export some example calls to WAV. These files can then be passed through a test tool that will allow the trial of different configuration values to ensure the correct parts of the call are identified as voice. The best fit configuration can then be applied to the Collector. Please contact the Uniphore Development Support Team for details.

Note that to disable Voice Activity Detection, simply disable the use of both Short-Term Energy and Zero Crossing Rate.

[VoiceActivityDetection] WindowSizeMS

The size of the window, in milliseconds, on which to perform VAD. The default is 10 milliseconds – we don’t recommend any other value at present.

[VoiceActivityDetection] UseShortTermEnergy

Enables/disables use of the Short-Term Energy algorithm. By default, this is enabled (1).

[VoiceActivityDetection]MinEnergy

The minimum energy required for the window to be considered as voice activity. Expressed as a decimal value between zero and one. Zero being absolute silence and one being maximum loudness. The default is 0.000060. This may seem like a low value, but generally background noise will be lower than this.

[VoiceActivityDetection] UseZeroCrossingRate

Enables/disables use of the Zero Crossing Rate (ZCR) algorithm. Use of ZCR is only recommended if it’s required that tones on the channel do not trigger voice recording. If this is the case, ZCR should be used in conjunction with STE. By default, ZCR is disabled (0).

[VoiceActivityDetection] MinZeroCrossingRate

The minimum Zero Crossing Rate for the window to be considered as voice activity. The default is 0.000001 . Human speech has a low ZCR, increasing this value may prevent voice from being detected. A lower limit is required because a ZCR of zero indicates that the sine wave is not crossing zero i.e. the waveform is flatline (silence).

[VoiceActivityDetection] MaxZeroCrossingRate

The maximum Zero Crossing Rate for the window to be considered as voice activity. The default is 0.187400.

[VoiceActivityDetection] UseActivityTriggering

Enables/disables use of activity triggering. By default this is disabled (0). If enabled (1), a voice recording will not be created until voice activity is detected on the channel. Likewise, the voice recording will be ended on cessation of voice activity on the channel. If disabled (0), voice recordings will be created and ended based on signalling as normal.

[VoiceActivityDetection] MinActivityMS

The minimum duration of voice activity, in milliseconds, that is required to invoke voice recording. The default is 20 milliseconds. This value must be a multiple of the window size and must be between 10 and 300 milliseconds.

[VoiceActivityDetection] ActivityEndHangTimeMS

The duration, in milliseconds, to continue the voice recording after voice activity has ceased. The default is 5000 milliseconds (5 seconds). This value must be a multiple of the window size. This prevents pauses in speech from causing excessive stopping and restarting of recording.

[Licence]RecordInternalCalls

Enable (1) or disable (0) the recording of internal calls (extension to extension calls). If not specified, the default value is 1.

[Licence]RecordPoolChannels

Defines how many concurrent channels can be captured by the Collector. Calls over this value will be discarded. If not specified, the default value is 1000.

[Licence]PP<0…N>

PP licence code for the Collector. This will have been provided as part of the customer’s deployment information from Uniphore.

[Phones]SegLengthSecs

The maximum recording segment length in seconds. After this duration, recordings will be split.

Note that for call segmentation to work in U‑Capture, this should be set to an extremely high value for example 9999999. This will prevent call segmentation from being carried out by the Collector.

[Phones]DetectNewItems

Enable (1) or disable (0) the automatic detection (discovery) of new devices. The default is enabled (1). In general, leave this set to 1 (enabled) for initial system setup and device discovery – if the customer then wants to “lock down” their recordable devices, this can be changed to 0 (disabled).

Depreciated NATS Streaming Settings

Only config settings relevant to this Cisco Active integration are listed here. For all other settings, leave these set to their default values.

Setting

Description

[STAN]ServerURL

Set to the URL of the NATS Streaming Server for the U‑Capture Core Services associated with this Collector.

[STAN]ClusterID

Defines the NATS Streaming cluster ID – must be set to stan-cluster.

[STAN]ClientID

A string that identifies this NATS Streaming client. The Collector ID is appended to this to ensure it is unique. If not specified, the default value is RedBox-IntegrationAdapter

[STAN]Username

If the NATS Streaming Server is configured for user based authentication, specify the username here. If not specified, no value is used.

[STAN]Password

If the NATS Streaming Server is configured for user based authentication, specify the password here. If a password is used, the NATS Streaming Server should also be configured to use TLS to prevent the password from being sent over the network in the clear. If not specified, no value is used.

[STAN]SkipServerVerification

If the NATS Streaming Server is configured to use TLS, disables verification of the server certificate. Not recommended. If not specified, the default value is 0.

[STAN]CertificateChainFilename

If the NATS Streaming Server is configured to use TLS, specify the trusted CA certificate chain here. This will be the CA certificate chain that was used to sign the server certificate. If not specified, no value is used.

[STAN]ClientCertificateChainFilename

If the NATS Streaming Server is configured to use TLS, specify the client certificate chain here. This will be the client certificate plus the CA certificate chain used to sign the client certificate. If not specified, no value is used.

[STAN]ClientCertificateKeyFilename

If the NATS Streaming Server is configured to use TLS, specify the client private key here. If not specified, no value is used.

[STAN]Ciphers

If the NATS Streaming Server is configured to use TLS, this value can be used to restrict the allowed ciphers. If not specified, no value is used.

An example of the IntegrationAdapter.ini file using the depreciated NATS Streaming settings:

[General]
CollectorId=0f89817f-e324-48ca-bcb6-3d61f292755b
TenantId=dcedc429-11a9-4408-84a7-c781363c62e1

[STAN]
ServerURL=nats://abcd.dev.mycompany.com:4222
ClusterID=stan-cluster
ClientID=RedBox-IntegrationAdapter-1
ConnectionTimeoutMS=15000
RetryWaitMS=15000
Username=
Password=
SkipServerVerification=0
CertificateChainFilename=
ClientCertificateChainFilename=
ClientCertificateKeyFilename=
Ciphers=

[STANChannels]
Alerts=RedBox.Collector.Alert
EventLogs=RedBox.Collector.EventLogs
ConfigRequests=RedBox.Collector.ConfigRequests
ConfigEvents=RedBox.Collector.ConfigEvents
Media=media
Metadata=metadata

[VoiceActivityDetection]
WindowSizeMS=10
UseShortTermEnergy=1
MinEnergy=0.000060
UseZeroCrossingRate=0
MinZeroCrossingRate=0.000001
MaxZeroCrossingRate=0.187400
UseActivityTriggering=0
MinActivityMS=20
ActivityEndHangTimeMS=5000

[Licence]
RecordInternalCalls=1
RecordPoolChannels=1000
PP0=P9XCS8KLATSJNHGN

[INSTALLED PPS]
PP0=/usr/lib/libPP_Matcher.so

[Phones]
SegLengthSecs=9999999
DetectNewItems=1
RTP Collector Config

The RTP Collector works in sync with the SIP RAM. The SIP RAM manages the SIP dialog and the RTP Collector owns the RTP session.

The RTP Collector configuration is specified in RTPCollector.ini file – The file is automatically generated with default values on first start. An example is shown below:

[MediaPorts]
Min=25000
Max=65535

[Suppression]
StartSequence=*123
StopSequence=#123

[SRTCP]
UseSRTCPWhenSRTP=1

[{55D59A72-47FE-49E8-AC77-33C07E550ECA}]
Use=0
IPv4Address=169.254.253.20

[{3EEF4061-C8E4-46FC-9DA7-E61766C04B01}]
Use=1
IPv4Address=10.0.2.15 
Settings

Only config settings relevant to this Cisco Active integration are listed here. For all other settings, leave these set to their default values.

Setting

Description

[MediaPorts]Min

The beginning of the media port range. Default is 25000.

[MediaPorts]Max

The end of the media port range. Default is 65535.

[Suppression]StartSequence

The sequence of DTMF digits required to start audio suppression on the current call. Default is empty (disables the feature).

[Suppression]StopSequence

The sequence of DTMF digits required to stop audio suppression on the current call. Default is empty (disables the feature). Should not be the same as the start sequence for obvious reasons.

[SRTCP]UseSRTCPWhenSRTP

Enables/disables the expectation that RTCP will also be encrypted when SRTP is being used for a given session. If not specified, defaults to 1.

[<adapter name>]IPv4Address

Automatically populated with the IPv4 address of the given network adapter. Aids adapter identification. The RTP Collector does not read this value.

[<adapter name>] AdvertisedIPv4Address

Overrides the IPv4 address advertised for the given network adapter. This is useful when you need an ingress address that is not an address belonging to the RTP Collector itself. If not specified, then defaults to the adapter’s IPv4 address.

SIP RAM Config

The SIP RAM configuration is specified in SIP_RAM.ini file. An example is shown below.

[SIPRAMSettings]
IP=localhost
Protocol=any
SIPPort=5060
MaxConcurrentCalls=1000

[SecureConnections]
ServerCertificatePath=/etc/redbox/config/
ServerKeyPath=/etc/redbox/config/

[SRTP]
Disabled=0
Mode=2

[RTPCollector1]
Host=loclahost
Port=6500
Timeout=1000

[Codecs]
Count=23
0=G.711 mu-law
1=GSM 06.10723.1
3=ADPCM 32 kbit/s
4=ADPCM 64 kbit/s
5=G.711 a-law
6=G.722
7=G.728
8=ADPCM 44.1 kbit/s
9=ADPCM 88.2 kbit/s
10=G.729
11=G.722.1 24 kbit/s 16 Khz
12=G.722.1 32 kbit/s 16 Khz
13=G.722.1 24 kbit/s 32 Khz
14=G.722.1 32 kbit/s 32 Khz
15=G.722.1 48 kbit/s 32 Khz
16=G.726 16 kbit/s
17=G.726 24 kbit/s
18=G.726 32 kbit/s
19=G.726 40 kbit/s
20=AMR Narrow-Band
21=AMR Wide-Band
22=Opus
Settings

Only config settings relevant to this Cisco Active integration are listed here. For all other settings, leave these set to their default values.

Setting

Description

[SIPRAMSettings]Protocol

The SIP transport protocol to use (udp, tcp, tls, or any). Default is udp . Can also be used to configure multiple protocols. Format UDP TCP.

[SIPRAMSettings]SIPPort

The port to listen for SIP communications on. Default is 5060.

[SIPRAMSettings] MaxConcurrentCalls

The number of active sessions allowed before new sessions will be rejected with a SIP 503 response. Default is 1000.

[SecureConnections] ServerCertificatePath

The path to the server certificate that identifies the Uniphore SIP User Agent. This is only required where TLS or DTLS transports are in use. The certificate file must be PEM encoded.

Certificates for any trusted CAs should be placed in TrustedCAs file. Again, these certificate files must be PEM encoded. Clients connecting via TLS or DTLS will be verified against these CAs.

[SecureConnections] ServerKeyPath

The path to the private key for the Uniphore SIP User Agent. This is only required where TLS or DTLS transports are in use. The key file must be PEM encoded.

[SRTP]Disabled

Disables use of SRTP. If not specified, defaults to 0.

[SRTP]Mode

Specifies the negotiation mode for setting up SRTP. If not specified, defaults to 2 (best effort). Acceptable values are:

  1. mandatory – if the peer does not support SRTP, the session will fail.

  2. best effort – if the peer supports SRTP, SRTP will be used.

  3. fallback

[Codecs]

This section contains the enabled codecs in priority order. Values must be entered as described below (case and whitespace sensitive). Possible values are as follows:

  • G.711 a-law, G.711 mu-law

  • G.722, G.722.1 24 kbit/s 16 Khz, G.722.1 32 kbit/s 16 Khz,

    G.722.1 24 kbit/s 32 Khz, G.722.1 32 kbit/s 32 Khz ,

    G.722.1 48 kbit/s 32 Khz

  • G.723.1

  • G.726 16 kbit/s , G.726 24 kbit/s , G.726 32 kbit/s , G.726 40 kbit/s

  • G.728

  • G.729

  • ADPCM 32 kbit/s, ADPCM 44.1 kbit/s,

    ADPCM 64 kbit/s, ADPCM 88.2 kbit/s

  • AMR Narrow-Band, AMR Wide-Band

  • GSM 06.10

  • Opus