简体   繁体   中英

AT command to know own phone number

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应该返回您自己的电话号码。

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!

If everything else fails, another option is to try to send an SMS to yourself. In my case it worked flawlessy.

AT+CMGF=1
OK
AT+CMGS="my mobile number"
> This is a test.
>
+CMGS: 119

You should end the SMS message with CTRL Z .

Information from the standard AT command set, available from 3GPP

AT+CNUM returns the subscriber number - but implementation of this AT command is optional.

You can also use the AT commands for USSD transactions, eg +CUSD Section 7.15 of TS 27.007 and related commands, to get the subscriber number.

Set command allows control of the Unstructured Supplementary Service Data (USSD > 3GPP TS 22.090 ).
0 - disable the result code presentation in the DTA
1 - enable the result code presentation in the DTA
2 - cancel an ongoing USSD session (not applicable to read command

Set command selects phonebook memory storage , which will be used by other phonebook commands.
"ON" - SIM own numbers (MSISDNs) phonebook (+CPBF is not applicable for this storage).

Execution command returns phonebook entries in location number range .. from the current phonebook memory storage selected with +CPBS. If is omitted, only location is returned.

Reponse:
+CUSD: 2,"",15
+CUSD: 2,"05551234567",15

On my phone:

at+cpbs=?

+CPBS: ("SM","DC","MC","ME","RC","EN")

SM = SIM
MC = LAST DIALED NUMBERS
ME = Mobile equipment
RC = Received calls EN = Emergency numbers

but no ON

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM