Fixed outgoing call audio settings
Removed some unused API functions
This commit is contained in:
@@ -1198,35 +1198,10 @@ Java_com_tutpro_baresip_Api_ua_1hangup(JNIEnv *env, jobject thiz,
|
|||||||
(*env)->ReleaseStringUTFChars(env, reason, native_reason);
|
(*env)->ReleaseStringUTFChars(env, reason, native_reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL
|
|
||||||
Java_com_tutpro_baresip_Api_ua_1connect(JNIEnv *env, jobject thiz, jstring javaUA, jstring javaURI, jint javaVidMode) {
|
|
||||||
struct call *call;
|
|
||||||
struct ua *ua;
|
|
||||||
int err;
|
|
||||||
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
|
|
||||||
const char *native_uri = (*env)->GetStringUTFChars(env, javaURI, 0);
|
|
||||||
char call_buf[32];
|
|
||||||
LOGD("connecting ua %s to %s %s video\n", native_ua, native_uri,
|
|
||||||
javaVidMode == 0 ? "without" : "with");
|
|
||||||
ua = (struct ua *)strtoul(native_ua, NULL, 10);
|
|
||||||
re_thread_enter();
|
|
||||||
err = ua_connect(ua, &call, NULL, native_uri, (enum vidmode)javaVidMode);
|
|
||||||
re_thread_leave();
|
|
||||||
if (err) {
|
|
||||||
LOGW("connecting to %s failed with error %d\n", native_uri, err);
|
|
||||||
call_buf[0] = '\0';
|
|
||||||
} else {
|
|
||||||
sprintf(call_buf, "%lu", (unsigned long)call);
|
|
||||||
}
|
|
||||||
(*env)->ReleaseStringUTFChars(env, javaUA, native_ua);
|
|
||||||
(*env)->ReleaseStringUTFChars(env, javaURI, native_uri);
|
|
||||||
return (*env)->NewStringUTF(env, call_buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL
|
JNIEXPORT jstring JNICALL
|
||||||
Java_com_tutpro_baresip_Api_ua_1call_1alloc(JNIEnv *env, jobject thiz, jstring javaUA,
|
Java_com_tutpro_baresip_Api_ua_1call_1alloc(JNIEnv *env, jobject thiz, jstring javaUA,
|
||||||
jstring javaXCall, jint javaVidMode) {
|
jstring javaXCall, jint javaVidMode) {
|
||||||
struct call *xcall, *call = NULL;
|
struct call *xcall = NULL, *call = NULL;
|
||||||
struct ua *ua;
|
struct ua *ua;
|
||||||
int err;
|
int err;
|
||||||
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
|
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
|
||||||
@@ -1234,6 +1209,7 @@ Java_com_tutpro_baresip_Api_ua_1call_1alloc(JNIEnv *env, jobject thiz, jstring j
|
|||||||
char call_buf[32];
|
char call_buf[32];
|
||||||
LOGD("allocating new call for ua %s xcall %s\n", native_ua, native_xcall);
|
LOGD("allocating new call for ua %s xcall %s\n", native_ua, native_xcall);
|
||||||
ua = (struct ua *)strtoul(native_ua, NULL, 10);
|
ua = (struct ua *)strtoul(native_ua, NULL, 10);
|
||||||
|
if (strlen(native_xcall) > 0)
|
||||||
xcall = (struct call *)strtoul(native_xcall, NULL, 10);
|
xcall = (struct call *)strtoul(native_xcall, NULL, 10);
|
||||||
re_thread_enter();
|
re_thread_enter();
|
||||||
err = ua_call_alloc(&call, ua, (enum vidmode)javaVidMode, NULL, xcall, call_localuri(xcall), true);
|
err = ua_call_alloc(&call, ua, (enum vidmode)javaVidMode, NULL, xcall, call_localuri(xcall), true);
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ object Api {
|
|||||||
external fun ua_register(ua: String): Int
|
external fun ua_register(ua: String): Int
|
||||||
external fun ua_isregistered(ua: String): Boolean
|
external fun ua_isregistered(ua: String): Boolean
|
||||||
external fun ua_unregister(ua: String)
|
external fun ua_unregister(ua: String)
|
||||||
external fun ua_connect(uap: String, peer_uri: String, video: Int): String
|
|
||||||
external fun ua_hangup(uap: String, callp: String, code: Int, reason: String)
|
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_call_alloc(uap: String, xcallp: String, video: Int): String
|
||||||
external fun ua_answer(uap: String, callp: String, video: Int)
|
external fun ua_answer(uap: String, callp: String, video: Int)
|
||||||
|
|||||||
@@ -551,7 +551,11 @@ class BaresipService: Service() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
"call outgoing" -> {
|
"call outgoing" -> {
|
||||||
val call = Call.ofCallp(callp) ?: return
|
val call = Call.ofCallp(callp)
|
||||||
|
if (call == null) {
|
||||||
|
Log.w(TAG, "Call $callp that is outgoing is not found")
|
||||||
|
return
|
||||||
|
}
|
||||||
if (call.status == "transferring")
|
if (call.status == "transferring")
|
||||||
break
|
break
|
||||||
stopMediaPlayer()
|
stopMediaPlayer()
|
||||||
|
|||||||
@@ -24,10 +24,6 @@ class Call(val callp: String, val ua: UserAgent, val peerUri: String, val dir: S
|
|||||||
return call_connect(callp, uri)
|
return call_connect(callp, uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun startAudio() {
|
|
||||||
call_start_audio(callp)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun hold(): Int {
|
fun hold(): Int {
|
||||||
return call_hold(callp, true)
|
return call_hold(callp, true)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1058,7 +1058,8 @@ class MainActivity : AppCompatActivity() {
|
|||||||
if (acc.missedCalls)
|
if (acc.missedCalls)
|
||||||
callsButton.setImageResource(R.drawable.calls_missed)
|
callsButton.setImageResource(R.drawable.calls_missed)
|
||||||
}
|
}
|
||||||
if (speakerIcon != null) speakerIcon!!.setIcon(R.drawable.speaker_off)
|
if (speakerIcon != null)
|
||||||
|
speakerIcon!!.setIcon(R.drawable.speaker_off)
|
||||||
val param = ev[1].trim()
|
val param = ev[1].trim()
|
||||||
if ((param != "") && (Call.uaCalls(ua, "").size == 0)) {
|
if ((param != "") && (Call.uaCalls(ua, "").size == 0)) {
|
||||||
if (param[0].isDigit())
|
if (param[0].isDigit())
|
||||||
@@ -1556,12 +1557,19 @@ class MainActivity : AppCompatActivity() {
|
|||||||
private fun call(ua: UserAgent, uri: String): Boolean {
|
private fun call(ua: UserAgent, uri: String): Boolean {
|
||||||
if (ua.account.aor != aorSpinner.tag)
|
if (ua.account.aor != aorSpinner.tag)
|
||||||
spinToAor(ua.account.aor)
|
spinToAor(ua.account.aor)
|
||||||
val callp = Api.ua_connect(ua.uap, uri, Api.VIDMODE_OFF)
|
val callp = Api.ua_call_alloc(ua.uap, "", Api.VIDMODE_OFF)
|
||||||
return if (callp != "") {
|
return if (callp != "") {
|
||||||
Log.d(TAG, "Adding outgoing call ${ua.uap}/$callp/$uri")
|
Log.d(TAG, "Adding outgoing call ${ua.uap}/$callp/$uri")
|
||||||
Call(callp, ua, uri, "out", "outgoing", Utils.dtmfWatcher(callp)).add()
|
val call = Call(callp, ua, uri, "out", "outgoing", Utils.dtmfWatcher(callp))
|
||||||
|
call.add()
|
||||||
|
val err = call.connect(uri)
|
||||||
|
if (err == 0) {
|
||||||
showCall(ua)
|
showCall(ua)
|
||||||
true
|
true
|
||||||
|
} else {
|
||||||
|
Log.w(TAG, "call_connect $callp failed with error $err")
|
||||||
|
false
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.w(TAG, "ua_connect ${ua.uap}/$uri failed")
|
Log.w(TAG, "ua_connect ${ua.uap}/$uri failed")
|
||||||
false
|
false
|
||||||
|
|||||||
Reference in New Issue
Block a user