Skip to content
Kenan Genjac edited this page Aug 15, 2023 · 12 revisions



id()

Description

Returns a unique call identifier.

Arguments

  • none

Returns

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Call ID: " + webrtcCall.id(), Toast.LENGTH_LONG);



status()

Description

Returns current call status.

Arguments

  • none

Returns

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Call status: " + webrtcCall.status(), Toast.LENGTH_LONG);



duration()

Description

Returns call duration in seconds calculated from the time call was established. 0 if the call has not been established yet.

Arguments

  • none

Returns

  • int - Call duration in seconds

Example

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);
    }
});



startTime()

Description

Returns the time when the call started (but was not yet established). Initially, startTime is null.

Arguments

  • none

Returns

  • Date - Time when the call was initiated

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Toast.makeText(getApplicationContext(), "Start time: " + webrtcall.startTime(), Toast.LENGTH_LONG).show();



establishTime()

Description

Returns the time when the call was established. Initially, establishTime is null.

Arguments

  • none

Returns

  • Date - Time when the call was established

Example

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);
    }
});



endTime()

Description

Returns the time when the call finished. Initially, endTime is null.

Arguments

  • none

Returns

  • Date - Time when the call finished

Example

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();



source()

Description

Returns the endpoint from which the call originated.

Arguments

  • none

Returns

  • Endpoint - Endpoint which initiated the call

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint source = webrtcCall.source();



destination()

Description

Returns the endpoint which received the call.

Arguments

  • none

Returns

  • Endpoint - Endpoint which received the call

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint destination = webrtcCall.destination();



counterpart()

Description

Returns the remote endpoint which is participating in the call.

Arguments

  • none

Returns

  • Endpoint - Remote endpoint which is participating in the call.

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
Endpoint counterpart = webrtcCall.counterpart();



mute(houldMute) throws ActionFailedException

Description

Controls whether the user's audio in the call should be muted after this action. Disabled by default.

Arguments

  • shouldMute: boolean - true if the audio should be muted, otherwise false.

Returns

  • N/A

Throws

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.mute(true);



muted()

Description

Returns the information whether the user's audio is muted or not.

Arguments

  • none

Returns

  • boolean - true if the audio is muted, otherwise false.

Example

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);



speakerphone(enabled)

Description

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.

Arguments

  • enabled: boolean - true if the audio should be played on the speakerphone, otherwise false.

Returns

  • N/A

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.speakerphone(true);



speakerphone()

Description

Returns information whether speakerphone is enabled.

Arguments

  • none

Returns

  • boolean - true if the speakerphone is enabled, otherwise false.

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
String speakerphoneOn = webrtcCall.speakerphone() ? "on" : "off";
Toast.makeText(getApplicationContext(), "Speakerphone is " + speakerphoneOn, Toast.LENGTH_LONG);



sendDTMF(dtmf) throws ActionFailedException

Description

Simulates key-press by sending DTMF (Dual-Tone Multi-Frequency) entry.

Arguments

  • dtmf: String - One of the allowed DTMF characters:
    • digits: 0 to 9
    • letters: A to D
    • symbols: * and #

Returns

  • N/A

Throws

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.sendDTMF("7");



setNetworkQualityEventListener(networkQualityEventListener)

Description

Configures event handler for network quality events.

Arguments

  • networkQualityEventListener: NetworkQualityEventListener - Interface that should be implemented in order to handle network quality events properly.

Returns

  • N/A

Example

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()));
        });
    }
});



getNetworkQualityEventListener()

Description

Returns event handler for network quality events.

Arguments

  • none

Returns

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
NetworkQualityEventListner networkQualityEventListner = webrtcCall.getNetworkQualityEventListener();



audioDeviceManager()

Description

Returns the instance of AudioDeviceManager that should be used to manage the audio devices in the current call.

Arguments

  • none

Returns

  • AudioDeviceManager - An instance of AudioDeviceManager specifically designed for handling audio devices.

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
AudioDeviceManager audioDeviceManager = webrtcCall.audioDeviceManager();



lowDataMode(enabled)

Description

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.

Arguments

  • enabled - boolean value which sets the data consumption mode. If set to true, data consumption will be lowered, if set to false, data consumption will be back to default.

Returns

  • N/A

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.lowDataMode(true);



hangup()

Description

Hangs up the call, which ends up in both parties receiving the CallHangupEvent, after the hangup is processed by Infobip WebRTC platform.

Arguments

  • none

Returns

  • N/A

Example

InfobipRTC infobipRTC = InfobipRTC.getInstance();
WebrtcCall webrtcCall = (WebrtcCall) infobipRTC.getActiveCall();
webrtcCall.hangup();

Tutorials

Migration guides

Reference documentation

Clone this wiki locally