On Tue, 14 Apr 2009 23:25:56 +0200 Franky Van Liedekerke <liede...@telenet.be> wrote:
> On Tue, 14 Apr 2009 22:30:28 +0200 > Sander van Grieken <san...@3v8.net> wrote: > > > On Tuesday 14 April 2009 21:54:53 Franky Van Liedekerke wrote: > > > Maybe the latest version is ok again, but it is IMPOSSIBLE TO TEST > > > since ssh no longer works. Surely somebody must notice this, or is > > > nobody even using these images? > > > > Yeah I noticed too, but I assumed I b0rked my build system, since I > > tried to use the SHR overlay manually.. also, X didn't start > > anymore, that's when I noticed SSH didn't work. > > > > but, while waiting for the entire rebuild to finish, I'm taking a > > look at the commits since April 4 :) > > well, I don't know, but reverting to that kernel+rootf fixed the > incoming SMS when suspended thing. > But now the whole missed-call comes flying back to me: whenever I > answer a call, the second after I pressed "answer", a new call > notification pops up saying I have the same incoming call. > Seems like a timing issue to me ... propably something in > qmodemcallprovider.cpp that should be redefined in vendor_neo.cpp > > Franky > ok, for those curious: I've put online a AT-listing of a missed call: http://users.telenet.be/liedekef/missedcall.txt The scenario is this: call the device from another line, answer the call and watch a notification for a second call arrive (sometimes). The AT commands in the text file are of course the results of both calls, so it can be a bit confusing. Although the AT-call "ATA" should give you a hint that the device in the end thinks there is only one active call (otherwise it would be AT+CHLD=2). I think the cause of the problems lies in the function void QModemCallProvider::clccIncoming() in the file src/libraries/qtopiaphonemodem/qmodemcallprovider.cpp Specifically this part seems to be the culprit: if ( callType.isEmpty() ) { // We could not determine the call type, so the incoming call // has probably disappeared. Flag it as a missed voice call. d->incomingCallType = "Voice"; // No tr announceCall(); d->missedTimer->stop(); missedTimeout(); } else { This part makes sure that for a call that can't be identified, the call gets announced and then flagged as being missed, exactly what I see in the logfile. Now I don't get this: why flag an dissapeared call of unknown type as voice and missed call? >From what I can see, this code should be: if ( callType.isEmpty() ) { // We could not determine the call type, so the incoming call // has probably disappeared. Ignore it. stopRingTimers(); } else { Any comments on this? Ok, the fact that the modem sends an extra RING after the call is accepted is probably because it's a bit slow sometimes (or the RING arrives a bit too slow). Franky _______________________________________________ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community