diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index 6f27440df..67b86a5ff 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -345,7 +345,8 @@ public final class LinphoneService extends Service { } if (state == LinphoneCall.State.IncomingReceived) { - onIncomingReceived(); + if(! LinphoneManager.getInstance().getCallGsmON()) + onIncomingReceived(); } if (state == State.CallEnd || state == State.CallReleased || state == State.Error) { diff --git a/src/android/org/linphone/PhoneStateChangedReceiver.java b/src/android/org/linphone/PhoneStateChangedReceiver.java index e266374a8..c20fdae7f 100644 --- a/src/android/org/linphone/PhoneStateChangedReceiver.java +++ b/src/android/org/linphone/PhoneStateChangedReceiver.java @@ -35,7 +35,7 @@ public class PhoneStateChangedReceiver extends BroadcastReceiver { if (!LinphoneManager.isInstanciated()) return; - if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(extraState)) { + if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(extraState) || TelephonyManager.EXTRA_STATE_RINGING.equals(extraState)) { LinphoneManager.getInstance().setCallGsmON(true); LinphoneManager.getLc().pauseAllCalls(); } else if (TelephonyManager.EXTRA_STATE_IDLE.equals(extraState)) {