Use new account_[set_]mediaaf() API functions

This commit is contained in:
Juha Heinanen
2021-04-27 11:26:25 +03:00
parent 0bd4d2f5a4
commit f879ba78b6
4 changed files with 25 additions and 15 deletions

View File

@ -1095,6 +1095,23 @@ Java_com_tutpro_baresip_Api_account_1set_1dtmfmode(JNIEnv *env, jobject thiz,
return account_set_dtmfmode(acc, mode);
}
JNIEXPORT jint JNICALL
Java_com_tutpro_baresip_Api_account_1mediaaf(JNIEnv *env, jobject thiz, jstring jAcc) {
const char *native_acc = (*env)->GetStringUTFChars(env, jAcc, 0);
struct account *acc = (struct account *)strtoul(native_acc, NULL, 10);
(*env)->ReleaseStringUTFChars(env, jAcc, native_acc);
return account_mediaaf(acc);
}
JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_account_1set_1mediaaf(JNIEnv *env, jobject thiz, jstring jAcc, jint jAf) {
const char *native_acc = (*env)->GetStringUTFChars(env, jAcc, 0);
struct account *acc = (struct account *)strtoul(native_acc, NULL, 10);
(*env)->ReleaseStringUTFChars(env, jAcc, native_acc);
LOGD("setting account mediaaf to '%d'\n", jAf);
account_set_mediaaf(acc, jAf);
}
JNIEXPORT jstring JNICALL
Java_com_tutpro_baresip_Api_account_1extra(JNIEnv *env, jobject thiz, jstring javaAcc)
{
@ -1285,15 +1302,6 @@ Java_com_tutpro_baresip_Api_ua_1answer(JNIEnv *env, jobject thiz, jstring javaUA
(*env)->ReleaseStringUTFChars(env, javaCall, native_call);
}
JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_ua_1set_1media_1af(JNIEnv *env, jobject thiz, jstring javaUA,
jint javaAf) {
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
struct ua *ua = (struct ua *)strtoul(native_ua, NULL, 10);
LOGD("setting ua media af to '%d'\n", javaAf);
ua_set_media_af(ua, javaAf);
}
JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_ua_1debug(JNIEnv *env, jobject thiz, jstring javaUA) {
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);

View File

@ -57,6 +57,8 @@ class Account(val accp: String) {
val extra = Api.account_extra(accp)
preferIPv6Media = Utils.paramValue(extra,"prefer_ipv6_media") == "yes"
if (!preferIPv6Media)
preferIPv6Media = Api.account_mediaaf(accp) == Api.AF_INET6
callHistory = Utils.paramValue(extra,"call_history") == ""
}
@ -108,6 +110,8 @@ class Account(val accp: String) {
if (mediaEnc != "") res += ";mediaenc=${mediaEnc}"
if (preferIPv6Media) res += ";mediaaf=ipv6"
if (vmUri == "")
res = "$res;mwi=no"
else
@ -123,9 +127,6 @@ class Account(val accp: String) {
if (!callHistory)
extra += ";call_history=no"
if (preferIPv6Media)
extra += ";prefer_ipv6_media=yes"
if (extra != "")
res += ";extra=\"" + extra.substringAfter(";") + "\""

View File

@ -455,9 +455,9 @@ class AccountActivity : AppCompatActivity() {
acc.preferIPv6Media = ipV6MediaCheck.isChecked
Log.d(TAG, "New preferIPv6Media is ${acc.preferIPv6Media}")
if (acc.preferIPv6Media)
Api.ua_set_media_af(ua.uap, Api.AF_INET6)
Api.account_set_mediaaf(acc.accp, Api.AF_INET6)
else
Api.ua_set_media_af(ua.uap, Api.AF_UNSPEC)
Api.account_set_mediaaf(acc.accp, Api.AF_UNSPEC)
save = true
}

View File

@ -44,6 +44,8 @@ object Api {
external fun account_set_answermode(acc: String, mode: Int): Int
external fun account_dtmfmode(acc: String): Int
external fun account_set_dtmfmode(acc: String, mode: Int): Int
external fun account_mediaaf(acc: String): Int
external fun account_set_mediaaf(acc: String, af: Int)
external fun account_extra(acc: String): String
external fun account_debug(acc: String)
@ -61,7 +63,6 @@ object Api {
external fun ua_hangup(uap: String, callp: String, code: Int, reason: String)
external fun ua_call_alloc(uap: String, xcallp: String, video: Int): String
external fun ua_answer(uap: String, callp: String, video: Int)
external fun ua_set_media_af(uap: String, af: Int)
external fun ua_debug(uap: String)
external fun call_peeruri(callp: String): String