Jump to: navigation, search

Audio device settings

Genesys Softphone uses the following criteria to select its audio input and output devices.

Basic settings

Headsets and other audio input devices are configured by using the following parameters:

  • headset_name
  • audio_in_device
  • audio_out_device

If none of the audio devices that are accessible to the endpoint match the device names in the configuration file, Genesys Softphone picks up the first available devices from the WebRTC list for audio devices.

Tip

The headset_name, audio_in_device, and audio_out_device options support both device proper names and regular expressions.

Selection rules

The following rules are used to select an audio device, auto-answer a call, and reject a call.

Audio device selection

The procedure for audio device selection is applied on startup and every time any changes are made to device presence (such as when a new device is plugged in or an existing device is removed):

  1. The first device in the applicable list that is present in the system is selected when possible. This device (or devices) will either be specified by the headset_name parameter or by the audio_in_device and audio_out_device parameters, depending on whether the use_headset parameter has been enabled.
  2. If none of the configured devices are present (or if the configuration list is empty), then Genesys Softphone selects the audio devices using the priority provided by WebRTC, based on the order of the available devices in its device list.

Auto-answer

When either of the following conditions is met, the SDK blocks the auto-answer functionality (a policy of should answer returns the value unknown, although a manual answer is still possible):

  • the use_headset parameter is set to 1, and none of the devices listed in the headset_name settings are present (but session rejection is not applicable, that is, the reject_session_when_headset_na parameter has been set to 0).
  • Genesys Softphone was unable to find any usable microphone or speaker device (applicable to cases where the use_headset parameter is set to 0).

Finally, if the auto_answer parameter is set to 1 and the auto-answer functionality is not blocked (and the call was not already rejected), Genesys Softphone answers the incoming call automatically (the should answer policy returns the value true).

Rejecting a call

For backward compatibility with previous releases, a call can only be rejected when both of the following conditions are met (a policy of should answer returns the value false):

  • Both the use_headset and reject_session_when_headset_na parameters are set to 1.
  • None of the devices listed in the headset_name settings is present.

When these conditions are met, an incoming call is rejected with the SIP response code that is configured in the sip_code_when_headset_na setting. If the setting is missing or the value does not in the valid range 400 to 699, then the default value of 480 (Temporarily Unavailable) is used.

In addition, when these conditions are met, Genesys Softphone refuses to initiate any new calls, that is, it rejects all outgoing call attempts.

The availability of a fallback device (selected by Step 2 in the Audio device selection section) does not affect call rejection.

Combinations of settings

The following combinations of settings affect audio device selection, auto-answer, and call rejection in the ways described below.

use_headset=1

Headset is available

Genesys Softphone considers a headset to be available if a headset is found by name in the list of headset names stored in the headset_name parameter. (The highest priority device in the list is selected).

Outgoing calls can be initiated.

auto_answer=1 Incoming calls are answered automatically.
auto_answer=0 Incoming calls are answered manually.
Headset is not available

Genesys Softphone determines that no headset is available if a headset is not found by name in the list of headset names stored in the headset_name parameter.

An audio device is still assigned if any supported devices are present in the system, using the first available audio input and output devices from the list compiled by WebRTC.

No auto-answer is possible in this subcase, so the auto_answer setting is not used. reject_session_when_headset_na=1
  • Incoming calls are automatically rejected.
  • Outgoing calls are blocked.
reject_session_when_headset_na=0
  • Incoming calls can be answered manually. It is assumed that the agent will plug in the headset (or use an available non-headset device, if applicable) before answering the call.
  • Outgoing calls can be initiated. It is the agent's responsibility to ensure that the appropriate audio devices are available before the call is answered by the remote side.

use_headset=0

Audio devices are configured using the names from the audio_in_device and audio_out_device settings. Genesys Softphone selects the highest-priority input and output devices from that list or, if no valid devices are found in that list, from the first available devices in the list compiled by WebRTC. Outgoing calls can be initiated.

Both microphone and speaker are available auto_answer=1 Incoming calls are answered automatically.
auto_answer=0 Incoming calls are answered manually.
Either microphone or speaker is not available
  • Incoming calls can be answered manually. It is assumed that the agent will plug in the headset (or use an available non-headset device, if applicable) before answering the call.
  • Outgoing calls can be initiated. It is the agent's responsibility to ensure that the appropriate audio devices are available before the call is answered by the remote side.
No auto-answer is possible in this subcase, so the auto_answer setting is not used Auto-rejection is not applicable, so the reject_session_when_headset_na setting is not used.

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on May 3, 2018, at 11:04.