r***@cox.net
2007-12-10 01:28:08 UTC
I have found a problem with the rewriting of the /pim/pbnumber.dat file by Bitpim for the VX5400 (using Bitpim version 1.0.3.20071206). This problem affects the caller-id lookup for a contact, and it may affect other phones (VX8550 descendents).
The field in question is pnfileentry.unk1 (p_lgvx8550.py). On the VX5400, this field (1 byte in size) is 0-based and is supposed to be incremented for each pnfileentry having the same pe_id (same phonebook entry). Right now, Bitpim writes a 0. The field appears to be a phonebook entry number id (0 based, unique and sequential, but not specific to the phone number type -- home, work, mobile1, etc). For example, for the first phone number of a contact, the field should be 0. For the next phone number of the same contact, the field should be 1, etc.
The field is needed in the VX5400 (and possibly other phones) to correctly lookup the caller-id information when a contact calls the phone. After Bitpim overwrites the pbnumber.dat file (with 0's in this field for all of the contact's <PN> records), a call coming in from the contact will show the phone number of the contact's first <PN> record found in pbnumber.dat, rather than showing the actual phone number the contact is calling from. For example, if (after Bitpim has overwritten the pbnumber.dat file) the home phone number for a contact is the 1st <PN> record (for that contact) in pbnumber.dat, a phone call from the contact's cell phone (or from any phone associated with the contact -- cell phone 2, work, fax) will show the caller-id as a call from the contact's home phone. If I manipulate the pbnumber.dat file and assign sequential numbers to the field in question (I'll call it pen_id) for each of the contact's <PN> records, the caller-id for subsequent calls from the contact will be correct. Also, if I just resave the contact info (with or without changes) using the phone (after Bitpim has overwritten the pbnumber.dat file), the phone will automatically re-number the pen_id fields (for that contact only), and the caller-id (for that contact) will be correct.
Is it possible to 0-base and increment this field (unk1 or pen_id) for each phone number of the contact before Bitpim overwrites pbnumber.dat?
I'm still working on the ringerid/pictureid problem for the VX5400. I'm pretty sure I understand what is happening, but I'd like to figure out a solution before I describe what I think is the problem.
Thanks.
Ron
The field in question is pnfileentry.unk1 (p_lgvx8550.py). On the VX5400, this field (1 byte in size) is 0-based and is supposed to be incremented for each pnfileentry having the same pe_id (same phonebook entry). Right now, Bitpim writes a 0. The field appears to be a phonebook entry number id (0 based, unique and sequential, but not specific to the phone number type -- home, work, mobile1, etc). For example, for the first phone number of a contact, the field should be 0. For the next phone number of the same contact, the field should be 1, etc.
The field is needed in the VX5400 (and possibly other phones) to correctly lookup the caller-id information when a contact calls the phone. After Bitpim overwrites the pbnumber.dat file (with 0's in this field for all of the contact's <PN> records), a call coming in from the contact will show the phone number of the contact's first <PN> record found in pbnumber.dat, rather than showing the actual phone number the contact is calling from. For example, if (after Bitpim has overwritten the pbnumber.dat file) the home phone number for a contact is the 1st <PN> record (for that contact) in pbnumber.dat, a phone call from the contact's cell phone (or from any phone associated with the contact -- cell phone 2, work, fax) will show the caller-id as a call from the contact's home phone. If I manipulate the pbnumber.dat file and assign sequential numbers to the field in question (I'll call it pen_id) for each of the contact's <PN> records, the caller-id for subsequent calls from the contact will be correct. Also, if I just resave the contact info (with or without changes) using the phone (after Bitpim has overwritten the pbnumber.dat file), the phone will automatically re-number the pen_id fields (for that contact only), and the caller-id (for that contact) will be correct.
Is it possible to 0-base and increment this field (unk1 or pen_id) for each phone number of the contact before Bitpim overwrites pbnumber.dat?
I'm still working on the ringerid/pictureid problem for the VX5400. I'm pretty sure I understand what is happening, but I'd like to figure out a solution before I describe what I think is the problem.
Thanks.
Ron