Page 34 of 132 FirstFirst ... 142425262728293031323334353637383940414243445484 ... LastLast
Results 331 to 340 of 1316
Discuss [Solution] International/local caller ID matching at the iPhone "2G" (Rev. 1) - Hackint0sh.org; Originally Posted by aviegas "Recent Calls" will map all 3, so my "educated" guess is ...
  1. #331
    Senior Professional Array timschuerewegen's Avatar

    Join Date
    Aug 2007
    Location
    Belgium
    Posts
    450
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    34

    Default

    Quote Originally Posted by aviegas View Post
    "Recent Calls" will map all 3, so my "educated" guess is that the use the Equal call. The dialpad does not match the simple "local" number. So my "educated" guess *was* that they were using EqualStrict, but as proven they are not.
    Here are the methods inside MobilePhone that use CPPhoneNumbersEqual. My guess is that the dialpad code is part of a framework.

    class "SpeedDialView" method "viewWillBeDisplayedAfterPhoneCall:"
    class "RecentCall" method "initWithCTCall:givenCountryCode:"
    class "RecentCall" method "canCoalesceWithCall:givenCountryCode:"
    class "VoicemailView" method "viewWillBeDisplayedAfterPhoneCall:"
    class "VoicemailView" method "voicemailControlsView:buttonClicked:"


  2. #332
    The Man Array aviegas's Avatar

    Join Date
    Sep 2007
    Posts
    1,108
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    73

    Default

    Quote Originally Posted by baalbeck View Post
    my guess is apple did that on purpose.

    given you are roaming with your phone, when dialing the last option (4445555) you will not call your stored contact, but someone who has this phone number in the given city in that moment. that`s why it`s not intended to match.

    It matches the first two options, because it will actually call the stored contact propely.
    Well, they are at best inconsistent, because "Recent Calls" matches all 3 of them. Besides, this is a well known problem within the cellphone industry. There is not way to be 100% sure of the matching algorithm if roaming in included in the picture.

    If you take Apples approach, you will *never* match local number that are stored in a (valid) format with the NDD+areacode.

    On the other hand, if you take the x-rightmost digits approach, or the one I'm proposing (local numbers always match), then you risk a wrong match if and only if it happens that you receive/make calls to people in different towns with the same local number.

    One approach has a drawback that is 100% certain to happen: no match on local numbers (given that NDD+areacode is used). The other has a drawback that "may" happen.

    That's why the rest of the industry has adopted the x-rightmost digits approach. That rather have the local match and a possible roaming wrongful match, than no local matches at all.

    If we can hack AppSupport to do what I trying we will be in between both cases. Only very few cases will be a problem: you need to call someone that is not in your contacts from while roaming and this person has the same local part as someone else in your contacts. Receiving calls will work as they have the NDD+areacode.

    So this is much better that the x-rightmost approach and better than Apple's. And will work for other countries too, like US and Canada!

  3. #333
    Senior Professional Array timschuerewegen's Avatar

    Join Date
    Aug 2007
    Location
    Belgium
    Posts
    450
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    34

    Default

    The TelephonyUI framework uses CPPhoneNumberCopyActiveCountryCode, CPPhoneNumbersEqual and CPPhoneNumbersEqualStrict. I am going to disassemble it.

  4. #334
    The Man Array aviegas's Avatar

    Join Date
    Sep 2007
    Posts
    1,108
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    73

    Default

    Quote Originally Posted by timschuerewegen View Post
    Here are the methods inside MobilePhone that use CPPhoneNumbersEqual. My guess is that the dialpad code is part of a framework.

    class "SpeedDialView" method "viewWillBeDisplayedAfterPhoneCall:"
    class "RecentCall" method "initWithCTCall:givenCountryCode:"
    class "RecentCall" method "canCoalesceWithCall:givenCountryCode:"
    class "VoicemailView" method "viewWillBeDisplayedAfterPhoneCall:"
    class "VoicemailView" method "voicemailControlsView:buttonClicked:"
    That may be true.

    Since I'm not familiar with the ARM binaries, are the call names stored by name or id? I was thinking on searching the Frameworks for CPPhoneNumber or phoneNumber.

  5. #335
    Senior Professional Array timschuerewegen's Avatar

    Join Date
    Aug 2007
    Location
    Belgium
    Posts
    450
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    34

    Default

    MobilePhone uses the following TelephonyUI framework functions.

    TPAirplaneSheetCreate
    TPCallerNameForPeople
    TPCopyOrderedPeopleForNumberWithHint
    TPCopyPrimaryPersonForNumber
    TPNumberToDialForNumber

    CPPhoneNumbersEqualStrict is being used by TPCopyPrimaryPersonForNumber.

    CPPhoneNumbersEqual is being used by TPPhoneNumbersEqualCallback, TPStringForVoicemailNumber and TPCopyPrimaryPersonForNumber.

    Looks like I have to fully disassemble TPCopyPrimaryPersonForNumber and see how it works.


  6. #336
    The Man Array aviegas's Avatar

    Join Date
    Sep 2007
    Posts
    1,108
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    73

    Default

    Quote Originally Posted by timschuerewegen View Post
    The TelephonyUI framework uses CPPhoneNumberCopyActiveCountryCode, CPPhoneNumbersEqual and CPPhoneNumbersEqualStrict. I am going to disassemble it.
    Jesus, you are fast! I was looking into the frameworks and just found the same (I used grep to find it - on a Mac with the unencrypted install image for Oktoberfest).

  7. #337
    Senior Professional Array timschuerewegen's Avatar

    Join Date
    Aug 2007
    Location
    Belgium
    Posts
    450
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    34

    Default

    Quote Originally Posted by aviegas View Post
    Jesus, you are fast!
    That's what she said

  8. #338
    The Man Array aviegas's Avatar

    Join Date
    Sep 2007
    Posts
    1,108
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    73

    Default

    I was lookin at the functions inside TelephoneUI and found that there are more places that can potentiall interact with the number matching.

    TPCopyPrimaryPersonForNumber has a multi-match version TPCopyOrderedPeopleForNumber as well as other variations. There are cases on the dialpad that it matches more than one record, such as the one I have: my own record under home has the same number as entry "home" (that was all of my home phone numbers).

    So looking at the other code may help figuring it out too. I will give a look too, but since it's my first time with the ARM code, I do not think I will be too much... productive.

  9. #339
    The Man Array aviegas's Avatar

    Join Date
    Sep 2007
    Posts
    1,108
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    73

    Default

    Quote Originally Posted by timschuerewegen View Post
    MobilePhone uses the following TelephonyUI framework functions.

    TPAirplaneSheetCreate
    TPCallerNameForPeople
    TPCopyOrderedPeopleForNumberWithHint
    TPCopyPrimaryPersonForNumber
    TPNumberToDialForNumber

    CPPhoneNumbersEqualStrict is being used by TPCopyPrimaryPersonForNumber.

    CPPhoneNumbersEqual is being used by TPPhoneNumbersEqualCallback, TPStringForVoicemailNumber and TPCopyPrimaryPersonForNumber.

    Looks like I have to fully disassemble TPCopyPrimaryPersonForNumber and see how it works.
    TPCopyPrimaryPersonForNumber also uses CPPhoneNumbersEqual on one of the branches shortly after the call to the CPPhoneNumbersEqualStrict function, but I do not think it changes anything.

    Besides, if it calls just the "strict" entrypoint in AppSupport, why the 1->0 patch did not work?

  10. #340
    Senior Professional Array

    Join Date
    Oct 2007
    Posts
    473
    Post Thanks / Like
    Downloads
    0
    Uploads
    0
    Rep Power
    30

    Default

    I am about to upgrade to unlocked 1.1.2 but this whole thing is confusing me -

    Firstly my countrys int code is 3 digits +500

    We have no area codes and thus just use 5 numbered telephone numbers for both land lines and mobiles

    e.g. landline (+500) 21343
    Mobile (+500) 51343

    Im a bit scared to upgrade until I get this stuff sussed out - im not even sure if I can with a 3 digit international dialing code as most are 2.

    Anybody willing to point me in the right direction??

    PS - I live on a Island with 3000 people so im the only one likely to have an iPhone in my country!!


 

 

LinkBacks (?)

  1. 07-13-2009, 03:48 PM
  2. 03-17-2009, 03:51 PM
  3. 03-17-2009, 12:45 PM
  4. 03-17-2009, 12:43 PM
  5. 03-16-2009, 04:14 PM
  6. 02-14-2009, 03:43 PM
  7. 01-14-2009, 03:29 PM
  8. 01-14-2009, 02:08 PM

Similar Threads

  1. [1.1.3] International Caller ID Problem
    By GreatLicker in forum iPhone "2G" (Rev. 1)
    Replies: 3
    Last Post: 03-05-2008, 07:20 PM
  2. Replies: 106
    Last Post: 03-03-2008, 06:53 PM
  3. Caller ID for local numbers... is it possible?
    By nemesis1218 in forum Free Toolchain Software (Cydia App's)
    Replies: 4
    Last Post: 01-08-2008, 11:48 PM
  4. Replies: 21
    Last Post: 11-22-2007, 01:23 PM
  5. Matching contacts to UK caller ids?
    By jhrfc in forum General
    Replies: 7
    Last Post: 09-23-2007, 11:54 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Powered by vBulletin®
Copyright © 2014 vBulletin Solutions, Inc. All rights reserved.
Search Engine Friendly URLs by vBSEO
(c) 2006-2012 Hackint0sh.org
All times are GMT +2. The time now is 12:45 AM.
twitter, follow us!