Commit 34f02389 authored by Simon Morlat's avatar Simon Morlat
Browse files

fix NAT issues with audio only

parent d4e70fe0
No related merge requests found
Showing with 46 additions and 2 deletions
dnl Process this file with autoconf to produce a configure script. 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 AC_CANONICAL_SYSTEM
dnl Source packaging numbers dnl Source packaging numbers
......
...@@ -28,6 +28,49 @@ ...@@ -28,6 +28,49 @@
* @verbinclude COPYING * @verbinclude COPYING
*/ */
/**
* @defgroup tutorial_liblinphone Tutorial: Placing and receiving calls with liblinphone
*
<H1>Initialize liblinphone</H1>
The first thing to do is to initialize the library passing it a set of callbacks functions to receive
various notifications: incoming calls, progress of calls etc...
These callbacks are all grouped in the LinphoneCoreVTable structure.
All are optionnals (use NULL if you don't need them).
The following code shows how initialize liblinphone:
<PRE>
##include <linphonecore.h>
//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;
}
</PRE>
/** /**
* @defgroup initializing Initialization and destruction * @defgroup initializing Initialization and destruction
......
...@@ -567,7 +567,8 @@ void linphone_core_run_stun_tests(LinphoneCore *lc, LinphoneCall *call){ ...@@ -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); strcpy(call->localdesc->addr,ac->addr);
} }
close_socket(sock1); close_socket(sock1);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment