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-

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

Reply via email to