Liblinphone
3.11.1
|
Macros | |
#define | linphone_call_get_user_pointer(call) linphone_call_get_user_data(call) |
#define | linphone_call_set_user_pointer(call, ud) linphone_call_set_user_data(call, ud) |
#define | linphone_call_params_local_conference_mode linphone_call_params_get_local_conference_mode |
Typedefs | |
typedef void(* | LinphoneCallCbFunc) (LinphoneCall *call, void *user_data) |
typedef void(* | LinphonePlayerEofCallback) (LinphonePlayer *obj, void *user_data) |
typedef enum _LinphoneAudioRoute | LinphoneAudioRoute |
typedef struct _LinphoneCall | LinphoneCall |
typedef struct _LinphoneCallParams | LinphoneCallParams |
typedef enum _LinphoneCallState | LinphoneCallState |
typedef struct _LinphoneConference | LinphoneConference |
typedef struct _LinphoneConferenceParams | LinphoneConferenceParams |
typedef enum _LinphoneMediaDirection | LinphoneMediaDirection |
typedef struct _LinphonePlayer | LinphonePlayer |
typedef enum _LinphonePrivacy | LinphonePrivacy |
typedef unsigned int | LinphonePrivacyMask |
The LinphoneCall object represents an incoming or outgoing call managed by the LinphoneCore. Outgoing calls can be created using linphone_core_invite() or linphone_core_invite_address(), while incoming calls are notified to the application through the LinphoneCoreVTable::call_state_changed callback.
See the basic call tutorial.
#define linphone_call_get_user_pointer | ( | call | ) | linphone_call_get_user_data(call) |
#define linphone_call_params_local_conference_mode linphone_call_params_get_local_conference_mode |
#define linphone_call_set_user_pointer | ( | call, | |
ud | |||
) | linphone_call_set_user_data(call, ud) |
typedef enum _LinphoneAudioRoute LinphoneAudioRoute |
Enum describing type of audio route.
typedef struct _LinphoneCall LinphoneCall |
The LinphoneCall object represents a call issued or received by the LinphoneCore
typedef void(* LinphoneCallCbFunc) (LinphoneCall *call, void *user_data) |
Callback prototype
typedef struct _LinphoneCallParams LinphoneCallParams |
The LinphoneCallParams is an object containing various call related parameters. It can be used to retrieve parameters from a currently running call or modify the call's characteristics dynamically.
typedef enum _LinphoneCallState LinphoneCallState |
LinphoneCallState enum represents the different state a call can reach into. The application is notified of state changes through the LinphoneCoreVTable::call_state_changed callback.
typedef struct _LinphoneConference LinphoneConference |
LinphoneConference class The _LinphoneConference struct does not exists, it's the Conference C++ class that is used behind
typedef struct _LinphoneConferenceParams LinphoneConferenceParams |
Parameters for initialization of conferences The _LinphoneConferenceParams struct does not exists, it's the ConferenceParams C++ class that is used behind
typedef enum _LinphoneMediaDirection LinphoneMediaDirection |
Indicates for a given media the stream direction
typedef struct _LinphonePlayer LinphonePlayer |
Player interface.
typedef void(* LinphonePlayerEofCallback) (LinphonePlayer *obj, void *user_data) |
Callback for notifying end of play (file).
obj | the LinphonePlayer |
user_data | the user_data provided when calling linphone_player_open(). |
typedef enum _LinphonePrivacy LinphonePrivacy |
Defines privacy policy to apply as described by rfc3323
typedef unsigned int LinphonePrivacyMask |
A mask of LinphonePrivacy values
enum _LinphoneAudioRoute |
Enum describing type of audio route.
enum _LinphoneCallState |
LinphoneCallState enum represents the different state a call can reach into. The application is notified of state changes through the LinphoneCoreVTable::call_state_changed callback.
enum _LinphonePrivacy |
Defines privacy policy to apply as described by rfc3323
Enumerator | |
---|---|
LinphonePrivacyNone | Privacy services must not perform any privacy function |
LinphonePrivacyUser | Request that privacy services provide a user-level privacy function. With this mode, "from" header is hidden, usually replaced by From: "Anonymous" <sip:anony> mous @anon ymou s.inv alid |
LinphonePrivacyHeader | Request that privacy services modify headers that cannot be set arbitrarily by the user (Contact/Via). |
LinphonePrivacySession | Request that privacy services provide privacy for session media |
LinphonePrivacyId | rfc3325 The presence of this privacy type in a Privacy header field indicates that the user would like the Network Asserted Identity to be kept private with respect to SIP entities outside the Trust Domain with which the user authenticated. Note that a user requesting multiple types of privacy MUST include all of the requested privacy types in its Privacy header field value |
LinphonePrivacyCritical | Privacy service must perform the specified services or fail the request |
LinphonePrivacyDefault | Special keyword to use privacy as defined either globally or by proxy using linphone_proxy_config_set_privacy() |
bool_t linphone_call_asked_to_autoanswer | ( | LinphoneCall * | call | ) |
Tell whether a call has been asked to autoanswer
[in] | call | LinphoneCall object |
bool_t linphone_call_camera_enabled | ( | const LinphoneCall * | lc | ) |
Returns TRUE if camera pictures are allowed to be sent to the remote party.
void linphone_call_cancel_dtmfs | ( | LinphoneCall * | call | ) |
Stop current DTMF sequence sending.
Please note that some DTMF could be already sent, depending on when this function call is delayed from linphone_call_send_dtmfs. This function will be automatically called if call state change to anything but LinphoneCallStreamsRunning.
call | The LinphoneCall object |
void linphone_call_enable_camera | ( | LinphoneCall * | lc, |
bool_t | enabled | ||
) |
Indicate whether camera input should be sent to remote end.
bool_t linphone_call_get_authentication_token_verified | ( | LinphoneCall * | call | ) |
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 with linphone_call_set_authentication_token_verified().
call | the LinphoneCall |
LinphoneCallLog* linphone_call_get_call_log | ( | const LinphoneCall * | call | ) |
Gets the call log associated to this call.
[in] | call | LinphoneCall object |
LinphoneConference* linphone_call_get_conference | ( | const LinphoneCall * | call | ) |
Return the associated conference object
call | LinphoneCall |
LinphoneCore* linphone_call_get_core | ( | const LinphoneCall * | call | ) |
Get the core that has created the specified call.
[in] | call | LinphoneCall object |
const LinphoneCallParams* linphone_call_get_current_params | ( | LinphoneCall * | call | ) |
Returns current parameters associated to the call.
LinphoneCallDir linphone_call_get_dir | ( | const LinphoneCall * | call | ) |
Returns direction of the call (incoming or outgoing).
const LinphoneAddress* linphone_call_get_diversion_address | ( | const LinphoneCall * | call | ) |
Returns the diversion address associated to this call
int linphone_call_get_duration | ( | const LinphoneCall * | call | ) |
Returns call's duration in seconds.
const LinphoneErrorInfo* linphone_call_get_error_info | ( | const LinphoneCall * | call | ) |
Returns full details about call errors or termination reasons.
RtpTransport* linphone_call_get_meta_rtcp_transport | ( | LinphoneCall * | call, |
int | stream_index | ||
) |
Returns the meta rtcp transport for the given stream index.
call | |
stream_index |
RtpTransport* linphone_call_get_meta_rtp_transport | ( | LinphoneCall * | call, |
int | stream_index | ||
) |
Returns the meta rtp transport for the given stream index.
call | |
stream_index |
LinphoneReason linphone_call_get_reason | ( | const LinphoneCall * | call | ) |
Returns the reason for a call termination (either error or normal termination)
const char* linphone_call_get_refer_to | ( | const LinphoneCall * | call | ) |
Gets the refer-to uri (if the call was transfered).
[in] | call | LinphoneCall object |
const LinphoneAddress* linphone_call_get_remote_address | ( | const LinphoneCall * | call | ) |
Returns the remote address associated to this call
char* linphone_call_get_remote_address_as_string | ( | const LinphoneCall * | call | ) |
Returns the remote address associated to this call as a string. The result string must be freed by user using ms_free().
const char* linphone_call_get_remote_contact | ( | LinphoneCall * | call | ) |
Returns the far end's sip contact as a string, if available.
const LinphoneCallParams* linphone_call_get_remote_params | ( | LinphoneCall * | call | ) |
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.
const char* linphone_call_get_remote_user_agent | ( | LinphoneCall * | call | ) |
Returns the far end's user agent description string, if available.
LinphoneCall* linphone_call_get_replaced_call | ( | LinphoneCall * | call | ) |
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.
LinphoneCallState linphone_call_get_state | ( | const LinphoneCall * | call | ) |
Retrieves the call's current state.
int linphone_call_get_stream_count | ( | LinphoneCall * | call | ) |
Returns the number of stream for the given call. Currently there is only two (Audio, Video), but later there will be more.
call |
MSFormatType linphone_call_get_stream_type | ( | LinphoneCall * | call, |
int | stream_index | ||
) |
Returns the type of stream for the given stream index.
call | |
stream_index |
LinphoneCallState linphone_call_get_transfer_state | ( | LinphoneCall * | call | ) |
Returns the current transfer state, if a transfer has been initiated from this call.
LinphoneCall* linphone_call_get_transfer_target_call | ( | const LinphoneCall * | call | ) |
When this call has received a transfer request, returns the new call that was automatically created as a result of the transfer.
LinphoneCall* linphone_call_get_transferer_call | ( | const LinphoneCall * | call | ) |
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.
[in] | call | LinphoneCall object |
void* linphone_call_get_user_data | ( | const LinphoneCall * | call | ) |
Retrieve the user pointer associated with the call.
[in] | call | The call. |
bool_t linphone_call_has_transfer_pending | ( | const LinphoneCall * | call | ) |
Returns true 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.
LINPHONE_DEPRECATED bool_t linphone_call_is_in_conference | ( | const LinphoneCall * | call | ) |
Return TRUE if this call is currently part of a conference
call | LinphoneCall |
void linphone_call_params_add_custom_header | ( | LinphoneCallParams * | cp, |
const char * | header_name, | ||
const char * | header_value | ||
) |
Add a custom SIP header in the INVITE for a call.
[in] | cp | The LinphoneCallParams to add a custom SIP header to. |
[in] | header_name | The name of the header to add. |
[in] | header_value | The content of the header to add. |
bool_t linphone_call_params_audio_enabled | ( | const LinphoneCallParams * | cp | ) |
Tell whether audio is enabled or not.
[in] | cp | LinphoneCallParams object |
LinphoneCallParams* linphone_call_params_copy | ( | const LinphoneCallParams * | cp | ) |
Copy an existing LinphoneCallParams object to a new LinphoneCallParams object.
[in] | cp | The LinphoneCallParams object to copy. |
LINPHONE_DEPRECATED void linphone_call_params_destroy | ( | LinphoneCallParams * | cp | ) |
Destroy a LinphoneCallParams object.
[in] | cp | LinphoneCallParams object |
bool_t linphone_call_params_early_media_sending_enabled | ( | const LinphoneCallParams * | cp | ) |
Indicate whether sending of early media was enabled.
[in] | cp | LinphoneCallParams object |
void linphone_call_params_enable_audio | ( | LinphoneCallParams * | cp, |
bool_t | enabled | ||
) |
Enable audio stream.
[in] | cp | LinphoneCallParams object |
[in] | enabled | A boolean value telling whether to enable audio or not. |
void linphone_call_params_enable_early_media_sending | ( | LinphoneCallParams * | cp, |
bool_t | enabled | ||
) |
Enable sending of real early media (during outgoing calls).
[in] | cp | LinphoneCallParams object |
[in] | enabled | A boolean value telling whether to enable early media sending or not. |
void linphone_call_params_enable_low_bandwidth | ( | LinphoneCallParams * | cp, |
bool_t | enabled | ||
) |
Indicate low bandwith mode. Configuring a call to low bandwidth mode will result in the core to activate several settings for the call in order to ensure that bitrate usage is lowered to the minimum possible. Typically, ptime (packetization time) will be increased, audio codec's output bitrate will be targetted to 20kbit/s provided that it is achievable by the codec selected after SDP handshake. Video is automatically disabled.
[in] | cp | LinphoneCallParams object |
[in] | enabled | A boolean value telling whether to activate the low bandwidth mode or not. |
void linphone_call_params_enable_video | ( | LinphoneCallParams * | cp, |
bool_t | enabled | ||
) |
Enable video stream.
[in] | cp | LinphoneCallParams object |
[in] | enabled | A boolean value telling whether to enable video or not. |
LinphoneMediaDirection linphone_call_params_get_audio_direction | ( | const LinphoneCallParams * | cp | ) |
Get the audio stream direction.
[in] | cp | LinphoneCallParams object |
const char* linphone_call_params_get_custom_header | ( | const LinphoneCallParams * | cp, |
const char * | header_name | ||
) |
Get a custom SIP header.
[in] | cp | The LinphoneCallParams to get the custom SIP header from. |
[in] | header_name | The name of the header to get. |
bool_t linphone_call_params_get_local_conference_mode | ( | const LinphoneCallParams * | cp | ) |
Tell whether the call is part of the locally managed conference.
[in] | cp | LinphoneCallParams object |
LinphoneMediaEncryption linphone_call_params_get_media_encryption | ( | const LinphoneCallParams * | cp | ) |
Get the kind of media encryption selected for the call.
[in] | cp | LinphoneCallParams object |
LinphonePrivacyMask linphone_call_params_get_privacy | ( | const LinphoneCallParams * | cp | ) |
Get requested level of privacy for the call.
[in] | cp | LinphoneCallParams object |
float linphone_call_params_get_received_framerate | ( | const LinphoneCallParams * | cp | ) |
Get the framerate of the video that is received.
[in] | cp | LinphoneCallParams object |
MSVideoSize linphone_call_params_get_received_video_size | ( | const LinphoneCallParams * | cp | ) |
Get the size of the video that is received.
[in] | cp | LinphoneCallParams object |
const char* linphone_call_params_get_record_file | ( | const LinphoneCallParams * | cp | ) |
Get the path for the audio recording of the call.
[in] | cp | LinphoneCallParams object |
const char* linphone_call_params_get_rtp_profile | ( | const LinphoneCallParams * | cp | ) |
float linphone_call_params_get_sent_framerate | ( | const LinphoneCallParams * | cp | ) |
Get the framerate of the video that is sent.
[in] | cp | LinphoneCallParams object |
MSVideoSize linphone_call_params_get_sent_video_size | ( | const LinphoneCallParams * | cp | ) |
Gets the size of the video that is sent.
[in] | cp | LinphoneCalParams object |
const char* linphone_call_params_get_session_name | ( | const LinphoneCallParams * | cp | ) |
Get the session name of the media session (ie in SDP). Subject from the SIP message can be retrieved using linphone_call_params_get_custom_header() and is different.
[in] | cp | LinphoneCallParams object |
const LinphonePayloadType* linphone_call_params_get_used_audio_codec | ( | const LinphoneCallParams * | cp | ) |
Get the audio codec used in the call, described as a LinphonePayloadType object.
[in] | cp | LinphoneCallParams object |
const LinphonePayloadType* linphone_call_params_get_used_text_codec | ( | const LinphoneCallParams * | cp | ) |
Get the text codec used in the call, described as a LinphonePayloadType structure.
[in] | cp | LinphoneCallParams object |
const LinphonePayloadType* linphone_call_params_get_used_video_codec | ( | const LinphoneCallParams * | cp | ) |
Get the video codec used in the call, described as a LinphonePayloadType structure.
[in] | cp | LinphoneCallParams object |
void* linphone_call_params_get_user_data | ( | const LinphoneCallParams * | cp | ) |
Get the user data associated with the call params.
[in] | cp | LinphoneCallParams object |
LinphoneMediaDirection linphone_call_params_get_video_direction | ( | const LinphoneCallParams * | cp | ) |
Get the video stream direction.
[in] | cp | LinphoneCallParams object |
bool_t linphone_call_params_low_bandwidth_enabled | ( | const LinphoneCallParams * | cp | ) |
Tell whether the call has been configured in low bandwidth mode or not. This mode can be automatically discovered thanks to a stun server when activate_edge_workarounds=1 in section [net] of configuration file. An application that would have reliable way to know network capacity may not use activate_edge_workarounds=1 but instead manually configure low bandwidth mode with linphone_call_params_enable_low_bandwidth(). When enabled, this param may transform a call request with video in audio only mode.
[in] | cp | LinphoneCallParams object |
LinphoneCallParams* linphone_call_params_ref | ( | LinphoneCallParams * | cp | ) |
Acquire a reference to the call params.
[in] | cp | LinphoneCallParams object |
void linphone_call_params_set_audio_bandwidth_limit | ( | LinphoneCallParams * | cp, |
int | bw | ||
) |
Refine bandwidth settings for this call by setting a bandwidth limit for audio streams. As a consequence, codecs whose bitrates are not compatible with this limit won't be used.
[in] | cp | LinphoneCallParams object |
[in] | bw | The audio bandwidth limit to set in kbit/s. |
void linphone_call_params_set_audio_direction | ( | LinphoneCallParams * | cp, |
LinphoneMediaDirection | dir | ||
) |
Set the audio stream direction.
[in] | cp | LinphoneCallParams object |
[in] | dir | The audio stream direction associated with this call params. |
void linphone_call_params_set_media_encryption | ( | LinphoneCallParams * | cp, |
LinphoneMediaEncryption | enc | ||
) |
Set requested media encryption for a call.
[in] | cp | LinphoneCallParams object |
[in] | enc | The media encryption to use for the call. |
void linphone_call_params_set_privacy | ( | LinphoneCallParams * | cp, |
LinphonePrivacyMask | privacy | ||
) |
Set requested level of privacy for the call.
[in] | cp | LinphoneCallParams object |
[in] | privacy | The privacy mode to used for the call. |
void linphone_call_params_set_record_file | ( | LinphoneCallParams * | cp, |
const char * | path | ||
) |
Enable recording of the call. This function must be used before the call parameters are assigned to the call. The call recording can be started and paused after the call is established with linphone_call_start_recording() and linphone_call_pause_recording().
[in] | cp | LinphoneCallParams object |
[in] | path | A string containing the path and filename of the file where audio/video streams are to be written. The filename must have either .mkv or .wav extention. The video stream will be written only if a MKV file is given. |
void linphone_call_params_set_session_name | ( | LinphoneCallParams * | cp, |
const char * | name | ||
) |
Set the session name of the media session (ie in SDP). Subject from the SIP message (which is different) can be set using linphone_call_params_set_custom_header().
[in] | cp | LinphoneCallParams object |
[in] | name | The session name to be used. |
void linphone_call_params_set_user_data | ( | LinphoneCallParams * | cp, |
void * | ud | ||
) |
Assign a user data to the call params.
[in] | cp | LinphoneCallParams object |
[in] | ud | The user data to associate with the call params. |
void linphone_call_params_set_video_direction | ( | LinphoneCallParams * | cp, |
LinphoneMediaDirection | dir | ||
) |
Set the video stream direction.
[in] | cp | LinphoneCallParams object |
[in] | dir | The video stream direction associated with this call params. |
void linphone_call_params_unref | ( | LinphoneCallParams * | cp | ) |
Release a reference to the call params.
[in] | cp | LinphoneCallParams object |
bool_t linphone_call_params_video_enabled | ( | const LinphoneCallParams * | cp | ) |
Tell whether video is enabled or not.
[in] | cp | LinphoneCallParams object |
LinphoneCall* linphone_call_ref | ( | LinphoneCall * | call | ) |
Acquire a reference to the call. An application that wishes to retain a pointer to call object must use this function to unsure the pointer remains valid. Once the application no more needs this pointer, it must call linphone_call_unref().
[in] | call | The call. |
int linphone_call_send_dtmf | ( | LinphoneCall * | call, |
char | dtmf | ||
) |
Send the specified dtmf.
The dtmf is automatically played to the user.
call | The LinphoneCall object |
dtmf | The dtmf name specified as a char, such as '0', '#' etc... |
int linphone_call_send_dtmfs | ( | LinphoneCall * | call, |
const char * | dtmfs | ||
) |
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.
call | The LinphoneCall object |
dtmfs | A dtmf sequence such as '123#123123' |
void linphone_call_send_vfu_request | ( | LinphoneCall * | call | ) |
Request remote side to send us a Video Fast Update.
void linphone_call_set_audio_route | ( | LinphoneCall * | call, |
LinphoneAudioRoute | route | ||
) |
Change the playback output device (currently only used for blackberry)
call | |
route | the wanted audio route (earpiece, speaker, ...) |
void linphone_call_set_authentication_token_verified | ( | LinphoneCall * | call, |
bool_t | 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.
call | the LinphoneCall |
verified | whether the ZRTP SAS is verified. |
void linphone_call_set_user_data | ( | LinphoneCall * | call, |
void * | ud | ||
) |
Assign a user pointer to the call.
[in] | call | The call. |
[in] | ud | The user pointer to associate with the call. |
int linphone_call_take_preview_snapshot | ( | LinphoneCall * | call, |
const char * | file | ||
) |
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.
call | a LinphoneCall |
file | a path where to write the jpeg content. |
int linphone_call_take_video_snapshot | ( | LinphoneCall * | call, |
const char * | file | ||
) |
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.
call | a LinphoneCall |
file | a path where to write the jpeg content. |
void linphone_call_unref | ( | LinphoneCall * | call | ) |
Release reference to the call.
[in] | call | The call. |
void linphone_call_zoom_video | ( | LinphoneCall * | call, |
float | zoom_factor, | ||
float * | cx, | ||
float * | cy | ||
) |
Perform a zoom of the video displayed during a call.
call | the call. |
zoom_factor | 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. |
cx and cy are updated in return in case their coordinates were too excentrated for the requested zoom factor. The zoom ensures that all the screen is fullfilled with the video.
bctbx_list_t* linphone_conference_get_participants | ( | const LinphoneConference * | obj | ) |
Get URIs of all participants of one conference The returned bctbx_list_t contains URIs of all participant. That list must be freed after use and each URI must be unref with linphone_address_unref()
obj | A LinphoneConference |
LinphoneConferenceParams* linphone_conference_params_clone | ( | const LinphoneConferenceParams * | params | ) |
Clone a LinphoneConferenceParams
params | The LinphoneConferenceParams to clone |
void linphone_conference_params_enable_video | ( | LinphoneConferenceParams * | params, |
bool_t | enable | ||
) |
Enable video when starting a conference
params | A LinphoneConferenceParams |
enable | If true, video will be enabled during conference |
void linphone_conference_params_free | ( | LinphoneConferenceParams * | params | ) |
Free a LinphoneConferenceParams
params | LinphoneConferenceParams to free |
LinphoneConferenceParams* linphone_conference_params_new | ( | const LinphoneCore * | core | ) |
Create a LinphoneConferenceParams with default parameters set.
core | LinphoneCore to use to find out the default parameters. Can be NULL. |
bool_t linphone_conference_params_video_requested | ( | const LinphoneConferenceParams * | params | ) |
Check whether video will be enable at conference starting
int linphone_conference_remove_participant | ( | LinphoneConference * | obj, |
const LinphoneAddress * | uri | ||
) |
Remove a participant from a conference
obj | A LinphoneConference |
uri | SIP URI of the participant to remove |
int linphone_core_accept_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
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 a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.
[in] | lc | LinphoneCore object |
[in] | call | The LinphoneCall object representing the call to be answered |
int linphone_core_accept_call_update | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const LinphoneCallParams * | params | ||
) |
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 call linphone_core_defer_update_call() so that it can have the time to prompt the user. linphone_call_get_remote_params() 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, linphone_core_accept_call_update() 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 (see linphone_call_params_enable_video()).
[in] | lc | LinphoneCore object |
[in] | call | The call for which to accept an update |
[in] | params | A LinphoneCallParams object describing the call parameters to accept |
int linphone_core_accept_call_with_params | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const LinphoneCallParams * | params | ||
) |
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 a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method.
[in] | lc | LinphoneCore object |
[in] | call | The LinphoneCall object representing the call to be answered |
[in] | params | The specific parameters for this call, for example whether video is accepted or not. Use NULL to use default parameters |
int linphone_core_accept_early_media | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Accept an early media session for an incoming call. This is identical as calling linphone_core_accept_early_media_with_params() with NULL call parameters.
[in] | lc | LinphoneCore object |
[in] | call | The incoming call to accept |
int linphone_core_accept_early_media_with_params | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const LinphoneCallParams * | params | ||
) |
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 using linphone_core_accept_call() or linphone_core_accept_call_with_params().
[in] | lc | LinphoneCore object |
[in] | call | The call to accept |
[in] | params | The call parameters to use (can be NULL) |
int linphone_core_add_all_to_conference | ( | LinphoneCore * | lc | ) |
Add all current calls into the conference. If no conference is running a new internal conference context is created and all current calls are added to it.
lc | LinphoneCore |
int linphone_core_add_to_conference | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Add a participant to the conference. If no conference is going on a new internal conference context is created and the participant is added to it.
lc | LinphoneCore |
call | The current call with the participant to add |
LinphoneCallParams* linphone_core_create_call_params | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Create a LinphoneCallParams suitable for linphone_core_invite_with_params(), linphone_core_accept_call_with_params(), linphone_core_accept_early_media_with_params(), linphone_core_accept_call_update(). The parameters are initialized according to the current LinphoneCore configuration and the current state of the LinphoneCall.
[in] | lc | LinphoneCore object |
[in] | call | LinphoneCall for which the parameters are to be build, or NULL in the case where the parameters are to be used for a new outgoing call. |
LinphoneConference* linphone_core_create_conference_with_params | ( | LinphoneCore * | lc, |
const LinphoneConferenceParams * | params | ||
) |
Create a conference
lc | The LinphoneCore instance where the conference will be created inside. |
params | Parameters of the conference. See LinphoneConferenceParams. |
int linphone_core_decline_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
LinphoneReason | reason | ||
) |
Decline a pending incoming call, with a reason.
[in] | lc | LinphoneCore object |
[in] | call | The LinphoneCall to decline, must be in the IncomingReceived state |
[in] | reason | The reason for rejecting the call: LinphoneReasonDeclined or LinphoneReasonBusy |
int linphone_core_defer_call_update | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
When receiving a LinphoneCallUpdatedByRemote state notification, prevent LinphoneCore from performing an automatic answer.
When receiving a LinphoneCallUpdatedByRemote state notification (ie an incoming reINVITE), the default behaviour of LinphoneCore is defined by the "defer_update_default" option of the "sip" section of the config. If this option is 0 (the default) then the LinphoneCore 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 call linphone_core_accept_call_update() to answer the reINVITE, with eventually video enabled in the LinphoneCallParams 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.
[in] | lc | LinphoneCore object |
[in] | call | The call for which to defer the update |
int linphone_core_enter_conference | ( | LinphoneCore * | lc | ) |
Join the local participant to the running conference
lc | LinphoneCore |
LinphoneCall* linphone_core_find_call_from_uri | ( | const LinphoneCore * | lc, |
const char * | uri | ||
) |
Search from the list of current calls if a remote address match uri
lc | |
uri | which should match call remote uri |
LinphoneCall* linphone_core_get_call_by_remote_address | ( | LinphoneCore * | lc, |
const char * | remote_address | ||
) |
Get the call with the remote_address specified
[in] | lc | LinphoneCore object |
[in] | remote_address | The remote address of the call that we want to get |
LinphoneCall* linphone_core_get_call_by_remote_address2 | ( | LinphoneCore * | lc, |
const LinphoneAddress * | remote_address | ||
) |
Get the call with the remote_address specified
lc | |
remote_address |
const bctbx_list_t* linphone_core_get_calls | ( | LinphoneCore * | lc | ) |
Gets the current list of calls. Note that this list is read-only and might be changed by the core after a function call to linphone_core_iterate(). Similarly the LinphoneCall objects inside it might be destroyed without prior notice. To hold references to LinphoneCall object into your program, you must use linphone_call_ref().
[in] | lc | The LinphoneCore object |
int linphone_core_get_calls_nb | ( | const LinphoneCore * | lc | ) |
Get the number of Call
[in] | lc | LinphoneCore object |
LinphoneConference* linphone_core_get_conference | ( | LinphoneCore * | lc | ) |
Get a pointer on the internal conference object.
lc | LinphoneCore |
float linphone_core_get_conference_local_input_volume | ( | LinphoneCore * | lc | ) |
Get the set input volume of the local participant
lc | LinphoneCore |
int linphone_core_get_conference_size | ( | LinphoneCore * | lc | ) |
Get the number of participant in the running conference. The local participant is included in the count only if it is in the conference.
lc | LinphoneCore |
LinphoneCall* linphone_core_get_current_call | ( | const LinphoneCore * | lc | ) |
Gets the current call.
[in] | lc | LinphoneCore object |
const LinphoneAddress* linphone_core_get_current_call_remote_address | ( | LinphoneCore * | lc | ) |
Get the remote address of the current call.
[in] | lc | LinphoneCore object. |
int linphone_core_get_delayed_timeout | ( | LinphoneCore * | lc | ) |
Gets the delayed timeout See linphone_core_set_delayed_timeout() for details.
[in] | lc | LinphoneCore object |
int linphone_core_get_in_call_timeout | ( | LinphoneCore * | lc | ) |
Gets the in call timeout See linphone_core_set_in_call_timeout() for details.
[in] | lc | LinphoneCore object |
int linphone_core_get_inc_timeout | ( | LinphoneCore * | lc | ) |
Returns the incoming call timeout See linphone_core_set_inc_timeout() for details.
[in] | lc | LinphoneCore object |
bool_t linphone_core_in_call | ( | const LinphoneCore * | lc | ) |
Tells whether there is a call running.
[in] | lc | LinphoneCore object |
LinphoneCall* linphone_core_invite | ( | LinphoneCore * | lc, |
const char * | url | ||
) |
Initiates an outgoing call The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.
[in] | lc | LinphoneCore object |
[in] | url | The destination of the call (sip address, or phone number). |
LinphoneCall* linphone_core_invite_address | ( | LinphoneCore * | lc, |
const LinphoneAddress * | addr | ||
) |
Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_address_new(), or created by linphone_core_interpret_url(). The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.
[in] | lc | LinphoneCore object |
[in] | addr | The destination of the call (sip address). |
LinphoneCall* linphone_core_invite_address_with_params | ( | LinphoneCore * | lc, |
const LinphoneAddress * | addr, | ||
const LinphoneCallParams * | params | ||
) |
Initiates an outgoing call given a destination LinphoneAddress The LinphoneAddress can be constructed directly using linphone_address_new(), or created by linphone_core_interpret_url(). The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.
[in] | lc | LinphoneCore object |
[in] | addr | The destination of the call (sip address). |
[in] | params | Call parameters |
LinphoneCall* linphone_core_invite_with_params | ( | LinphoneCore * | lc, |
const char * | url, | ||
const LinphoneCallParams * | params | ||
) |
Initiates an outgoing call according to supplied call parameters The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.
[in] | lc | LinphoneCore object |
[in] | url | The destination of the call (sip address, or phone number). |
[in] | params | Call parameters |
bool_t linphone_core_is_in_conference | ( | const LinphoneCore * | lc | ) |
Indicates whether the local participant is part of a conference.
lc | the linphone core |
bool_t linphone_core_is_incoming_invite_pending | ( | LinphoneCore * | lc | ) |
Tells whether there is an incoming invite pending.
[in] | lc | LinphoneCore object |
int linphone_core_leave_conference | ( | LinphoneCore * | lc | ) |
Make the local participant leave the running conference
lc | LinphoneCore |
int linphone_core_pause_all_calls | ( | LinphoneCore * | lc | ) |
Pause all currently running calls.
[in] | lc | LinphoneCore object |
int linphone_core_pause_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Pauses the call. If a music file has been setup using linphone_core_set_play_file(), this file will be played to the remote user. The only way to resume a paused call is to call linphone_core_resume_call().
[in] | lc | LinphoneCore object |
[in] | call | The call to pause |
int linphone_core_redirect_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const char * | redirect_uri | ||
) |
Redirect the specified call to the given redirect URI.
[in] | lc | LinphoneCore object |
[in] | call | The LinphoneCall to redirect |
[in] | redirect_uri | The URI to redirect the call to |
int linphone_core_remove_from_conference | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Remove a call from the conference.
lc | the linphone core |
call | a call that has been previously merged into the conference. |
After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state. If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is automatically transformed into a simple call in StreamsRunning state. The conference's resources are then automatically destroyed.
In other words, unless linphone_core_leave_conference() is explicitly called, the last remote participant of a conference is automatically put in a simple call in running state.
int linphone_core_resume_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Resumes a call. The call needs to have been paused previously with linphone_core_pause_call().
[in] | lc | LinphoneCore object |
[in] | call | The call to resume |
void linphone_core_set_delayed_timeout | ( | LinphoneCore * | lc, |
int | seconds | ||
) |
Set the in delayed timeout in seconds. After this timeout period, a delayed call (internal call initialisation or resolution) is resumed.
[in] | lc | LinphoneCore object |
[in] | seconds | The new delayed timeout |
void linphone_core_set_in_call_timeout | ( | LinphoneCore * | lc, |
int | seconds | ||
) |
Set the in call timeout in seconds. After this timeout period, the call is automatically hangup.
[in] | lc | LinphoneCore object |
[in] | seconds | The new timeout in seconds |
void linphone_core_set_inc_timeout | ( | LinphoneCore * | lc, |
int | seconds | ||
) |
Set the incoming call timeout in seconds. If an incoming call isn't answered for this timeout period, it is automatically declined.
[in] | lc | LinphoneCore object |
[in] | seconds | The new timeout in seconds |
bool_t linphone_core_sound_resources_locked | ( | LinphoneCore * | lc | ) |
Check if a call will need the sound resources in near future (typically an outgoing call that is awaiting response). In liblinphone, it is not possible to have two independant calls using sound device or camera at the same time. In order to prevent this situation, an application can use linphone_core_sound_resources_locked() to know whether it is possible at a given time to start a new outgoing call. When the function returns TRUE, an application should not allow the user to start an outgoing call.
[in] | lc | LinphoneCore object |
int linphone_core_start_conference_recording | ( | LinphoneCore * | lc, |
const char * | path | ||
) |
Start recording the running conference
lc | LinphoneCore |
path | Path to the file where the recording will be written |
int linphone_core_stop_conference_recording | ( | LinphoneCore * | lc | ) |
Stop recording the running conference
lc | LinphoneCore |
int linphone_core_terminate_all_calls | ( | LinphoneCore * | lc | ) |
Terminates all the calls.
[in] | lc | LinphoneCore object |
int linphone_core_terminate_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call | ||
) |
Terminates a call.
[in] | lc | LinphoneCore object |
[in] | call | The LinphoneCall object representing the call to be terminated |
int linphone_core_terminate_conference | ( | LinphoneCore * | lc | ) |
Terminate the running conference. If it is a local conference, all calls inside it will become back separate calls and will be put in LinphoneCallPaused state. If it is a conference involving a focus server, all calls inside the conference will be terminated.
lc | LinphoneCore |
int linphone_core_transfer_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const char * | refer_to | ||
) |
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.
[in] | lc | LinphoneCore object |
[in] | call | The call to be transfered |
[in] | refer_to | The destination the call is to be refered to |
int linphone_core_transfer_call_to_another | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
LinphoneCall * | dest | ||
) |
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.
[in] | lc | LinphoneCore object |
[in] | call | A running call you want to transfer |
[in] | dest | A running call whose remote person will receive the transfer |
int linphone_core_update_call | ( | LinphoneCore * | lc, |
LinphoneCall * | call, | ||
const LinphoneCallParams * | params | ||
) |
Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore. In this version this is limited to the following use cases:
[in] | lc | LinphoneCore object |
[in] | call | The call to be updated |
[in] | params | The new call parameters to use (may be NULL) |