Package org.linphone.core
Interface Call
public interface Call
This object represents a call issued or received by the
Linphone only allows at most one active call at any given time and it will be
in
the conference in
You can get the
calling
Core
. Linphone only allows at most one active call at any given time and it will be
in
Call.State.StreamsRunning
. However, if the core is locally hosting aConference
, you may have some or all the calls in the conference inCall.State.StreamsRunning
as well as an additional active call outside ofthe conference in
Call.State.StreamsRunning
if the local participant of theConference
is not part of it.You can get the
Call.State
of the call using getState()
, it's currentCallParams
with getCurrentParams()
and the latest statistics bycalling
getAudioStats()
or getVideoStats()
. -
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
static enum
static enum
-
Method Summary
Modifier and TypeMethodDescriptionint
accept()
Accept an incoming call.int
Accept an early media session for an incoming call.int
acceptEarlyMediaWithParams
(CallParams params) When receiving an incoming, accept to start a media session as early-media.int
acceptUpdate
(CallParams params) Accept call modifications initiated by other end.int
acceptWithParams
(CallParams params) Accept an incoming call, with parameters.void
addListener
(CallListener listener) boolean
Tell whether a call has been asked to autoanswer.void
Stop current DTMF sequence sending.void
Method to be called after the user confirm that he/she is notifed of the on
going Go Clear procedure.Create a native video window id where the video is to be displayed.int
Decline a pending incoming call, with a reason.int
Decline a pending incoming call, with aErrorInfo
object.int
When receiving a #LinphoneCallUpdatedByRemote state notification, prevent
Core
from performing an automatic answer.Returns a copy of the call statistics for the audio stream.Returns the ZRTP authentication token to verify.boolean
Returns whether ZRTP authentication token is verified.float
Returns call quality averaged over all the duration of the call.Gets the call log associated to this call.Create a new chat room for real time messaging from a call if not already
existing, else return existing one.Return the associated conference object.getCore()
Get the core that has created the specified call.Returns current parameters associated to the call.float
Obtain real-time quality rating of the call.getDir()
Returns direction of the call (incoming or outgoing).Returns the diversion address associated to this call.int
Returns call's duration in seconds.Returns full details about call errors or termination reasons.Gets the current input device for this call.boolean
Get microphone muted state.float
Get microphone volume gain.long
Gets the native pointer used by this class to make native method calls.Get the native window handle of the video window, casted as an unsigned long.Gets the current output device for this call.Returns local parameters associated with the call.Gets a player associated with the call to play a local file and stream it to
the remote peer.float
Get the mesured playback volume level (received from remote) in dbm0.Returns the reason for a call termination (either error or normal termination)
float
Get the mesured record volume level (sent to remote) in dbm0.Gets the refer-to uri (if the call was transfered).Returns the remote address associated to this call.Deprecated.Returns the far end's sip contact as a string, if available.Returns the far end's sip contact as an address, if available.Returns call parameters proposed by remote.Returns the far end's user agent description string, if available.Returns the call object this call is replacing, if any.The address to which the call has been sent, taken directly from the SIP URI of
the INVITE.boolean
Get speaker muted state.float
Get speaker volume gain.getState()
Retrieves the call's current state.getStats
(StreamType type) Returns a copy of the call statistics for a particular stream type.int
Returns the number of stream for the given call.Returns a copy of the call statistics for the text stream.Returns the to address with its headers associated to this call.getToHeader
(String headerName) Deprecated.27/10/2020.Gets the transferer if this call was started automatically as a result of an
incoming transfer request.Returns the current transfer state, if a transfer has been initiated from this
call.When this call has received a transfer request, returns the new call that was
automatically created as a result of the transfer.Gets the object stored in this object user's dataGets the video source of a call.Returns a copy of the call statistics for the video stream.boolean
Returns if this calls has received a transfer that has not been executed yet.boolean
Returns if camera pictures are allowed to be sent to the remote party.boolean
Returns if echo cancellation is enabled.boolean
Returns if echo limiter is enabled.boolean
Deprecated.15/09/2021 UseCallParams.isRecording()
instead.boolean
Indicates whether an operation is in progress at the media side.void
Starts the process of replying 180 Ringing.void
Calls generic OpenGL render for a given call.int
pause()
Pauses the call.int
Deprecated.27/10/2020.int
redirectTo
(Address redirectAddress) Redirect the specified call to the given redirect Address.void
removeListener
(CallListener listener) void
Request the callback passed to linphone_call_cbs_set_next_video_frame_decoded
to be called the next time the video decoder properly decodes a video frame.int
resume()
Resumes a call.int
sendDtmf
(char dtmf) Send the specified dtmf.int
Send a list of dtmf.int
sendInfoMessage
(InfoMessage info) Sends an info message through an established call.void
Request remote side to send us a Video Fast Update.void
setAuthenticationTokenVerified
(boolean verified) Set the result of ZRTP short code verification by user.void
setCameraEnabled
(boolean enabled) Indicate whether camera input should be sent to remote end.void
setEchoCancellationEnabled
(boolean enable) Enables or disable echo cancellation for this call.void
setEchoLimiterEnabled
(boolean enable) Enables or disable echo limiter for this call.void
setInputAudioDevice
(AudioDevice audioDevice) Sets the givenAudioDevice
as input for this call only.void
setMicrophoneMuted
(boolean muted) Set microphone muted state.void
setMicrophoneVolumeGain
(float volume) Set microphone volume gain.void
setNativeVideoWindowId
(Object windowId) Set the native video window id where the video is to be displayed.void
setOutputAudioDevice
(AudioDevice audioDevice) Sets the givenAudioDevice
as output for this call only.void
setParams
(CallParams params) Set call parameters - advanced and not recommended feature - use with caution.void
setSpeakerMuted
(boolean muted) Set speaker muted state.void
setSpeakerVolumeGain
(float volume) Set speaker volume gain.void
setUserData
(Object data) Sets the object to store in this object user's datavoid
setVideoSource
(VideoSourceDescriptor descriptor) Sets the video source of a call.void
Starts call recording.void
Stops call recording.int
takePreviewSnapshot
(String filePath) Take a photo of currently captured video and write it into a jpeg file.int
takeVideoSnapshot
(String filePath) Take a photo of currently received video and write it into a jpeg file.int
Terminates a call.int
Terminates a call.toString()
int
Deprecated.27/10/2020.int
transferTo
(Address referTo) Performs a simple call transfer to the specified destination.int
transferToAnother
(Call dest) Transfers a call to destination of another running call.int
update
(CallParams params) Updates a running call according to supplied call parameters or parameters
changed in the LinphoneCore.void
zoom
(float zoomFactor, float cx, float cy) Perform a zoom of the video displayed during a call.
-
Method Details
-
getAudioStats
Returns a copy of the call statistics for the audio stream.
- Returns:
- a
CallStats
object for the audio stream or null if it isn't
available.
-
getAuthenticationToken
Returns the ZRTP authentication token to verify.
- Returns:
- the authentication token to verify or null if ZRTP isn't enabled.
-
getAuthenticationTokenVerified
boolean getAuthenticationTokenVerified()Returns whether ZRTP authentication token is verified.
If not, it must be verified by users as described in ZRTP procedure. Once done,
the application must inform of the results withsetAuthenticationTokenVerified(boolean)
.- Returns:
- true if authentication token is verifed, false otherwise.
-
setAuthenticationTokenVerified
void setAuthenticationTokenVerified(boolean verified) Set the result of ZRTP short code verification by user.
If remote party also does the same, it will update the ZRTP cache so that
user's verification will not be required for the two users.- Parameters:
verified
- whether the ZRTP SAS is verified.
-
getAverageQuality
float getAverageQuality()Returns call quality averaged over all the duration of the call.
SeegetCurrentQuality()
for more details about quality measurement.- Returns:
- the call average quality since tbe beginning of the call.
-
getCallLog
Gets the call log associated to this call.
-
isCameraEnabled
boolean isCameraEnabled()Returns if camera pictures are allowed to be sent to the remote party.
- Returns:
- true if local video stream is being sent, false otherwise.
-
setCameraEnabled
void setCameraEnabled(boolean enabled) Indicate whether camera input should be sent to remote end.
- Parameters:
enabled
- wether or not to send local video stream.
-
getChatRoom
Create a new chat room for real time messaging from a call if not already
existing, else return existing one.
No reference is given to the caller: the chat room will be deleted when the
call is ended.- Returns:
ChatRoom
where real time messaging can take place or null if
chat room couldn't be created.
-
getConference
Return the associated conference object.
- Returns:
- A pointer on
Conference
or null if the call is not part of any
conference.
-
getCore
Get the core that has created the specified call.
- Returns:
- The
Core
object that has created the specified call.
-
getCurrentParams
Returns current parameters associated to the call.
- Returns:
- the current
CallParams
of this call.
-
getCurrentQuality
float getCurrentQuality()Obtain real-time quality rating of the call.
Based on local RTP statistics and RTCP feedback, a quality rating is computed
and updated during all the duration of the call. This function returns its
value at the time of the function call. It is expected that the rating is
updated at least every 5 seconds or so. The rating is a floating point number
comprised between 0 and 5.
4-5 = good quality 3-4 = average quality 2-3 = poor quality 1-2 = very poor
quality 0-1 = can't be worse, mostly unusable- Returns:
- The function returns -1 if no quality measurement is available, for
example if no active audio stream exist. Otherwise it returns the quality
rating.
-
getDir
Call.Dir getDir()Returns direction of the call (incoming or outgoing).
- Returns:
- the
Call.Dir
-
getDiversionAddress
Returns the diversion address associated to this call.
- Returns:
- the diversion address as
Address
or null.
-
getDuration
int getDuration()Returns call's duration in seconds.
- Returns:
- the call's duration in seconds.
-
isEchoCancellationEnabled
boolean isEchoCancellationEnabled()Returns if echo cancellation is enabled.
- Returns:
- true if echo cancellation is enabled, false otherwise.
-
setEchoCancellationEnabled
void setEchoCancellationEnabled(boolean enable) Enables or disable echo cancellation for this call.
- Parameters:
enable
- wether to enable echo cancellation or not.
-
isEchoLimiterEnabled
boolean isEchoLimiterEnabled()Returns if echo limiter is enabled.
- Returns:
- true if echo limiter is enabled, false otherwise.
-
setEchoLimiterEnabled
void setEchoLimiterEnabled(boolean enable) Enables or disable echo limiter for this call.
- Parameters:
enable
- wether to enable echo limiter or not.
-
getErrorInfo
Returns full details about call errors or termination reasons.
- Returns:
ErrorInfo
object holding the reason error.
-
getInputAudioDevice
Gets the current input device for this call.
- Returns:
- the
AudioDevice
used by this call as input or null if there is
currently no soundcard configured (depending on the state of the call)
-
setInputAudioDevice
- Parameters:
audioDevice
- TheAudioDevice
. null does nothing.
-
isRecording
Deprecated.15/09/2021 UseCallParams.isRecording()
instead.Returns whether or not the call is currently being recorded.
- Returns:
- true if recording is in progress, false otherwise
-
getMicrophoneMuted
boolean getMicrophoneMuted()Get microphone muted state.
Note that the microphone may be disabled globally if false was given toCore#enableMic
.- Returns:
- The microphone muted state.
warning: This method returns state of the mute capability of the call passed as
argument. If this call is part of a conference, it is strongly recommended to
callConference.getMicrophoneMuted()
to know whether this device is muted
or not.
-
setMicrophoneMuted
void setMicrophoneMuted(boolean muted) Set microphone muted state.
The boolean value given is applied logical-and with the value given toCore#enableMic
.- Parameters:
muted
- The microphone muted state.
warning: This method only mutes the call passed as argument. If this call is
part of a conference, it is strongly recommended to callConference.setMicrophoneMuted(boolean)
to ensure that the setting is correctly apply across all participants and the
conference callbacks are called.
-
getMicrophoneVolumeGain
float getMicrophoneVolumeGain()Get microphone volume gain.
If the sound backend supports it, the returned gain is equal to the gain set
with the system mixer.- Returns:
- double Percentage of the max supported volume gain. Valid values are in
[ 0.0 : 1.0 ]. In case of failure, a negative value is returned
-
setMicrophoneVolumeGain
void setMicrophoneVolumeGain(float volume) Set microphone volume gain.
If the sound backend supports it, the new gain will synchronized with the
system mixer.- Parameters:
volume
- Percentage of the max supported gain. Valid values are in [ 0.0 :
1.0 ].
-
getNativeVideoWindowId
Get the native window handle of the video window, casted as an unsigned long.
- Returns:
- the native video window id (type may vary depending on platform).
-
setNativeVideoWindowId
Set the native video window id where the video is to be displayed.
For MacOS, Linux, Windows: if not set or 0 a window will be automatically
created, unless the special id -1 is given.- Parameters:
windowId
- the native video window id.
-
getOutputAudioDevice
Gets the current output device for this call.
- Returns:
- the
AudioDevice
used by this call as output or null if there is
currently no soundcard configured (depending on the state of the call)
-
setOutputAudioDevice
- Parameters:
audioDevice
- TheAudioDevice
. null does nothing.
-
getParams
Returns local parameters associated with the call.
This is typically the parameters passed at call initiation toCore.inviteAddressWithParams(org.linphone.core.Address, org.linphone.core.CallParams)
oracceptWithParams(org.linphone.core.CallParams)
, or some default parameters if noCallParams
was explicitely passed during call initiation.- Returns:
- the call's local parameters.
-
setParams
Set call parameters - advanced and not recommended feature - use with caution.
Local call parameters applicable to an outgoing or incoming shall usually be
passed toCore.inviteAddressWithParams(org.linphone.core.Address, org.linphone.core.CallParams)
oracceptWithParams(org.linphone.core.CallParams)
.
However, in some cases it might be desirable from a software design standpoint
to modify local parameters outside of the application layer, typically in the
purpose of implementing a custom logic including special headers in INVITE or
200Ok requests, driven by a call_state_changed listener method. This function
accepts to assign a newCallParams
only in #LinphoneCallOutgoingInit
and #LinphoneCallIncomingReceived states.- Parameters:
params
- theCallParams
object
-
getPlayVolume
float getPlayVolume()Get the mesured playback volume level (received from remote) in dbm0.
- Returns:
- float Volume level in percentage.
-
getPlayer
Gets a player associated with the call to play a local file and stream it to
the remote peer.
- Returns:
- A
Player
object
-
getReason
Reason getReason()Returns the reason for a call termination (either error or normal termination)
- Returns:
- the
Reason
of the call termination.
-
getRecordVolume
float getRecordVolume()Get the mesured record volume level (sent to remote) in dbm0.
- Returns:
- float Volume level in percentage.
-
getReferTo
Gets the refer-to uri (if the call was transfered).
- Returns:
- The refer-to uri of the call (if it was transfered).
-
getRemoteAddress
Returns the remote address associated to this call.
- Returns:
- The
Address
of the remote end of the call.
-
getRemoteAddressAsString
Deprecated.06/07/2020 usegetRemoteAddress()
instead.Returns the remote address associated to this call as a string.
The result string must be freed by user using ms_free().- Returns:
- the remote address as a string.
-
getRemoteContact
Returns the far end's sip contact as a string, if available.
- Returns:
- the remote contact or null.
-
getRemoteContactAddress
Returns the far end's sip contact as an address, if available.
- Returns:
- the remote contact as a
Address
or null.
-
getRemoteParams
Returns call parameters proposed by remote.
This is useful when receiving an incoming call, to know whether the remote
party supports video, encryption or whatever.- Returns:
- the
CallParams
suggested by the remote or null.
-
getRemoteUserAgent
Returns the far end's user agent description string, if available.
- Returns:
- the remote user agent or null.
-
getReplacedCall
Returns the call object this call is replacing, if any.
Call replacement can occur during call transfers. By default, the core
automatically terminates the replaced call and accept the new one. This
function allows the application to know whether a new incoming call is a one
that replaces another one.- Returns:
- the
Call
object this call is replacing or null.
-
getRequestAddress
The address to which the call has been sent, taken directly from the SIP URI of
the INVITE.
Usually equal to the To field, except when e.g. using a fallback contact
address. You should probably use getToAddress() instead, unless you know what
you're doing.- Returns:
- the
Address
matching the URI of the INVITE request.
-
getSpeakerMuted
boolean getSpeakerMuted()Get speaker muted state.
- Returns:
- The speaker muted state.
-
setSpeakerMuted
void setSpeakerMuted(boolean muted) Set speaker muted state.
- Parameters:
muted
- The speaker muted state.
-
getSpeakerVolumeGain
float getSpeakerVolumeGain()Get speaker volume gain.
If the sound backend supports it, the returned gain is equal to the gain set
with the system mixer.- Returns:
- Percentage of the max supported volume gain. Valid values are in [ 0.0
: 1.0 ]. In case of failure, a negative value is returned
-
setSpeakerVolumeGain
void setSpeakerVolumeGain(float volume) Set speaker volume gain.
If the sound backend supports it, the new gain will synchronized with the
system mixer.- Parameters:
volume
- Percentage of the max supported gain. Valid values are in [ 0.0 :
1.0 ].
-
getState
Call.State getState()Retrieves the call's current state.
- Returns:
- the current
Call.State
of this call.
-
getStreamCount
int getStreamCount()Returns the number of stream for the given call.
- Returns:
- the amount of streams for this call.
-
getTextStats
Returns a copy of the call statistics for the text stream.
- Returns:
- a
CallStats
object for the text stream or null if it isn't
available.
-
getToAddress
Returns the to address with its headers associated to this call.
- Returns:
- the
Address
matching the TO of the call.
-
getTransferState
Call.State getTransferState()Returns the current transfer state, if a transfer has been initiated from this
call.
see: linphone_core_transfer_call , linphone_core_transfer_call_to_another- Returns:
- the
Call.State
.
-
getTransferTargetCall
When this call has received a transfer request, returns the new call that was
automatically created as a result of the transfer.
- Returns:
- the transfer
Call
created.
-
getTransfererCall
Gets the transferer if this call was started automatically as a result of an
incoming transfer request.
The call in which the transfer request was received is returned in this case.- Returns:
- The transferer
Call
if the specified call was started
automatically as a result of an incoming transfer request, null otherwise.
-
getVideoSource
Gets the video source of a call.
- Returns:
- The
VideoSourceDescriptor
describing the video source that is
set
-
setVideoSource
Sets the video source of a call.
- Parameters:
descriptor
- TheVideoSourceDescriptor
describing the video source
to set
-
getVideoStats
Returns a copy of the call statistics for the video stream.
- Returns:
- a
CallStats
object for the video stream or null if it isn't
available.
-
accept
int accept()Accept an incoming call.
Basically the application is notified of incoming calls within the
call_state_changed callback of the LinphoneCoreVTable structure, where it will
receive aCall.Dir.Incoming
event with the associatedCall
object.
The application can later accept the call using this method.- Returns:
- 0 on success, -1 on failure
-
acceptEarlyMedia
int acceptEarlyMedia()Accept an early media session for an incoming call.
This is identical as callingacceptEarlyMediaWithParams(org.linphone.core.CallParams)
with null
parameters.- Returns:
- 0 if successful, -1 otherwise
see:acceptEarlyMediaWithParams(org.linphone.core.CallParams)
-
acceptEarlyMediaWithParams
When receiving an incoming, accept to start a media session as early-media.
This means the call is not accepted but audio & video streams can be
established if the remote party supports early media. However, unlike after
call acceptance, mic and camera input are not sent during early-media, though
received audio & video are played normally. The call can then later be fully
accepted usingaccept()
oracceptWithParams(org.linphone.core.CallParams)
.- Parameters:
params
- The call parameters to use (can be null).- Returns:
- 0 if successful, -1 otherwise
-
acceptUpdate
Accept call modifications initiated by other end.
This call may be performed in response to a #LinphoneCallUpdatedByRemote state
notification. When such notification arrives, the application can decide to
calldeferUpdate()
so that it can have the time to prompt the user.
getRemoteParams()
can be used to get information about the call
parameters requested by the other party, such as whether a video stream is
requested.
When the user accepts or refuse the change,acceptUpdate(org.linphone.core.CallParams)
can be done
to answer to the other party. If params is null, then the same call parameters
established before the update request will continue to be used (no change). If
params is not null, then the update will be accepted according to the
parameters passed. Typical example is when a user accepts to start video, then
params should indicate that video stream should be used (seeCallParams#enableVideo
).- Parameters:
params
- ACallParams
object describing the call parameters to
accept.- Returns:
- 0 if successful, -1 otherwise (actually when this function call is
performed outside ot #LinphoneCallUpdatedByRemote state)
-
acceptWithParams
Accept an incoming call, with parameters.
Basically the application is notified of incoming calls within the
call_state_changed callback of the LinphoneCoreVTable structure, where it will
receive aCall.Dir.Incoming
event with the associatedCall
object.
The application can later accept the call using this method.- Parameters:
params
- The specific parameters for this call, for example whether video
is accepted or not. Use null to use default parameters.- Returns:
- 0 on success, -1 on failure
-
askedToAutoanswer
boolean askedToAutoanswer()Tell whether a call has been asked to autoanswer.
- Returns:
- A boolean value telling whether the call has been asked to autoanswer
-
cancelDtmfs
void cancelDtmfs()Stop current DTMF sequence sending.
Please note that some DTMF could be already sent, depending on when this
function call is delayed fromsendDtmfs(java.lang.String)
. This function will be
automatically called if call state change to anything but
LinphoneCallStreamsRunning. -
confirmGoClear
void confirmGoClear()Method to be called after the user confirm that he/she is notifed of the on
going Go Clear procedure.
warning: this operation must be imperatevely initiate by a user action on
sending of the GoClear ACK -
createNativeVideoWindowId
Create a native video window id where the video is to be displayed.
- Returns:
- the native video window id (type may vary depending on platform).
-
decline
Decline a pending incoming call, with a reason.
- Parameters:
reason
- The reason for rejecting the call:Reason.Declined
or
Reason.Busy
- Returns:
- 0 on success, -1 on failure
-
declineWithErrorInfo
- Parameters:
ei
-ErrorInfo
containing more information on the call rejection.
- Returns:
- 0 on success, -1 on failure
-
deferUpdate
int deferUpdate()When receiving a #LinphoneCallUpdatedByRemote state notification, prevent
Core
from performing an automatic answer.
When receiving a #LinphoneCallUpdatedByRemote state notification (ie an
incoming reINVITE), the default behaviour ofCore
is defined by the
"defer_update_default" option of the "sip" section of the config. If this
option is 0 (the default) then theCore
automatically answers the
reINIVTE with call parameters unchanged. However when for example when the
remote party updated the call to propose a video stream, it can be useful to
prompt the user before answering. This can be achieved by calling
linphone_core_defer_call_update during the call state notification, to
deactivate the automatic answer that would just confirm the audio but reject
the video. Then, when the user responds to dialog prompt, it becomes possible
to callacceptUpdate(org.linphone.core.CallParams)
to answer the reINVITE, with eventually video
enabled in theCallParams
argument.
The #LinphoneCallUpdatedByRemote notification can also arrive when receiving an
INVITE without SDP. In such case, an unchanged offer is made in the 200Ok, and
when the ACK containing the SDP answer is received,
#LinphoneCallUpdatedByRemote is triggered to notify the application of possible
changes in the media session. However in such case defering the update has no
meaning since we just generating an offer.- Returns:
- 0 if successful, -1 if the
deferUpdate()
was done outside a
valid #LinphoneCallUpdatedByRemote notification
-
getStats
Returns a copy of the call statistics for a particular stream type.
- Parameters:
type
- theStreamType
- Returns:
- a
CallStats
object for the given stream or null if stream isn't
available.
-
getToHeader
Deprecated.Returns the value of the header name.
- Parameters:
headerName
- the name of the header to check.- Returns:
- the value of the header if exists.
-
hasTransferPending
boolean hasTransferPending()Returns if this calls has received a transfer that has not been executed yet.
Pending transfers are executed when this call is being paused or closed,
locally or by remote endpoint. If the call is already paused while receiving
the transfer request, the transfer immediately occurs.- Returns:
- true if transfer is pending, false otherwise.
-
mediaInProgress
boolean mediaInProgress()Indicates whether an operation is in progress at the media side.
It can be a bad idea to initiate signaling operations (adding video, pausing
the call, removing video, changing video parameters) while the media is busy in
establishing the connection (typically ICE connectivity checks). It can result
in failures generating loss of time in future operations in the call.
Applications are invited to check this function after each call state change to
decide whether certain operations are permitted or not.- Returns:
- true if media is busy in establishing the connection, false otherwise.
-
notifyRinging
void notifyRinging()Starts the process of replying 180 Ringing.
This function is used in conjonction withCore#enableAutoSendRinging
.
If the automatic sending of the 180 Ringing is disabled, this function needs to
be called manually before the call timeouts. -
oglRender
void oglRender()Calls generic OpenGL render for a given call.
-
pause
int pause()Pauses the call.
If a music file has been setup usingCore.setPlayFile(java.lang.String)
, this file will
be played to the remote user. The only way to resume a paused call is to call
resume()
.- Returns:
- 0 on success, -1 on failure
see:resume()
-
redirect
Deprecated.27/10/2020. UseredirectTo(org.linphone.core.Address)
instead.Redirect the specified call to the given redirect URI.
- Parameters:
redirectUri
- The URI to redirect the call to- Returns:
- 0 if successful, -1 on error.
-
redirectTo
Redirect the specified call to the given redirect Address.
- Parameters:
redirectAddress
- TheAddress
to redirect the call to- Returns:
- 0 if successful, -1 on error.
-
requestNotifyNextVideoFrameDecoded
void requestNotifyNextVideoFrameDecoded()Request the callback passed to linphone_call_cbs_set_next_video_frame_decoded
to be called the next time the video decoder properly decodes a video frame.
-
resume
int resume()- Returns:
- 0 on success, -1 on failure
see:pause()
-
sendDtmf
int sendDtmf(char dtmf) Send the specified dtmf.
The dtmf is automatically played to the user.- Parameters:
dtmf
- The dtmf name specified as a char, such as '0', '#' etc...- Returns:
- 0 if successful, -1 on error.
-
sendDtmfs
Send a list of dtmf.
The dtmfs are automatically sent to remote, separated by some needed
customizable delay. Sending is canceled if the call state changes to something
not LinphoneCallStreamsRunning.- Parameters:
dtmfs
- A dtmf sequence such as '123#123123'- Returns:
- -2 if there is already a DTMF sequence, -1 if call is not ready, 0
otherwise.
-
sendInfoMessage
Sends an info message through an established call.
- Parameters:
info
- theInfoMessage
to send
-
sendVfuRequest
void sendVfuRequest()Request remote side to send us a Video Fast Update.
-
startRecording
void startRecording()Starts call recording.
Video record is only available if this function is called in state
StreamRunning. The output file where audio is recorded must be previously
specified withCallParams.setRecordFile(java.lang.String)
. -
stopRecording
void stopRecording()Stops call recording.
-
takePreviewSnapshot
Take a photo of currently captured video and write it into a jpeg file.
Note that the snapshot is asynchronous, an application shall not assume that
the file is created when the function returns.- Parameters:
filePath
- a path where to write the jpeg content.- Returns:
- 0 if successful, -1 otherwise (typically if jpeg format is not
supported).
-
takeVideoSnapshot
Take a photo of currently received video and write it into a jpeg file.
Note that the snapshot is asynchronous, an application shall not assume that
the file is created when the function returns.- Parameters:
filePath
- a path where to write the jpeg content.- Returns:
- 0 if successful, -1 otherwise (typically if jpeg format is not
supported).
-
terminate
int terminate()Terminates a call.
- Returns:
- 0 on success, -1 on failure
-
terminateWithErrorInfo
Terminates a call.
- Parameters:
ei
-ErrorInfo
- Returns:
- 0 on success, -1 on failure
-
transfer
Deprecated.27/10/2020. UsetransferTo(org.linphone.core.Address)
instead.Performs a simple call transfer to the specified destination.
The remote endpoint is expected to issue a new call to the specified
destination. The current call remains active and thus can be later paused or
terminated. It is possible to follow the progress of the transfer provided that
transferee sends notification about it. In this case, the
transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify
of the state of the new call at the other party. The notified states are
#LinphoneCallOutgoingInit , #LinphoneCallOutgoingProgress,
#LinphoneCallOutgoingRinging and #LinphoneCallConnected.- Parameters:
referTo
- The destination the call is to be refered to.- Returns:
- 0 on success, -1 on failure
-
transferTo
Performs a simple call transfer to the specified destination.
The remote endpoint is expected to issue a new call to the specified
destination. The current call remains active and thus can be later paused or
terminated. It is possible to follow the progress of the transfer provided that
transferee sends notification about it. In this case, the
transfer_state_changed callback of the LinphoneCoreVTable is invoked to notify
of the state of the new call at the other party. The notified states are
#LinphoneCallOutgoingInit , #LinphoneCallOutgoingProgress,
#LinphoneCallOutgoingRinging and #LinphoneCallConnected.- Parameters:
referTo
- TheAddress
the call is to be refered to.- Returns:
- 0 on success, -1 on failure
-
transferToAnother
Transfers a call to destination of another running call.
This is used for "attended transfer" scenarios. The transfered call is supposed
to be in paused state, so that it is able to accept the transfer immediately.
The destination call is a call previously established to introduce the
transfered person. This method will send a transfer request to the transfered
person. The phone of the transfered is then expected to automatically call to
the destination of the transfer. The receiver of the transfer will then
automatically close the call with us (the 'dest' call). It is possible to
follow the progress of the transfer provided that transferee sends notification
about it. In this case, the transfer_state_changed callback of the
LinphoneCoreVTable is invoked to notify of the state of the new call at the
other party. The notified states are #LinphoneCallOutgoingInit ,
#LinphoneCallOutgoingProgress, #LinphoneCallOutgoingRinging and
#LinphoneCallConnected.- Parameters:
dest
- A running call whose remote person will receive the transfer- Returns:
- 0 on success, -1 on failure
-
update
Updates a running call according to supplied call parameters or parameters
changed in the LinphoneCore.
It triggers a SIP reINVITE in order to perform a new offer/answer of media
capabilities. Changing the size of the transmitted video after calling
linphone_core_set_preferred_video_size can be used by passing null as params
argument. In case no changes are requested through theCallParams
argument, then this argument can be omitted and set to null. WARNING: Updating
a call in the #LinphoneCallPaused state will still result in a paused call even
if the media directions set in the params are sendrecv. To resume a paused
call, you need to callresume()
.- Parameters:
params
- The new call parameters to use (may be null).- Returns:
- 0 if successful, -1 otherwise.
-
zoom
void zoom(float zoomFactor, float cx, float cy) Perform a zoom of the video displayed during a call.
The zoom ensures that all the screen is fullfilled with the video.- Parameters:
zoomFactor
- a floating point number describing the zoom factor. A value
1.0 corresponds to no zoom applied.cx
- a floating point number pointing the horizontal center of the zoom to
be applied. This value should be between 0.0 and 1.0.cy
- a floating point number pointing the vertical center of the zoom to
be applied. This value should be between 0.0 and 1.0.
-
addListener
-
removeListener
-
setUserData
Sets the object to store in this object user's data- Parameters:
data
- the object to store
-
getUserData
Object getUserData()Gets the object stored in this object user's data- Returns:
- the object store if any, null otherwise
-
getNativePointer
long getNativePointer()Gets the native pointer used by this class to make native method calls.- Returns:
- the nativer pointer, as long
-
toString
String toString()
-
getRemoteAddress()
instead.