GreGorGy
BULLSFAN
I'm a mobile Objective C developer. The networks are notified via USSD-42 of the charges, they then charge that into your defactored call rate. The networks get a faunal commission on the protocol forwarding rate - differing per network.
Oh FFS! OP: Prof is about the only one here telling the truth. I do USSD development for OSX platforms and I can confirm the above. The amount of BS and misunderstanding in this topic is stupendous.
ALL smart phones use varying degrees of proprietary intelligence to route their their data and voice operations. Apple has long been catering almost exclusively to a first world market where the cost of data is negligible - next to nothing. Blackberry and Nokia have made their fortunes in third world markets where terms like "convergence" mean nothing to the average user.
Samsung have been picking up apple's stompies (and pïss poor practices) for years. The easiest way to understand this is as follows:
(1) Apple uses their integrated, converged products like iCloud/MobileMe to store almost all of the functionality on your phone.
(2) Samsung et al (the androids) do the same with products like Gmail.
(3) Blackberry and Nokia have smarter in-device storage technologies or better-managed data compression techniques (like BIS).
When you make a call, iPhones and Androids need to interact with the off-site operational databases just to connect the damn things and often use extended USSD data sets to retrieve this data (for instance, when 3G/Edge is unreliable). These extended USSDs are charged at R0.20 per 20 seconds (not per second, remember) just like those *999*xxx# competitions. So a call on an iPhone actually routes the call through USSD structures.
The good news is you can bypass these structures by dialling your number differently. The bad news is this prevents your ID from transmitting. Here's what happens:
iPhone/Samsung: call a friend on 082 345 6789. Calls goes to cloud structures and is tagged as you. Call rings through to friend and your number is shown. An extra 20c/20secs is charged.
Avoiding it: type #31#082 345 6789 and dial. The phone rings on the other side without using the 20c USSD interface but caller ID is withheld. Try it. Dial #31# before a number and you will see.