4
* @see http://www.linphone.org
6
* @section what_is_it What is liblinphone
8
* Liblinphone is a high level library for bringing SIP video call functionnality
9
* into an application. It aims at making easy the integration of the SIP
10
* video calls into any applications. All variants of linphone are directly based
12
* - linphone (gtk interface)
14
* - linphonec (console interface)
16
* Liblinphone is GPL (see COPYING file). Please understand the licencing details
19
* For any use of this library beyond the rights granted to you by the
20
* GPL license, please contact Belledonne Communications
21
* (contact@belledonne-communications.com)
27
* @page liblinphone_license COPYING
28
* @verbinclude COPYING
32
* @defgroup tutorial_liblinphone Tutorial: Placing and receiving calls with liblinphone
35
<H1>Initialize liblinphone</H1>
37
The first thing to do is to initialize the library passing it a set of callbacks functions to receive
38
various notifications: incoming calls, progress of calls etc...
39
These callbacks are all grouped in the LinphoneCoreVTable structure.
40
All are optionnals (use NULL if you don't need them).
41
The following code shows how initialize liblinphone:
44
##include <linphonecore.h>
46
//callback function for notification of incoming calls
47
static void on_invite_recv(LinphoneCore *lc, const char *from){
48
printf("Receiving a call from %s\n",from);
51
//callback function for notification end of calls (by remote)
52
static void on_bye_recv(LinphoneCore *lc, const char *from){
53
printf("Remote end hangup\n");
57
static void on_display_status(LinphoneCore *lc, const char *msg){
61
int main(int argc, char *argv[]){
62
LinphoneCoreVTable vtable;
64
memset(&vtable,0,sizeof(vtable));
65
vtable.inv_recv=&on_invite_recv;
66
vtable.bye_recv=&on_bye_recv;
67
vtable.display_status=&on_display_status;
76
* @defgroup initializing Initialization and destruction
81
* @defgroup call_control Call control
83
* The application can initiate outgoing calls with linphone_core_invite().
84
* It is notified of incoming call thanks to the inv_recv callback of the LinphoneCoreVTable
85
* structure that is passed at creation of the LinphoneCore object.
86
* It can then answer calls with linphone_core_accept_call().
87
* Calls can be terminated or declined with linphone_core_terminate_call().
88
* The application is notified when the remote party hangups thanks to
89
* bye_recv callback of the #LinphoneCoreVTable.
93
* @defgroup media_parameters Controlling media parameters
97
* @defgroup proxies Managing proxies
101
* @defgroup network_parameters Controlling network parameters (ports, mtu...)
105
* @defgroup authentication Managing authentication: userid and passwords
109
* @defgroup call_logs Managing call logs
113
* @defgroup linphone_address SIP address parser API.
114
* This api is useful for manipulating SIP addresses ('from' or 'to' headers).
118
* @defgroup misc Miscenalleous: logs, version strings, config storage