During early media switch on/off ringback
This commit is contained in:
@@ -1254,6 +1254,12 @@ Java_com_tutpro_baresip_Api_call_1has_1video(JNIEnv *env, jobject thiz, jlong ca
|
|||||||
return call_has_video((struct call *)call) ? true : false;
|
return call_has_video((struct call *)call) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JNIEXPORT jint JNICALL
|
||||||
|
Java_com_tutpro_baresip_Api_call_1state(JNIEnv *env, jobject thiz, jlong call)
|
||||||
|
{
|
||||||
|
return call_state((struct call *)call);
|
||||||
|
}
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL
|
JNIEXPORT jboolean JNICALL
|
||||||
Java_com_tutpro_baresip_Api_call_1replaces(JNIEnv *env, jobject thiz, jlong call)
|
Java_com_tutpro_baresip_Api_call_1replaces(JNIEnv *env, jobject thiz, jlong call)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,6 +9,13 @@ object Api {
|
|||||||
const val DTMFMODE_RTP_EVENT = 0
|
const val DTMFMODE_RTP_EVENT = 0
|
||||||
const val DTMFMODE_SIP_INFO = 1
|
const val DTMFMODE_SIP_INFO = 1
|
||||||
|
|
||||||
|
const val SDP_INACTIVE = 0
|
||||||
|
const val SDP_RECVONLY = 1
|
||||||
|
// const val SDP_SENDONLY = 2
|
||||||
|
// const val SDP_SENDRECV = 3
|
||||||
|
|
||||||
|
const val CALL_STATE_EARLY = 4
|
||||||
|
|
||||||
external fun account_set_display_name(acc: Long, dn: String): Int
|
external fun account_set_display_name(acc: Long, dn: String): Int
|
||||||
external fun account_display_name(acc: Long): String
|
external fun account_display_name(acc: Long): String
|
||||||
external fun account_aor(acc: Long): String
|
external fun account_aor(acc: Long): String
|
||||||
@@ -69,7 +76,7 @@ object Api {
|
|||||||
external fun call_audio_codecs(callp: Long): String
|
external fun call_audio_codecs(callp: Long): String
|
||||||
external fun call_duration(callp: Long): Int
|
external fun call_duration(callp: Long): Int
|
||||||
external fun call_stats(callp: Long, stream: String): String
|
external fun call_stats(callp: Long, stream: String): String
|
||||||
external fun call_has_video(callp: Long): Boolean
|
external fun call_state(callp: Long): Int
|
||||||
external fun call_replaces(callp: Long): Boolean
|
external fun call_replaces(callp: Long): Boolean
|
||||||
external fun call_replace_transfer(xfer_callp: Long, callp: Long): Boolean
|
external fun call_replace_transfer(xfer_callp: Long, callp: Long): Boolean
|
||||||
external fun call_diverter_uri(callp: Long): String
|
external fun call_diverter_uri(callp: Long): String
|
||||||
|
|||||||
@@ -654,7 +654,7 @@ class BaresipService: Service() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
"call progress" -> {
|
"call progress" -> {
|
||||||
if (ev[1] != "0")
|
if ((ev[1].toInt() and Api.SDP_RECVONLY) != 0)
|
||||||
stopMediaPlayer()
|
stopMediaPlayer()
|
||||||
else
|
else
|
||||||
playRingBack()
|
playRingBack()
|
||||||
@@ -782,11 +782,17 @@ class BaresipService: Service() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
"call update" -> {
|
"call update" -> {
|
||||||
when (ev[1]) {
|
call!!.held = when (ev[1].toInt()) {
|
||||||
"0", "1" -> call!!.held = true // inactive, recvonly
|
Api.SDP_INACTIVE, Api.SDP_RECVONLY -> true
|
||||||
"2", "3" -> call!!.held = false // sendonly, sendrecv
|
else /* Api.SDP_SENDONLY, Api.SDP_SENDRECV */ -> false
|
||||||
}
|
}
|
||||||
if (!isMainVisible || call!!.status != "connected")
|
if (call.state() == Api.CALL_STATE_EARLY) {
|
||||||
|
if ((ev[1].toInt() and Api.SDP_RECVONLY) != 0)
|
||||||
|
stopMediaPlayer()
|
||||||
|
else
|
||||||
|
playRingBack()
|
||||||
|
}
|
||||||
|
if (!isMainVisible || call.status != "connected")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
"call verified", "call secure" -> {
|
"call verified", "call secure" -> {
|
||||||
|
|||||||
@@ -70,6 +70,10 @@ class Call(val callp: Long, val ua: UserAgent, val peerUri: String, val dir: Str
|
|||||||
return Api.call_stats(callp, stream)
|
return Api.call_stats(callp, stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun state(): Int {
|
||||||
|
return Api.call_state(callp);
|
||||||
|
}
|
||||||
|
|
||||||
fun audioCodecs(): String {
|
fun audioCodecs(): String {
|
||||||
return Api.call_audio_codecs(callp)
|
return Api.call_audio_codecs(callp)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user