2011/5/23 Arun Ravindran <arunlee(a)gmail.com>:
@@ -548,9 +555,26 @@ static void isi_call_notify(struct
ofono_voicecall *ovc, struct isi_call *call)
- case CALL_STATUS_TERMINATED:
+ * Core requires the call status to be either incoming
+ * or waiting to identify the disconnected call as missed.
+ * The MT RELEASE is not mapped to any state in +CLCC, but
+ * we need the disconnect reason.
+ case CALL_STATUS_TERMINATED:
+ DBG("State( CALL_STATUS_TERMINATED ) need not be reported to
+ * The call terminated is not reported to core as
+ * these intermediate states are not processed in
+ * the core. We report the call status when it becomes
+ * idle and TERMINATED is not mapped to +CLCC. The disconnect
+ * reason is set, so that the call termination cause
+ * in case of error is available to the core.
These comment blocks had some trailing whitespace.
I tested this patch, and I don't think it's still doing the right
thing. I don't seem to be able to generate a missed call, at least
when using the isiusb plugin. Somehow, ofono_voicecall_disconnect()
does not get called with the correct reason code.
Can you post logs on such a successful case, if you have any around?