Skip to content
/ .. /
Audio Service





Audio Service

The intaQt Audio Service enables the use of Steps and Compound Steps for Audio Recordings, Audio Matching and Speech Channel Monitoring.

The following section contains information about the hardware needed to use the Audio Service, and provides examples and links to the device-specific configuration blocks.

Additional configuration information is available in the Audio and Speech Channel Steps and Compound Steps chapter for the following:

Audio Services
Hardware Requirements
Map the Raspberry Pi to the Audio Service
Resources Directory
Configuration Examples

Hardware Requirements

Using the Audio and Speech Channel functionality requires the following hardware:

  • A Raspberry Pi is needed for every phone that is used with the audio services.

  • The Raspberry Pi runs a service called Audio Service.

  • Every Raspberry Pi is connected through a USB soundcard to a given phone using a provided audio cable.

  • Phones (Android, Snom or Yealink).

Map the Raspberry Pi to the Audio Service

Depending on the type of phone being used, the audioServiceURL property must be defined in one of the following configurations (this maps the device(s) being used to the Raspberry Pi hosting the Audio Service):

If the audioServiceURL property is not defined or is a malformed URL, the corresponding device will not support the audio capabilities. Additionally, if the connection to the remote host is refused for any reason, the audio capabilities will be deactivated for the device.

Resources Directory

The Audio Service running on Raspberry Pi provides a static resources directory, which holds all the files that are used for playback only. These files are not removed on resetting the service. The speech channel monitoring uses this directory to store its reference signals.

Define the Resources Directory

A command line option is used to define the static resources directory. The list of resources must be a flat hierarchy. Therefore there are no subdirectories allowed within the defined directory.

Syntax

1
./audioService -res <directory Path>

Parameter

  • directory - The directory name
    • Default value is set to /tmp

Example

1
./audioService -res /var/audio/resources

Configuration Examples

Android Devices Configuration Example

If using Android phones with the Audio Service, the phone's serial number must be specified and mapped to the URL of the service running on the Raspberry Pi. The URL of the service must be specified for the audioServiceURL parameter.

1
2
3
4
5
AndroidDevices  = {
   "00c09f44967c5764":  {
      "audioServiceURL" : "http://127.0.0.1:10001"
   }
}

For more information, refer to the Android Devices configuration section.

Snom Configuration Example

If using Snom phones with the Audio Service, the URL of the service running on the Raspberry Pi must be specified for the audioServiceURL parameter.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Snom {
    isActive = false

    devices = [
        {
            username                                    = "abcd"
            password                                    = "dex123"
            type                                        = "snom"
            number                                      = "+49123456789"
            adminPassword                               = "9999"
            ip                                          = "https://192.168.1.3"
            networkInterface                            = "en0"
            configurationProfile                        = "simple"
            exchangeLinePrefix                          = ""
            keyPressDelayMilliseconds                   = 10
            dialKeyPressDelayMilliseconds               = 10
            connectionStateChangeTimeoutMilliseconds    = 9000
            stateTransitionTimeoutMilliseconds          = 9000
            settings                                    = {}
            audioServiceURL                             = "http://127.0.0.1:10001"
        }
  ]
}

For more information, refer to the Snom Phones configuration section.

If using Yealink phones with the Audio Service, the URL of the service running on the Raspberry Pi must be specified for the audioServiceURL parameter.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 Yealink {
    isActive = true
    timeouts {
        answerCallTimeoutMilliseconds = 5000
        registerTimeoutMilliseconds = 6000
        endCallTimeoutMilliseconds = 6000
        outgoingCallTimeoutMilliseconds = 6000
    }
    devices = [
        {
            number = "sip:alice@iptel.org"
            url    = "http://192.168.1.1"
            networkInterface = "en0"
            audioServiceURL = "http://192.168.1.22:10001"
        }
    ]
}

For more information, refer to the Yealink Phones configuration section.