**** BEGIN LOGGING AT Wed Oct 28 02:59:58 2009 Oct 28 16:32:36 denkenz: ping Oct 28 16:32:53 sabotage: pong Oct 28 16:33:09 o.o.VoiceCallManager.Dial question... Oct 28 16:33:22 appears to be returning an already existing path Oct 28 16:33:39 is this an at_modem/phonesim bug Oct 28 16:33:55 when you make a second call right? Oct 28 16:34:00 I think I saw this before Oct 28 16:34:01 yeah Oct 28 16:34:25 let me look, I should have a fix soon Oct 28 16:34:27 whereas, propchanged on call manager reports valid paths Oct 28 16:34:49 but I can't, dont want to wait for call manager prop change sigs Oct 28 16:34:51 ok Oct 28 16:35:48 * sabotage wonders if a fix will materialize in time for him to use it in todays release or does he need to hack a workaround? Oct 28 16:36:25 (i.e. test if path == exising, and if so, modify it to increment by one) Oct 28 16:36:29 X( Oct 28 16:36:35 * sabotage shivers at the thought Oct 28 16:37:27 sorry for the late notice, but I was chasing other, more fundamental issues and only discovered this last night (this morning) around 1am Oct 28 16:37:40 while deep testing multi call handling Oct 28 16:45:55 yeah, I saw this yesterday and wanted to fix it Oct 28 16:46:02 but was in the middle of doing something else Oct 28 16:46:24 sure thing... Oct 28 16:47:05 I was just digging deeper into multi-call state management and testing when I noticed this Oct 28 16:47:51 it seems to get set correctly by the time the VCM send the PropertyChanged signal Oct 28 16:48:05 So here's what happens Oct 28 16:48:20 so it looks like a timing issue with callbacks? Oct 28 16:48:25 You have an active call, and dial a new one Oct 28 16:48:26 oh Oct 28 16:48:33 * sabotage waits to be schooled Oct 28 16:48:57 so two things can happen, ofono core can get notified of the new call first, and then dial_callback gets called Oct 28 16:49:07 Or dial_callback gets called first Oct 28 16:49:37 If dial_callback is called first, we search to see if the notification of the new call already happened Oct 28 16:49:45 We search for dialing/alerting/active calls Oct 28 16:50:06 Problem is, we already had an active call before, so it is picking up that one :) Oct 28 16:50:36 oops Oct 28 16:50:51 yeah, thats exacly what I was seeing Oct 28 16:50:57 all call props were the same Oct 28 16:51:32 if I used 199 to simulate an incoming call, all was fine, since core was sending me the notice Oct 28 16:51:52 Yah, its only a problem if you dial then dial again Oct 28 16:51:59 If you put on hold first, it'll work Oct 28 16:52:11 so I could have a dial iniatiated and a signal created call, but not two dial initiated ones Oct 28 16:52:47 hmm, I am not putting it on hold explicitly Oct 28 16:52:54 The problem really is that the spec allows dialing with an active call Oct 28 16:52:58 was letting ofono manage that state for me Oct 28 16:53:20 So it gets a bit tricky to figure out what happened :) Oct 28 16:53:26 so if I hold first, you think I should get a valid path Oct 28 16:53:30 yes Oct 28 16:53:34 if so, I could workaround it for now Oct 28 16:53:44 ok Oct 28 16:53:48 will see what happens Oct 28 16:53:55 Let me think of a fix, it shouldn't be that hard, but I need to think it through Oct 28 16:54:05 For now holding the active call will do it Oct 28 16:54:20 what will(is) the officially sanctioned *ofono* recomendation on how to do this? Oct 28 16:54:20 And it is a safer choice anyway, some modems don't let you dial while a call is active Oct 28 16:54:28 kk Oct 28 16:54:43 * sabotage hurries back to fix bug and cut release Oct 28 19:40:21 sabotage: The problem should be now fixed upstream Oct 28 19:40:35 denkenz: coolio... Oct 28 19:40:53 your workaround sugggestion worked BTW... Oct 28 19:40:54 thanks Oct 28 19:43:38 no prob Oct 28 20:04:02 holtmann: In terms of performance, does textfile* stuff from BlueZ offer any advantages over g_key_file? Oct 28 20:05:15 It might, but I would not use it again. Oct 28 20:08:19 oh? Oct 28 20:11:56 holtmann: Btw, what was the reason you didn't want to keep GPRS attached while roaming? Oct 28 20:12:18 Depends on how the invoicing is setup. Oct 28 20:12:33 If it is based on GRPS attach or something stupid, you might use all your minutes. Oct 28 20:12:40 Also you could potentially save power. Oct 28 20:13:16 holtmann: True, but you are failing to realize that this only works for proper voice + data devices Oct 28 20:13:34 Data-only devices won't ever register to CSD network Oct 28 20:14:17 In case of data only devices that is fine, but most data only devices do register to CSD and at least allow SMS. Oct 28 20:14:58 So the question is, do we need to have the driver tell ofono what kind of device it is? Oct 28 20:17:08 We might wanna add a quirk for data only devices to the GPRS atoms. Oct 28 20:17:48 In which case we ignore RoamingAllowed and always attach? Oct 28 20:18:11 Most likely yes. Oct 28 20:19:10 denkenz: I removed more crap from phonesim.git. It will become a proper Qt app at some point. I have only a few useless headers left. Oct 28 20:19:37 And out of sudden the moc stuff makes more sense. Whoever build that initial tree had no idea what they were doing. Oct 28 20:20:09 The Qtopia tree was strange too Oct 28 20:20:23 It wasn't properly ported to Qt 4.x from Qt 2.x Oct 28 20:21:32 And you should be able to automake-ize the thing Oct 28 20:21:56 Just have to grep for Q_OBJECT and moc the files Oct 28 20:22:01 I am close now. Oct 28 20:22:11 Then take care of running uic on the .ui files Oct 28 20:29:12 qtopiaglobal.h and qtopiaipcmarshal.h are the only ones that are left now. Oct 28 20:29:19 And they are actually used. Oct 28 20:29:40 qtopiaipcmarshal, funny Oct 28 20:29:45 where? Oct 28 20:30:42 Feel free to cut the serialize/deserialize functions Oct 28 20:30:53 We don't use IPC inside phonesim, so they can easily go Oct 28 20:31:17 For some of the SIM and SMS stuff. Oct 28 20:31:44 You might wanna have a look. The rest of the repo is pretty clean now. Oct 28 20:50:46 Fuck I hate g++ and its cryptastic messages Oct 28 21:02:54 holtmann: Ok I got rid of qtopiaipcmarshal for you Oct 28 21:09:16 holtmann: And now qtopiaglobal.h is gone Oct 28 21:09:19 holtmann: Have fun Oct 29 00:25:17 zhenhua: hfp_release_specific is meant to work only on active calls / dialing / alerting calls, correct? Oct 29 00:28:04 denkenz: let me check Oct 29 00:28:52 should include incoming call Oct 29 00:28:55 i think Oct 29 00:29:17 how about held call? Oct 29 00:29:23 no, the core calls hangup for incoming calls Oct 29 00:30:43 According to HFP spec +CHUP only terminates the currently active call Oct 29 00:30:48 for hfp, they all use CHUP in standard Oct 29 00:31:10 Not held, unfortunately Oct 29 00:32:08 if core hangup incoming call by invoking hangup, i am not sure whether it's correct Oct 29 00:32:26 because use 0x3f as parameter, which means you hangup all calls Oct 29 00:32:36 but actually, it's not correct Oct 29 00:33:12 now i use +CIEV back status to verify it. Oct 29 00:33:31 callsetup = 0 then i know the call is released Oct 29 00:33:41 Hangup can only be used to hangup an incoming call Oct 29 00:33:48 If there's an incoming call, there are no other calls Oct 29 00:34:04 So 0x3f is correct in that case Oct 29 00:35:06 Note that the specs differ here, 27.007 is fairly ambiguous as to what CHUP does Oct 29 00:35:07 okay, i mean vd->call already point to it. Oct 29 00:35:22 Most likely it causes all held and active calls (except waiting) to be released Oct 29 00:35:41 in Hfp, that's not the case Oct 29 00:35:50 it should only release current one Oct 29 00:36:05 Actually it can release a multiparty call to Oct 29 00:36:09 too even Oct 29 00:36:56 really? Oct 29 00:37:21 Yes, If you have 4 parties on a mpty call and it is active, all 4 will be released Oct 29 00:37:29 mpty is treated as a single call Oct 29 00:38:14 Yes, so 27.007 is freaking ambiguous, it doesn't say what the behavior is Oct 29 00:38:26 This is why the core doesn't use CHUP much Oct 29 00:38:42 fortunately it's not for hfp Oct 29 00:38:59 when i test manager_hangup_all, it works and hangup each call one by one. :) Oct 29 00:39:10 okay, i got your point Oct 29 00:39:58 but you know, for hfp, if AG doesn't support enhanced call control, it only has CHUP to hang up calls Oct 29 00:40:06 I need to find myself a copy of V250 Oct 29 00:40:41 what's it Oct 29 00:41:05 The spec that defines ATA ATH ATD Oct 29 00:41:14 I never could nail down what ATH does :P Oct 29 00:41:34 okay, i will try if i can find it. :) Oct 29 00:42:09 why we have list_calls, but it never be used in core Oct 29 00:42:59 and i have another question about decode_at_error in atutil.c Oct 29 00:43:27 it never parse error code from result, but assign as 0. error->error = 0; Oct 29 00:45:15 Cuz I'm lazy Oct 29 00:45:18 On both questions ;) Oct 29 00:46:40 okay, i will try to fix them and send patch when it's ready Oct 29 00:47:05 and what is swap_without_accept? i see isimodem supports it while atmodem doesn't Oct 29 00:48:03 another question is about CLCC Oct 29 00:48:22 if AG's phone does NOT support CLCC, when shall we report error/warning? Oct 29 00:49:14 i would prefer probe stage because CLCC is important Oct 29 00:49:39 if AG doesn't support CLCC, it could only dial single call not multicall Oct 29 00:50:46 if AG doesn't support CLCC, we will not register +CCWA notification and do not allow him to dial another call during an existing call Oct 29 00:50:52 is that correct? Oct 29 00:59:53 swap_without_accept -> some vendors support this Oct 29 00:59:57 there is no standard command Oct 29 01:00:03 and running CLCC at init is fine Oct 29 01:00:30 If we can't find a more clever way to figure out what's going on, that's what we'll have to do Oct 29 01:02:33 in mpty call, if any line hangup the call by remote, you don't know which line since only callheld=0 or callsetup=0 is returned Oct 29 01:02:43 so you must query the status by CLCC Oct 29 01:03:02 the logic will not be correct without CLCC i think. Oct 29 01:04:06 even in single call, if AG dial out a call from phone, not from oFono, we don't know what happened, in that case, we also need CLCC to query that Oct 29 01:08:20 another question is related hfp_dial Oct 29 01:08:41 in atmodem, we can use +COLP to get call number and type from atd_cb Oct 29 01:09:24 but we don't have it in hfp, can we directly pass ofono_phone_number from hfp_dial to atd_cb Oct 29 01:10:12 because we know the exact phone number and type already Oct 29 01:50:07 denkenz: no comments? Oct 29 02:01:59 Well we don't really Oct 29 02:02:20 Besides, the core synthesizes the anyway Oct 29 02:03:03 sorry, not catch you Oct 29 02:03:36 core atom already stuffs the phone number into the call Oct 29 02:03:51 Only if COLP is actually provided does it update the number Oct 29 02:04:37 There's nothing wrong with hfp driver doing this, but only if it is actually necessary Oct 29 02:04:52 yes, i think it's necessary Oct 29 02:05:19 because no other way to get phone number without CLCC Oct 29 02:05:44 i am trying to save one more CLCC to fill phone number when we create_call **** ENDING LOGGING AT Thu Oct 29 02:59:57 2009