AT command to know own phone number

Sarwan picture Sarwan · Sep 22, 2014 · Viewed 47.4k times · Source

I have been working lately on AT commands testing. I had difficulties in finding the own number when the sim is not subscribed for SMS and voice calls(in some special cases where sim is used for lab experimenting). Is there any way to know own phone number using AT command. Say for airtel(india) the ussd code for own msisdn number is *121*9#. So if I dial ATD*121*9#, will I get the message displayed on AT command user interface. Or is there another way to know the own phone number? Help greatly appreciated.

Answer

Aman Burman picture Aman Burman · Jun 28, 2017

AT+CNUM returns the MSISDNs related to the subscriber.

But in many cases it will just return OK. This is because +CNUM command reads a special phone book storage area reserved for the SIM's own phone numbers. The service provider may or may not store the phone number for you.

If you want to read the MSISDN with the +CNUM command and it is not currently programmed, follow the procedure below (but please know that almost every other device has it's own set of rules for AT commands so it may vary from device to device, but the concept will be same): at+cnum?

+CME ERROR: unknown

at+cpbs? - display the active phonebook storage

+CPBS: "SM",250,250

OK

at+cpbs=ON - select the active phonebook storage to MSISDN list

OK

at+cpbs? - display the active phonebook storage,

+CPBS: "ON",0,3 - MSISDN list is empty

OK

at+cpbw=,"+918723976327" - enter your own MSISDN

OK

at+cpbs? - display the active phonebook storage,

+CPBS: "ON",1,3 - MSISDN list has one item

OK

at+cpbr=1 - reading MSISDN list, position 1

+CPBR: 1,"+918723976327",145,"" - own MSISDN

OK

at+cnum

+CNUM: ,"+918723976327",145 - own MSISDN

Hope this helps!