RE: [PATCH] isimodem: Improper handling of missed call

2011-07-20 Thread Paccou, Nicolas
Hi Aki,

I'm Nicolas Paccou, I'm in charge of validating the changes applied in new 
oFono release.
Unfortunately, I have not the hardware to be able to regress your patch: Add 
support for UICC SIM driver for ISI modems

I wanted to know if you have tested your patch on an ISI modem ?
If yes, can you tell me if the result is ok ?
If not, do you able to test it and tell me the result please ?

Thanks,
Nicolas

-Original Message-
From: ofono-boun...@ofono.org [mailto:ofono-boun...@ofono.org] On Behalf Of Aki 
Niemi
Sent: Tuesday, June 14, 2011 10:30 AM
To: ofono@ofono.org
Subject: Re: [PATCH] isimodem: Improper handling of missed call

Hi Arun,

2011/5/30 Arun Ravindran arun...@gmail.com:
 Can you post logs on such a successful case, if you have any around?


 tested once again, its working for me. I have attached the log here.

 But here i am using as n900 modem and not as isiusb .

It seems to be working for me now using the isiusb plugin.

So I pushed the patch along with the WS fixes.

Sorry for the delay.

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono
-
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: Les Montalets- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH] isimodem: Improper handling of missed call

2011-06-14 Thread Aki Niemi
Hi Arun,

2011/5/30 Arun Ravindran arun...@gmail.com:
 Can you post logs on such a successful case, if you have any around?


 tested once again, its working for me. I have attached the log here.

 But here i am using as n900 modem and not as isiusb .

It seems to be working for me now using the isiusb plugin.

So I pushed the patch along with the WS fixes.

Sorry for the delay.

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH] isimodem: Improper handling of missed call

2011-05-30 Thread Aki Niemi
Hi Arun,

2011/5/23 Arun Ravindran arun...@gmail.com:
 @@ -548,9 +555,26 @@ static void isi_call_notify(struct ofono_voicecall *ovc, 
 struct isi_call *call)

        case CALL_STATUS_MO_RELEASE:
        case CALL_STATUS_MT_RELEASE:
 -       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.
 +               */
                isi_call_set_disconnect_reason(call);
                break;
 +       case CALL_STATUS_TERMINATED:
 +               DBG(State( CALL_STATUS_TERMINATED ) need not be reported to 
 Core);
 +               /*
 +               * 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.
 +               */
 +               isi_call_set_disconnect_reason(call);
 +               return;

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?

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH] isimodem: Improper handling of missed call

2011-05-23 Thread Arun Ravindran
---
 drivers/isimodem/voicecall.c |   32 
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/drivers/isimodem/voicecall.c b/drivers/isimodem/voicecall.c
index 333f9b8..c599e39 100644
--- a/drivers/isimodem/voicecall.c
+++ b/drivers/isimodem/voicecall.c
@@ -50,6 +50,7 @@ struct isi_call {
uint8_t id;
uint8_t call_id;
uint8_t status;
+   uint8_t prev_status;
uint8_t mode;
uint8_t mode_info;
uint8_t cause_type;
@@ -314,7 +315,7 @@ static void isi_call_status_sb_proc(struct isi_voicecall 
*ivc,
 
if (!g_isi_sb_iter_get_byte(sb, status, 2))
return;
-
+   call-prev_status = call-status;
call-status = status;
 }
 
@@ -401,10 +402,16 @@ static int isi_call_status_to_clcc(const struct isi_call 
*call)
return 5;
 
case CALL_STATUS_MO_RELEASE:
-   case CALL_STATUS_MT_RELEASE:
-   case CALL_STATUS_TERMINATED:
return 6;
 
+   case CALL_STATUS_MT_RELEASE:
+   if ((call-prev_status == CALL_STATUS_MT_ALERTING) ||
+   (call-prev_status == CALL_STATUS_COMING) ||
+   (call-prev_status == CALL_STATUS_WAITING))
+   return 4;
+   else
+   return 6;
+
case CALL_STATUS_ACTIVE:
case CALL_STATUS_HOLD_INITIATED:
return 0;
@@ -548,9 +555,26 @@ static void isi_call_notify(struct ofono_voicecall *ovc, 
struct isi_call *call)
 
case CALL_STATUS_MO_RELEASE:
case CALL_STATUS_MT_RELEASE:
-   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.
+   */
isi_call_set_disconnect_reason(call);
break;
+   case CALL_STATUS_TERMINATED:
+   DBG(State( CALL_STATUS_TERMINATED ) need not be reported to 
Core);
+   /* 
+   * 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.
+   */
+   isi_call_set_disconnect_reason(call);
+   return;
case CALL_STATUS_ANSWERED:
DBG(State need not be reported to Core);
return;
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: [PATCH] isimodem: Improper handling of missed call

2011-05-19 Thread Aki Niemi
Hi Arun,

2011/5/18 Arun Ravindran arun...@gmail.com:
 +       case CALL_STATUS_MT_RELEASE:
 +               if ((call-prev_status == CALL_STATUS_MT_ALERTING) ||
 +                               (call-prev_status == CALL_STATUS_COMING) ||
 +                               (call-prev_status == CALL_STATUS_WAITING))
 +                       return 4;
 +               else
 +                       return 6;
 +

Extra whitespace here.

        case CALL_STATUS_ACTIVE:
        case CALL_STATUS_HOLD_INITIATED:
                return 0;
 @@ -548,9 +555,14 @@ static void isi_call_notify(struct ofono_voicecall *ovc, 
 struct isi_call *call)

        case CALL_STATUS_MO_RELEASE:
        case CALL_STATUS_MT_RELEASE:
 +               isi_call_set_disconect_reason(call):
 +               break;
 +
        case CALL_STATUS_TERMINATED:
                isi_call_set_disconnect_reason(call);
 -               break;
 +               DBG(State( CALL_STATUS_TERMINATED ) need not be reported to 
 Core);
 +               return;
 +
        case CALL_STATUS_ANSWERED:
                DBG(State need not be reported to Core);
                return;

If the intention is not to report this up, then why set the disconnect
reason with isi_call_set_disconnect_reason()? Why not just fold these
two case statements together?

Cheers,
Aki
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


[PATCH] isimodem: Improper handling of missed call

2011-05-18 Thread Arun Ravindran
---
 drivers/isimodem/voicecall.c |   20 
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/drivers/isimodem/voicecall.c b/drivers/isimodem/voicecall.c
index 333f9b8..6979105 100644
--- a/drivers/isimodem/voicecall.c
+++ b/drivers/isimodem/voicecall.c
@@ -50,6 +50,7 @@ struct isi_call {
uint8_t id;
uint8_t call_id;
uint8_t status;
+   uint8_t prev_status;
uint8_t mode;
uint8_t mode_info;
uint8_t cause_type;
@@ -314,7 +315,7 @@ static void isi_call_status_sb_proc(struct isi_voicecall 
*ivc,
 
if (!g_isi_sb_iter_get_byte(sb, status, 2))
return;
-
+   call-prev_status = call-status;
call-status = status;
 }
 
@@ -401,10 +402,16 @@ static int isi_call_status_to_clcc(const struct isi_call 
*call)
return 5;
 
case CALL_STATUS_MO_RELEASE:
-   case CALL_STATUS_MT_RELEASE:
-   case CALL_STATUS_TERMINATED:
return 6;
 
+   case CALL_STATUS_MT_RELEASE:
+   if ((call-prev_status == CALL_STATUS_MT_ALERTING) ||
+   (call-prev_status == CALL_STATUS_COMING) ||
+   (call-prev_status == CALL_STATUS_WAITING))
+   return 4;
+   else
+   return 6;
+   
case CALL_STATUS_ACTIVE:
case CALL_STATUS_HOLD_INITIATED:
return 0;
@@ -548,9 +555,14 @@ static void isi_call_notify(struct ofono_voicecall *ovc, 
struct isi_call *call)
 
case CALL_STATUS_MO_RELEASE:
case CALL_STATUS_MT_RELEASE:
+   isi_call_set_disconect_reason(call):
+   break;
+
case CALL_STATUS_TERMINATED:
isi_call_set_disconnect_reason(call);
-   break;
+   DBG(State( CALL_STATUS_TERMINATED ) need not be reported to 
Core);
+   return;
+
case CALL_STATUS_ANSWERED:
DBG(State need not be reported to Core);
return;
-- 
1.7.1

___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono