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.
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!