diff --git a/configure.in b/configure.in index fec1ed279..2ecf17659 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([linphone],[3.2.99.5],[linphone-developers@nongnu.org]) +AC_INIT([linphone],[3.2.99.7],[linphone-developers@nongnu.org]) AC_CANONICAL_SYSTEM dnl Source packaging numbers diff --git a/coreapi/help/doxygen.dox.in b/coreapi/help/doxygen.dox.in index acdec9090..13502d424 100644 --- a/coreapi/help/doxygen.dox.in +++ b/coreapi/help/doxygen.dox.in @@ -28,6 +28,49 @@ * @verbinclude COPYING */ +/** + * @defgroup tutorial_liblinphone Tutorial: Placing and receiving calls with liblinphone + * + +
+ ##include+ + /** * @defgroup initializing Initialization and destruction diff --git a/coreapi/misc.c b/coreapi/misc.c index 894c3fc22..55aa83d4d 100644 --- a/coreapi/misc.c +++ b/coreapi/misc.c @@ -567,7 +567,8 @@ void linphone_core_run_stun_tests(LinphoneCore *lc, LinphoneCall *call){ } } } - if (ac->addr[0]!='\0' && vc->addr[0]!='\0' && strcmp(ac->addr,vc->addr)==0){ + if ((ac->addr[0]!='\0' && vc->addr[0]!='\0' && strcmp(ac->addr,vc->addr)==0) + || sock2==-1){ strcpy(call->localdesc->addr,ac->addr); } close_socket(sock1);+ + //callback function for notification of incoming calls + static void on_invite_recv(LinphoneCore *lc, const char *from){ + printf("Receiving a call from %s\n",from); + } + + //callback function for notification end of calls (by remote) + static void on_bye_recv(LinphoneCore *lc, const char *from){ + printf("Remote end hangup\n"); + } + + / + static void on_display_status(LinphoneCore *lc, const char *msg){ + printf("%s",msg); + } + + int main(int argc, char *argv[]){ + LinphoneCoreVTable vtable; + + memset(&vtable,0,sizeof(vtable)); + vtable.inv_recv=&on_invite_recv; + vtable.bye_recv=&on_bye_recv; + vtable.display_status=&on_display_status; + + } + +