diff --git a/app/src/main/cpp/baresip.c b/app/src/main/cpp/baresip.c index 9ed0d012..42ea0a8c 100644 --- a/app/src/main/cpp/baresip.c +++ b/app/src/main/cpp/baresip.c @@ -49,10 +49,20 @@ static void net_debug_log() { } } -static void ua_print_sip_status_log() { +static void net_dns_debug_log() { char debug_buf[2048]; int l; - l = re_snprintf(&(debug_buf[0]), 2047, "%H", ua_print_sip_status); + l = re_snprintf(&(debug_buf[0]), 2047, "%H", net_dns_debug, baresip_network()); + if (l != -1) { + debug_buf[l] = '\0'; + LOGD("%s\n", debug_buf); + } +} + +static void ua_print_status_log(struct ua *ua) { + char debug_buf[2048]; + int l; + l = re_snprintf(&(debug_buf[0]), 2047, "%H", ua_print_status, ua); if (l != -1) { debug_buf[l] = '\0'; LOGD("%s\n", debug_buf); @@ -479,7 +489,8 @@ Java_com_tutpro_baresip_BaresipService_baresipStart(JNIEnv *env, jobject instanc } net_debug_log(); - ua_print_sip_status_log(); + for (le = list_head(uag_list()); le != NULL; le = le->next) + ua_print_status_log(le->data); LOGI("running main loop ...\n"); err = re_main(signal_handler); @@ -1419,6 +1430,11 @@ Java_com_tutpro_baresip_Api_net_1debug(JNIEnv *env, jobject thiz) { net_debug_log(); } +JNIEXPORT void JNICALL +Java_com_tutpro_baresip_Api_net_1dns_1debug(JNIEnv *env, jobject thiz) { + net_dns_debug_log(); +} + JNIEXPORT jint JNICALL Java_com_tutpro_baresip_Api_module_1load(JNIEnv *env, jobject thiz, jstring javaModule) { const char *native_module = (*env)->GetStringUTFChars(env, javaModule, 0); diff --git a/app/src/main/kotlin/com/tutpro/baresip/Api.kt b/app/src/main/kotlin/com/tutpro/baresip/Api.kt index f1a88700..c8ed1177 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Api.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Api.kt @@ -33,6 +33,7 @@ object Api { external fun log_level_set(level: Int) external fun net_use_nameserver(servers: String): Int external fun net_debug() + external fun net_dns_debug() external fun module_load(module: String): Int external fun module_unload(module: String) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index bf3f8fc5..cb580582 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -77,7 +77,9 @@ class BaresipService: Service() { if (dynDns) { val linkProperties = cm.getLinkProperties(network) val dnsServers = linkProperties.dnsServers - if (Config.updateDnsServers(dnsServers) != 0) + if (Config.updateDnsServers(dnsServers) == 0) + Api.net_dns_debug() + else Log.w(LOG_TAG, "Failed to update DNS servers '$dnsServers'") } UserAgent.register() @@ -93,7 +95,9 @@ class BaresipService: Service() { Log.d(LOG_TAG, "Network $network link properties changed") if (dynDns) { val dnsServers = linkProperties.dnsServers - if (Config.updateDnsServers(dnsServers) != 0) + if (Config.updateDnsServers(dnsServers) == 0) + Api.net_dns_debug() + else Log.w(LOG_TAG, "Failed to update DNS servers '$dnsServers'") } UserAgent.register() @@ -360,7 +364,7 @@ class BaresipService: Service() { if ((ev.size > 1) && (ev[1] == "Invalid argument")) { // Most likely this error is due to DNS lookup failure newEvent = "registering failed,DNS lookup failed" - Api.net_debug() + Api.net_dns_debug() if (dynDns) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val activeNetwork = cm.activeNetwork @@ -370,7 +374,7 @@ class BaresipService: Service() { if (Config.updateDnsServers(dnsServers) != 0) Log.w(LOG_TAG, "Failed to update DNS servers '$dnsServers'") else - Api.net_debug() + Api.net_dns_debug() } else { Log.d(LOG_TAG, "No active network!") }