Initialization and destruction

## Data Structures

struct | _LinphoneVTable

## Typedefs

typedef void(* | ShowInterfaceCb) (struct _LinphoneCore *lc)
typedef void(* | InviteReceivedCb) (struct _LinphoneCore *lc, const char *from)
typedef void(* | ByeReceivedCb) (struct _LinphoneCore *lc, const char *from)
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(* | DisplayQuestionCb) (struct _LinphoneCore *lc, const char *message)
typedef void(* | LinphoneCoreCbFunc) (struct _LinphoneCore *lc, void *user_data)
typedef void(* | NotifyReceivedCb) (struct _LinphoneCore *lc, const char *from, const char *msg)
typedef void(* | NotifyPresenceReceivedCb) (struct _LinphoneCore *lc, LinphoneFriend *fid)
typedef void(* | NewUnknownSubscriberCb) (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) (struct _LinphoneCore *lc, LinphoneChatRoom *room, const char *from, const char *message)
typedef void(* | GeneralStateChange) (struct _LinphoneCore *lc, LinphoneGeneralState *gstate)
typedef void(* | DtmfReceived) (struct _LinphoneCore *lc, int dtmf)
typedef void(* | ReferReceived) (struct _LinphoneCore *lc, const char *refer_to)
typedef void(* | BuddyInfoUpdated) (struct _LinphoneCore *lc, LinphoneFriend *lf)
typedef struct _LinphoneVTable | LinphoneCoreVTable

## 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_get_user_data (LinphoneCore *lc)
void | linphone_core_destroy (LinphoneCore *lc)

## Detailed Description

## Typedef Documentation

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

Callback prototype

typedef void(* InviteReceivedCb) (struct _LinphoneCore *lc, const char *from)

Callback prototype

typedef void(* ByeReceivedCb) (struct _LinphoneCore *lc, const char *from)

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(* DisplayQuestionCb) (struct _LinphoneCore *lc, const char *message)

Callback prototype

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

Callback prototype

typedef void(* NotifyReceivedCb) (struct _LinphoneCore *lc, const char *from, const char *msg)

Callback prototype

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

Callback prototype

typedef void(* NewUnknownSubscriberCb) (struct _LinphoneCore *lc, LinphoneFriend *lf, const char *url)

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) (struct _LinphoneCore *lc, LinphoneChatRoom *room, const char *from, const char *message)

Callback prototype

typedef void(* GeneralStateChange) (struct _LinphoneCore *lc, LinphoneGeneralState *gstate)

Callback prototype

typedef void(* DtmfReceived) (struct _LinphoneCore *lc, 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 struct _LinphoneVTable LinphoneCoreVTable

This structure holds all callbacks that the application should implement.

## 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 user settings, call logs, friends, proxies...
  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().

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 from periodically, in its main loop. Be careful that this function must be call from the same thread as other liblinphone methods. In not the case make sure all liblinphone calls are serialized with a mutex.

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

Retrieves the user pointer that was given to linphone_core_new()

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

Destroys a LinphoneCore