Liblinphone  3.11.1
Data Structures | Macros | Typedefs | Enumerations | Functions
Initializing liblinphone

Data Structures

struct  _LinphoneCoreVTable
 
struct  _LinphoneSipTransports
 

Macros

#define LINPHONE_CORE(object)   BELLE_SIP_CAST(object, LinphoneCore)
 
#define LC_SIP_TRANSPORT_DISABLED   0
 
#define LC_SIP_TRANSPORT_RANDOM   (-1)
 
#define LC_SIP_TRANSPORT_DONTBIND   (-2)
 

Typedefs

typedef void(* LinphoneCoreCbsGlobalStateChangedCb) (LinphoneCore *lc, LinphoneGlobalState gstate, const char *message)
 
typedef LinphoneCoreCbsGlobalStateChangedCb LinphoneCoreGlobalStateChangedCb
 
typedef void(* LinphoneCoreCbsCallStateChangedCb) (LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message)
 
typedef LinphoneCoreCbsCallStateChangedCb LinphoneCoreCallStateChangedCb
 
typedef void(* LinphoneCoreCbsCallEncryptionChangedCb) (LinphoneCore *lc, LinphoneCall *call, bool_t on, const char *authentication_token)
 
typedef LinphoneCoreCbsCallEncryptionChangedCb LinphoneCoreCallEncryptionChangedCb
 
typedef void(* LinphoneCoreCbsRegistrationStateChangedCb) (LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)
 
typedef LinphoneCoreCbsRegistrationStateChangedCb LinphoneCoreRegistrationStateChangedCb
 
typedef void(* ShowInterfaceCb) (LinphoneCore *lc)
 
typedef void(* DisplayStatusCb) (LinphoneCore *lc, const char *message)
 
typedef void(* DisplayMessageCb) (LinphoneCore *lc, const char *message)
 
typedef void(* DisplayUrlCb) (LinphoneCore *lc, const char *message, const char *url)
 
typedef void(* LinphoneCoreCbFunc) (LinphoneCore *lc, void *user_data)
 
typedef void(* LinphoneCoreCbsNotifyPresenceReceivedCb) (LinphoneCore *lc, LinphoneFriend *lf)
 
typedef LinphoneCoreCbsNotifyPresenceReceivedCb LinphoneCoreNotifyPresenceReceivedCb
 
typedef void(* LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb) (LinphoneCore *lc, LinphoneFriend *lf, const char *uri_or_tel, const LinphonePresenceModel *presence_model)
 
typedef LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb LinphoneCoreNotifyPresenceReceivedForUriOrTelCb
 
typedef void(* LinphoneCoreCbsNewSubscriptionRequestedCb) (LinphoneCore *lc, LinphoneFriend *lf, const char *url)
 
typedef LinphoneCoreCbsNewSubscriptionRequestedCb LinphoneCoreNewSubscriptionRequestedCb
 
typedef void(* LinphoneCoreAuthInfoRequestedCb) (LinphoneCore *lc, const char *realm, const char *username, const char *domain)
 
typedef void(* LinphoneCoreCbsAuthenticationRequestedCb) (LinphoneCore *lc, LinphoneAuthInfo *auth_info, LinphoneAuthMethod method)
 
typedef LinphoneCoreCbsAuthenticationRequestedCb LinphoneCoreAuthenticationRequestedCb
 
typedef void(* LinphoneCoreCbsCallLogUpdatedCb) (LinphoneCore *lc, LinphoneCallLog *newcl)
 
typedef LinphoneCoreCbsCallLogUpdatedCb LinphoneCoreCallLogUpdatedCb
 
typedef void(* LinphoneCoreTextMessageReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message)
 
typedef void(* LinphoneCoreCbsMessageReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message)
 
typedef LinphoneCoreCbsMessageReceivedCb LinphoneCoreMessageReceivedCb
 
typedef void(* LinphoneCoreCbsMessageReceivedUnableDecryptCb) (LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message)
 
typedef void(* LinphoneCoreFileTransferRecvCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, const char *buff, size_t size)
 
typedef void(* LinphoneCoreFileTransferSendCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, char *buff, size_t *size)
 
typedef void(* LinphoneCoreFileTransferProgressIndicationCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, size_t offset, size_t total)
 
typedef void(* LinphoneCoreCbsIsComposingReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room)
 
typedef LinphoneCoreCbsIsComposingReceivedCb LinphoneCoreIsComposingReceivedCb
 
typedef void(* LinphoneCoreCbsDtmfReceivedCb) (LinphoneCore *lc, LinphoneCall *call, int dtmf)
 
typedef LinphoneCoreCbsDtmfReceivedCb LinphoneCoreDtmfReceivedCb
 
typedef void(* LinphoneCoreCbsReferReceivedCb) (LinphoneCore *lc, const char *refer_to)
 
typedef LinphoneCoreCbsReferReceivedCb LinphoneCoreReferReceivedCb
 
typedef void(* LinphoneCoreCbsBuddyInfoUpdatedCb) (LinphoneCore *lc, LinphoneFriend *lf)
 
typedef LinphoneCoreCbsBuddyInfoUpdatedCb LinphoneCoreBuddyInfoUpdatedCb
 
typedef void(* LinphoneCoreCbsTransferStateChangedCb) (LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state)
 
typedef LinphoneCoreCbsTransferStateChangedCb LinphoneCoreTransferStateChangedCb
 
typedef void(* LinphoneCoreCbsCallStatsUpdatedCb) (LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats)
 
typedef LinphoneCoreCbsCallStatsUpdatedCb LinphoneCoreCallStatsUpdatedCb
 
typedef void(* LinphoneCoreCbsInfoReceivedCb) (LinphoneCore *lc, LinphoneCall *call, const LinphoneInfoMessage *msg)
 
typedef LinphoneCoreCbsInfoReceivedCb LinphoneCoreInfoReceivedCb
 
typedef void(* LinphoneCoreCbsConfiguringStatusCb) (LinphoneCore *lc, LinphoneConfiguringState status, const char *message)
 
typedef LinphoneCoreCbsConfiguringStatusCb LinphoneCoreConfiguringStatusCb
 
typedef void(* LinphoneCoreCbsNetworkReachableCb) (LinphoneCore *lc, bool_t reachable)
 
typedef LinphoneCoreCbsNetworkReachableCb LinphoneCoreNetworkReachableCb
 
typedef void(* LinphoneCoreCbsLogCollectionUploadStateChangedCb) (LinphoneCore *lc, LinphoneCoreLogCollectionUploadState state, const char *info)
 
typedef LinphoneCoreCbsLogCollectionUploadStateChangedCb LinphoneCoreLogCollectionUploadStateChangedCb
 
typedef void(* LinphoneCoreCbsLogCollectionUploadProgressIndicationCb) (LinphoneCore *lc, size_t offset, size_t total)
 
typedef LinphoneCoreCbsLogCollectionUploadProgressIndicationCb LinphoneCoreLogCollectionUploadProgressIndicationCb
 
typedef void(* LinphoneCoreCbsFriendListCreatedCb) (LinphoneCore *lc, LinphoneFriendList *list)
 
typedef LinphoneCoreCbsFriendListCreatedCb LinphoneCoreFriendListCreatedCb
 
typedef void(* LinphoneCoreCbsFriendListRemovedCb) (LinphoneCore *lc, LinphoneFriendList *list)
 
typedef LinphoneCoreCbsFriendListRemovedCb LinphoneCoreFriendListRemovedCb
 
typedef struct _LinphoneCoreVTable LinphoneCoreVTable
 
typedef enum _LinphoneAddressFamily LinphoneAddressFamily
 
typedef enum _LinphoneConfiguringState LinphoneConfiguringState
 
typedef struct _LinphoneCore LinphoneCore
 
typedef struct _LinphoneCoreCbs LinphoneCoreCbs
 
typedef struct _LinphoneFactory LinphoneFactory
 
typedef enum _LinphoneGlobalState LinphoneGlobalState
 
typedef enum _LinphoneIceState LinphoneIceState
 
typedef enum _LinphoneLogCollectionState LinphoneLogCollectionState
 
typedef enum _LinphoneCoreLogCollectionUploadState LinphoneCoreLogCollectionUploadState
 
typedef struct _LinphoneSipTransports LinphoneSipTransports
 
typedef enum _LinphoneStreamType LinphoneStreamType
 
typedef enum _LinphoneUpnpState LinphoneUpnpState
 

Enumerations

enum  _LinphoneAddressFamily {
  LinphoneAddressFamilyInet,
  LinphoneAddressFamilyInet6,
  LinphoneAddressFamilyUnspec
}
 
enum  _LinphoneConfiguringState {
  LinphoneConfiguringSuccessful,
  LinphoneConfiguringFailed,
  LinphoneConfiguringSkipped
}
 
enum  _LinphoneGlobalState {
  LinphoneGlobalOff,
  LinphoneGlobalStartup,
  LinphoneGlobalOn,
  LinphoneGlobalShutdown,
  LinphoneGlobalConfiguring
}
 
enum  _LinphoneIceState {
  LinphoneIceStateNotActivated,
  LinphoneIceStateFailed,
  LinphoneIceStateInProgress,
  LinphoneIceStateHostConnection,
  LinphoneIceStateReflexiveConnection,
  LinphoneIceStateRelayConnection
}
 
enum  _LinphoneLogCollectionState {
  LinphoneLogCollectionDisabled,
  LinphoneLogCollectionEnabled,
  LinphoneLogCollectionEnabledWithoutPreviousLogHandler
}
 
enum  _LinphoneCoreLogCollectionUploadState {
  LinphoneCoreLogCollectionUploadStateInProgress,
  LinphoneCoreLogCollectionUploadStateDelivered,
  LinphoneCoreLogCollectionUploadStateNotDelivered
}
 
enum  _LinphoneStreamType {
  LinphoneStreamTypeAudio,
  LinphoneStreamTypeVideo,
  LinphoneStreamTypeText,
  LinphoneStreamTypeUnknown
}
 
enum  _LinphoneUpnpState {
  LinphoneUpnpStateIdle,
  LinphoneUpnpStatePending,
  LinphoneUpnpStateAdding,
  LinphoneUpnpStateRemoving,
  LinphoneUpnpStateNotAvailable,
  LinphoneUpnpStateOk,
  LinphoneUpnpStateKo,
  LinphoneUpnpStateBlacklisted
}
 

Functions

LinphoneCoreVTablelinphone_core_v_table_new (void)
 
void linphone_core_v_table_set_user_data (LinphoneCoreVTable *table, void *data)
 
void * linphone_core_v_table_get_user_data (const LinphoneCoreVTable *table)
 
LinphoneCoreVTablelinphone_core_get_current_vtable (LinphoneCore *lc)
 
void linphone_core_v_table_destroy (LinphoneCoreVTable *table)
 
LinphoneCoreCbslinphone_core_cbs_ref (LinphoneCoreCbs *cbs)
 
void linphone_core_cbs_unref (LinphoneCoreCbs *cbs)
 
void linphone_core_cbs_set_user_data (LinphoneCoreCbs *cbs, void *user_data)
 
void * linphone_core_cbs_get_user_data (const LinphoneCoreCbs *cbs)
 
LinphoneCoreCbslinphone_core_get_current_callbacks (const LinphoneCore *lc)
 
void linphone_core_cbs_set_registration_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsRegistrationStateChangedCb cb)
 
void linphone_core_cbs_set_call_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsCallStateChangedCb cb)
 
void linphone_core_cbs_set_notify_presence_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsNotifyPresenceReceivedCb cb)
 
void linphone_core_cbs_set_notify_presence_received_for_uri_or_tel (LinphoneCoreCbs *cbs, LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb cb)
 
void linphone_core_cbs_set_new_subscription_requested (LinphoneCoreCbs *cbs, LinphoneCoreCbsNewSubscriptionRequestedCb cb)
 
void linphone_core_cbs_set_authentication_requested (LinphoneCoreCbs *cbs, LinphoneCoreCbsAuthenticationRequestedCb cb)
 
void linphone_core_cbs_set_call_log_updated (LinphoneCoreCbs *cbs, LinphoneCoreCbsCallLogUpdatedCb cb)
 
void linphone_core_cbs_set_message_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsMessageReceivedCb cb)
 
void linphone_core_cbs_set_is_composing_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsIsComposingReceivedCb cb)
 
void linphone_core_cbs_set_dtmf_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsDtmfReceivedCb cb)
 
void linphone_core_cbs_set_refer_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsReferReceivedCb cb)
 
void linphone_core_cbs_set_call_encryption_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsCallEncryptionChangedCb cb)
 
void linphone_core_cbs_set_transfer_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsTransferStateChangedCb cb)
 
void linphone_core_cbs_set_buddy_info_updated (LinphoneCoreCbs *cbs, LinphoneCoreCbsBuddyInfoUpdatedCb cb)
 
void linphone_core_cbs_set_call_stats_updated (LinphoneCoreCbs *cbs, LinphoneCoreCbsCallStatsUpdatedCb cb)
 
void linphone_core_cbs_set_info_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsInfoReceivedCb cb)
 
void linphone_core_cbs_set_subscription_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsSubscriptionStateChangedCb cb)
 
void linphone_core_cbs_set_notify_received (LinphoneCoreCbs *cbs, LinphoneCoreCbsNotifyReceivedCb cb)
 
void linphone_core_cbs_set_publish_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsPublishStateChangedCb cb)
 
void linphone_core_cbs_set_configuring_status (LinphoneCoreCbs *cbs, LinphoneCoreCbsConfiguringStatusCb cb)
 
void linphone_core_cbs_set_network_reachable (LinphoneCoreCbs *cbs, LinphoneCoreCbsNetworkReachableCb cb)
 
void linphone_core_cbs_set_log_collection_upload_state_changed (LinphoneCoreCbs *cbs, LinphoneCoreCbsLogCollectionUploadStateChangedCb cb)
 
void linphone_core_cbs_set_log_collection_upload_progress_indication (LinphoneCoreCbs *cbs, LinphoneCoreCbsLogCollectionUploadProgressIndicationCb cb)
 
void linphone_core_cbs_set_friend_list_created (LinphoneCoreCbs *cbs, LinphoneCoreCbsFriendListCreatedCb cb)
 
void linphone_core_cbs_set_friend_list_removed (LinphoneCoreCbs *cbs, LinphoneCoreCbsFriendListRemovedCb cb)
 
LinphoneLogCollectionState linphone_core_log_collection_enabled (void)
 
void linphone_core_enable_log_collection (LinphoneLogCollectionState state)
 
const char * linphone_core_get_log_collection_path (void)
 
void linphone_core_set_log_collection_path (const char *path)
 
const char * linphone_core_get_log_collection_prefix (void)
 
void linphone_core_set_log_collection_prefix (const char *prefix)
 
size_t linphone_core_get_log_collection_max_file_size (void)
 
void linphone_core_set_log_collection_max_file_size (size_t size)
 
void linphone_core_set_log_collection_upload_server_url (LinphoneCore *core, const char *server_url)
 
void linphone_core_upload_log_collection (LinphoneCore *core)
 
char * linphone_core_compress_log_collection (void)
 
void linphone_core_reset_log_collection (void)
 
void linphone_core_set_log_handler (OrtpLogFunc logfunc)
 
void linphone_core_set_log_file (FILE *file)
 
void linphone_core_set_log_level (OrtpLogLevel loglevel)
 
void linphone_core_set_log_level_mask (unsigned int loglevel)
 
LINPHONE_DEPRECATED void linphone_core_enable_logs (FILE *file)
 
LINPHONE_DEPRECATED void linphone_core_enable_logs_with_cb (OrtpLogFunc logfunc)
 
LINPHONE_DEPRECATED void linphone_core_disable_logs (void)
 
void linphone_core_serialize_logs (void)
 
const char * linphone_core_get_version (void)
 
const char * linphone_core_get_user_agent (LinphoneCore *lc)
 
LINPHONE_DEPRECATED const char * linphone_core_get_user_agent_name (void)
 
LINPHONE_DEPRECATED const char * linphone_core_get_user_agent_version (void)
 
LINPHONE_DEPRECATED LinphoneCorelinphone_core_new (const LinphoneCoreVTable *vtable, const char *config_path, const char *factory_config_path, void *userdata)
 
LINPHONE_DEPRECATED LinphoneCorelinphone_core_new_with_config (const LinphoneCoreVTable *vtable, LpConfig *config, void *userdata)
 
LinphoneCorelinphone_core_ref (LinphoneCore *lc)
 
void linphone_core_unref (LinphoneCore *lc)
 
void linphone_core_iterate (LinphoneCore *lc)
 
LINPHONE_DEPRECATED void linphone_core_add_listener (LinphoneCore *lc, LinphoneCoreVTable *vtable)
 
void linphone_core_add_callbacks (LinphoneCore *lc, LinphoneCoreCbs *cbs)
 
LINPHONE_DEPRECATED void linphone_core_remove_listener (LinphoneCore *lc, const LinphoneCoreVTable *vtable)
 
void linphone_core_remove_callbacks (LinphoneCore *lc, const LinphoneCoreCbs *cbs)
 
void linphone_core_verify_server_certificates (LinphoneCore *lc, bool_t yesno)
 
void linphone_core_verify_server_cn (LinphoneCore *lc, bool_t yesno)
 
const char * linphone_core_get_root_ca (LinphoneCore *lc)
 
void linphone_core_set_root_ca (LinphoneCore *lc, const char *path)
 
void linphone_core_set_root_ca_data (LinphoneCore *lc, const char *data)
 
void linphone_core_set_ssl_config (LinphoneCore *lc, void *ssl_config)
 
void linphone_core_set_call_logs_database_path (LinphoneCore *lc, const char *path)
 
void linphone_core_migrate_logs_from_rc_to_db (LinphoneCore *lc)
 
void * linphone_core_get_user_data (const LinphoneCore *lc)
 
void linphone_core_set_user_data (LinphoneCore *lc, void *userdata)
 
LINPHONE_DEPRECATED void linphone_core_destroy (LinphoneCore *lc)
 
void linphone_core_set_zrtp_secrets_file (LinphoneCore *lc, const char *file)
 
const char * linphone_core_get_zrtp_secrets_file (LinphoneCore *lc)
 
void linphone_core_set_user_certificates_path (LinphoneCore *lc, const char *path)
 
const char * linphone_core_get_user_certificates_path (LinphoneCore *lc)
 
void linphone_core_reload_ms_plugins (LinphoneCore *lc, const char *path)
 
int linphone_core_get_max_calls (LinphoneCore *lc)
 
void linphone_core_set_max_calls (LinphoneCore *lc, int max)
 
bool_t linphone_core_media_encryption_supported (const LinphoneCore *lc, LinphoneMediaEncryption menc)
 
int linphone_core_set_provisioning_uri (LinphoneCore *lc, const char *uri)
 
const char * linphone_core_get_provisioning_uri (const LinphoneCore *lc)
 
int linphone_core_migrate_to_multi_transport (LinphoneCore *lc)
 
void linphone_core_add_supported_tag (LinphoneCore *core, const char *tag)
 
void linphone_core_remove_supported_tag (LinphoneCore *core, const char *tag)
 
void linphone_core_set_friends_database_path (LinphoneCore *lc, const char *path)
 
void linphone_core_migrate_friends_from_rc_to_db (LinphoneCore *lc)
 
LinphoneFactorylinphone_factory_get (void)
 
void linphone_factory_clean (void)
 
LinphoneCorelinphone_factory_create_core (const LinphoneFactory *factory, LinphoneCoreCbs *cbs, const char *config_path, const char *factory_config_path)
 
LinphoneCorelinphone_factory_create_core_with_config (const LinphoneFactory *factory, LinphoneCoreCbs *cbs, LinphoneConfig *config)
 
LinphoneCoreCbslinphone_factory_create_core_cbs (const LinphoneFactory *factory)
 
LinphoneAddresslinphone_factory_create_address (const LinphoneFactory *factory, const char *addr)
 
LinphoneAuthInfolinphone_factory_create_auth_info (const LinphoneFactory *factory, const char *username, const char *userid, const char *passwd, const char *ha1, const char *realm, const char *domain)
 
LinphoneVcardlinphone_factory_create_vcard (LinphoneFactory *factory)
 
const char * linphone_stream_type_to_string (const LinphoneStreamType)
 

Detailed Description

Macro Definition Documentation

§ LC_SIP_TRANSPORT_DISABLED

#define LC_SIP_TRANSPORT_DISABLED   0

Disable a sip transport Use with LinphoneSipTransports

§ LC_SIP_TRANSPORT_DONTBIND

#define LC_SIP_TRANSPORT_DONTBIND   (-2)

Don't create any server socket for this transport, ie don't bind on any port. Use with LinphoneSipTransports

§ LC_SIP_TRANSPORT_RANDOM

#define LC_SIP_TRANSPORT_RANDOM   (-1)

Randomly chose a sip port for this transport Use with LinphoneSipTransports

§ LINPHONE_CORE

#define LINPHONE_CORE (   object)    BELLE_SIP_CAST(object, LinphoneCore)

Safely down-cast a belle_sip_object_t into LinphoneCore

Typedef Documentation

§ DisplayMessageCb

typedef void(* DisplayMessageCb) (LinphoneCore *lc, const char *message)

Callback prototype

Deprecated:

§ DisplayStatusCb

typedef void(* DisplayStatusCb) (LinphoneCore *lc, const char *message)

Callback prototype

Deprecated:

§ DisplayUrlCb

typedef void(* DisplayUrlCb) (LinphoneCore *lc, const char *message, const char *url)

Callback prototype

Deprecated:

§ LinphoneAddressFamily

Enum describing Ip family.

§ LinphoneConfiguringState

LinphoneGlobalState describes the global state of the LinphoneCore object. It is notified via the LinphoneCoreVTable::global_state_changed

§ LinphoneCore

typedef struct _LinphoneCore LinphoneCore

Linphone core main object created by function linphone_core_new() .

§ LinphoneCoreAuthenticationRequestedCb

§ LinphoneCoreAuthInfoRequestedCb

typedef void(* LinphoneCoreAuthInfoRequestedCb) (LinphoneCore *lc, const char *realm, const char *username, const char *domain)

Callback for requesting authentication information to application or user.

Parameters
lcthe LinphoneCore
realmthe realm (domain) on which authentication is required.
usernamethe username that needs to be authenticated.
domainthe domain on which authentication is required. Application shall reply to this callback using linphone_core_add_auth_info().

§ LinphoneCoreBuddyInfoUpdatedCb

§ LinphoneCoreCallEncryptionChangedCb

§ LinphoneCoreCallLogUpdatedCb

§ LinphoneCoreCallStateChangedCb

§ LinphoneCoreCallStatsUpdatedCb

§ LinphoneCoreCbFunc

typedef void(* LinphoneCoreCbFunc) (LinphoneCore *lc, void *user_data)

Callback prototype

§ LinphoneCoreCbs

typedef struct _LinphoneCoreCbs LinphoneCoreCbs

That class holds all the callbacks which are called by LinphoneCore.

Use linphone_factory_create_core_cbs() to create an instance. Then, call the callback setters on the events you need to monitor and pass the object to a LinphoneCore instance through linphone_core_add_listener().

That class is inherited from belle_sip_object_t.

§ LinphoneCoreCbsAuthenticationRequestedCb

typedef void(* LinphoneCoreCbsAuthenticationRequestedCb) (LinphoneCore *lc, LinphoneAuthInfo *auth_info, LinphoneAuthMethod method)

Callback for requesting authentication information to application or user.

Parameters
lcthe LinphoneCore
auth_infoa LinphoneAuthInfo pre-filled with username, realm and domain values as much as possible
methodthe type of authentication requested Application shall reply to this callback using linphone_core_add_auth_info().

§ LinphoneCoreCbsBuddyInfoUpdatedCb

typedef void(* LinphoneCoreCbsBuddyInfoUpdatedCb) (LinphoneCore *lc, LinphoneFriend *lf)

Callback prototype

§ LinphoneCoreCbsCallEncryptionChangedCb

typedef void(* LinphoneCoreCbsCallEncryptionChangedCb) (LinphoneCore *lc, LinphoneCall *call, bool_t on, const char *authentication_token)

Call encryption changed callback.

Parameters
lcthe LinphoneCore
callthe call on which encryption is changed.
onwhether encryption is activated.
authentication_tokenan authentication_token, currently set for ZRTP kind of encryption only.

§ LinphoneCoreCbsCallLogUpdatedCb

typedef void(* LinphoneCoreCbsCallLogUpdatedCb) (LinphoneCore *lc, LinphoneCallLog *newcl)

Callback to notify a new call-log entry has been added. This is done typically when a call terminates.

Parameters
lcthe LinphoneCore
newclthe new call log entry added.

§ LinphoneCoreCbsCallStateChangedCb

typedef void(* LinphoneCoreCbsCallStateChangedCb) (LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message)

Call state notification callback.

Parameters
lcthe LinphoneCore
callthe call object whose state is changed.
cstatethe new state of the call
messagea non NULL informational message about the state.

§ LinphoneCoreCbsCallStatsUpdatedCb

typedef void(* LinphoneCoreCbsCallStatsUpdatedCb) (LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats)

Callback for receiving quality statistics for calls.

Parameters
lcthe LinphoneCore
callthe call
statsthe call statistics.

§ LinphoneCoreCbsConfiguringStatusCb

typedef void(* LinphoneCoreCbsConfiguringStatusCb) (LinphoneCore *lc, LinphoneConfiguringState status, const char *message)

Callback prototype for configuring status changes notification

Parameters
lcthe LinphoneCore
messageinformational message.

§ LinphoneCoreCbsDtmfReceivedCb

typedef void(* LinphoneCoreCbsDtmfReceivedCb) (LinphoneCore *lc, LinphoneCall *call, int dtmf)

Callback for being notified of DTMFs received.

Parameters
lcthe linphone core
callthe call that received the dtmf
dtmfthe ascii code of the dtmf

§ LinphoneCoreCbsFriendListCreatedCb

typedef void(* LinphoneCoreCbsFriendListCreatedCb) (LinphoneCore *lc, LinphoneFriendList *list)

Callback prototype for reporting when a friend list has been added to the core friends list.

Parameters
[in]lcLinphoneCore object
[in]listLinphoneFriendList object

§ LinphoneCoreCbsFriendListRemovedCb

typedef void(* LinphoneCoreCbsFriendListRemovedCb) (LinphoneCore *lc, LinphoneFriendList *list)

Callback prototype for reporting when a friend list has been removed from the core friends list.

Parameters
[in]lcLinphoneCore object
[in]listLinphoneFriendList object

§ LinphoneCoreCbsGlobalStateChangedCb

typedef void(* LinphoneCoreCbsGlobalStateChangedCb) (LinphoneCore *lc, LinphoneGlobalState gstate, const char *message)

Global state notification callback.

Parameters
lcthe LinphoneCore.
gstatethe global state
messageinformational message.

§ LinphoneCoreCbsInfoReceivedCb

typedef void(* LinphoneCoreCbsInfoReceivedCb) (LinphoneCore *lc, LinphoneCall *call, const LinphoneInfoMessage *msg)

Callback prototype for receiving info messages.

Parameters
lcthe LinphoneCore
callthe call whose info message belongs to.
msgthe info message.

§ LinphoneCoreCbsIsComposingReceivedCb

typedef void(* LinphoneCoreCbsIsComposingReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room)

Is composing notification callback prototype.

Parameters
[in]lcLinphoneCore object
[in]roomLinphoneChatRoom involved in the conversation.

§ LinphoneCoreCbsLogCollectionUploadProgressIndicationCb

typedef void(* LinphoneCoreCbsLogCollectionUploadProgressIndicationCb) (LinphoneCore *lc, size_t offset, size_t total)

Callback prototype for reporting log collection upload progress indication.

Parameters
[in]lcLinphoneCore object

§ LinphoneCoreCbsLogCollectionUploadStateChangedCb

typedef void(* LinphoneCoreCbsLogCollectionUploadStateChangedCb) (LinphoneCore *lc, LinphoneCoreLogCollectionUploadState state, const char *info)

Callback prototype for reporting log collection upload state change.

Parameters
[in]lcLinphoneCore object
[in]stateThe state of the log collection upload
[in]infoAdditional information: error message in case of error state, URL of uploaded file in case of success.

§ LinphoneCoreCbsMessageReceivedCb

typedef void(* LinphoneCoreCbsMessageReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message)

Chat message callback prototype

Parameters
lcLinphoneCore object
roomLinphoneChatRoom involved in this conversation. Can be be created by the framework in case the from is not present in any chat room.
LinphoneChatMessageincoming message

§ LinphoneCoreCbsMessageReceivedUnableDecryptCb

typedef void(* LinphoneCoreCbsMessageReceivedUnableDecryptCb) (LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message)

Chat message not decrypted callback prototype

Parameters
lcLinphoneCore object
roomLinphoneChatRoom involved in this conversation. Can be be created by the framework in case the from is not present in any chat room.
LinphoneChatMessageincoming message

§ LinphoneCoreCbsNetworkReachableCb

typedef void(* LinphoneCoreCbsNetworkReachableCb) (LinphoneCore *lc, bool_t reachable)

Callback prototype for reporting network change either automatically detected or notified by linphone_core_set_network_reachable.

Parameters
lcthe LinphoneCore
reachabletrue if network is reachable.

§ LinphoneCoreCbsNewSubscriptionRequestedCb

typedef void(* LinphoneCoreCbsNewSubscriptionRequestedCb) (LinphoneCore *lc, LinphoneFriend *lf, const char *url)

Reports that a new subscription request has been received and wait for a decision. Status on this subscription request is notified by changing policy for this friend

Parameters
lcLinphoneCore object
lfLinphoneFriend corresponding to the subscriber
urlof the subscriber

§ LinphoneCoreCbsNotifyPresenceReceivedCb

typedef void(* LinphoneCoreCbsNotifyPresenceReceivedCb) (LinphoneCore *lc, LinphoneFriend *lf)

Report status change for a friend previously added to LinphoneCore.

Parameters
lcLinphoneCore object .
lfUpdated LinphoneFriend .

§ LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb

typedef void(* LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb) (LinphoneCore *lc, LinphoneFriend *lf, const char *uri_or_tel, const LinphonePresenceModel *presence_model)

Reports presence model change for a specific URI or phone number of a friend

Parameters
lcLinphoneCore object
lfLinphoneFriend object
uri_or_telThe URI or phone number for which teh presence model has changed
presence_modelThe new presence model

§ LinphoneCoreCbsReferReceivedCb

typedef void(* LinphoneCoreCbsReferReceivedCb) (LinphoneCore *lc, const char *refer_to)

Callback prototype

§ LinphoneCoreCbsRegistrationStateChangedCb

typedef void(* LinphoneCoreCbsRegistrationStateChangedCb) (LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)

Registration state notification callback prototype

§ LinphoneCoreCbsTransferStateChangedCb

typedef void(* LinphoneCoreCbsTransferStateChangedCb) (LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state)

Callback for notifying progresses of transfers.

Parameters
lcthe LinphoneCore
transferedthe call that was transfered
new_call_statethe state of the call to transfer target at the far end.

§ LinphoneCoreConfiguringStatusCb

§ LinphoneCoreDtmfReceivedCb

§ LinphoneCoreFileTransferProgressIndicationCb

typedef void(* LinphoneCoreFileTransferProgressIndicationCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, size_t offset, size_t total)

File transfer progress indication callback prototype.

Parameters
lcLinphoneCore object
messageLinphoneChatMessage message from which the body is received.
contentLinphoneContent incoming content information
offsetThe number of bytes sent/received since the beginning of the transfer.
totalThe total number of bytes to be sent/received.

§ LinphoneCoreFileTransferRecvCb

typedef void(* LinphoneCoreFileTransferRecvCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, const char *buff, size_t size)

File transfer receive callback prototype. This function is called by the core upon an incoming File transfer is started. This function may be call several time for the same file in case of large file.

Parameters
lcLinphoneCore object
messageLinphoneChatMessage message from which the body is received.
contentLinphoneContent incoming content information
buffpointer to the received data
sizenumber of bytes to be read from buff. 0 means end of file.

§ LinphoneCoreFileTransferSendCb

typedef void(* LinphoneCoreFileTransferSendCb) (LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent *content, char *buff, size_t *size)

File transfer send callback prototype. This function is called by the core upon an outgoing file transfer is started. This function is called until size is set to 0.

Parameters
lcLinphoneCore object
messageLinphoneChatMessage message from which the body is received.
contentLinphoneContent outgoing content
buffpointer to the buffer where data chunk shall be written by the app
sizeas input value, it represents the number of bytes expected by the framework. As output value, it means the number of bytes wrote by the application in the buffer. 0 means end of file.

§ LinphoneCoreFriendListCreatedCb

§ LinphoneCoreFriendListRemovedCb

§ LinphoneCoreGlobalStateChangedCb

§ LinphoneCoreInfoReceivedCb

§ LinphoneCoreIsComposingReceivedCb

§ LinphoneCoreLogCollectionUploadProgressIndicationCb

§ LinphoneCoreLogCollectionUploadState

LinphoneCoreLogCollectionUploadState is used to notify if log collection upload have been succesfully delivered or not.

§ LinphoneCoreLogCollectionUploadStateChangedCb

§ LinphoneCoreMessageReceivedCb

§ LinphoneCoreNetworkReachableCb

§ LinphoneCoreNewSubscriptionRequestedCb

§ LinphoneCoreNotifyPresenceReceivedCb

§ LinphoneCoreNotifyPresenceReceivedForUriOrTelCb

§ LinphoneCoreReferReceivedCb

§ LinphoneCoreRegistrationStateChangedCb

§ LinphoneCoreTextMessageReceivedCb

typedef void(* LinphoneCoreTextMessageReceivedCb) (LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message)

Callback prototype

Deprecated:
use LinphoneCoreMessageReceivedCb instead.
Parameters
lcLinphoneCore object
roomLinphoneChatRoom involved in this conversation. Can be be created by the framework in case the from is not present in any chat room.
fromLinphoneAddress from
messageincoming message

§ LinphoneCoreTransferStateChangedCb

Old name of LinphoneCoreCbsTransferStateChangedCb.

§ LinphoneCoreVTable

This structure holds all callbacks that the application should implement. None is mandatory.

§ LinphoneFactory

typedef struct _LinphoneFactory LinphoneFactory

LinphoneFactory is a singleton object devoted to the creation of all the object of Liblinphone that cannot created by LinphoneCore or LinphoneCore itself.

§ LinphoneGlobalState

LinphoneGlobalState describes the global state of the LinphoneCore object. It is notified via the LinphoneCoreVTable::global_state_changed

§ LinphoneIceState

Enum describing ICE states.

§ LinphoneSipTransports

Linphone core SIP transport ports. Special values LC_SIP_TRANSPORT_RANDOM, LC_SIP_TRANSPORT_RANDOM, LC_SIP_TRANSPORT_DONTBIND can be used. Use with linphone_core_set_sip_transports

§ LinphoneStreamType

Enum describing the stream types.

§ LinphoneUpnpState

Enum describing uPnP states.

§ ShowInterfaceCb

typedef void(* ShowInterfaceCb) (LinphoneCore *lc)

Callback prototype

Deprecated:

Enumeration Type Documentation

§ _LinphoneAddressFamily

Enum describing Ip family.

Enumerator
LinphoneAddressFamilyInet 

IpV4

LinphoneAddressFamilyInet6 

IpV6

LinphoneAddressFamilyUnspec 

Unknown

§ _LinphoneConfiguringState

LinphoneGlobalState describes the global state of the LinphoneCore object. It is notified via the LinphoneCoreVTable::global_state_changed

§ _LinphoneCoreLogCollectionUploadState

LinphoneCoreLogCollectionUploadState is used to notify if log collection upload have been succesfully delivered or not.

Enumerator
LinphoneCoreLogCollectionUploadStateInProgress 

Delivery in progress

LinphoneCoreLogCollectionUploadStateDelivered 

Log collection upload successfully delivered and acknowledged by remote end point

LinphoneCoreLogCollectionUploadStateNotDelivered 

Log collection upload was not delivered

§ _LinphoneGlobalState

LinphoneGlobalState describes the global state of the LinphoneCore object. It is notified via the LinphoneCoreVTable::global_state_changed

§ _LinphoneIceState

Enum describing ICE states.

Enumerator
LinphoneIceStateNotActivated 

ICE has not been activated for this call or stream

LinphoneIceStateFailed 

ICE processing has failed

LinphoneIceStateInProgress 

ICE process is in progress

LinphoneIceStateHostConnection 

ICE has established a direct connection to the remote host

LinphoneIceStateReflexiveConnection 

ICE has established a connection to the remote host through one or several NATs

LinphoneIceStateRelayConnection 

ICE has established a connection through a relay

§ _LinphoneStreamType

Enum describing the stream types.

§ _LinphoneUpnpState

Enum describing uPnP states.

Enumerator
LinphoneUpnpStateIdle 

uPnP is not activate

LinphoneUpnpStatePending 

uPnP process is in progress

LinphoneUpnpStateAdding 

Internal use: Only used by port binding

LinphoneUpnpStateRemoving 

Internal use: Only used by port binding

LinphoneUpnpStateNotAvailable 

uPnP is not available

LinphoneUpnpStateOk 

uPnP is enabled

LinphoneUpnpStateKo 

uPnP processing has failed

LinphoneUpnpStateBlacklisted 

IGD router is blacklisted

Function Documentation

§ linphone_core_add_callbacks()

void linphone_core_add_callbacks ( LinphoneCore lc,
LinphoneCoreCbs cbs 
)

Add a listener in order to be notified of LinphoneCore events. Once an event is received, registred LinphoneCoreCbs are sequencially invoked in order.

Parameters
lcThe LinphoneCore object to monitor.
cbsA LinphoneCoreCbs object holding the callbakcs you need. A reference is take by LinphoneCore until you invoke linphone_core_remove_cbs().

§ linphone_core_add_listener()

LINPHONE_DEPRECATED void linphone_core_add_listener ( LinphoneCore lc,
LinphoneCoreVTable vtable 
)

add a listener to be notified of linphone core events. Once events are received, registered vtable are invoked in order.

Parameters
vtablea LinphoneCoreVTable structure holding your application callbacks. Object is owned by linphone core until linphone_core_remove_listener.
lcobject
Deprecated:
Use linphone_core_add_callbacks() instead.

§ linphone_core_add_supported_tag()

void linphone_core_add_supported_tag ( LinphoneCore core,
const char *  tag 
)

This function controls signaling features supported by the core. They are typically included in a SIP Supported header.

Parameters
[in]coreLinphoneCore object
[in]tagThe feature tag name

§ linphone_core_cbs_get_user_data()

void* linphone_core_cbs_get_user_data ( const LinphoneCoreCbs cbs)

Get the user pointer.

§ linphone_core_cbs_ref()

LinphoneCoreCbs* linphone_core_cbs_ref ( LinphoneCoreCbs cbs)

Increment the reference counter.

§ linphone_core_cbs_set_authentication_requested()

void linphone_core_cbs_set_authentication_requested ( LinphoneCoreCbs cbs,
LinphoneCoreCbsAuthenticationRequestedCb  cb 
)

Set the LinphoneCoreCbsAuthenticationRequestedCb callback.'

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_buddy_info_updated()

void linphone_core_cbs_set_buddy_info_updated ( LinphoneCoreCbs cbs,
LinphoneCoreCbsBuddyInfoUpdatedCb  cb 
)

Set the LinphoneCoreCbsBuddyInfoUpdatedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_call_encryption_changed()

void linphone_core_cbs_set_call_encryption_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsCallEncryptionChangedCb  cb 
)

Set the LinphoneCoreCbsCallEncryptionChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_call_log_updated()

void linphone_core_cbs_set_call_log_updated ( LinphoneCoreCbs cbs,
LinphoneCoreCbsCallLogUpdatedCb  cb 
)

Set the LinphoneCoreCbsCallLogUpdatedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_call_state_changed()

void linphone_core_cbs_set_call_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsCallStateChangedCb  cb 
)

Set the LinphoneCoreCbsCallStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_call_stats_updated()

void linphone_core_cbs_set_call_stats_updated ( LinphoneCoreCbs cbs,
LinphoneCoreCbsCallStatsUpdatedCb  cb 
)

Set the LinphoneCoreCbsCallStatsUpdatedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_configuring_status()

void linphone_core_cbs_set_configuring_status ( LinphoneCoreCbs cbs,
LinphoneCoreCbsConfiguringStatusCb  cb 
)

Set the LinphoneCoreCbsConfiguringStatusCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_dtmf_received()

void linphone_core_cbs_set_dtmf_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsDtmfReceivedCb  cb 
)

Set the LinphoneCoreCbsDtmfReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_friend_list_created()

void linphone_core_cbs_set_friend_list_created ( LinphoneCoreCbs cbs,
LinphoneCoreCbsFriendListCreatedCb  cb 
)

Set the LinphoneCoreCbsFriendListCreatedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_friend_list_removed()

void linphone_core_cbs_set_friend_list_removed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsFriendListRemovedCb  cb 
)

Set the LinphoneCoreCbsFriendListRemovedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_info_received()

void linphone_core_cbs_set_info_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsInfoReceivedCb  cb 
)

Set the LinphoneCoreCbsInfoReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_is_composing_received()

void linphone_core_cbs_set_is_composing_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsIsComposingReceivedCb  cb 
)

Set the LinphoneCoreCbsIsComposingReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_log_collection_upload_progress_indication()

void linphone_core_cbs_set_log_collection_upload_progress_indication ( LinphoneCoreCbs cbs,
LinphoneCoreCbsLogCollectionUploadProgressIndicationCb  cb 
)

Set the LinphoneCoreCbsLogCollectionUploadProgressIndicationCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_log_collection_upload_state_changed()

void linphone_core_cbs_set_log_collection_upload_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsLogCollectionUploadStateChangedCb  cb 
)

Set the LinphoneCoreCbsLogCollectionUploadStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_message_received()

void linphone_core_cbs_set_message_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsMessageReceivedCb  cb 
)

Set the LinphoneCoreCbsMessageReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_network_reachable()

void linphone_core_cbs_set_network_reachable ( LinphoneCoreCbs cbs,
LinphoneCoreCbsNetworkReachableCb  cb 
)

Set the LinphoneCoreCbsNetworkReachableCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_new_subscription_requested()

void linphone_core_cbs_set_new_subscription_requested ( LinphoneCoreCbs cbs,
LinphoneCoreCbsNewSubscriptionRequestedCb  cb 
)

Set the LinphoneCoreCbsNewSubscriptionRequestedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_notify_presence_received()

void linphone_core_cbs_set_notify_presence_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsNotifyPresenceReceivedCb  cb 
)

Set the LinphoneCoreCbsNotifyPresenceReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_notify_presence_received_for_uri_or_tel()

void linphone_core_cbs_set_notify_presence_received_for_uri_or_tel ( LinphoneCoreCbs cbs,
LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb  cb 
)

Set the LinphoneCoreCbsNotifyPresenceReceivedForUriOrTelCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_notify_received()

void linphone_core_cbs_set_notify_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsNotifyReceivedCb  cb 
)

Set the LinphoneCoreCbsNotifyReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_publish_state_changed()

void linphone_core_cbs_set_publish_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsPublishStateChangedCb  cb 
)

Set the LinphoneCoreCbsPublishStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_refer_received()

void linphone_core_cbs_set_refer_received ( LinphoneCoreCbs cbs,
LinphoneCoreCbsReferReceivedCb  cb 
)

Set the LinphoneCoreCbsReferReceivedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_registration_state_changed()

void linphone_core_cbs_set_registration_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsRegistrationStateChangedCb  cb 
)

Set the LinphoneCoreCbsRegistrationStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_subscription_state_changed()

void linphone_core_cbs_set_subscription_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsSubscriptionStateChangedCb  cb 
)

Set the LinphoneCoreCbsSubscriptionStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_transfer_state_changed()

void linphone_core_cbs_set_transfer_state_changed ( LinphoneCoreCbs cbs,
LinphoneCoreCbsTransferStateChangedCb  cb 
)

Set the LinphoneCoreCbsTransferStateChangedCb callback.

Parameters
[in]cbsA LinphoneCoreCbs.
[in]cbThe callback.

§ linphone_core_cbs_set_user_data()

void linphone_core_cbs_set_user_data ( LinphoneCoreCbs cbs,
void *  user_data 
)

Set private data to be get from each callbacks.

§ linphone_core_cbs_unref()

void linphone_core_cbs_unref ( LinphoneCoreCbs cbs)

Decrement the reference counter.

§ linphone_core_compress_log_collection()

char* linphone_core_compress_log_collection ( void  )

Compress the log collection in a single file.

Returns
The path of the compressed log collection file (to be freed calling ms_free()).

§ linphone_core_destroy()

LINPHONE_DEPRECATED void linphone_core_destroy ( LinphoneCore lc)

Destroys a LinphoneCore

Parameters
[in]lcLinphoneCore object
Deprecated:
Use linphone_core_unref() instead.

§ linphone_core_disable_logs()

LINPHONE_DEPRECATED void linphone_core_disable_logs ( void  )

Entirely disable logging.

Deprecated:
Use linphone_core_set_log_level instead.

§ linphone_core_enable_log_collection()

void linphone_core_enable_log_collection ( LinphoneLogCollectionState  state)

Enable the linphone core log collection to upload logs on a server.

Parameters
[in]stateLinphoneLogCollectionState value telling whether to enable log collection or not.

§ linphone_core_enable_logs()

LINPHONE_DEPRECATED void linphone_core_enable_logs ( FILE *  file)

Enable logs in supplied FILE*.

Deprecated:
Use linphone_core_set_log_file and linphone_core_set_log_level instead.
Parameters
filea C FILE* where to fprintf logs. If null stdout is used.

§ linphone_core_enable_logs_with_cb()

LINPHONE_DEPRECATED void linphone_core_enable_logs_with_cb ( OrtpLogFunc  logfunc)

Enable logs through the user's supplied log callback.

Deprecated:
Use linphone_core_set_log_handler and linphone_core_set_log_level instead.
Parameters
logfuncThe address of a OrtpLogFunc callback whose protoype is typedef void (*OrtpLogFunc)(OrtpLogLevel lev, const char *fmt, va_list args);

§ linphone_core_get_current_callbacks()

LinphoneCoreCbs* linphone_core_get_current_callbacks ( const LinphoneCore lc)

Gets the current LinphoneCoreCbs. This is meant only to be called from a callback to be able to get the user_data associated with the LinphoneCoreCbs that is calling the callback.

Parameters
lcthe linphonecore
Returns
the LinphoneCoreCbs that has called the last callback

§ linphone_core_get_current_vtable()

LinphoneCoreVTable* linphone_core_get_current_vtable ( LinphoneCore lc)

Gets the current VTable. This is meant only to be called from a callback to be able to get the user_data associated with the vtable that called the callback.

Parameters
lcthe linphonecore
Returns
the vtable that called the last callback

§ linphone_core_get_log_collection_max_file_size()

size_t linphone_core_get_log_collection_max_file_size ( void  )

Get the max file size in bytes of the files used for log collection.

Returns
The max file size in bytes of the files used for log collection.

§ linphone_core_get_log_collection_path()

const char* linphone_core_get_log_collection_path ( void  )

Get the path where the log files will be written for log collection.

Returns
The path where the log files will be written.

§ linphone_core_get_log_collection_prefix()

const char* linphone_core_get_log_collection_prefix ( void  )

Get the prefix of the filenames that will be used for log collection.

Returns
The prefix of the filenames used for log collection.

§ linphone_core_get_max_calls()

int linphone_core_get_max_calls ( LinphoneCore lc)

Get the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer

Parameters
lccore
Returns
max number of simultaneous calls

§ linphone_core_get_provisioning_uri()

const char* linphone_core_get_provisioning_uri ( const LinphoneCore lc)

Get provisioning URI.

Parameters
lcthe linphone core
Returns
the provisioning URI.

§ linphone_core_get_root_ca()

const char* linphone_core_get_root_ca ( LinphoneCore lc)

Gets the path to a file or folder containing the trusted root CAs (PEM format)

Parameters
[in]lcLinphoneCore object
Returns
The path to a file or folder containing the trusted root CAs

§ linphone_core_get_user_agent()

const char* linphone_core_get_user_agent ( LinphoneCore lc)
Returns
liblinphone's user agent as a string.

§ linphone_core_get_user_agent_name()

LINPHONE_DEPRECATED const char* linphone_core_get_user_agent_name ( void  )

§ linphone_core_get_user_agent_version()

LINPHONE_DEPRECATED const char* linphone_core_get_user_agent_version ( void  )

§ linphone_core_get_user_certificates_path()

const char* linphone_core_get_user_certificates_path ( LinphoneCore lc)

Get the path to the directory storing the user's certificates.

Parameters
[in]lcLinphoneCore object.
Returns
The path to the directory storing the user's certificates.

§ linphone_core_get_user_data()

void* linphone_core_get_user_data ( const LinphoneCore lc)

Retrieves the user pointer that was given to linphone_core_new()

Parameters
[in]lcLinphoneCore object
Returns
The user data associated with the LinphoneCore object

§ linphone_core_get_version()

const char* linphone_core_get_version ( void  )

Returns liblinphone's version as a string.

§ linphone_core_get_zrtp_secrets_file()

const char* linphone_core_get_zrtp_secrets_file ( LinphoneCore lc)

Get the path to the file storing the zrtp secrets cache.

Parameters
[in]lcLinphoneCore object.
Returns
The path to the file storing the zrtp secrets cache.

§ linphone_core_iterate()

void linphone_core_iterate ( LinphoneCore lc)

Main loop function. It is crucial that your application call it periodically.

linphone_core_iterate() performs various backgrounds tasks:

  • receiving of SIP messages
  • handles timers and timeout
  • performs registration to proxies
  • authentication retries The application MUST call this function periodically, in its main loop. Be careful that this function must be called from the same thread as other liblinphone methods. If it is not the case make sure all liblinphone calls are serialized with a mutex. For ICE to work properly it should be called every 20ms.
    Parameters
    [in]lcLinphoneCore object

§ linphone_core_log_collection_enabled()

LinphoneLogCollectionState linphone_core_log_collection_enabled ( void  )

Tells whether the linphone core log collection is enabled.

Returns
The state of the linphone core log collection.

§ linphone_core_media_encryption_supported()

bool_t linphone_core_media_encryption_supported ( const LinphoneCore lc,
LinphoneMediaEncryption  menc 
)

Check if a media encryption type is supported

Parameters
lccore
mencLinphoneMediaEncryption
Returns
whether a media encryption scheme is supported by the LinphoneCore engine

§ linphone_core_migrate_friends_from_rc_to_db()

void linphone_core_migrate_friends_from_rc_to_db ( LinphoneCore lc)

Migrates the friends from the linphonerc to the database if not done yet

Parameters
lcthe linphone core

§ linphone_core_migrate_logs_from_rc_to_db()

void linphone_core_migrate_logs_from_rc_to_db ( LinphoneCore lc)

Migrates the call logs from the linphonerc to the database if not done yet

Parameters
lcthe linphone core

§ linphone_core_migrate_to_multi_transport()

int linphone_core_migrate_to_multi_transport ( LinphoneCore lc)

Migrate configuration so that all SIP transports are enabled. Versions of linphone < 3.7 did not support using multiple SIP transport simultaneously. This function helps application to migrate the configuration so that all transports are enabled. Existing proxy configuration are added a transport parameter so that they continue using the unique transport that was set previously. This function must be used just after creating the core, before any call to linphone_core_iterate()

Parameters
lcthe linphone core
Returns
1 if migration was done, 0 if not done because unnecessary or already done, -1 in case of error.

§ linphone_core_new()

LINPHONE_DEPRECATED LinphoneCore* linphone_core_new ( const LinphoneCoreVTable vtable,
const char *  config_path,
const char *  factory_config_path,
void *  userdata 
)

Instanciates a LinphoneCore object.

The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application.

Parameters
vtablea LinphoneCoreVTable structure holding your application callbacks
config_patha path to a config file. If it does not exists it will be created. The config file is used to store all settings, call logs, friends, proxies... so that all these settings become persistent over the life of the LinphoneCore object. It is allowed to set a NULL config file. In that case LinphoneCore will not store any settings.
factory_config_patha path to a read-only config file that can be used to to store hard-coded preference such as proxy settings or internal preferences. The settings in this factory file always override the one in the normal config file. It is OPTIONAL, use NULL if unneeded.
userdataan opaque user pointer that can be retrieved at any time (for example in callbacks) using linphone_core_get_user_data().
See also
linphone_core_new_with_config
Deprecated:
Use linphone_factory_create_core() instead.

§ linphone_core_new_with_config()

LINPHONE_DEPRECATED LinphoneCore* linphone_core_new_with_config ( const LinphoneCoreVTable vtable,
LpConfig *  config,
void *  userdata 
)

Instantiates a LinphoneCore object with a given LpConfig.

The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application.

Parameters
vtablea LinphoneCoreVTable structure holding your application callbacks
configa pointer to an LpConfig object holding the configuration of the LinphoneCore to be instantiated.
userdataan opaque user pointer that can be retrieved at any time (for example in callbacks) using linphone_core_get_user_data().
See also
linphone_core_new
Deprecated:
Use linphone_factory_create_core_with_config() instead.

§ linphone_core_ref()

LinphoneCore* linphone_core_ref ( LinphoneCore lc)

Increment the reference counter of a LinphoneCore object.

Parameters
lcThe LinphoneCore which the ref counter is to be incremented.
Returns
A pointer on the LinphoneCore passed as parameter.

§ linphone_core_reload_ms_plugins()

void linphone_core_reload_ms_plugins ( LinphoneCore lc,
const char *  path 
)

Reload mediastreamer2 plugins from specified directory.

Parameters
[in]lcLinphoneCore object.
[in]paththe path from where plugins are to be loaded, pass NULL to use default (compile-time determined) plugin directory.

§ linphone_core_remove_callbacks()

void linphone_core_remove_callbacks ( LinphoneCore lc,
const LinphoneCoreCbs cbs 
)

Remove a listener from a LinphoneCore

Parameters
lcThe LinphoneCore
cbsThe pointer on the LinphoneCoreCbs to remove.

§ linphone_core_remove_listener()

LINPHONE_DEPRECATED void linphone_core_remove_listener ( LinphoneCore lc,
const LinphoneCoreVTable vtable 
)

remove a listener registred by linphone_core_add_listener.

Parameters
lcobject
vtablea LinphoneCoreVTable structure holding your application callbacks.
Deprecated:
Use linphone_core_remove_callbacks() instead.

§ linphone_core_remove_supported_tag()

void linphone_core_remove_supported_tag ( LinphoneCore core,
const char *  tag 
)

Remove a supported tag.

Parameters
[in]coreLinphoneCore object
[in]tagThe tag to remove
See also
linphone_core_add_supported_tag()

§ linphone_core_reset_log_collection()

void linphone_core_reset_log_collection ( void  )

Reset the log collection by removing the log files.

§ linphone_core_serialize_logs()

void linphone_core_serialize_logs ( void  )

Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls linphone_core_iterate()). Must be called before creating the linphone core.

§ linphone_core_set_call_logs_database_path()

void linphone_core_set_call_logs_database_path ( LinphoneCore lc,
const char *  path 
)

Sets the database filename where call logs will be stored. If the file does not exist, it will be created.

Parameters
lcthe linphone core
pathfilesystem path

§ linphone_core_set_friends_database_path()

void linphone_core_set_friends_database_path ( LinphoneCore lc,
const char *  path 
)

Sets the database filename where friends will be stored. If the file does not exist, it will be created.

Parameters
lcthe linphone core
pathfilesystem path

§ linphone_core_set_log_collection_max_file_size()

void linphone_core_set_log_collection_max_file_size ( size_t  size)

Set the max file size in bytes of the files used for log collection. Warning: this function should only not be used to change size dynamically but instead only before calling

See also
linphone_core_enable_log_collection. If you increase max size on runtime, logs chronological order COULD be broken.
Parameters
[in]sizeThe max file size in bytes of the files used for log collection.

§ linphone_core_set_log_collection_path()

void linphone_core_set_log_collection_path ( const char *  path)

Set the path where the log files will be written for log collection.

Parameters
[in]pathThe path where the log files will be written.

§ linphone_core_set_log_collection_prefix()

void linphone_core_set_log_collection_prefix ( const char *  prefix)

Set the prefix of the filenames that will be used for log collection.

Parameters
[in]prefixThe prefix to use for the filenames for log collection.

§ linphone_core_set_log_collection_upload_server_url()

void linphone_core_set_log_collection_upload_server_url ( LinphoneCore core,
const char *  server_url 
)

Set the url of the server where to upload the collected log files.

Parameters
[in]coreLinphoneCore object
[in]server_urlThe url of the server where to upload the collected log files.

§ linphone_core_set_log_file()

void linphone_core_set_log_file ( FILE *  file)

Define a log file.

If the file pointer passed as an argument is NULL, stdout is used instead.

Parameters
fileA pointer to the FILE structure of the file to write to.

§ linphone_core_set_log_handler()

void linphone_core_set_log_handler ( OrtpLogFunc  logfunc)

Define a log handler.

Parameters
logfuncThe function pointer of the log handler.

§ linphone_core_set_log_level()

void linphone_core_set_log_level ( OrtpLogLevel  loglevel)

Define the minimum level for logging.

Parameters
loglevelMinimum level for logging messages.

§ linphone_core_set_log_level_mask()

void linphone_core_set_log_level_mask ( unsigned int  loglevel)

Define the log level using mask.

The loglevel parameter is a bitmask parameter. Therefore to enable only warning and error messages, use ORTP_WARNING | ORTP_ERROR. To disable logs, simply set loglevel to 0.

Parameters
loglevelA bitmask of the log levels to set.

§ linphone_core_set_max_calls()

void linphone_core_set_max_calls ( LinphoneCore lc,
int  max 
)

Set the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer

Parameters
lccore
maxnumber of simultaneous calls

§ linphone_core_set_provisioning_uri()

int linphone_core_set_provisioning_uri ( LinphoneCore lc,
const char *  uri 
)

Set URI where to download xml configuration file at startup. This can also be set from configuration file or factory config file, from [misc] section, item "config-uri". Calling this function does not load the configuration. It will write the value into configuration so that configuration from remote URI will take place at next LinphoneCore start.

Parameters
lcthe linphone core
urithe http or https uri to use in order to download the configuration. Passing NULL will disable remote provisioning.
Returns
-1 if uri could not be parsed, 0 otherwise. Note that this does not check validity of URI endpoint nor scheme and download may still fail.

§ linphone_core_set_root_ca()

void linphone_core_set_root_ca ( LinphoneCore lc,
const char *  path 
)

Sets the path to a file or folder containing trusted root CAs (PEM format)

Parameters
[in]lcLinphoneCore object
[in]pathThe path to a file or folder containing trusted root CAs

§ linphone_core_set_root_ca_data()

void linphone_core_set_root_ca_data ( LinphoneCore lc,
const char *  data 
)

Sets the trusted root CAs (PEM format)

Parameters
[in]lcLinphoneCore object
[in]dataThe trusted root CAs as a string

§ linphone_core_set_ssl_config()

void linphone_core_set_ssl_config ( LinphoneCore lc,
void *  ssl_config 
)

Set the pointer to an externally provided ssl configuration for the crypto library

Parameters
lcLinphoneCore object
[in]ssl_configA pointer to an opaque structure which will be provided directly to the crypto library used in bctoolbox. Use with extra care. This ssl_config structure is responsibility of the caller and will not be freed at the connection's end.

§ linphone_core_set_user_certificates_path()

void linphone_core_set_user_certificates_path ( LinphoneCore lc,
const char *  path 
)

Set the path to the directory storing the user's x509 certificates (used by dtls)

Parameters
[in]lcLinphoneCore object
[in]pathThe path to the directory to use to store the user's certificates.

§ linphone_core_set_user_data()

void linphone_core_set_user_data ( LinphoneCore lc,
void *  userdata 
)

Associate a user pointer to the linphone core.

Parameters
[in]lcLinphoneCore object
[in]userdataThe user data to associate with the LinphoneCore object

§ linphone_core_set_zrtp_secrets_file()

void linphone_core_set_zrtp_secrets_file ( LinphoneCore lc,
const char *  file 
)

Set the path to the file storing the zrtp secrets cache.

Parameters
[in]lcLinphoneCore object
[in]fileThe path to the file to use to store the zrtp secrets cache.

§ linphone_core_unref()

void linphone_core_unref ( LinphoneCore lc)

Decrement the ref counter of a LinphoneCore object and destroy it if the counter reach 0.

Parameters
lcThe LinphoneCore which the reference counter is to be decreased.

§ linphone_core_upload_log_collection()

void linphone_core_upload_log_collection ( LinphoneCore core)

Upload the log collection to the configured server url.

Parameters
[in]coreLinphoneCore object

§ linphone_core_v_table_destroy()

void linphone_core_v_table_destroy ( LinphoneCoreVTable table)

Destroy a vtable.

Parameters
tableto be destroyed

§ linphone_core_v_table_get_user_data()

void* linphone_core_v_table_get_user_data ( const LinphoneCoreVTable table)

Gets a user data pointer in the vtable.

Parameters
tablethe vtable
Returns
the data attached to the vtable

§ linphone_core_v_table_new()

LinphoneCoreVTable* linphone_core_v_table_new ( void  )

Instantiate a vtable with all arguments set to NULL

Returns
newly allocated vtable

§ linphone_core_v_table_set_user_data()

void linphone_core_v_table_set_user_data ( LinphoneCoreVTable table,
void *  data 
)

Sets a user data pointer in the vtable.

Parameters
tablethe vtable
datathe user data to attach

§ linphone_core_verify_server_certificates()

void linphone_core_verify_server_certificates ( LinphoneCore lc,
bool_t  yesno 
)

Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server.

Parameters
[in]lcLinphoneCore object
[in]yesnoA boolean value telling whether the tls server certificate must be verified

§ linphone_core_verify_server_cn()

void linphone_core_verify_server_cn ( LinphoneCore lc,
bool_t  yesno 
)

Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server.

Parameters
[in]lcLinphoneCore object
[in]yesnoA boolean value telling whether the tls server certificate common name must be verified

§ linphone_factory_clean()

void linphone_factory_clean ( void  )

Clean the factory. This function is generally useless as the factory is unique per process, however calling this function at the end avoid getting reports from belle-sip leak detector about memory leaked in linphone_factory_get().

§ linphone_factory_create_address()

LinphoneAddress* linphone_factory_create_address ( const LinphoneFactory factory,
const char *  addr 
)

Parse a string holding a SIP URI and create the according LinphoneAddress object.

Parameters
factoryThe LinphoneFactory singleton.
addrA string holding the SIP URI to parse.
Returns
A new LinphoneAddress.

§ linphone_factory_create_auth_info()

LinphoneAuthInfo* linphone_factory_create_auth_info ( const LinphoneFactory factory,
const char *  username,
const char *  userid,
const char *  passwd,
const char *  ha1,
const char *  realm,
const char *  domain 
)

Creates a LinphoneAuthInfo object. The object can be created empty, that is with all arguments set to NULL. Username, userid, password, realm and domain can be set later using specific methods. At the end, username and passwd (or ha1) are required.

Parameters
factoryThe LinphoneFactory singleton.
usernameThe username that needs to be authenticated
useridThe userid used for authenticating (use NULL if you don't know what it is)
passwdThe password in clear text
ha1The ha1-encrypted password if password is not given in clear text.
realmThe authentication domain (which can be larger than the sip domain. Unfortunately many SIP servers don't use this parameter.
domainThe SIP domain for which this authentication information is valid, if it has to be restricted for a single SIP domain.
Returns
A LinphoneAuthInfo object. linphone_auth_info_destroy() must be used to destroy it when no longer needed. The LinphoneCore makes a copy of LinphoneAuthInfo passed through linphone_core_add_auth_info().

§ linphone_factory_create_core()

LinphoneCore* linphone_factory_create_core ( const LinphoneFactory factory,
LinphoneCoreCbs cbs,
const char *  config_path,
const char *  factory_config_path 
)

Instanciate a LinphoneCore object.

The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application.

Parameters
factoryThe LinphoneFactory singleton.
cbsa LinphoneCoreCbs object holding your application callbacks. A reference will be taken on it until the destruciton of the core or the unregistration with linphone_core_remove_cbs().
config_patha path to a config file. If it does not exists it will be created. The config file is used to store all settings, call logs, friends, proxies... so that all these settings become persistent over the life of the LinphoneCore object. It is allowed to set a NULL config file. In that case LinphoneCore will not store any settings.
factory_config_patha path to a read-only config file that can be used to to store hard-coded preference such as proxy settings or internal preferences. The settings in this factory file always override the one in the normal config file. It is OPTIONAL, use NULL if unneeded.
See also
linphone_core_new_with_config

§ linphone_factory_create_core_cbs()

LinphoneCoreCbs* linphone_factory_create_core_cbs ( const LinphoneFactory factory)

Instanciate a LinphoneCoreCbs object.

Returns
a new LinphoneCoreCbs.

§ linphone_factory_create_core_with_config()

LinphoneCore* linphone_factory_create_core_with_config ( const LinphoneFactory factory,
LinphoneCoreCbs cbs,
LinphoneConfig config 
)

Instantiates a LinphoneCore object with a given LpConfig.

Parameters
factoryThe LinphoneFactory singleton. The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application.
cbsa LinphoneCoreCbs object holding your application callbacks. A reference will be taken on it until the destruciton of the core or the unregistration with linphone_core_remove_cbs().
configa pointer to an LpConfig object holding the configuration of the LinphoneCore to be instantiated.
See also
linphone_core_new

§ linphone_factory_create_vcard()

LinphoneVcard* linphone_factory_create_vcard ( LinphoneFactory factory)

Create an empty LinphoneVcard.

Returns
a new LinphoneVcard.

§ linphone_factory_get()

LinphoneFactory* linphone_factory_get ( void  )

Create the LinphoneFactory if that has not been done and return a pointer on it.

Returns
A pointer on the LinphoneFactory

§ linphone_stream_type_to_string()

const char* linphone_stream_type_to_string ( const LinphoneStreamType  )

Function returning a human readable value for LinphoneStreamType.