AT commands for Sagem 9xx series mobile phones

In addition to the undocumented low-level data cable commands, the 93x (and better) mobile phones also support the AT command set for communication with a connected PC. The available commands include the standardized Hayes command for modem control (the 93X models feature a built-in modem that must be manually enabled), most of the AT+C commands described in the GSM standards, and extended Hayes commands for fax control. A list of the standard documents can be found at the end of the text.

The commands can be sent to the phone via a normal terminal program like the "Hyperterminal" delivered with Windows95/98.

The command AT+CLAC requests a list of supported commands from the phone. Note that some of the commands from this list are not really implemented in the phone, as the command always returns an "OK" message without doing anything. Which commands actually are implemented might depend on your phone model and firmware revision. In the list below, commands that have a verbose explanation are usable, while commands with a brief text have either not been tested, or are not implemented.

 


Command Description Standard
ATA Answer incoming voice call [Hayes]
ATD<num>; Dial <num> in voice mode
ATDP (see ATD)
ATDT (see ATD)
ATE Turn Echo on / off
ATH Hang up. (in data or fax mode, change to voice mode)
ATI[<num>]Request information

results for <num>:
0 = M9XX
1 = ffff
2 = ffff
3,4,6,7,8,9 = SAGEM FW4,1E
5 = 005
ATO Switch from command state to online state (in connection)
ATQ Set Quiet Mode
ATS<reg>=<val>Write <val> to register <reg>:

ATS<reg>? reads content of register.

Allowed registers:
3 = command line termination character (#13 = CR)
4 = response formatting character (#10 = LF)
5 = command line editing character (#8 = BS)

(Values in parentheses are default values)
ATV Set verbose return codes
ATZ0 Reset to Profile 0
ATZ Reset
AT&D<val>Set DTR Options:

0 = ignore DTR,
1 = DTR on-to-off transistion enters command mode,
2 = hang up and enter command mode on DTR drop,
3 = reset modem and hang up on DTR drop
AT&F Load default Settings
AT&K<val>Set Local Flow Control:

0 = none,
3 = RTS/CTS,
4 = XON/XOFF,
5 = Transparent XON/XOFF,
6 = CTS/RTS and XON/XOFF
AT&V Display Profile Settings
AT&W Save Profile Settings
 
AT+CAOC[=<mode>]"Advice of Charge" Reporting

AT+CAOC returns "+CAnnnnnn" with nnnnnn being the current call meter in 3 hex bytes

AT+CAOC? returns current settings

AT+CAOC=? returns allowed values for <mode>:
0 = query CCM value (same as AT+CAOC)
1 = disable reporting of CCM over cable
2 = enable reporting of CCM values over cable
[ETSI]
AT+CBST=<speed>,<name>,<ce> Select Bearer Service Type

AT+CBST? returns current settings
AT+CBST=? returns a list of possible values:

values for <speed>:
0 = automatic selection
4 = 2400 bps V.22bis
6 = 4800 bps V.32
7 = 9600 bps V.32
68 = 2400 bps V.110
70 = 4800 bps V.110
71 = 9600 bps V.110

values for <name>:
0 = data circuit asynchronous

values for <ce>:
0 = transparent
1 = non-transparent
AT+CDIS Display Control (always returns OK?)
AT+CEER Extended Error Reports
AT+CGMI Request Manufacturer Identification.
Returns "+CGMI: SAGEM".
AT+CGMM Request Model identification.
Returns "+CGMM: M9XX".
AT+CGMR Request Revision identification.
Returns "+CGMR: SAGEM FW4,1E".
AT+CGSN Request Product Serial Num identification (IMEI)
AT+CHUP Hang up, terminate the call without changing to voice mode from alternating data/voice mode. (see also ATH)
AT+CIMI Request International Mobile Subscriber identity (IMSI)
AT+CIND=<battchg>,<signal>,<service>,<call>Indicator Control
(AT+CIND? returns current values)
(AT+CIND=? returns possible values)

values for <battchg>
0 = empty battery ... 5 = full battery

values for <signal>
0 = no signal ... 5 = strong signal

values for <service>
0 = no service available
1 = service available

values for <call>
0 = no call in progress
1 = call in progress
AT+CKPD="<keys>"[,<time>[,<pause>]]Keypad Control
(AT+CKPD=? returns list of allowed keys)

allowed values for <keys>: any string formed from the following characters:
0 .. 9,#,* : buttons 0 .. 9,#,*
C = Clear Display
D = Volume down
E = End connection
M = Menu
O = Power Off
S = Start connection
U = Volume up
V = Down arrow
X = Auxiliary (programmable button ".")
Y = delete last character
Z = Ok
^ = Up arrow

<time> and <pause>:
time to hold button/pause between buttons. Allowed values: 0 .. 255 ms (->0 .. 25.5 seconds)
AT+CLAC List all available AT commands
AT+CLCC List current calls
AT+CLIP=<n> Calling Line Identificaion Presentation
(AT+CLIP? returns current settings as "+CLIP: <n>,<m>")
(AT+CLIP=? returns possible values for <n>)

possible values for <n>
0 = disable
1 = enable

possible values for <m>
0 = CLIP not available in network
1 = CLIP available in network
2 = CLIP status unknown
AT+CLIR=<n> Calling Line Identification Restriction
(AT+CLIR? returns current settings as "+CLIR: <n>,<m>")
(AT+CLIR=? returns possible values for <n>)

possible values for <n>
1 = CLIR enabled
2 = CLIR disabled

possible values for <m>
0 = CLIR not available in network
1 = CLIR available in permanent mode
2 = CLIR status unknown
3 = CLIR temporary mode presentation restricted
4 = CLIR temporary mode presentation allowed
AT+CMEC=<keyp>,<disp>,<ind> Mobile Equipment Control Mode
(AT+CMEC? returns current settings)
(AT+CMEC=? returns a list of possible settings)

values for <keyp>:
2 = Keypad and datacable operation

values for <disp>:
0 = Only phone can write to display

values for <ind>:
0 = only phone can set indicator status
AT+CMEE=<mode>Mobile Equipment Error Reporting
(AT+CMEE? returns current setting)

AT+CMEE=? returns allowed values for <mode>:
0 = Errors are reported as "ERROR"
1 = Errors are reported as "+CME ERROR: <err>".
See error result codes for more information.
AT+CMER=<mode>,<keyp>,<disp>,<ind>,<bfr>Mobile Equipment Event Reporting
(AT+CMER? returns current settings)
(AT+CMER=? returns possible settings)

possible values for <mode>
0 = store event result codes in phone

possible values for <keyp>
0 = no keypad event reporting over cable

possible values for <disp>
0 = no display event reporting over cable

possible values for <ind>
0 = no indicator event reporting over cable

possible values for <bfr>
0 = clear event buffer when entering <mode> 1-3
AT+CNUM Subscriber Number. Returns phonebook entry for own number.
AT+COPN Read Operator Names
AT+CPASQuery Phone Activity Status
(AT+CPAS=? returns a list of possible values)
The current status is reported as "+CPAS: <pas>"

values for <pas>:
0 = phone ready
4 = call in progress
AT+CPBF Find Phonebook entries
AT+CPBR Read Phonebook entries
AT+CPBS Select Phonebook memory Storage
AT+CPBW Write Phonebook entry
AT+CPIN="<pin>"[,"<new_pin>"]Enter Pin code

AT+CPIN? reports current state:
+CPIN: READY = no pin required
+CPIN: SIM PIN,PIN2,PUK,PUK2,... = required pin

If a new pin is to be set, <pin> should be the PUK, and <new_pin> should be the new pin.
AT+CPOF Turn Power off.
AT+CPOL Preferred Operators List
AT+CPWD="<type>","<old>","<new>"Change Password

AT+CPWD=? returns allowed values for <type> and the maximum length:
P2 = SIM pin 2, max. 8 digits
SC = SIM password, max. 8 digits
AT+CREG=<n>Network Registration Reporting
(AT+CREG? returns current settings as +CREG: <n>,<stat>[,"<lac>","<cid>"])
(AT+CREG=? returns a list of possible values for <n>)

possible values for <n>:
0 = disable network registration reporting
1 = enable network registration reporting
2 = enable network registration and location information reporting

possible return values for <stat>:
0 = not registered, not searching for network
1 = registered at home network
2 = not registered, searching network
3 = registration denied
4 = registration status unknown
5 = registered, but not in home network (roaming)
If location information reporting is enabled, the output will contain two additional fields:
<lac> = location area code (4 hex digits)
<cid> = cell id (4 hex digits)
AT+CRLP<iws>,<mws>,<T1>,<N2>,<ver>,<T4>Radio Link Protocol Parameters for Data Calls
AT+CRLP? returns current settings
AT+CRLP=? returns a list of allowed values.

<iws>: IWF to MS window size
allowed: 0 .. 61, default is 61

<mws>: MS to IWF window size
allowed: 0 .. 61, default is 25

<T1>: Acknowledgement timer
allowed: 0 .. 255 [ms], default is 48

<N2>: Retransmission attempts
allowed: 0.. 255, default value is 6

<ver>: RLP version, ver = 0

<T4>: Resequencing Period
allowed: 0 .. 255 [ms], default is 7

Note: As this command influences the data transmission protocol, it would be a good idea to leave it alone unless you know what you are doing.
AT+CR=<mode>Service Reporting Control
(AT+CR? returns current <mode>)
(AT+CR=? returns a list of possible modes)

Possible values for <mode>:
0 = disable mode reporting
1 = enable mode reporting
when reporting is enabled, the phone will report the service type with "+CR: <serv>" before reporting "CONNECT".

possible values for <serv>:
ASYNC : asynchronous transparent
SYNC : synchronous transparent
REL ASYNC : asynchronous non-transparent
REL SYNC : synchronous non-transparent
AT+CSCS=<chset>Select TE Character Set
(AT+CSCS? returns current setting)
(AT+CSCS=? returns a list of possible settings)

values for <chset>:
PCCP437 = PC character set, Code page 437
AT+IPR=<speed>Set TE Data Rate

AT+IPR? queries current setting
AT+IPR=? returns a list of allowed values.

Allowed values for <speed>:
2400 = 2400 bps
4800 = 4800 bps
9600 = 9600 bps
19200 = 19200 bps
 
AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>New Message Indication to TE
(AT+CNMI? returns current settings)

value for <mode>: 1 = no indication if serial port in use
value for <mt>: 1 = report new sms memory location
value for <bm>: 0 = no cb message indication
value for <ds>: 0 = no sms status reporting
value for <bfr>: 0 = flush buffer when new <mode>
[ETSI/SMS]
AT+CMGD Delete Message
AT+CMGF Message Format
AT+CMGL List Messages
AT+CMGR Read Message
AT+CMGS Send Message
AT+CMGW Write Message to Memory
AT+CMSS Send Message from Storage
AT+CPMS Preferred Message Storage
AT+CSCA Service Center Address
AT+CSMP Set Text Mode Parameter
 
AT+FCLASS=<val> Select Mode: (AT+FCLASS? returns current setting)
0 = Data,
1 = Fax Class 1,
8 = Voice
[Hayes/Fax]
AT+FAE=<val> Set auto answer for Data/Fax: (AT+FAE? returns current setting)
0 = Data,
1 = Fax class 1
AT+FRS=<val> Check for Silence: (AT+FRS? returns current setting)
report "OK" after <val>*10ms of silence
AT+FRM=<val> Receive Data with defined Data Rate: (AT+FRM=? returns current setting)
24 = 2400 bps
48 = 4800 bps
72 = 7200 bps
96 = 9600 bps
AT+FTM=<val> Transmit Data with defined Data Rate: (AT+FTM=? returns current setting)
(see AT+FRM for values)
AT+FRH=<val> Receive Data with HDLC: (AT+FRH=? returns current setting)
3 = V.21 channel 2 300 bps
AT+FTH=<val> Transmit Data with HDLC: (AT+FTH=? returns current setting)
(see AT+FRH for values)
AT+FTS=<val> Stop transmission: (AT+FTS? returns current setting)
Terminate transmission and wait <val>*10ms before "OK"
 
AT\N0 Disable MNP Error Correction [Hayes/MNP]
AT\N4 Set V.42 Error Correction
AT\N6 Set V.42 Error Correction, Fallback to MNP
AT\V Enable verbose MNP Result Codes


Error message result codes:

Error codeMeaning
0phone failure
1no connection to phone
2phone-adaptor link reserved
3operation not allowed
4operation not supported
5PH-SIM PIN required
6PH-FSIM PIN required
7PH-FSIM PUK required
10SIM not inserted
11SIM PIN required
12SIM PUK required
13SIM failure
14SIM busy
15SIM wrong
16incorrect password
17SIM PIN2 required
18SIM PUK2 required
20memory full
21invalid index
22not found
23memory failure
24text string too long
25invalid characters in text string
26dial string too long
27invalid characters in dial string
30no network service
31network timeout
32network not allowed - emergency calls only
40network personalisation PIN required
41network personalisation PUK required
42network subset personalisation PIN required
43network subset personalisation PUK required
44service provider personalisation PIN required
45service provider personalisation PUK required
46corporate personalisation PIN required
47corporate personalisation PUK required
100unknown

References:

The ETSI is the organization which sets the GSM-standards. At their web server, loads of documents for every topic covered in GSM are available after a (free) registration.

A similar list of AT commands in german language is available from http://www.nobbi.com/atgsm.htm.

If you have any comments or corrections, please mail me: SagemDoctor@web.de

Last updated: 11.03.2001