GSM AT Commands

The list below was taken from here, a fairly old reference based on the Ericsson T39, a fairly old - but very stable - phone.

These days there are many more bearer variants (like the +CBST command and the omnipresent +CGDCONT=<CID#>,"IP","<APN name>" for GPRS setup), but sometimes you need that odd string that is not part of the ancient Hayes vocabulary and not part of the modern GPRS-oriented config, so I thought I'd keep these around.

Mind you, if you're not technically minded and are just trying to get Mac OS X to work with your GPRS phone, the simplest way is to grab a copy of the excellent GPRS Script Generator, which comes with an oodle of presets for GSM networks around the world.

If you're in a hurry and you're a Geek, then once you know the GPRS APN you want to connect to, most phones will take AT+CGDCONT=1,"IP","<APN name>" and connect via GPRS if you enter *99# (or *99***1#) as the number to dial.

(The +CGDCONT command above creates Connection ID - also known as CID in GSM parlance - number 1, which usually clobbers the default CID in SonyEricsson phones, so be prepared for some breakage. You can also - on some phones - query the defined CIDs by issuing AT+CGDCONT? and the supported modes by using AT+CGDCONT=?, but it's probably best to try to figure out which CIDs are already defined in your phone before fiddling around...)

The most complete reference of GPRS AT Commands is the 3GPP Technical Specification 27.007. The latest version I know of is here, but make sure you check the Rel-7 directory too.

'1.1 - Oct.2001
'
'According to ITU-T V.25ter (07/97):
'only the commands which effect GSM/UMTS
'6.1.8 ISO system global object identification
AT+GOI
ERROR

'6.1.9 Overall capabilities of TA
AT+GCAP
+GCAP: +FCLASS, +CGSM, +DS

'6.1.10 Selects the country of installation
AT+GCI=?
ERROR

'6.2.10 Fixed TE data rate
AT+IPR=?
+IPR: (0,300,1200,2400,4800,9600,14400,19200,28800,38400,57600,115200,230400,460800)

AT+IPR?
+IPR: 0

'6.2.11 Character framing
AT+ICF=?
+ICF: (0-6),(0-3)

AT+ICF?
+ICF: 3,3

'6.2.12 Flow control
AT+IFC=?
+IFC: (0-3),(0-2)

AT+IFC?
+IFC: 2,2

'6.2.13 Data rate
AT+ILRR=?
+ILRR: (0,1)

AT+ILRR?
+ILRR: 0

'
'According to TIA IS-101:
'only one command which effect GSM/UMTS used here
'C.2.1 Select mode
AT+FCLASS=?
0,1,2

'
'According to PCCA STD-101:
'Select wireless network
AT+WS46=?
+WS46: (12,240)

AT+WS46?
+WS46: 12

'
'According to 3GPP TS 27.007 version 4.2.0:
'5.1 Request manufacturer identification
AT+GMI
Ericsson

AT+CGMI
ERICSSON

'5.2 Request model identification
AT+GMM
T39

AT+CGMM
1130102-BVT39m

'5.3 Request revision identification
AT+GMR
R2M         prgCXC125147_TAE

AT+CGMR
R2M         CXC125268

'5.4 Request product serial number identification
'not used here, for privacy reasons
AT+CGSN=?
OK

'5.5 Select TE character set
AT+CSCS=?
+CSCS: ("GSM","IRA","8859-1","ERICSSON","UTF-8")

AT+CSCS?
+CSCS: "GSM"

'5.6 Request international mobile subscriber identity
'not used here, for privacy reasons
AT+CIMI=?
OK

'5.7 Multiplexing mode
AT+CMUX=?
+CMUX: (0),(0),(1-7),(31),(10),(3),(30),(10),(1-7)

AT+CMUX?
+CMUX: 0,0,1,31,10,3,30,10,2

'6.1 Select type of address
AT+CSTA=?
ERROR

AT+CSTA?
ERROR

'6.4 Call mode
AT+CMOD=?
+CMOD: (0-1)

AT+CMOD?
+CMOD: 0

'6.5 Hangup call
AT+CHUP=?
OK

'6.7 Select bearer service type
AT+CBST=?
+CBST: (0,4,6-7,12,14-16,68,70-71,75,79-83),(0),(1)

AT+CBST?
+CBST: 0,0,1

'6.8 Radio link protocol
AT+CRLP=?
+CRLP: (0-61),(0-61),(38-100),(0-255),(0,1)
+CRLP: (0-496),(0-496),(38-100),(0-255),(2),(3-10)

AT+CRLP?
+CRLP: 61,61,48,6,0
+CRLP: 120,120,48,6,2,3

'6.9 Service reporting control
AT+CR=?
+CR: (0,1)

AT+CR?
+CR: 0

'6.10 Extended error report
AT+CEER=?
OK

'6.11 Cellular result codes
AT+CRC=?
+CRC: (0,1)

AT+CRC?
+CRC: 0

'6.12 HSCSD device parameters
AT+CHSD=?
OK

AT+CHSD
+CHSD: 2,2,1,3,12

'6.13 HSCSD transparent call configuration
AT+CHST=?
ERROR

AT+CHST?
ERROR

'6.14 HSCSD non-transparent call configuration
AT+CHSN=?
+CHSN: (0-4),(0-2),(0-2),(4,8,12)

AT+CHSN?
+CHSN: 1,1,0,4

'6.15 HSCSD current call parameters
AT+CHSC=?
OK

AT+CHSC?
ERROR

'6.16 HSCSD parameters report
AT+CHSR=?
+CHSR: (0,1)

AT+CHSR?
+CHSR: 0

'6.17 HSCSD automatic user initiated upgrading
AT+CHSU=?
+CHSU: (0,1)

AT+CHSU?
+CHSU: 0

'6.18 HSCSD non-transparent asymmetry configuration
AT+CHSA=?
ERROR

AT+CHSA?
ERROR

'6.19 Single numbering scheme
AT+CSNS=?
ERROR

AT+CSNS?
ERROR

'6.20 Voice Hangup Control
AT+CVHU=?
+CVHU: (0-2)

AT+CVHU?
+CVHU: 2

'6.21 V.120 rate adaption protocol
AT+CV120=?
ERROR

AT+CV120?
ERROR

'6.22 Settings date format
AT+CSDF=?
ERROR

AT+CSDF?
ERROR

'6.23 Silence Command
AT+CSIL=?
ERROR

AT+CSIL?
ERROR

'6.24 Settings time format
AT+CSTF=?
ERROR

AT+CSTF?
ERROR

'7.1 Subscriber number
'not used here, for privacy reasons
AT+CNUM=?
OK

'7.2 Network registration
'not used here, for privacy reasons
AT+CREG=?
+CREG: (0-1)

'7.3 Operator selection
'not used here, for speed reasons
AT+COPS?
+COPS: 0,0,"E-PLUS"

'7.4 Facility lock
AT+CLCK=?
+CLCK: ("CS","PS","SC","P2","AO","OI","OX","AI","IR","AB","AG","AC")

'7.5 Change password
AT+CPWD=?
+CPWD: ("PS",8),("SC",8),("P2",8),("AO",8),("OI",8),("OX",8),("AI",8),("IR",8),("AB",8),("AG",8),("AC",8)

'7.6 Calling line identification presentation
AT+CLIP=?
+CLIP: (0-1)

'7.7 Calling line identification restriction
AT+CLIR=?
+CLIR: (0-2)

'7.8 Connected line identification presentation
AT+COLP=?
ERROR

'7.9 Called line identification presentation
AT+CDIP=?
ERROR

'7.10 Closed user group
AT+CCUG=?
ERROR

'7.11 Call forwarding number and conditions
AT+CCFC=?
+CCFC: (0-5)

'7.12 Call waiting
AT+CCWA=?
+CCWA: (0-1)

AT+CCWA?
+CCWA: 0

'7.13 Call related supplementary services
AT+CHLD=?
+CHLD: (0-4,11-16,21-26)

'7.14 Call deflection
AT+CTFR=?
ERROR

'7.15 Unstructured supplementary service data
AT+CUSD=?
+CUSD: (0-1)

AT+CUSD?
+CUSD: 0

'7.16 Advice of Charge
AT+CAOC=?
+CAOC: (0)

AT+CAOC?
+CME ERROR: 4

'7.17 Supplementary service notifications
AT+CSSN=?
+CSSN: (0-1),(0-1)

AT+CSSN?
+CSSN: 0,0

'7.18 List current calls
'not used here, for privacy reasons
AT+CLCC=?
ERROR

'7.19 Preferred operator list
'not used here, for privacy reasons
AT+CPOL=?
ERROR

'7.20 Selection of preferred operator list
AT+CPLS=?
ERROR

AT+CPLS?
ERROR

'7.21 Read operator names
'not used here, for privacy reasons
AT+COPN=?
ERROR

'7.22 eMLPP Priority Registration and Interrogation
'not used here, for privacy reasons
AT+CAEMLPP=?
ERROR

'7.23 eMLPP subscriptions
AT+CPPS=?
ERROR

'7.24 Fast call setup conditions
'not used here, for privacy reasons
AT+CFCS=?
ERROR

'7.25 Automatic answer for eMLPP Service
'not used here, for privacy reasons
AT+CAAP=?
ERROR

'7.26 User to User Signalling Service 1
AT+CUUS1=?
ERROR

AT+CUUS1?
ERROR

'8.1 Phone activity status
AT+CPAS=?
+CPAS: (0,3,4,129,130,131)

'8.2 Set phone functionality
AT+CFUN=?
+CFUN: (0-1)

AT+CFUN?
+CFUN: 1

'8.3 Enter PIN
AT+CPIN?
+CPIN: READY

'8.4 Battery charge
AT+CBC=?
+CBC: (0-2),(0-100)

'8.5 Signal quality
AT+CSQ=?
+CSQ: (0-31,99),(0-7,99)

'8.6 Mobile Equipment control mode
AT+CMEC=?
ERROR

AT+CMEC?
ERROR

'8.7 Keypad control
AT+CKPD=?
OK

'8.8 Display control
AT+CDIS=?
ERROR

'8.9 Indicator control
AT+CIND=?
+CIND: ("battchg",(0-5)),("signal",(0-5)),("batterywarning",(0-1)),("chargerconnected",(0-1)),("service",(0-1)),("sounder",(0-1)),("message",(0-1)),("call",(0-1)),("roam",(0-1)),("smsfull",(0-1))

'8.10 Mobile Equipment event reporting
AT+CMER=?
+CMER: (0,3),(0,2),0,(0-1),0

AT+CMER?
+CMER: 0,0,0,0,0

'8.11 Select phonebook memory storage
AT+CPBS=?
+CPBS: ("ME","SM","DC","FD","MC","MV","RC","HP","BC")

AT+CPBS?
+CPBS: "SM"

'8.12 Read phonebook entries
AT+CPBR=?
+CPBR: (1-100),80,17

AT+CPBR?
ERROR

'8.13 Find phonebook entries
AT+CPBF=?
+CPBF: 80,17

'8.14 Write phonebook entry
AT+CPBW=?
+CPBW: (1-100),80,(128-255),17

'8.15 Clock
AT+CCLK=?
OK

AT+CCLK?
+CCLK: "01/10/27,16:00:45+04"

'8.16 Alarm
AT+CALA=?
+CALA: (1-2),(),(),(13),()

AT+CALA?
OK

'8.17 Generic SIM access
AT+CSIM=?
ERROR

'8.18 Restricted SIM access
AT+CRSM=?
ERROR

'8.19 Secure control command
AT+CSCC=?
+CSCC: (1-2),(199)

'8.20 Alert sound mode
AT+CALM=?
ERROR

AT+CALM?
ERROR

'8.21 Ringer sound level
AT+CRSL=?
ERROR

'8.22 Vibrator mode
AT+CVIB=?
+CVIB: (0-1,16)

'8.23 Loudspeaker volume level
AT+CLVL=?
ERROR

'8.24 Mute control
AT+CMUT=?
ERROR

'8.25 Accumulated call meter
AT+CACM=?
OK

'8.26 Accumulated call meter maximum
AT+CAMM=?
OK

'8.27 Price per unit and currency table
AT+CPUC=?
OK

'8.28 Call Meter maximum event
AT+CCWE=?
ERROR

'8.29 Power class
AT+CPWC=?
ERROR

AT+CPWC?
ERROR

'8.30 Set Language
AT+CLAN=?
+CLAN: "de","en","fr","it","AUTO"

'8.31 Language Event
AT+CLAE=?
ERROR

AT+CLAE?
ERROR

'8.32 Set Greeting Text
AT+CSGT=?
ERROR

'8.33 Set Voice Mail Number
AT+CSVM=?
ERROR

'8.34 Ring Melody Playback
AT+CRMP=?
ERROR

'8.35 Master Reset
AT+CMAR=?
ERROR

'8.36 List all available AT commands
AT+CLAC
&F
*
*EACS
*EAID
*EALR
*EALS
*EAM
*EAMS
*EAPM
*EAPN
*EAPP
*EAPS
*EARS
*EASM
*EASY
*EBCA
*ECAM
*ECAR
*ECAS
*ECAW
*ECBP
*ECMW
*ECSP
*ECUR
*EDIF
*EDIS
*EDST
*EENL
*EFOS
*EGIR
*EINA
*EIPS
*EKSE
*EKSP
*EKSR
*ELAM
*ELAN
*ELIN
*EMAR
*EMIC
*EMIR
*EMLR
*EMWS
*ENAD
*EPED
*EPEE
*EPEW
*EPHD
*EPNR
*EPNW
*EPRR
*EPRW
*EQVL
*ERIL
*ERIN
*ERIP
*ESAG
*ESAM
*ESBL
*ESCG
*ESCN
*ESDF
*ESDG
*ESDI
*ESGR
*ESIL
*ESKL
*ESKS
*ESLN
*ESMA
*ESMM
*ESNU
*ESOM
*ESTF
*ESTL
*ESVM
*ESZS
*ETCH
*ETXT
*EVA
*EVAA
*EVD
*EVH
*EWBA
*EWBR
*EWCG
*EWCT
*EWDT
*EWHP
*EWIL
*EWLI
*EWPB
*EWPN
*EWPR
*EWSA
*EWSG
*EXVC
*EYDO
*EYPI
*EYRE
*EYRR
*EYRV
+CACM
+CALA
+CALD
+CAMM
+CAOC
+CAPD
+CBC
+CBST
+CCFC
+CCLK
+CCWA
+CFUN
+CGMI
+CGMM
+CGMR
+CGSMS
+CGSN
+CHLD
+CHSC
+CHSD
+CHSN
+CHUP
+CIMI
+CIND
+CKPD
+CLAC
+CLAN
+CLCK
+CLIP
+CLIR
+CMEE
+CMER
+CMGC
+CMGD
+CMGF
+CMGL
+CMGR
+CMGS
+CMGW
+CMOD
+CMSS
+CNMI
+CNUM
+COPS
+CPAS
+CPBF
+CPBR
+CPBS
+CPBW
+CPIN
+CPMS
+CPUC
+CPWD
+CRC
+CREG
+CRES
+CSAS
+CSCA
+CSCB
+CSCC
+CSCS
+CSMS
+CSQ
+CSSN
+CTZU
+CUSD
+CVIB
+VTS
+WS46
A
D
H
L
Q
S3
S4
S5
V
Z
/
&C
&D
&F
&W
*
*EINA
*EOBEX
*ESIR
+CEER
+CGACT
+CGATT
+CGDATA
+CGDATA
+CGDCONT
+CGEREP
+CGPADDR
+CGPADDR
+CGQMIN
+CGQREQ
+CGREG
+CHSR
+CHSU
+CHUP
+CHUP
+CLAC
+CMEE
+CMUX
+CR
+CRC
+CRLP
+CVHU
+DR
+DS
+FAA
+FBADLIN
+FBADMUL
+FBOR
+FBUG
+FCIG
+FCLASS
+FCQ
+FCR
+FDCC
+FDFFC
+FDIS
+FDR
+FDT
+FDT
+FECM
+FET
+FK
+FLID
+FLNFC
+FLPL
+FMDL?
+FMFR?
+FMI?
+FMINSP
+FMM?
+FMR?
+FPHCTO
+FPTS
+FRBC
+FREL
+FREV?
+FRH
+FRH
+FRM
+FRM
+FRS
+FRS
+FSPL
+FTBC
+FTH
+FTH
+FTM
+FTM
+FTS
+FTS
+FVRFC
+FWDFC
+GCAP
+GMI
+GMM
+GMR
+ICF
+IFC
+ILRR
+IPR
A
D
E
H
I
L
M
O
P
Q
S0
S10
S2
S3
S4
S5
S6
S7
S8
T
V
X
Z

'8.37 Delete alarm
AT+CALD=?
+CALD: (1-2)

'8.38 Postpone or dismiss an alarm
AT+CAPD=?
+CAPD: (0,540)

'8.39 Automatic Time Zone Update
AT+CTZU=?
+CTZU: (0-1)

AT+CTZU?
+CTZU: 0

'8.40 Time Zone Reporting
AT+CTZR=?
ERROR

AT+CTZR?
ERROR

'8.41 Enter protocol mode
AT+CPROT=?
ERROR

'9.1 Report Mobile Equipment error
AT+CMEE=?
+CMEE: (0-2)

'10.1.1 Define PDP Context
AT+CGDCONT=?
+CGDCONT:(1-10),("IP"),,,(0-1),(0-1)

'10.1.2 Define Secondary PDP Context
AT+CGDSCONT=?
ERROR

'10.1.3 Traffic Flow Template
AT+CGTFT=?
ERROR

'10.1.4 Quality of Service Profile (Requested)
AT+CGQREQ=?
+CGQREQ: (1-10),(0-3),(0-4),(0-5),(0-5),(0-18,31)

'10.1.5 Quality of Service Profile (Minimum acceptable)
AT+CGQMIN=?
+CGQMIN: (1-10),(0-3),(0-4),(0-5),(0-5),(0-18,31)

'10.1.6 3G Quality of Service Profile (Requested)
AT+CGEQREQ=?
ERROR

'10.1.7 3G Quality of Service Profile (Minimum acceptable)
AT+CGEQMIN=?
ERROR

'10.1.8 3G Quality of Service Profile (Negotiated)
AT+CGEQNEG=?
ERROR

'10.1.9 PS attach or detach
AT+CGATT=?
+CGATT: (0,1)

'10.1.10 PDP context activate or deactivate
AT+CGACT=?
+CGACT: (0,1)

'10.1.11 PDP Context Modify
AT+CGCMOD=?
ERROR

'10.1.12 Enter data state
AT+CGDATA=?
+CGDATA:("PPP")

'10.1.13 Configure local Octet Stream PAD parameters
AT+CGCLOSP=?
ERROR

'10.1.14 Show PDP address
AT+CGPADDR=?
+CGPADDR: (1,2)

'10.1.15 Automatic response to a network request for PDP context activation
AT+CGAUTO=?
ERROR

'10.1.16 Manual response to a network request for PDP context activation
AT+CGANS=?
ERROR

'10.1.17 GPRS mobile station class
AT+CGCLASS=?
ERROR

AT+CGCLASS?
ERROR

'10.1.12 Configure local triple-X PAD parameters
AT+CGCLPAD=?
ERROR

'10.1.18 Packet Domain event reporting
AT+CGEREP=?
+CGEREP: (0,1),(0)

'10.1.19 GPRS network registration status
AT+CGREG=?
+CGREG: (0-2)

'10.1.20 Select service for MO SMS messages
AT+CGSMS=?
+CGSMS: (2,3)

'11.1.1 Accept an incoming Voice Group or Voice Broadcast Call
AT+CAJOIN=?
ERROR

'11.1.2 Reject an incoming Voice Group or Voice Broadcast Call
AT+CAREJ=?
ERROR

'11.1.3 Leave an ongoing Voice Group or Voice Broadcast Call
AT+CAHLD=?
ERROR

'11.1.4 Talker Access for Voice Group Call
AT+CAPTT=?
ERROR

'11.1.5 Voice Group Call Uplink Status Presentation
AT+CAULEV=?
ERROR

'11.1.6 List current Voice Group and Voice Broadcast Calls
AT+CALCC=?
ERROR

'11.1.7 Voice Group or Voice Broadcast Call State Attribute Presentation
AT+CACSP=?
ERROR

'11.1.8 NCH Support Indication
AT+CANCHEV=?
ERROR

'11.1.9 Originator to Dispatcher Information
AT+COTDI=?
ERROR

AT+COTDI?
ERROR

'11.3.1 VGCS subscriptions and GId status
AT+CGCS=?
ERROR

AT+CGCS?
ERROR

'11.3.2 VBS subscriptions and GId status
AT+CBCS=?
+CBC: 0,69
ERROR

AT+CBCS?
+CBC: 0,69
ERROR

'
'According to 3GPP TS 27.005 version 4.0.0:
'3.2.1 Select Message Service
AT+CSMS=?
+CSMS: (0)

AT+CSMS?
+CSMS: 0, 1, 1, 1

'3.2.2 Preferred Message Storage
AT+CPMS=?
+CPMS: ("ME","SM"),("ME","SM"),("ME")

AT+CPMS?
+CPMS: "SM",0,12,"SM",0,12,"ME",9,40

'3.2.3 Message Format
AT+CMGF=?
+CMGF: (0)

AT+CMGF?
+CMGF: 0

'3.2.4 Enter SMS Block Mode Protocol
AT+CESP=?
ERROR

'3.3.1 Service Centre Address
AT+CSCA=?
OK

'3.3.2 Set Text Mode Parameters
AT+CSMP=?
ERROR

AT+CSMP?
ERROR

'3.3.3 Show Text Mode Parameters
AT+CSDH=?
ERROR

AT+CSDH?
ERROR

'3.3.4 Select Cell Broadcast Message Types
AT+CSCB=?
+CSCB: (0)

AT+CSCB?
+CSCB: 0,""

'3.3.5 Save Settings
AT+CSAS=?
+CSAS: (0-4)

'3.3.6 Restore Settings
AT+CRES=?
+CRES: (0-4)

'3.4.1 New Message Indications to TE
AT+CNMI=?
+CNMI: (3),(0,1,3),(0,2),(0),(0)

AT+CNMI?
+CNMI: 3,0,0,0,0

'3.5.4 Delete Message
AT+CMGD=?
OK

'3.5.6 More Messages to Send
AT+CMMS=?
ERROR

'
'SMS Text mode
AT+CMGF=1
+CMS ERROR: 303

'3.4.2 List Messages
AT+CMGL=?
AT +CMGF=1
+CMS ERROR: 303

'3.4.3 Read Message
AT+CMGR=?
OK

'3.4.4 New Message Acknowledgement to ME/TA
AT+CNMA=?
ERROR

'3.5.1 Send Message
AT+CMGS=?
OK

'3.5.2 Send Message from Storage
AT+CMSS=?
OK

'3.5.3 Write Message to Memory
AT+CMGW=?
OK

'3.5.5 Send Command
AT+CMGC=?
OK

'
'SMS PDU mode
AT+CMGF=0
OK

'4.1 List Messages
AT+CMGL=?
+CMGL: (0-4)

'4.2 Read Message
AT+CMGR=?
OK

'4.3 Send Message
AT+CMGS=?
OK

'4.4 Write Message to Memory
AT+CMGW=?
OK

'4.5 Send Command
AT+CMGC=?
OK

'4.6 New Message Acknowledgement to ME/TA
AT+CNMA=?
ERROR

'4.7 Send Message from Storage
AT+CMSS=?
OK

'End of script!

Additional Resources