Fixed possible crash related to attended transfer
Show original call as being on hold when waiting for blind transfer
This commit is contained in:
@ -39,14 +39,15 @@ class Call(val callp: Long, val ua: UserAgent, val peerUri: String, val dir: Str
|
|||||||
val err = Api.call_hold(callp, true)
|
val err = Api.call_hold(callp, true)
|
||||||
if (err != 0)
|
if (err != 0)
|
||||||
return false
|
return false
|
||||||
|
onhold = true
|
||||||
referTo = uri
|
referTo = uri
|
||||||
return Api.call_transfer(callp, uri) == 0
|
return Api.call_transfer(callp, uri) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fun executeTransfer(): Boolean {
|
fun executeTransfer(): Boolean {
|
||||||
return if (this.onHoldCall != null) {
|
return if (onHoldCall != null) {
|
||||||
if (Api.call_hold(callp, true) == 0)
|
if (Api.call_hold(callp, true) == 0)
|
||||||
Api.call_replace_transfer(this.onHoldCall!!.callp, callp)
|
Api.call_replace_transfer(onHoldCall!!.callp, callp)
|
||||||
else
|
else
|
||||||
false
|
false
|
||||||
} else
|
} else
|
||||||
|
|||||||
@ -1385,7 +1385,7 @@ private fun CallRow(ctx: Context, viewModel: ViewModel) {
|
|||||||
abandonAudioFocus(ctx)
|
abandonAudioFocus(ctx)
|
||||||
val uaCalls = ua.calls()
|
val uaCalls = ua.calls()
|
||||||
if (uaCalls.isNotEmpty()) {
|
if (uaCalls.isNotEmpty()) {
|
||||||
val call = uaCalls.last()
|
val call = uaCalls.first()
|
||||||
val callp = call.callp
|
val callp = call.callp
|
||||||
Log.d(TAG, "AoR ${ua.account.aor} hanging up call $callp with ${callUri.value}")
|
Log.d(TAG, "AoR ${ua.account.aor} hanging up call $callp with ${callUri.value}")
|
||||||
Api.ua_hangup(ua.uap, callp, 0, "")
|
Api.ua_hangup(ua.uap, callp, 0, "")
|
||||||
|
|||||||
Reference in New Issue
Block a user