Interface IEasyCallControlBase
Base interface containing APIs shared between ISingleCallControl and IMultiCallControl.
Namespace: Jabra.NET.Sdk.Modules.EasyCallControl.Types
Assembly: Jabra.NET.Sdk.dll
Syntax
public interface IEasyCallControlBase
Properties
Connection
Declaration
IConnection Connection { get; }
Property Value
Type | Description |
---|---|
IConnection | The single physical connection to which the easy call control functionalities are associated to. |
MuteState
Declaration
IObservable<MuteState> MuteState { get; }
Property Value
Type | Description |
---|---|
System.IObservable<MuteState> | Emits the mute state of the device whenever that state changes. |
Remarks
This can happen due to interaction with the device (e.g. raising the boom arm) or due to interaction with your softphone (e.g. pressing a mute button in the GUI).
OnDisconnect
Declaration
IObservable<Unit> OnDisconnect { get; }
Property Value
Type | Description |
---|---|
System.IObservable<System.Reactive.Unit> | Emits when the connection used for call control gets disconnected. |
Remarks
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 SingleInitialState or MultiInitialState.
RingState
Declaration
IObservable<bool> RingState { get; }
Property Value
Type | Description |
---|---|
System.IObservable<System.Boolean> | Emits the ring state of the device whenever that state changes. |
Remarks
This can happen whenever a new incoming call is signalled, and whenever that incoming call is accepted or rejected.
Methods
EndCall()
Ends the current call.
Declaration
Task EndCall()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Exceptions
Type | Condition |
---|---|
JabraException | If a call is not active. |
Mute()
Mutes the device.
Declaration
Task Mute()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
You can only change the mute state while the device is in an active call.
Exceptions
Type | Condition |
---|---|
JabraException | If a call is not active. |
RejectIncomingCall()
Rejects an incoming call.
Declaration
Task RejectIncomingCall()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
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 SignalIncomingCall(Int32) will resolve with false
.
The second case requires your softphone to manually call this method,
before the incoming call is rejected and
SignalIncomingCall(Int32) is resolved with false
.
Exceptions
Type | Condition |
---|---|
JabraException | If an incoming call is not pending. |
SignalIncomingCall(Int32)
Signals that there is an incoming call. The task resolves only once the incoming call is either accepted or rejected.
Declaration
Task<bool> SignalIncomingCall(int ringTimeout = 15000)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | ringTimeout | Optional parameter, determining how long before the incoming call is automatically rejected due to a timeout. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Boolean> |
|
Remarks
On most devices, this starts the device ringer.
Exceptions
Type | Condition |
---|---|
JabraException | If the device is used by another softphone. |
StartCall()
Sets the device into call state.
Declaration
Task StartCall()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Exceptions
Type | Condition |
---|---|
JabraException | If the device is used by another softphone. |
Teardown(Boolean)
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.
Declaration
void Teardown(bool tryReleaseCallLock = true)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | tryReleaseCallLock |
Remarks
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).
Unmute()
Unmutes the device.
Declaration
Task Unmute()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
You can only change the mute state while the device is in an active call.
Exceptions
Type | Condition |
---|---|
JabraException | If a call is not active. |