Ticket #840 (closed defect: fixed)
Lack of CalledID on incoming calls when phone send it
| Reported by: | hrw@… | Owned by: | thomas@… |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | openmoko-dialer | Version: | current svn head |
| Severity: | normal | Keywords: | |
| Cc: | buglog@…, Tuukka.Hastrup@… | Blocked By: | |
| Blocking: | Estimated Completion (week): | ||
| HasPatchForReview: | PatchReviewResult: | ||
| Reproducible: |
Description
Sometimes I am getting CallerID when I call to Neo1973 and sometimes I do not.
From my checking it looks like on first call from Phone1 I have CID shown
properly and it is not shown on next call from Phone1. But if I call from
Phone2 then CID is shown - not not for next calls from Phone2.
So it looks like this:
- Phone1 - CID
- Phone1 - no CID
- Phone2 - CID
- Phone2 - no CID
- Phone1 - CID
- Phone2 - CID
- Phone2 - no CID
- Phone2 - no CID
"libgsmd-tool -m atcmd" shows that for each call CalledID was present.
Attachments
Change History
comment:2 Changed 6 years ago by Tuukka.Hastrup@…
- Cc Tuukka.Hastrup@… added
While I was testing the dialer, I had a look at this too. First incoming call
after gsmd restart shows the caller:
(openmoko-dialer:1431): DEBUG: mokogsmd setup
EVENT: Incoming Call Progress: SETUP
(openmoko-dialer:1431): DEBUG: mokogsmd setup
EVENT: Incoming Call Progress: SETUP
EVENT: Incoming call type = 2
EVENT: Incoming call clip = "+358405922923"
EVENT: Incoming Call Progress: SYNC
(openmoko-dialer:1431): DEBUG: Playing
(openmoko-dialer:1431): DEBUG: Incoming Number = "+358405922923"
(openmoko-dialer:1431): DEBUG: mokogsmd sync
(openmoko-dialer:1431): DEBUG: Playing done
Second incoming call from the same number doesn't show the caller:
(openmoko-dialer:1431): DEBUG: mokogsmd setup
EVENT: Incoming Call Progress: SETUP
(openmoko-dialer:1431): DEBUG: mokogsmd setup
(openmoko-dialer:1431): DEBUG: Playing
(openmoko-dialer:1431): DEBUG: mokogsmd sync
EVENT: Incoming Call Progress: SETUP
EVENT: Incoming call type = 2
EVENT: Incoming call clip = "+358405922923"
EVENT: Incoming Call Progress: SYNC
(openmoko-dialer:1431): DEBUG: Playing done
(openmoko-dialer:1431): DEBUG: Playing
(openmoko-dialer:1431): DEBUG: 1500 timeout
(openmoko-dialer:1431): DEBUG: Playing done
In both cases, gsmd prints the "clip", but in the second case, openmoko-dialer
doesn't.
The issue seems to be the logic in moko-dialer.c function on_incoming_clip.
There, GDK_CURRENT_TIME is used as if it was an actual time value, although it's
defined as 0L. Thus, the time stamp should be gotten some other way for this to
work as intended.
Further, some other means than checking for time difference < 1500 ms could be
more meaningful. I mean, is what we want something like "always send the CLIP if
one wasn't sent for this call already"?
Changed 6 years ago by roman.moravcik@…
- Attachment fix_clip_issue.patch added
Fix displaying incoming CLIP
comment:3 Changed 6 years ago by thomas@…
- Status changed from new to closed
- Resolution set to fixed
I've committed a modified version of Roman's patch (modified to free the old
clip if necessary). I've tested a little and it seems to now work quite well.
Please re-open this bug if you still have the issue after upgrading.

Can you also check the output from openmoko-dialer? It currently should write
some debug messages when it receives a CLIP. If it receives one but does not
display it, then it is a dialer bug. If it sometimes doesn't receive a clip,
this could be a bug elsewhere (libmokogsmd for example).