Accepts an incoming call and sets the device into call state.
Optional
behavior: AcceptIncomingCallBehaviorOptionally controls the behavior when accepting an incoming call, defaults to END_CURRENT
Accepting an incoming call behaves differently whether called from idle (1) or while another call is active (2).
Rejects an incoming call.
The call can be rejected by the user by interacting with their device
or with your softphone.
In the first case, the incoming call will be automatically rejected
and IEasyCallControlBase.signalIncomingCall will resolve with false
.
The second case requires your softphone to manually call this method,
before the incoming call is rejected and IEasyCallControlBase.signalIncomingCall is
resolved with false
.
Signals that there is an incoming call. The promise resolves only once the incoming call is either accepted or rejected.
Optional
ringTimeout: numberOptional parameter, determining how long before the incoming call is automatically rejected due to a timeout.
true
if the call was accepted, and false
if rejected.
Teardown the Easy Call Control instance.
All internal state subscriptions will be stopped to avoid potential memory leaks, and the internal call lock will be released if taken.
After using this method, you must create a new Easy Call Control instance to continue usage.
Use this when you want to stop using the ISingleCallControl or IMultiCallControl object but the connection to the device is still active (e.g. when changing device or navigating between views).
Readonly
deviceThe single physical device to which the easy call control functionalities are associated to.
Emits the hold state of the device whenever that state changes.
Emits the mute state of the device whenever that state changes.
Readonly
onEmits when the connection used for easy call control gets disconnected.
If this observable emits, the connection and thus the Easy Call Control instance can no longer be used.
If this happens, for example, in the middle of a call, you can select a new device (or the same device with another connection) and recover the state. See ISingleInitialState or IMultiInitialState and for examples refer to the 'Easy Call Control' chapter of the 'Managing Calls' section of the JavaScript Developer's Guide.
Emits the number of calls currently in progress.
0
means that the device is idle with no calls in progress,
while 1
or more signifies the number of calls currently active.
Starting a new call - or accepting an incoming call - will increment this counter. Similarly, ending a call will decrement the count until it reaches 0.
To handle multiple-call scenarios, ensure you keep your application's list of ongoing calls in sync with this count.
To handle one active call at a time, do one of the following:
Emits the ring state of the device whenever that state changes.
Emits whenever swap request is triggered.
This can happen due to interaction with the device (most often the same button that triggers hold) or due to interaction with your softphone (e.g. pressing a swap button in the GUI).
The observable does not emit any value, and it does not keep track of what call was swapped to or from - this should be handled by the softphone application.
The most common implementation pattern would be to maintain a list of ongoing calls in the softphone application. Then, whenever swap is triggered, the active call is moved to the next call in line.
Defines the necessary functionality for easy call control, when handling multiple calls.
This functionality includes:
Remarks
All of this functionality is associated with a single physical device. For every connected Jabra headset, there is an additional instance of IEasyCallControlBase that is used to manipulate its call-related state and functionality.