Calling Name Presentation
There are plenty of mobile subscriber services available to the end user already but wondering why most of these are not really used by anyone and some of them are not even known by end users. There are some exceptions like the Selective Ring Back Tone which conquered quite big audience in the recent past. If you are interested what mobile network feature will be the big hit of the next few years you definitely have to read this article.
As you probably already know it from the About page of from my CV, I’m currently working in the telecommunication industry. This topic is very far from my domain of interest if we view it very strictly, however, I managed to find the perfect thing what caught my attention during the last one and half year.
The problem with telecom software development is that you usually implement very specific network related functionalities that are not directly visible to the end user. This makes the whole development process a bit too abstract for me as I like much more practical things. Of course, these internals also have their important purpose, however, it is not the same thing as something you can see and play with on your mobile phone.
Fortunately I had luck and joined the company right before a very great service needed to be implemented. Yes, this is calling name presentation (CNAP for short). As the standard says: “Calling Name Presentation (CNAP) provides the name identification of the calling party (e.g., personal name, company name, “restricted”, “not available”) to the called subscriber”. This means in practice that when somebody calls you your phone will receive not just the number of the callee but also her name information if such is available. More specifically if somebody calls you, you can see her name even if she’s number is not in the contact list stored in your mobile device (note that the image on the left is just an illustration).
This information is got from a database which stores names associated with phone numbers. In real life one probably tells the desired name for herself when making the subscription contract, using some nasty SMS code or using some customer service line. Of course this is just what the standard tells but the actual implementation is much more comprehensive and it is improved all the time with additional features.
We developed the first version of the feature not much after I’ve joined the company with my then manager being the design architect of the feature from implementation point of view. Later he was promoted and left the development line so somebody had to take his place as the responsible of the feature. Fortunately at that time I was one of those who knew the implementation the most so I had the luck to take his place.
It quickly became obvious that CNAP will be a very popular service in the near future so we put huge efforts in promoting and improving it. Since that we made a much more refined version of CNAP and we continuously improve it and I really like that I have great effect on how the functionality evolves over time. I am really proud that I could take key position in developing such a robust new technology and I hope the great audience will like it.
| Print article | This entry was posted by Daniel Rákos on January 11, 2010 at 4:40 pm, and is filed under Programming, Telecommunication. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |

about 1 year ago
Hi,
This feature is really interesting.
Do you know what about terminal support? is it widely supported by mobile phone manufucturers?
Thanks,
br,
Mohamed
about 1 year ago
Yes, it is supported by many terminals, at least as far as I can tell.
Most of Nokia (all Symbians) and Sony Ericsson phones do support it, as well as Blackberry.
I’ve also seen it working on some other manufacturers, however, what I’ve seen is that it is not supported on Android and most probably neither on iPhone.
about 1 year ago
Hi Daniel,
do you think you could provie A-Bis traces for CNAP? Or at least answer if you have embedded the Invoke(notifySS) inside the SETUP message or inside a separate FACILITY message?
about 1 year ago
What I can tell is that relevant signalling protocol standards do support the sending of calling name inside the SETUP message as well as inside a separate FACILITY message.
about 1 year ago
CNAP support is included with Android (there’s quite a bit of code involving it), but is disabled by default (I haven’t a clue as to why). See the bug report for enabling it in Cyanogenmod: https://code.google.com/p/cyanogenmod/issues/detail?id=2666
Also, CNAP is not new. Canada’s Rogers cellular network has supported it for some time. Other carriers seem to not be interested as it allegedly costs 1/2 cent to implement per call, and there’s (supposedly) no user demand for it, see this article (from almost 4 years ago
) for more: http://www.wirelessweek.com/Archives/2007/05/Who-is-Calling-My-Cell-Phone-/
about 1 year ago
I added CNAP creation and embedding code into OpenBSC (http://openbsc.osmocom.org/trac/). From the tests of that code with phones it appears that CNAP is not shown if the caller is inside the phonebook. Maybe it is something with the notifySS-Arg or the place (embedded in the Facility of a SETUP Message).
about 1 year ago
Yes, we also observed the issue. In fact the device’s phonebook has priority over the received calling name in the facility of the setup message. At least, this is how it is implemented in current cell phones.
Actually, there is little to no possibility to solve the issue unless the network sends the CNAP information without sending the associated CLI number. That way the mobile is unable to identify the callee thus cannot override the received name with the stored one.
about 1 year ago
I also played with calling name presentation for the calling number but that didn’t do anything. Not sending the number is okay as long as one could somehow send the calling number later, but that seems to be not possible…
about 7 months ago
Hi,
Do you have an update list of mobile phones with CNAP support?
Regards,
Burak
about 6 months ago
Just for the record, OpenBSC (http://openbsc.osmocom.org) has gained routines to create CNAP messages for quite some time.
about 6 months ago
@Burak Calkivik
Sorry, I don’t have any list of CNAP enabled phones, but I know that many Nokia and Sony Ericsson phones, Blackberry phones and the iPhone supports it.
@Holger Freyther
Just for clarification: that’s one thing the BSC supports it and it is another thing whether the MSS or other mobile application server supports it.
about 6 months ago
OpenBSC is a bit of a wrong name. It can be a classic BSC (osmo-bsc), but it also comes with a binary that is BSC/HLR/VLR/MSC/AuC/SMSC… in one (we call it osmo-nitb). In osmo-nitb we can generate Facility IEs for Call Control.
about 6 months ago
Well, then it seems that the open source community is pretty ahead in telco as well