All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarko Poutiainen <jarko.poutiainen@tieto.com>
To: ofono@ofono.org
Subject: Ofono CF states not always correct
Date: Tue, 11 Jan 2011 12:00:42 +0200	[thread overview]
Message-ID: <4D2C2A4A.80604@tieto.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2125 bytes --]

Hello,

I have been trying out and going through the code concerning Call Forwarding and I found out that if you enable for example CF VoiceBusy and then CF VoiceUnconditional, the VoiceBusy is still according to ofono enabled. This of course as such isn't so bad but by using org.ofono.SupplementaryServices to query the CF states ofono gives different response i.e. now only the VoiceUnconditional is enabled and then I can disable only the VoiceUnconditional by using the org.ofono.SupplementaryServices and when doing so I found out that now ofono thinks that no CF is enabled even though VoiceBusy is actually active.

Now to fix this there exists multiple solutions I believe, here's some that I came up.
1:Ofono could send query to modem/network for all the CF values when ever voice unconditional value is changed. The good side in this is that ofono would definetly be up to date.

2:Have separate status value internally and change that accordingly. E.g<property>  <number to>  <status>  and return<number to>  to client when<status>  == 1. Change any conditional<status>  to 0 if unconditional<status>  == 1 without touching the<number to>  field and when unconditional<status>  is changed to 0 change all conditional<status>  to 1 if respecting<number to>  exists. This would of course be much faster however I'm not sure how tedious this would be to implement.

3:Whenever unconditional value is changed, empty the internal "CF cache" i.e. remove all the conditional values all together or set "cache flag" to 0 and thus forcing the query to be made to modem/network.This should be as good as option 1 except the queries are made only when client needs it. Although the assumption is that client queries the properties after changing them(otherwise the client remains in wrong state). So depending on how the client's been implemented might result on system level to same behavior as option 1.

As I said these are what quickly came to my mind so there might be other solutions as well. So the reason for this posting is to raise discussion on what would be the correct way to fix this?

-Jarko-


             reply	other threads:[~2011-01-11 10:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-11 10:00 Jarko Poutiainen [this message]
2011-01-11 15:16 ` Ofono CF states not always correct Denis Kenzior
2011-01-14 13:20   ` Jarko Poutiainen
2011-01-14 15:59     ` Denis Kenzior
2011-01-18 12:21       ` Jarko Poutiainen
2011-01-18 15:56         ` Denis Kenzior
2011-01-18 21:08           ` Pekka Pessi
2011-01-18 21:24             ` Denis Kenzior
2011-01-18 21:32               ` Pekka Pessi
2011-01-18 21:50                 ` Denis Kenzior
2011-01-18 22:08                   ` Pekka Pessi
2011-01-26  9:14                   ` Jarko Poutiainen
2011-01-26 19:10                     ` Denis Kenzior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D2C2A4A.80604@tieto.com \
    --to=jarko.poutiainen@tieto.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.