-
Notifications
You must be signed in to change notification settings - Fork 2
Call
String id()
CallStatus status()
int duration()
Date startTime()
Date establishTime()
Date endTime()
Endpoint source()
Endpoint destination()
Endpoint counterpart()
void mute(boolean shouldMute) throws ActionFailedException
boolean muted()
void speakerphone(boolean enabled)
boolean speakerphone()
void sendDTMF(String dtmf) throws ActionFailedException
void setNetworkQualityEventListener(NetworkQualityEventListener networkQualityEventListener)
NetworkQualityEventListener getNetworkQualityEventListener()
AudioDeviceManager audioDeviceManager()
void lowDataMode(boolean enabled)
void hangup()
Returns a unique call identifier.
none
-
String
- Call ID.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Call ID: " + webrtcCall.id(), Toast.LENGTH_LONG);
Returns current call status.
none
-
CallStatus
- Call status.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Call status: " + webrtcCall.status(), Toast.LENGTH_LONG);
Returns call duration in seconds calculated from the time call was established. 0
if the call has not been established yet.
none
-
int
- Call duration in seconds
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.setEventListener(new DefaultWebrtcCallEventListener() {
@Override
public void onHangup(CallHangupEvent callHangupEvent) {
int durationInSeconds = webrtcCall.duration();
int seconds = durationInSeconds % 60;
long minutes = durationInSeconds / 60 % 60;
long hours = durationInSeconds / 3600;
String duration = String.format(Locale.getDefault(), "%02d:%02d:%02d", hours, minutes, seconds);
Toast.makeText(getApplicationContext(), "Duration: " + duration, Toast.LENGTH_LONG);
}
});
Returns the time when the call started (but was not yet established). Initially, startTime is null
.
none
-
Date
- Time when the call was initiated
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Start time: " + webrtcall.startTime(), Toast.LENGTH_LONG).show();
Returns the time when the call was established. Initially, establishTime is null
.
none
-
Date
- Time when the call was established
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.setEventListener(new DefaultWebrtcCallEventListener( {
@Override
public void onEstablished(CallEstablishedEvent callEstablishedEvent) {
Toast.makeText(getApplicationContext(), "Establish time: " + webrtcCall.establishTime(), Toast.LENGTH_LONG);
}
});
Returns the time when the call finished. Initially, endTime is null
.
none
-
Date
- Time when the call finished
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.setEventListener(new DefaultWebrtcCallEventListener( {
@Override
public void onHangup(CallHangupEvent callHangupEvent) {
Toast.makeText(getApplicationContext(), "End time: " + webrtcCall.endTime(), Toast.LENGTH_LONG);
}
});
webrtcCall.hangup();
Returns the endpoint from which the call originated.
none
-
Endpoint
- Endpoint which initiated the call
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint source = webrtcCall.source();
Returns the endpoint which received the call.
none
-
Endpoint
- Endpoint which received the call
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint destination = webrtcCall.destination();
Returns the remote endpoint which is participating in the call.
none
-
Endpoint
- Remote endpoint which is participating in the call.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint counterpart = webrtcCall.counterpart();
Controls whether the user's audio in the call should be muted after this action. Disabled by default.
-
shouldMute
:boolean
-true
if the audio should be muted, otherwisefalse
.
N/A
-
ActionFailedException
- if muting fails for any reason.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.mute(true);
Returns the information whether the user's audio is muted or not.
none
-
boolean
-true
if the audio is muted, otherwisefalse
.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
String muted = webrtcCall.muted() ? "muted" : "not muted";
Toast.makeText(getApplicationContext(), "Audio is " + muted , Toast.LENGTH_LONG);
Controls whether the audio should be played on the speakerphone. Disabled by default. If disabled, the audio will be played through the next available audio device based on the priority order.
-
enabled
:boolean
-true
if the audio should be played on the speakerphone, otherwisefalse
.
N/A
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.speakerphone(true);
Returns information whether speakerphone is enabled.
none
-
boolean
-true
if the speakerphone is enabled, otherwisefalse
.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
String speakerphoneOn = webrtcCall.speakerphone() ? "on" : "off";
Toast.makeText(getApplicationContext(), "Speakerphone is " + speakerphoneOn, Toast.LENGTH_LONG);
Simulates key-press by sending DTMF (Dual-Tone Multi-Frequency) entry.
-
dtmf
:String
- One of the allowed DTMF characters:- digits:
0
to9
- letters:
A
toD
- symbols:
*
and#
- digits:
N/A
-
ActionFailedException
- if sending DTMF fails for any reason.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.sendDTMF("7");
Configures event handler for network quality events.
-
networkQualityEventListener
:NetworkQualityEventListener
- Interface that should be implemented in order to handle network quality events properly.
N/A
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.setNetworkQualityEventListener(new NetworkQualityEventListener() {
@Override
public void onNetworkQualityChanged(NetworkQualityChangedEvent networkQualityChangedEvent) {
runOnUiThread(() -> {
NetworkQuality networkQuality = networkQualityChangedEvent.getNetworkQuality();
Log.d("WebRTC", String.format("Local network quality is: %s (score: %s)", networkQuality, networkQuality.getScore()));
});
}
});
Returns event handler for network quality events.
none
-
NetworkQualityEventListener
- Interface that should be implemented in order to handle network quality events properly.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
NetworkQualityEventListner networkQualityEventListner = webrtcCall.getNetworkQualityEventListener();
Returns the instance of AudioDeviceManager
that should be used to manage the audio devices in
the current call.
none
-
AudioDeviceManager
- An instance ofAudioDeviceManager
specifically designed for handling audio devices.
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
AudioDeviceManager audioDeviceManager = webrtcCall.audioDeviceManager();
Sets data consumption for audio calls based on the enabled
argument.
If enabled
is set to true
, audio quality will worsen, as data consumption will be lower.
-
enabled
- boolean value which sets the data consumption mode. If set totrue
, data consumption will be lowered, if set tofalse
, data consumption will be back to default.
N/A
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.lowDataMode(true);
Hangs up the call, which ends up in both parties receiving the CallHangupEvent
, after
the hangup is processed by Infobip WebRTC platform.
none
N/A
InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.hangup();