SINGAPORE EXPATS FORUM
Singapore Expat Forum and Message Board for Expats in Singapore & Expatriates Relocating to Singapore
The IDD Trap
The IDD Trap
Introduction
I am a mobile customer of M1 Limited. I am paying subscription charges of SGD43.64 which includes $5 SGD towards IDD 021 saver. M1 claims that its IDD 021 gives you savings of up to 77% on international call rates (compared with SingTel 013).
M1 gives you an IDD saver on IDD 021. If you opt for this saver all the IDD calls made with prefix 021 will be charged under local outgoing voice calls. To dial an international number you have to dial 021 - <ISD> - <Area> - <Phone> e.g. if I have to call a number 987654321 in India I will have to dial 021-91-987654321. So in the contacts of my hand phone I had stored the numbers of my friends and relatives in India as 021-91-phone_number.
M1 also has one more IDD plan called IDD 002. IDD 002 is premier IDD service from M1.
The Trap
When you receive IDD calls the phone displays you the correct name of the caller. M1 claims that such IDD incoming calls has no prefix like 021 / 002 in the caller id, the caller id received by the phone is <ISD> - <Area> - <Phone>. If what M1 claims are genuine; how that is my phone picks up the correct name which I have stored with prefix 021?
If you call a number from the phone history and it happens to be a received IDD call to my surprise even when you have not dialed 002 as prefix, the IDD call will by default get routed through IDD 002. In other words M1 will apply the charges of IDD 002 to IDD calls without a prefix. This is how you end up paying heavy phone bills. M1 aspects you to go to your contacts and search the person each time you want to make a call.
Some technical findings
After some Googling on the Internet I have learned a little on the logic used by the phones to mach names in the contacts database.
The issue stems with the differences in which the same number can be stored, and given. For example in the US, they often have 7 digits dialing in some areas, but 10 digits are standard. Further confusing is that a valid number can contain the country code, giving an 11 – 13 digit number!
When do lookups this is difficult because if a user stores a 7 digit number, but the incoming call registers that person with a 10 digit number, they won't match in the naive matching approach. Of course this keeps getting more complicated as when a number received as an 13 digit vs. 10 digit seems to vary.
It’s not entirely well documented in the API, but you can tell that most phones stores all Phone numbers in the database with a key entry - reverse order digits only (i.e. 555-373-3034 becomes 4303373555). There is an API function call to reverse digits, and return the first few digits in reverse order, and is not surprisingly called "toCallerIdMinMatch". So using simple wildcard in the database lookup will yield any contact that has the same last digits.
Summary
I am sure the mobile companies know about this and if they want to work towards the benefit of the customer they can do so. However they are using this for generating bad profits.
I have decided now I will use phone cards only for IDD calls.
I am a mobile customer of M1 Limited. I am paying subscription charges of SGD43.64 which includes $5 SGD towards IDD 021 saver. M1 claims that its IDD 021 gives you savings of up to 77% on international call rates (compared with SingTel 013).
M1 gives you an IDD saver on IDD 021. If you opt for this saver all the IDD calls made with prefix 021 will be charged under local outgoing voice calls. To dial an international number you have to dial 021 - <ISD> - <Area> - <Phone> e.g. if I have to call a number 987654321 in India I will have to dial 021-91-987654321. So in the contacts of my hand phone I had stored the numbers of my friends and relatives in India as 021-91-phone_number.
M1 also has one more IDD plan called IDD 002. IDD 002 is premier IDD service from M1.
The Trap
When you receive IDD calls the phone displays you the correct name of the caller. M1 claims that such IDD incoming calls has no prefix like 021 / 002 in the caller id, the caller id received by the phone is <ISD> - <Area> - <Phone>. If what M1 claims are genuine; how that is my phone picks up the correct name which I have stored with prefix 021?
If you call a number from the phone history and it happens to be a received IDD call to my surprise even when you have not dialed 002 as prefix, the IDD call will by default get routed through IDD 002. In other words M1 will apply the charges of IDD 002 to IDD calls without a prefix. This is how you end up paying heavy phone bills. M1 aspects you to go to your contacts and search the person each time you want to make a call.
Some technical findings
After some Googling on the Internet I have learned a little on the logic used by the phones to mach names in the contacts database.
The issue stems with the differences in which the same number can be stored, and given. For example in the US, they often have 7 digits dialing in some areas, but 10 digits are standard. Further confusing is that a valid number can contain the country code, giving an 11 – 13 digit number!
When do lookups this is difficult because if a user stores a 7 digit number, but the incoming call registers that person with a 10 digit number, they won't match in the naive matching approach. Of course this keeps getting more complicated as when a number received as an 13 digit vs. 10 digit seems to vary.
It’s not entirely well documented in the API, but you can tell that most phones stores all Phone numbers in the database with a key entry - reverse order digits only (i.e. 555-373-3034 becomes 4303373555). There is an API function call to reverse digits, and return the first few digits in reverse order, and is not surprisingly called "toCallerIdMinMatch". So using simple wildcard in the database lookup will yield any contact that has the same last digits.
Summary
I am sure the mobile companies know about this and if they want to work towards the benefit of the customer they can do so. However they are using this for generating bad profits.
I have decided now I will use phone cards only for IDD calls.
-
- Reporter
- Posts: 549
- Joined: Thu, 03 Jan 2008 1:12 am
- Location: Singapore
Wow, are you serious? Your logic has so many flaws in it but let me just address two. Firstly, you get a discount for dialing out through 021. Period. Not receiving. Dialing out. So, call through 021, get a discounted rate. What is the trap?
Secondly, the name of the guy calling you has nothing to do with M1. At all. The match is completely between the number received and your phone's algorithm. Surely you don't expect M1 to add/alter numbers of incoming calls as it pleases? I don't even think that is legal. The DEFAULT just so happens to be 002, the non discounted regular IDD service.
And lastly (ok, one more), yes, M1 expects you to select the person you want to call from your phone book. This one baffles me. How more obvious could this be? The fact that your phone history is not the same number as your phone book again has nothing to do with M1. At all.
So here's a helpful suggestion off the top of my head that maybe you can try. Name the person you want to call with 021 as "John 021" and add another entry as John "002". Then just NOT dial anything with 002 in it. Perhaps this is a bit more convenient than swapping out sim cards each time you make an IDD call. Alternatively, just don't use the phone history for international calls.
Secondly, the name of the guy calling you has nothing to do with M1. At all. The match is completely between the number received and your phone's algorithm. Surely you don't expect M1 to add/alter numbers of incoming calls as it pleases? I don't even think that is legal. The DEFAULT just so happens to be 002, the non discounted regular IDD service.
And lastly (ok, one more), yes, M1 expects you to select the person you want to call from your phone book. This one baffles me. How more obvious could this be? The fact that your phone history is not the same number as your phone book again has nothing to do with M1. At all.
So here's a helpful suggestion off the top of my head that maybe you can try. Name the person you want to call with 021 as "John 021" and add another entry as John "002". Then just NOT dial anything with 002 in it. Perhaps this is a bit more convenient than swapping out sim cards each time you make an IDD call. Alternatively, just don't use the phone history for international calls.
Last edited by observer on Wed, 26 Jan 2011 9:04 pm, edited 1 time in total.
It's common sense - if you try to come in before I go out, I can't go out. And you can't come in! Lose-lose!
observer
Example
Name Number
Jhon 002 91987654321
Jhon 021 02191987654321
Incoming caller +91987654321, which name do you think your phone will pick up?
What I want to convey through this forum is to warn all users since the mobile companies don’t.
then is it legal to prefix outgoing calls with 002? Moreover your suggestion of storing names in the contacts won’t workSurely you don't expect M1 to add/alter numbers of incoming calls as it pleases
Example
Name Number
Jhon 002 91987654321
Jhon 021 02191987654321
Incoming caller +91987654321, which name do you think your phone will pick up?
What I want to convey through this forum is to warn all users since the mobile companies don’t.
- sundaymorningstaple
- Moderator
- Posts: 40003
- Joined: Thu, 11 Nov 2004 1:26 pm
- Location: Retired on the Little Red Dot
Don't most services now have free incoming calls anyway? If that's the case, be thankful they use the service with the best quality instead of connecting you via the cheapo line where voip is used.
SOME PEOPLE TRY TO TURN BACK THEIR ODOMETERS. NOT ME. I WANT PEOPLE TO KNOW WHY I LOOK THIS WAY. I'VE TRAVELED A LONG WAY, AND SOME OF THE ROADS WEREN'T PAVED. ~ Will Rogers
- ScoobyDoes
- Manager
- Posts: 1667
- Joined: Wed, 29 Nov 2006 6:42 pm
- Location: A More Lucky Spot
Tanmay wrote: then is it legal to prefix outgoing calls with 002? Moreover your suggestion of storing names in the contacts won’t work
Example
Name Number
Jhon 002 91987654321
Jhon 021 02191987654321
Incoming caller +91987654321, which name do you think your phone will pick up?
M1 will enter 002 as the outgoing dialling number where ever you have a '+' as this is their standard IDD service. Since 021 is not their standard and is an 'opt-in' cheaper service with lower quality and possibly a longer connect time you have to insert this each time you dial out, or have it set in the telephone number of your contact.
ALL service providers be it SingTel or Starhub etc. operate the same way.
You even say it yourself with:
and you use the words 'opt for' where it means opt-in for this case.M1 gives you an IDD saver on IDD 021. If you opt for this saver all the IDD calls made with prefix 021 will be charged under local outgoing voice calls.
Unfortunately for many of us that travel a lot we might find it tricky having double entries for name and numbers in the contacts where one number is set to include the 021 and the other just a '+' since if we have the 021 in the telephone number it will not work overseas and we'd have to take it out each time.
'When Lewis Hamilton wins a race he has to thank Vodafone whereas in my day I used to chase the crumpet. I know which era I'd rather race in.'
SIR Stirling Moss OBE
SIR Stirling Moss OBE
Who is online
Users browsing this forum: No registered users and 4 guests