diff --git a/build/vsx/LibLinphone/LibLinphone.vcxproj b/build/vsx/LibLinphone/LibLinphone.vcxproj index 3644e8e47..65ad06dc8 100644 --- a/build/vsx/LibLinphone/LibLinphone.vcxproj +++ b/build/vsx/LibLinphone/LibLinphone.vcxproj @@ -125,6 +125,7 @@ $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) false false + Sync Console diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo index 56db99fd1..88762f6d7 100644 Binary files a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo and b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8.v11.suo differ diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/empty_rc b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/empty_rc new file mode 100644 index 000000000..e8de43fa4 --- /dev/null +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/Assets/empty_rc @@ -0,0 +1,5 @@ +[net] +mtu=1300 + +[sip] +ping_with_options=0 \ No newline at end of file diff --git a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj index 1647d6be2..89ef910f3 100644 --- a/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj +++ b/build/vsx/LibLinphoneTester-wp8/LibLinphoneTester-wp8/LibLinphoneTester-wp8.csproj @@ -129,6 +129,7 @@ + diff --git a/coreapi/bellesip_sal/sal_op_call.c b/coreapi/bellesip_sal/sal_op_call.c index f2ec4e883..2b484ac18 100644 --- a/coreapi/bellesip_sal/sal_op_call.c +++ b/coreapi/bellesip_sal/sal_op_call.c @@ -453,6 +453,7 @@ int sal_call(SalOp *op, const char *from, const char *to){ sal_op_set_from(op,from); sal_op_set_to(op,to); + ms_message("[%s] calling [%s] on op [%p]", from, to, op); invite=sal_op_build_request(op,"INVITE"); sal_op_fill_invite(op,invite); diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index a43b36362..30dc49637 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -3313,7 +3313,13 @@ int linphone_core_terminate_call(LinphoneCore *lc, LinphoneCall *the_call) call = the_call; } - sal_call_terminate(call->op); + if (call->state != LinphoneCallOutgoingInit) + sal_call_terminate(call->op); + else { + /* In state OutgoingInit, op has to be destroyed */ + sal_op_release(call->op); + call->op = NULL; + } terminate_call(lc,call); return 0; } diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index ab56e6b29..1cba2ac3b 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -1323,7 +1323,7 @@ LINPHONE_PUBLIC void linphone_core_set_user_data(LinphoneCore *lc, void *userdat /* returns LpConfig object to read/write to the config file: usefull if you wish to extend the config file with your own sections */ -struct _LpConfig *linphone_core_get_config(LinphoneCore *lc); +LINPHONE_PUBLIC struct _LpConfig *linphone_core_get_config(LinphoneCore *lc); /*set a callback for some blocking operations, it takes you informed of the progress of the operation*/ void linphone_core_set_waiting_callback(LinphoneCore *lc, LinphoneWaitingCallback cb, void *user_context); diff --git a/tester/call_tester.c b/tester/call_tester.c index 188f08b77..8e3b9f630 100644 --- a/tester/call_tester.c +++ b/tester/call_tester.c @@ -19,6 +19,7 @@ #include #include "CUnit/Basic.h" #include "linphonecore.h" +#include "lpconfig.h" #include "private.h" #include "liblinphone_tester.h" @@ -200,12 +201,11 @@ static void cancelled_call(void) { } static void call_with_dns_time_out(void) { - LinphoneCoreManager* marie = linphone_core_manager_new(NULL, NULL); + LinphoneCoreManager* marie = linphone_core_manager_new2(liblinphone_tester_file_prefix, "empty_rc", FALSE); LCSipTransports transport = {9773,0,0,0}; linphone_core_set_sip_transports(marie->lc,&transport); linphone_core_iterate(marie->lc); sal_set_dns_timeout(marie->lc->sal,0); - linphone_core_set_mtu(marie->lc, 1300); linphone_core_invite(marie->lc,"sip:toto@toto.com"); linphone_core_iterate(marie->lc); linphone_core_iterate(marie->lc); diff --git a/tester/empty_rc b/tester/empty_rc new file mode 100644 index 000000000..e8de43fa4 --- /dev/null +++ b/tester/empty_rc @@ -0,0 +1,5 @@ +[net] +mtu=1300 + +[sip] +ping_with_options=0 \ No newline at end of file diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c index 703ba318f..f495b3c42 100644 --- a/tester/liblinphone_tester.c +++ b/tester/liblinphone_tester.c @@ -162,7 +162,7 @@ static void enable_codec(LinphoneCore* lc,const char* type,int rate) { } } -LinphoneCoreManager* linphone_core_manager_new(const char* path, const char* rc_file) { +LinphoneCoreManager* linphone_core_manager_new2(const char* path, const char* rc_file, int check_for_proxies) { LinphoneCoreManager* mgr= malloc(sizeof(LinphoneCoreManager)); LinphoneProxyConfig* proxy; memset (mgr,0,sizeof(LinphoneCoreManager)); @@ -173,7 +173,7 @@ LinphoneCoreManager* linphone_core_manager_new(const char* path, const char* rc_ mgr->v_table.new_subscription_request=new_subscribtion_request; mgr->v_table.notify_presence_recv=notify_presence_received; mgr->v_table.transfer_state_changed=linphone_transfer_state_changed; - mgr->lc=configure_lc_from(&mgr->v_table, path, rc_file, rc_file?1:0); + mgr->lc=configure_lc_from(&mgr->v_table, path, rc_file, check_for_proxies?(rc_file?1:0):0); enable_codec(mgr->lc,"PCMU",8000); linphone_core_set_user_data(mgr->lc,&mgr->stat); linphone_core_get_default_proxy(mgr->lc,&proxy); @@ -184,6 +184,10 @@ LinphoneCoreManager* linphone_core_manager_new(const char* path, const char* rc_ return mgr; } +LinphoneCoreManager* linphone_core_manager_new(const char* path, const char* rc_file) { + return linphone_core_manager_new2(path, rc_file, TRUE); +} + void linphone_core_manager_destroy(LinphoneCoreManager* mgr) { linphone_core_destroy(mgr->lc); if (mgr->identity) linphone_address_destroy(mgr->identity); diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h index 2efc1a23c..82aa5181b 100644 --- a/tester/liblinphone_tester.h +++ b/tester/liblinphone_tester.h @@ -130,7 +130,7 @@ typedef struct _LinphoneCoreManager { LinphoneAddress* identity; } LinphoneCoreManager; - +LinphoneCoreManager* linphone_core_manager_new2(const char* path, const char* rc_file, int check_for_proxies); LinphoneCoreManager* linphone_core_manager_new(const char * path, const char* rc_file); void linphone_core_manager_destroy(LinphoneCoreManager* mgr); diff --git a/tester/register_tester.c b/tester/register_tester.c index 94fd37ec5..0ff192682 100644 --- a/tester/register_tester.c +++ b/tester/register_tester.c @@ -313,7 +313,7 @@ static void io_recv_error(){ test_t register_tests[] = { { "Simple register", simple_register }, { "TCP register", simple_tcp_register }, -#ifndef ANDROID +#ifndef ANDROID { "TLS register", simple_tls_register }, #endif { "Simple authenticated register", simple_authenticated_register },