liblinphone 3.6.1

- Main Page
- Related Pages
- Modules
- Data Structures

Data Structures | Typedefs | Enumerations | Functions
Initializing liblinphone

## Data Structures
struct | _LCSipTransports
struct | _LinphoneVTable

## Typedefs
typedef struct _LinphoneCore | LinphoneCore
typedef struct _LCSipTransports | LCSipTransports
typedef enum _LinphoneReason | LinphoneReason
typedef enum _LinphoneIceState | LinphoneIceState
typedef enum _LinphoneUpnpState | LinphoneUpnpState
typedef enum _LinphoneGlobalState | LinphoneGlobalState
typedef void(* | LinphoneGlobalStateCb )(struct _LinphoneCore *lc, LinphoneGlobalState gstate, const char *message)
typedef void(* | LinphoneCallStateCb )(struct _LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message)
typedef void(* | CallEncryptionChangedCb )(struct _LinphoneCore *lc, LinphoneCall *call, bool_t on, const char *authentication_token)
typedef void(* | LinphoneRegistrationStateCb )(struct _LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)
typedef void(* | ShowInterfaceCb )(struct _LinphoneCore *lc)
typedef void(* | DisplayStatusCb )(struct _LinphoneCore *lc, const char *message)
typedef void(* | DisplayMessageCb )(struct _LinphoneCore *lc, const char *message)
typedef void(* | DisplayUrlCb )(struct _LinphoneCore *lc, const char *message, const char *url)
typedef void(* | LinphoneCoreCbFunc )(struct _LinphoneCore *lc, void *user_data)
typedef void(* | NotifyReceivedCb )(struct _LinphoneCore *lc, LinphoneCall *call, const char *from, const char *event)
typedef void(* | NotifyPresenceReceivedCb )(struct _LinphoneCore *lc, LinphoneFriend *lf)
typedef void(* | NewSubscribtionRequestCb )(struct _LinphoneCore *lc, LinphoneFriend *lf, const char *url)
typedef void(* | AuthInfoRequested )(struct _LinphoneCore *lc, const char *realm, const char *username)
typedef void(* | CallLogUpdated )(struct _LinphoneCore *lc, struct _LinphoneCallLog *newcl)
typedef void(* | TextMessageReceived )(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message)
typedef void(* | MessageReceived )(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message)
typedef void(* | DtmfReceived )(struct _LinphoneCore *lc, LinphoneCall *call, int dtmf)
typedef void(* | ReferReceived )(struct _LinphoneCore *lc, const char *refer_to)
typedef void(* | BuddyInfoUpdated )(struct _LinphoneCore *lc, LinphoneFriend *lf)
typedef void(* | LinphoneTransferStateChanged )(struct _LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state)
typedef void(* | CallStatsUpdated )(struct _LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats)
typedef struct _LinphoneVTable | LinphoneCoreVTable

## Enumerations
enum | _LinphoneReason { , LinphoneReasonNoResponse, LinphoneReasonBadCredentials, LinphoneReasonDeclined, LinphoneReasonNotFound, LinphoneReasonNotAnswered, LinphoneReasonBusy }
enum | _LinphoneIceState { LinphoneIceStateNotActivated, LinphoneIceStateFailed, LinphoneIceStateInProgress, LinphoneIceStateHostConnection, LinphoneIceStateReflexiveConnection, LinphoneIceStateRelayConnection }
enum | _LinphoneUpnpState { LinphoneUpnpStateIdle, LinphoneUpnpStatePending, LinphoneUpnpStateAdding, LinphoneUpnpStateRemoving, LinphoneUpnpStateNotAvailable, LinphoneUpnpStateOk, LinphoneUpnpStateKo }
enum | _LinphoneGlobalState

## Functions
LinphoneCore * | linphone_core_new (const LinphoneCoreVTable *vtable, const char *config_path, const char *factory_config_path, void *userdata)
void | linphone_core_iterate (LinphoneCore *lc)
void | linphone_core_set_root_ca (LinphoneCore *lc, const char *path)
const char * | linphone_core_get_root_ca (LinphoneCore *lc)
void | linphone_core_verify_server_certificates (LinphoneCore *lc, bool_t yesno)
void | linphone_core_verify_server_cn (LinphoneCore *lc, bool_t yesno)
void * | linphone_core_get_user_data (LinphoneCore *lc)
void | linphone_core_set_user_data (LinphoneCore *lc, void *userdata)
void | linphone_core_destroy (LinphoneCore *lc)
void | linphone_core_set_chat_database_path (LinphoneCore *lc, const char *path)
LinphoneCore * | linphone_core_new_with_config (const LinphoneCoreVTable *vtable, struct _LpConfig *config, void *userdata)
int | linphone_core_get_max_calls (LinphoneCore *lc)
void | linphone_core_set_max_calls (LinphoneCore *lc, int max)

## Detailed Description

## Typedef Documentation

typedef struct _LinphoneCore LinphoneCore

Linphone core main object created by function linphone_core_new() .

typedef struct _LCSipTransports LCSipTransports

Linphone core SIP transport ports. Use with linphone_core_set_sip_transports

typedef enum _LinphoneReason LinphoneReason

Enum describing failure reasons.

typedef enum _LinphoneIceState LinphoneIceState

Enum describing Ice states.

typedef enum _LinphoneUpnpState LinphoneUpnpState

Enum describing uPnP states.

typedef enum _LinphoneGlobalState LinphoneGlobalState

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

typedef void(* LinphoneGlobalStateCb)(struct _LinphoneCore *lc, LinphoneGlobalState gstate, const char *message)

Call state notification callback prototype

typedef void(* LinphoneCallStateCb)(struct _LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message)

Call state notification callback prototype

typedef void(* CallEncryptionChangedCb)(struct _LinphoneCore *lc, LinphoneCall *call, bool_t on, const char *authentication_token)

Call encryption changed callback prototype

typedef void(* LinphoneRegistrationStateCb)(struct _LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)

Registration state notification callback prototype

typedef void(* ShowInterfaceCb)(struct _LinphoneCore *lc)

Callback prototype

typedef void(* DisplayStatusCb)(struct _LinphoneCore *lc, const char *message)

Callback prototype

typedef void(* DisplayMessageCb)(struct _LinphoneCore *lc, const char *message)

Callback prototype

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

Callback prototype

typedef void(* LinphoneCoreCbFunc)(struct _LinphoneCore *lc, void *user_data)

Callback prototype

typedef void(* NotifyReceivedCb)(struct _LinphoneCore *lc, LinphoneCall *call, const char *from, const char *event)

Callback prototype

typedef void(* NotifyPresenceReceivedCb)(struct _LinphoneCore *lc, LinphoneFriend *lf)

Report status change for a friend previously added to LinphoneCore.

Parameters:

  lc | LinphoneCore object .
  lf | Updated LinphoneFriend .

typedef void(* NewSubscribtionRequestCb)(struct _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:

  lc | LinphoneCore object
  lf | LinphoneFriend corresponding to the subscriber
  url | of the subscriber Callback prototype

typedef void(* AuthInfoRequested)(struct _LinphoneCore *lc, const char *realm, const char *username)

Callback prototype

typedef void(* CallLogUpdated)(struct _LinphoneCore *lc, struct _LinphoneCallLog *newcl)

Callback prototype

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

Callback prototype

Deprecated:
  use MessageReceived instead.

Parameters:

  lc | LinphoneCore object
  room | LinphoneChatRoom involved in this conversation. Can be be created by the framework in case the from is not present in any chat room.
  from | LinphoneAddress from
  message | incoming message

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

Chat message callback prototype

Parameters:

  lc | LinphoneCore object
  room | LinphoneChatRoom involved in this conversation. Can be be created by the framework in case the from is not present in any chat room.
  LinphoneChatMessage | incoming message

typedef void(* DtmfReceived)(struct _LinphoneCore *lc, LinphoneCall *call, int dtmf)

Callback prototype

typedef void(* ReferReceived)(struct _LinphoneCore *lc, const char *refer_to)

Callback prototype

typedef void(* BuddyInfoUpdated)(struct _LinphoneCore *lc, LinphoneFriend *lf)

Callback prototype

typedef void(* LinphoneTransferStateChanged)(struct _LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state)

Callback prototype for in progress transfers. The new_call_state is the state of the call resulting of the transfer, at the other party.

typedef void(* CallStatsUpdated)(struct _LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats)

Callback prototype for receiving quality statistics for calls

typedef struct _LinphoneVTable LinphoneCoreVTable

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

## Enumeration Type Documentation

enum _LinphoneReason

Enum describing failure reasons.

Enumerator:

  LinphoneReasonNoResponse | No response received from remote
  LinphoneReasonBadCredentials | Authentication failed due to bad or missing credentials
  LinphoneReasonDeclined | The call has been declined
  LinphoneReasonNotFound | Destination of the calls was not found.
  LinphoneReasonNotAnswered | The call was not answered in time
  LinphoneReasonBusy | Phone line was busy

enum _LinphoneIceState

Enum describing ICE states.

Enumerator:

  LinphoneIceStateNotActivated | ICE has not been activated for this call
  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

enum _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

enum _LinphoneGlobalState

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

## Function Documentation

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:

  vtable | a LinphoneCoreVTable structure holding your application callbacks
  config_path | a 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_path | a 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.
  userdata | an 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

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.

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:

  path |
  lc | The LinphoneCore object

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:

  lc | The LinphoneCore object

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.

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.

void* linphone_core_get_user_data | ( | LinphoneCore * | lc | ) |

Retrieves the user pointer that was given to linphone_core_new()

void linphone_core_set_user_data | ( | LinphoneCore * | lc,
|  | void * | userdata
| ) |  |

Associate a user pointer to the linphone core.

void linphone_core_destroy | ( | LinphoneCore * | lc | ) |

Destroys a LinphoneCore

void linphone_core_set_chat_database_path | ( | LinphoneCore * | lc,
|  | const char * | path
| ) |  |

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

Parameters:

  lc | the linphone core
  path | filesystem path

LinphoneCore* linphone_core_new_with_config | ( | const LinphoneCoreVTable * | vtable,
|  | struct _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:

  vtable | a LinphoneCoreVTable structure holding your application callbacks
  config | a pointer to an LpConfig object holding the configuration of the LinphoneCore to be instantiated.
  userdata | an 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

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:

  lc | core

Returns:
  max number of simultaneous 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:

  lc | core
  max | number of simultaneous calls