## 8 Mobile Equipment control and status commands

07.073GPPAT Command set for GSM Mobile Equipment (ME)Release 1998TS

This clause includes commands for ME power, keypad, display and indicator handling. Also commands for selecting, reading and writing of phonebooks, and setting real‑time clock facilities are specified. Two commands are specified for accessing SIM database records in a general way.

Figure 14 illustrates the effect of these commands. Command Phone Activity Status +CPAS indicates the current general activity status of the ME. Command Set Phone Functionality +CFUN is used to set the ME to different power consumption states. Command Enter PIN +CPIN is used to enter ME passwords which are needed before any other functionality of the ME can be used (e.g. SIM PIN, PUK). Commands Generic SIM Access +CSIM and Restricted SIM Access +CRSM can be used to access all data in SIM. Commands Battery Charge +CBC and Signal Quality +CSQ are same as in TIA IS‑135 [16] and they are used to query the battery charge of the ME and the current RSSI of the ME. Command Mobile Equipment Control Mode +CMEC is used to select the controlling unit of ME keypad, display and indicators. Controlling commands for the TE are Keypad Emulation +CKPD, Display Control +CDIS and Indicator Control +CIND. If corresponding event reporting is enabled with command Mobile Equipment Event Reporting +CMER, +CKEV is the result code of a keypad event, +CDEV is the result code of a display event, and +CIEV is the result code of an indicator event. Phonebook commands are Select Phonebook Memory Storage +CPBS, Read Phonebook Entries +CPBR, Find Phonebook Entries +CPBF and Write Phonebook Entry +CPBW. Additional command Clock +CCLK can be used to control the real‑time clock of the ME if available. Command Alarm +CALA sets possible alarm clock facilities of the ME.

Figure  14: Mobile equipment control and status commands

## 8.1 Phone activity status +CPAS

Table 50: +CPAS action command syntax

 Command Possible response(s) +CPAS +CPAS: +CME ERROR: +CPAS=? +CPAS: (list of supported s) +CME ERROR:

Description

Execution command returns the activity status <pas> of the ME. It can be used to interrogate the ME before requesting action from the phone. Refer subclause 9.2 for possible <err> values.

Test command returns values supported by the ME as a compound value.

Defined values

<pas>:

0 ready (ME allows commands from TA/TE)

1 unavailable (ME does not allow commands from TA/TE)

2 unknown (ME is not guaranteed to respond to instructions)

3 ringing (ME is ready for commands from TA/TE, but the ringer is active)

4 call in progress (ME is ready for commands from TA/TE, but a call is in progress)

5 asleep (ME is unable to process commands from TA/TE because it is in a low functionality state)

also all other values below 128 are reserved by the present document

Implementation

Mandatory when ME can be operated from TE (refer subclause "Mobile Equipment control mode +CMEC").

## 8.2 Set phone functionality +CFUN

Table 51: +CFUN parameter command syntax

 Command Possible response(s) +CFUN=[[,]] +CME ERROR: +CFUN? +CFUN: +CME ERROR: +CFUN=? +CFUN: (list of supported s), (list of supported s) +CME ERROR:

Description

Set command selects the level of functionality <fun> in the ME. Level "full functionality" is where the highest level of power is drawn. "Minimum functionality" is where minimum power is drawn. Level of functionality between these may also be specified by manufacturers. When supported by manufacturers, ME resetting with <rst> parameter may be utilized. Refer subclause 9.2 for possible <err> values.

NOTE: It is manufacturer specific does this command affect network registration. Command Operator Selection +COPS is used to force registration/deregistration.

Test command returns values supported by the ME as a compound value.

Defined values

<fun>:

0 minimum functionality

1 full functionality

2 disable phone transmit RF circuits only

3 disable phone receive RF circuits only

4 disable phone both transmit and receive RF circuits

5…127 reserved for manufacturers as intermediate states between full and minimum functionality

<rst>:

0 do not reset the ME before setting it to <fun> power level

NOTE: This shall be always default when <rst> is not given.

1 reset the ME before setting it to <fun> power level

Implementation

Optional.

## 8.3 Enter PIN +CPIN

Table 52: +CPIN parameter command syntax

 Command Possible response(s) +CPIN=[,] +CME ERROR: +CPIN? +CPIN: +CME ERROR: +CPIN=?

Description

Set command sends to the ME a password which is necessary before it can be operated (SIM PIN, SIM PUK, PH‑SIM PIN, etc.). If the PIN is to be entered twice, the TA shall automatically repeat the PIN. If no PIN request is pending, no action is taken towards ME and an error message, +CME ERROR, is returned to TE. Refer subclause 9.2 for possible <err> values.

If the PIN required is SIM PUK or SIM PUK2, the second pin is required. This second pin, <newpin>, is used to replace the old pin in the SIM.

NOTE: Commands which interact with ME that are accepted when ME is pending SIM PIN, SIM PUK, or PH‑SIM are: +CGMI, +CGMM, +CGMR, +CGSN, D112; (emergency call), +CPAS, +CFUN, +CPIN, +CDIS (read and test command only), and +CIND (read and test command only).

Read command returns an alphanumeric string indicating whether some password is required or not.

Defined values

<pin>, <newpin>: string type values

<code> values reserved by the present document:

READY ME is not pending for any password

SIM PIN ME is waiting SIM PIN to be given

SIM PUK ME is waiting SIM PUK to be given

PH-SIM PIN ME is waiting phone‑to‑SIM card password to be given

PH-FSIM PIN ME is waiting phone-to-very first SIM card password to be given

PH-FSIM PUK ME is waiting phone-to-very first SIM card unblocking password to be given

SIM PIN2 ME is waiting SIM PIN2 to be given (this <code> is recommended to be returned only when the last executed command resulted in PIN2 authentication failure (i.e. +CME ERROR: 17); if PIN2 is not entered right after the failure, it is recommended that ME does not block its operation)

SIM PUK2 ME is waiting SIM PUK2 to be given (this <code> is recommended to be returned only when the last executed command resulted in PUK2 authentication failure (i.e. +CME ERROR: 18); if PUK2 and new PIN2 are not entered right after the failure, it is recommended that ME does not block its operation)

PH-NET PIN ME is waiting network personalisation password to be given

PH-NET PUK ME is waiting network personalisation unblocking password to be given

PH-NETSUB PIN ME is waiting network subset personalisation password to be given

PH-NETSUB PUK ME is waiting network subset personalisation unblocking password to be given

PH-SP PIN ME is waiting service provider personalisation password to be given

PH-SP PUK ME is waiting service provider personalisation unblocking password to be given

PH-CORP PIN ME is waiting corporate personalisation password to be given

PH-CORP PUK ME is waiting corporate personalisation unblocking password to be given

Implementation

Mandatory for ME not supporting the +CKPD command and supporting AT commands only.

## 8.4 Battery charge +CBC

Table 53: +CBC action command syntax

 Command Possible response(s) +CBC +CBC: , +CME ERROR: +CBC=? +CBC: (list of supported s),(list of supported s)

Description

Execution command returns battery connection status <bcs> and battery charge level <bcl> of the ME. Refer subclause 9.2 for possible <err> values.

Test command returns values supported by the TA as compound values.

Defined values

<bcs>:

0 ME is powered by the battery

1 ME has a battery connected, but is not powered by it

2 ME does not have a battery connected

3 Recognized power fault, calls inhibited

<bcl>:

0 battery is exhausted, or ME does not have a battery connected

1…100 battery has 1‑100 percent of capacity remaining

Implementation

Optional.

## 8.5 Signal quality +CSQ

Table 54: +CSQ action command syntax

 Command Possible response(s) +CSQ +CSQ: , +CME ERROR: +CSQ=? +CSQ: (list of supported s),(list of supported s)

Description

Execution command returns received signal strength indication <rssi> and channel bit error rate <ber> from the ME. Refer subclause 9.2 for possible <err> values.

Test command returns values supported by the TA as compound values.

Defined values

0 ‑113 dBm or less

1 ‑111 dBm

2…30 ‑109… ‑53 dBm

31 ‑51 dBm or greater

99 not known or not detectable

<ber> (in percent):

0…7 as RXQUAL values in the table in GSM 05.08 [20] subclause 8.2.4

99 not known or not detectable

Implementation

Optional.

## 8.6 Mobile Equipment control mode +CMEC

Table 55: +CMEC parameter command syntax

 Command Possible response(s) +CMEC=[[,[,]]] +CME ERROR: +CMEC? +CMEC: ,, +CMEC=? +CMEC: (list of supported s),(list of supported s),(list of supported s)

Description

Set command selects the equipment, which operates ME keypad, writes to ME display and sets ME indicators. If operation mode is not allowed by the ME, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns the modes supported by the TA as compound values.

Defined values

<keyp>:

0 ME can be operated only through its keypad (execute command of +CKPD cannot be used)

1 ME can be operated only from TE (with command +CKPD)

2 ME can be operated from both ME keypad and TE

<disp>:

0 only ME can write to its display (command +CDIS can only be used to read the display)

1 only TE can write to ME display (with command +CDIS)

2 ME display can be written by both ME and TE

<ind>:

0 only ME can set the status of its indicators (command +CIND can only be used to read the indicators)

1 only TE can set the status of ME indicators (with command +CIND)

2 ME indicators can be set by both ME and TE

Implementation

Mandatory when any of keypad, display or indicator commands is implemented.

## 8.7 Keypad control +CKPD

Table 56: +CKPD action command syntax

 Command Possible response(s) +CKPD=[,

Description

Execution command emulates ME keypad by giving each keystroke as a character in a string <keys>. <time>*0.1 seconds is the time to stroke each key and <pause>*0.1 seconds is the length of pause between two strokes. If emulating fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values. This command should be accepted (OK returned) before actually starting to press the keys. Thus unsolicited result codes of key pressings and display events can be returned (refer subclause "Mobile Equipment event reporting +CMER").

Defined values

<keys>: string of characters representing keys as listed in the following table (based on PCCA STD-101 Annex table I‑3). Colon character (IRA 58) followed by one character can be used to indicate a manufacturer specific key not listed here. All characters from a semicolon character (IRA 59) to the next single semicolon character are treated as alpha entries and are not converted to key equivalents. All semicolon characters inside alpha entries should be duplicated in the TE and stripped to one before entering to the ME. Pause character (IRA 87 or 119) can be used to pause between key pressings for a time specified by <pause>. All IRA values not listed here are reserved.

Table 57: Character codes

 Char IRA (dec) Comment (+ some known key symbols) # 35 hash (number sign) % 37 percent sign (P) * 42 star (*) 0… 9 48… 57 number keys : 58 escape character for manufacturer specific keys ; 59 escape character for string entering < 60 left arrow > 62 right arrow @ 64 alpha key (/ABC) A/a 65/97 channel A (A) B/b 66/98 channel B (B) C/c 67/99 clear display (C/CLR) D/d 68/100 volume down E/e 69/101 connection end (END) F/f 70/102 function (FCN) L/l 76/108 phone lock (LOCK) M/m 77/109 menu (MENU) P/p 80/112 power (PWR) Q/q 81/113 quiet/mute (MUTE) R/r 82/114 recall last number (R/RCL/MR) S/s 83/115 connection start (SEND) T/t 84/116 store/ memory (STO/M/M+) U/u 85/117 volume up V/v 86/118 down arrow W/w 87/119 pause character X/x 88/120 auxiliary (AUX) Y/y 89/121 delete last character (C) [ 91 soft key 1 ] 93 soft key 2 ^ 94 up arrow

<time>, <pause>:

0…255 0… 25.5 seconds (default values are manufacturer specific, but should be so long that a normal ME can handle keystrokes correctly)

Implementation

Mandatory for ME not supporting the +CPIN command and supporting AT commands only.

## 8.8 Display control +CDIS

Table 58: +CDIS parameter command syntax

 Command Possible response(s) +CDIS=[[,[,…]]] +CME ERROR: +CDIS? +CDIS: [,[,…]] +CME ERROR: +CDIS=? +CDIS: [,[,…]] +CME ERROR:

Description

Set command is used to write the contents of ME text type display elements. An element can consist of one character or several characters. The order of element parameters <text> should follow the rule: first is the element in upper left corner, second is the next element to the right and so on. The last element is the element in lower right corner. The number of elements is ME specific. If ME does not allow writing to its display or ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values. If certain element is not writable, setting of it should be ignored. If element parameter is empty field, element shall remain in the previous value.

NOTE: This command cannot be used to write to a display which sum of element lengths exceed the length of the command line buffer of the TA.

Read command returns the contents of ME display elements. If <text> field is empty (not empty string), ME does not allow the reading of corresponding element. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns maximum length of each display element. If ME does not offer the length of elements, <length> fields should be empty. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

NOTE: ME manufacturer should offer the order and maximum length of elements.

Defined values

<text>: string type parameter using character set specified by command Select TE Character Set +CSCS

<length>: integer type parameter giving the maximum length of corresponding <text> parameter

Implementation

Optional.

## 8.9 Indicator control +CIND

Table 59: +CIND parameter command syntax

 Command Possible response(s) +CIND=[[,[,…]]] +CME ERROR: +CIND? +CIND: [,[,…]] +CME ERROR: +CIND=? +CIND: (,(list of supported s)) [,(,(list of supported s))[,…]] +CME ERROR:

Description

Set command is used to set the values of ME indicators. <ind> value 0 means that the indicator is off (or in state which can be identified as "off"‑state), 1 means that indicator is on (or in a state which is more substantial than "off"‑state), 2 is more substantial than 1, and so on. If the indicator is a simple on/off style element, it has values 0 and 1. The number of elements is ME specific. If ME does not allow setting of indicators or ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values. If certain indicator is not writable, setting of it should be ignored. If parameter is empty field, indicator shall remain in the previous value.

Read command returns the status of ME indicators. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns pairs, where string value <descr> is a maximum 16 character description of the indicator and compound value is the allowed values for the indicator. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

NOTE: ME manufacturer should offer the description of supported indicators not listed here and their value ranges and default values.

Defined values

<ind>: integer type value, which shall be in range of corresponding <descr>

<descr> values reserved by the present document and their <ind> ranges:

"battchg" battery charge level (0‑5)

"signal" signal quality (0‑5)

"service" service availability (0‑1)

"sounder" sounder activity (0‑1)

"message" message received (0‑1)

"call" call in progress (0‑1)

"vox" transmit activated by voice activity (0‑1)

"roam" roaming indicator (0‑1)

"smsfull" a short message memory storage in the MT has become full (1), or memory locations are available (0); i.e. the range is (0‑1)

Implementation

Optional.

## 8.10 Mobile Equipment event reporting +CMER

Table 60: +CMER parameter command syntax

 Command Possible response(s) +CMER=[[,[,[,[,]]]]] +CME ERROR: +CMER? +CMER: ,,,, +CMER=? +CMER: (list of supported s),(list of supported s),(list of supported s),(list of supported s),(list of supported s)

Description

Set command enables or disables sending of unsolicited result codes from TA to TE in the case of key pressings, display changes, and indicator state changes. <mode> controls the processing of unsolicited result codes specified within this command. <bfr> controls the effect on buffered codes when <mode> 1, 2 or 3 is entered. If setting is not supported by the ME, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns the modes supported by the TA as compound values.

Defined values

<mode>:

0 buffer unsolicited result codes in the TA; if TA result code buffer is full, codes can be buffered in some other place or the oldest ones can be discarded

1 discard unsolicited result codes when TA‑TE link is reserved (e.g. in on‑line data mode); otherwise forward them directly to the TE

2 buffer unsolicited result codes in the TA when TA‑TE link is reserved (e.g. in on‑line data mode) and flush them to the TE after reservation; otherwise forward them directly to the TE

3 forward unsolicited result codes directly to the TE; TA‑TE link specific inband technique used to embed result codes and data when TA is in on‑line data mode

<keyp>:

0 no keypad event reporting

1 keypad event reporting using result code +CKEV: <key>,<press>. <key> indicates the key (refer IRA values defined in table in subclause "Keypad control +CKPD") and <press> if the key is pressed or released (1 for pressing and 0 for releasing). Only those key pressings, which are not caused by +CKPD shall be indicated by the TA to the TE.

NOTE: When this mode is enabled, corresponding result codes of all keys currently pressed should be flushed to the TA regardless of <bfr> setting.

2 keypad event reporting using result code +CKEV: <key>,<press>. All key pressings shall be directed from TA to TE.

NOTE: When this mode is enabled, corresponding result codes of all keys currently pressed should be flushed to the TA regardless of <bfr> setting.

<disp>:

0 no display event reporting

1 display event reporting using result code +CDEV: <elem>,<text>. <elem> indicates the element order number (as specified for +CDIS) and <text> is the new value of text element. Only those display events, which are not caused by +CDIS shall be indicated by the TA to the TE. Character set used in <text> is as specified by command Select TE Character Set +CSCS

2 display event reporting using result code +CDEV: <elem>,<text>. All display events shall be directed from TA to TE. Character set used in <text> is as specified by command Select TE Character Set +CSCS

<ind>:

0 no indicator event reporting

1 indicator event reporting using result code +CIEV: <ind>,<value>. <ind> indicates the indicator order number (as specified for +CIND) and <value> is the new value of indicator. Only those indicator events, which are not caused by +CIND shall be indicated by the TA to the TE

2 indicator event reporting using result code +CIEV: <ind>,<value>. All indicator events shall be directed from TA to TE

<bfr>:

0 TA buffer of unsolicited result codes defined within this command is cleared when <mode> 1…3 is entered

1 TA buffer of unsolicited result codes defined within this command is flushed to the TE when <mode> 1…3 is entered (OK response shall be given before flushing the codes)

Implementation

Mandatory when any of the keypad, display, or indicator result codes is implemented.

## 8.11 Select phonebook memory storage +CPBS

Table 61: +CPBS parameter command syntax

 Command Possible response(s) +CPBS= +CME ERROR: +CPBS? +CPBS: [,,] +CME ERROR: +CPBS=? +CPBS: (list of supported s)

Description

Set command selects phonebook memory storage <storage>, which is used by other phonebook commands. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns currently selected memory, and when supported by manufacturer, number of used locations and total number of locations in the memory.

Test command returns supported storages as compound value.

Defined values

<storage> values reserved by the present document:

"DC" ME dialled calls list (+CPBW may not be applicable for this storage) $(AT R97)$

"EN" SIM (or ME) emergency number (+CPBW is not be applicable for this storage) $(AT R97)$

"FD" SIM fixdialling‑phonebook

"LD" SIM last‑dialling‑phonebook

"MC" ME missed (unanswered received) calls list (+CPBW may not be applicable for this storage)

"ME" ME phonebook

"MT" combined ME and SIM phonebook

"ON" SIM (or ME) own numbers (MSISDNs) list (reading of this storage may be available through +CNUM also) $(AT R97)$

"RC" ME received calls list (+CPBW may not be applicable for this storage) $(AT R97)$

"SM" SIM phonebook

"TA" TA phonebook

<used>: integer type value indicating the number of used locations in selected memory

<total>: integer type value indicating the total number of locations in selected memory

Implementation

Mandatory when phonebook read, find or write command, or direct dialling (refer subclause "Direct dialling from phonebooks") is implemented.

## 8.12 Read phonebook entries +CPBR

Table 62: +CPBR action command syntax

 Command Possible response(s) +CPBR= [,] [+CPBR: ,,,[[…] +CPBR: ,,,]] +CME ERROR: +CPBR=? +CPBR: (list of supported s),[],[] +CME ERROR:

Description

Execution command returns phonebook entries in location number range <index1>… <index2> from the current phonebook memory storage selected with +CPBS. If <index2> is left out, only location <index1> is returned. Entry fields returned are location number <indexn>, phone number stored there <number> (of format <type>) and text <text> associated with the number. If all queried locations are empty (but available), no information text lines may be returnedIf listing fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns location range supported by the current storage as a compound value and the maximum lengths of <number> and <text> fields. In case of SIM storage, the lengths may not be available. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Defined values

<index1>, <index2>, <index>: integer type values in the range of location numbers of phonebook memory

<number>: string type phone number of format <type>

<type>: type of address octet in integer format (refer GSM 04.08 [8] subclause 10.5.4.7)

<text>: string type field of maximum length <tlength>; character set as specified by command Select TE Character Set +CSCS

<nlength>: integer type value indicating the maximum length of field <number>

<tlength>: integer type value indicating the maximum length of field <text>

Implementation

Optional.

## 8.13 Find phonebook entries +CPBF

Table  63: +CPBF action command syntax

 Command Possible response(s) +CPBF= [+CPBF: ,,,[[…] +CBPF: ,,,]] +CME ERROR: +CPBF=? +CPBF: [],[] +CME ERROR:

Description

Execution command returns phonebook entries (from the current phonebook memory storage selected with +CPBS) which alphanumeric field start with string <findtext>. Entry fields returned are location number <indexn>, phone number stored there <number> (of format <type>) and text <text> associated with the number. If listing fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns the maximum lengths of <number> and <text> fields. In case of SIM storage, the lengths may not be available. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Defined values

<index1>, <index2>: integer type values in the range of location numbers of phonebook memory

<number>: string type phone number of format <type>

<type>: type of address octet in integer format (refer GSM 04.08 [8] subclause 10.5.4.7)

<findtext>, <text>: string type field of maximum length <tlength>; character set as specified by command Select TE Character Set +CSCS

<nlength>: integer type value indicating the maximum length of field <number>

<tlength>: integer type value indicating the maximum length of field <text>

Implementation

Optional.

## 8.14 Write phonebook entry +CPBW

Table  64: +CPBW action command syntax

 Command Possible response(s) +CPBW=[][, [,[,]]] +CME ERROR: +CPBW=? +CPBW: (list of supported s),[], (list of supported s),[] +CME ERROR:

Description

Execution command writes phonebook entry in location number <index> in the current phonebook memory storage selected with +CPBS. Entry fields written are phone number <number> (in the format <type>) and text <text> associated with the number. If those fields are omitted, phonebook entry is deleted. If <index> is left out, but <number> is given, entry is written to the first free location in the phonebook (the implementation of this feature is manufacturer specific). If writing fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Test command returns location range supported by the current storage as a compound value, the maximum length of <number> field, supported number formats of the storage, and the maximum length of <text> field. In case of SIM storage, the lengths may not be available. If ME is not currently reachable, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values. If storage does not offer format information, the format list should be empty parenthesis

Defined values

<index>: integer type values in the range of location numbers of phonebook memory

<number>: string type phone number of format <type>

<type>: type of address octet in integer format (refer GSM 04.08 [8] subclause 10.5.4.7) ; default 145 when dialling string includes international access code character "+", otherwise 129

<text>: string type field of maximum length <tlength>; character set as specified by command Select TE Character Set +CSCS

<nlength>: integer type value indicating the maximum length of field <number>

<tlength>: integer type value indicating the maximum length of field <text>

Implementation

Optional.

## 8.15 Clock +CCLK

Table 65: +CCLK parameter command syntax

 Command Possible response(s) +CCLK=

Description

Set command sets the real‑time clock of the ME. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current setting of the clock.

Defined values

<time>: string type value; format is "yy/MM/dd,hh:mm:sszz", where characters indicate year (two last digits), month, day, hour, minutes, seconds and time zone (indicates the difference, expressed in quarters of an hour, between the local time and GMT; range ‑47…+48). E.g. 6th of May 1994, 22:10:00 GMT+2 hours equals to "94/05/06,22:10:00+08"

NOTE: If ME does not support time zone information then the three last characters of <time> are not returned by +CCLK?.

Implementation

Optional.

## 8.16 Alarm +CALA

Table 66: +CALA parameter command syntax

 Command Possible response(s) +CALA=

Description

Set command sets an alarm time in the ME. There can be an array of different types of alarms, and each alarm may cause different text to be displayed in the ME display. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the list of current active alarm settings in the ME.

Test command returns supported array index values, alarm types, and maximum length of the text to be displayed.

Defined values

<time>: refer +CCLK

<n>, <n1>, <n2>: integer type value indicating the index of the alarm; default is manufacturer specific

<type>: integer type value indicating the type of the alarm (e.g. sound, volume, LED); values and default are manufacturer specific

<text>: string type value indicating the text to be displayed when alarm time is reached; maximum length <tlength>

<tlength>: integer type value indicating the maximum length of <text>

Implementation

Optional.

## 8.17 Generic SIM access +CSIM

Table 67: +CSIM action command syntax

 Command Possible response(s) +CSIM=, +CSIM: , +CME ERROR: +CSIM=?

Description

Set command transmits to the ME the <command> it then shall send as it is to the SIM. In the same manner the SIM <response> shall be sent back by the ME to the TA as it is. Refer subclause 9.2 for <err> values.

This command allows a direct control of the SIM by an distant application on the TE. The TE shall then take care of processing SIM information within the frame specified by GSM.

NOTE: Compared to Restricted SIM Access command +CRSM, the definition of +CSIM allows TE to take more control over the SIM‑ME interface. The locking and unlocking of the interface may be done by a special <command> value or automatically by TA/ME (by interpreting <command> parameter). In case that TE application does not use the unlock command (or does not send a <command> causing automatic unlock) in a certain timeout value, ME may release the locking.

Defined values

<length> : integer type; length of the characters that are sent to TE in <command> or <response> (two times the actual length of the command or response)

<command> : command passed on by the ME to the SIM in the format as described in GSM 11.11 [28] (hexadecimal character format; refer +CSCS)

<response> : response to the command passed on by the SIM to the ME in the format as described in GSM 11.11 [28] (hexadecimal character format; refer +CSCS)

Implementation

Optional.

## 8.18 Restricted SIM access +CRSM

Table 68: +CRSM action command syntax

 Command Possible response(s) +CRSM=[, [,,,[,]]] +CRSM: ,[,] +CME ERROR: +CRSM=?

Description

By using this command instead of Generic SIM Access +CSIM TE application has easier but more limited access to the SIM database. Set command transmits to the ME the SIM <command> and its required parameters. ME handles internally all SIM‑ME interface locking and file selection routines. As response to the command, ME sends the actual SIM information parameters and response data. ME error result code +CME ERROR may be returned when the command cannot be passed to the SIM, but failure in the execution of the command in the SIM is reported in <sw1> and <sw2> parameters. Refer to subclause 9.2 for <err> values.

Coordination of command requests to SIM and the ones issued by GSM application inside the ME is implementation dependent. However the TE should be aware of the precedence of the GSM application commands to the TE commands.

Defined values

<command> (command passed on by the ME to the SIM; refer GSM 11.11 [28]):

192 GET RESPONSE

214 UPDATE BINARY

220 UPDATE RECORD

242 STATUS

all other values are reserved

NOTE: The ME internally executes all commands necessary for selecting the desired file, before performing the actual command.

<fileid>: integer type; this is the identifier of a elementary datafile on SIM. Mandatory for every command except STATUS

NOTE: The range of valid file identifiers depends on the actual SIM and is defined in GSM 11.11 [28]. Optional files may not be present at all.

<P1>, <P2>, <P3>: integer type; parameters passed on by the ME to the SIM. These parameters are mandatory for every command, except GET RESPONSE and STATUS. The values are described in GSM 11.11 [28]

<data>: information which shall be written to the SIM (hexadecimal character format; refer +CSCS)

<sw1>, <sw2>: integer type; information from the SIM about the execution of the actual command. These parameters are delivered to the TE in both cases, on successful or failed execution of the command

<response>: response of a successful completion of the command previously issued (hexadecimal character format; refer +CSCS). STATUS and GET RESPONSE return data, which gives information about the current elementary datafield. This information includes the type of file and its size (refer GSM 11.11 [28]). After READ BINARY or READ RECORD command the requested data will be returned. <response> is not returned after a successful UPDATE BINARY or UPDATE RECORD command

Implementation

Optional.

## 8.19 Secure control command +CSCC

Table 69: +CSCC parameter command syntax

 Command Possible response(s) +CSCC=[,[,]] +CSCC: +CME ERROR: +CSCC? +CSCC: , [+CSCC: , […]] +CME ERROR: +CSCC=? +CSCC: (list of supported s),(list of supported s)

Description

This command is used to enable/disable access to commands protected by security mechanism. This enables/disables access to command sets designated as "secure" such as programming of ME. Refer subclause 9.2 for possible <err> values.

The TE asks for a <challenge> with <mode>=1 and one specific command set (<cmd_set>), the ME replies with the <challenge>, which should be inserted into the identification algorithm in both entities (TE and ME). The algorithm output <token> is sent to the ME with <mode>=2 to enable the specified command set. <mode>=3 is used to disable the command set.

The read command returns the status (<mode> 2 or 3) of each supported command set.

Defined values

<mode>:

1 request challenge token to enable access to specified command set

2 enable access to specified command set (<token> required)

3 disable access to specified command set

<cmd_set>, <cmd_set1>, <cmd_set2>:

0 MS code re-programming command set.

other values below 128 are reserved by the present document

<token>: string type; a variable length bit string represented with IRA characters 0 – 9 and A – F, each character representing a nibble; e.g. bit string "0110 1100 1001 1010" is represented by the IRA string "6C9A". The length of the required bit string varies depending on the value of <cmd_set>.

<challenge>: same format as token

Implementation

Optional.

## 8.20 Alert sound mode +CALM $(AT R97)$

Table 70: +CALM parameter command syntax

 Command Possible response(s) +CALM= +CME ERROR: +CALM? +CALM: +CME ERROR: +CALM=? +CALM: (list of supported s) +CME ERROR:

Description

This command is used to select the general alert sound mode of the ME. Refer subclause 9.2 for possible <err> values.

Test command returns supported values as compound value.

Defined values

<mode>:

0 normal mode

1 silent mode (all sounds from ME are prevented)

2… manufacturer specific

Implementation

Optional.

## 8.21 Ringer sound level +CRSL $(AT R97)$

Table 71: +CRSL parameter command syntax

 Command Possible response(s) +CRSL= +CME ERROR: +CRSL? +CRSL: +CME ERROR: +CRSL=? +CRSL: (list of supported s) +CME ERROR:

Description

This command is used to select the incoming call ringer sound level of the ME. Refer subclause 9.2 for possible <err> values.

Test command returns supported values as compound value.

Defined values

<level>: integer type value with manufacturer specific range (smallest value represents the lowest sound level)

Implementation

Optional.

## 8.22 Vibrator mode +CVIB $(AT R97)$

Table 72: +CVIB parameter command syntax

 Command Possible response(s) +CVIB= +CME ERROR: +CVIB? +CVIB: +CME ERROR: +CVIB=? +CVIB: (list of supported s) +CME ERROR:

Description

This command is used to enable and disable the vibrator alert feature of the ME. It is manufacturer specific how this interacts with +CALM command. Refer subclause 9.2 for possible <err> values.

Test command returns supported values as compound value.

Defined values

<mode>:

0 disable

1 enable

…15 reserved by the present document

16… manufacturer specific

Implementation

Optional.

## 8.23 Loudspeaker volume level +CLVL $(AT R97)$

Table 73: +CLVL parameter command syntax

 Command Possible response(s) +CLVL= +CME ERROR: +CLVL? +CLVL: +CME ERROR: +CLVL=? +CLVL: (list of supported s) +CME ERROR:

Description

This command is used to select the volume of the internal loudspeaker of the ME. Refer subclause 9.2 for possible <err> values.

Test command returns supported values as compound value.

Defined values

<level>: integer type value with manufacturer specific range (smallest value represents the lowest sound level)

Implementation

Optional.

## 8.24 Mute control +CMUT $(AT R97)$

Table 74: +CMUT parameter command syntax

 Command Possible response(s) +CMUT= +CME ERROR: +CMUT? +CMUT: +CME ERROR: +CMUT=? +CMUT: (list of supported s)

Description

This command is used to enable and disable the uplink voice muting during a voice call. Refer subclause 9.2 for possible <err> values.

Test command returns supported values as compound value.

Defined values

<n>:

0 mute off

1 mute on

Implementation

Optional.

## 8.25 Accumulated call meter +CACM $(AT R97)$

Table 75: +CACM parameter command syntax

 Command Possible response(s) +CACM=[] +CME ERROR: +CACM? +CACM: +CME ERROR: +CACM=?

Description

Set command resets the Advice of Charge related accumulated call meter value in SIM file EFACM. ACM contains the total number of home units for both the current and preceding calls. SIM PIN2 is usually required to reset the value. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current value of ACM.

Defined values

<passwd>: string type; SIM PIN2

<acm>: string type; accumulated call meter value similarly coded as <ccm> under +CAOC

Implementation

Optional.

## 8.26 Accumulated call meter maximum +CAMM $(AT R97)$

Table 76: +CAMM parameter command syntax

 Command Possible response(s) +CAMM=[[,]] +CME ERROR: +CAMM? +CAMM: +CME ERROR: +CAMM=?

Description

Set command sets the Advice of Charge related accumulated call meter maximum value in SIM file EFACMmax. ACMmax contains the maximum number of home units allowed to be consumed by the subscriber. When ACM (refer +CACM) reaches ACMmax calls are prohibited (see also GSM 02.24 [26]). SIM PIN2 is usually required to set the value. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current value of ACMmax.

Defined values

<acmmax>: string type; accumulated call meter maximum value similarly coded as <ccm> under +CAOC; value zero disables ACMmax feature

<passwd>: string type; SIM PIN2

Implementation

Optional.

## 8.27 Price per unit and currency table +CPUC $(AT R97)$

Table 77: +CPUC parameter command syntax

 Command Possible response(s) +CPUC=,[,] +CME ERROR: +CPUC? +CPUC: , +CME ERROR: +CPUC=?

Description

Set command sets the parameters of Advice of Charge related price per unit and currency table in SIM file EFPUCT. PUCT information can be used to convert the home units (as used in +CAOC, +CACM and +CAMM) into currency units. SIM PIN2 is usually required to set the parameters. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current parameters of PUCT.

Defined values

<currency>: string type; three-character currency code (e.g. "GBP", "DEM"); character set as specified by command Select TE Character Set +CSCS

<ppu>: string type; price per unit; dot is used as a decimal separator (e.g. "2.66")

<passwd>: string type; SIM PIN2

Implementation

Optional.

## 8.28 Call Meter maximum event +CCWE $(AT R98)$

Table 78: +CCWE parameter command syntax

 Command Possible response(s) +CCWE= +CME ERROR: +CCWE? +CCWE: +CME ERROR: +CCWE=? +CCWE: (list of supported s) +CME ERROR:

Description

Shortly before the ACM (Accumulated Call Meter) maximum value is reached, an unsolicited result code +CCWV will be sent, if enabled by this command. The warning is issued approximately when 30 seconds call time remains. It is also issued when starting a call if less than 30 s call time remains. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current setting.

Test command returns supported settings.

Defined values

<mode>:

0 Disable the call meter warning event

1 Enable the call meter warning event

Implementation

Optional.

## 8.29 Power class +CPWC$(AT R98)$

Table 79: +CPWC parameter command syntax

 Command Possible response(s) +CPWC=[[,]] +CME ERROR: +CPWC? +CPWC: ,, [,,,[…]] +CME ERROR: +CPWC=? +CPWC: list of supported (,(list of s)) pairs +CME ERROR:

Description

This command is used to set the preferred ME power class for each GSM frequency band supported. The interaction of this setting with the selected bearer service (+CBST and HSCSD commands) is manufacturer specific (for example, selecting a multislot operation might reduce the power class automatically). If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the currently selected output power class and default output power class for each supported frequency band (as defined by ME manufacturer). Parameter <band1> and its associated power class parameters refer to the currently used frequency band. For example, +CPWC: 2,1,1,5,4,0 in case of a dual-band ME currently using band GSM1800, for which the power class is currently set to 2, the default being class 1, and for which the currently set power class value for GSM900 is class 5 the default being class 4.

Test command returns supported bands and their power classes. For example,

+CPWC: (0,(0,4,5)),(1,(0-2)) in case of a dual-band handheld ME.

Defined values

<class>, <curr_classn>s, <def_classn>s:

0 default (not applicable to <curr_class>s or <def_classn>s)

1… MS output power class as in GSM 05.05 [38]

<band>, <bandn>s:

0 GSM900

1 GSM1800

2 reserved for GSM1900

Implementation

Optional.

## 8.30 Set Language +CLAN$(AT R98)$

Table 80: +CLAN parameter command syntax

 Command Possible response(s) +CLAN= +CME ERROR: +CLAN? +CLAN: +CME ERROR: +CLAN=? +CLAN:(list of supported s) +CME ERROR:

Description

This command sets the language in the ME. The set-command must confirm the selected language with the MMI-module in the ME. If setting fails, a ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

The <code>-parameter is a two-letter abbreviation of the language. The language codes, as defined in ISO 639, consists of two characters, e.g. "sv", "en" etc.

The complete set of language codes to be used are manufacturer specific and should all be possible to use with the command. Some examples are described under <code>. For a complete list see ISO 639.

The read command gives the current language as output. If the language has been set to "AUTO", the read command returns the current language set from the SIM-card. Hence, the "AUTO"-code is never returned by the read-command.

Test command returns supported <code>s.

Defined values

<code>: (not all language codes are present in this list)

"AUTO" Read language from SIM. "Auto" is not returned by the read-command.

"sw" Swedish

"fi" Finnish

"da" Danish

"no" Norwegian

"de" German

"fr" French

"es" Spanish

"it" Italian

"en" English

Implementation

Optional.

## 8.31 Language Event +CLAE$(AT R98)$

Table 81: +CLAE parameter command syntax

 Command Possible response(s) +CLAE= +CME ERROR: +CLAE? +CLAE: +CME ERROR: +CLAE=? +CLAE: (list of supported s) +CME ERROR:

Description

This command is used to enable/disable unsolicited result code +CLAV: <code>. If <mode>=1, +CLAV: <code > is sent from the ME when the language in the ME is changed. If setting fails, a ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the current status for <mode>.

Test command returns supported <mode>s.

Defined values

<mode>:

0 Disable unsolicited result code +CLAE

1 Enable unsolicited result code +CLAE

<code>: For description see +CLAN.

Implementation

Optional.

## 8.32 Set Greeting Text +CSGT$(AT R98)$

Table 82: +CSGT parameter command syntax

 Command Possible response(s) +CSGT=[,] +CME ERROR: +CSGT? +CSGT: , +CME ERROR: +CSGT=? +CSGT:(list of supported s), +CME ERROR:

Description

This command sets and activates the greeting text in the ME. The greeting text is shown in the ME display when the ME is turned on. The command can also be used to deactivate a text. If setting fails in an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

The read command queries the current <text> and the status of the <mode> parameter

Test command returns supported <mode>s and the maximum number of characters in <text>. For example,

+CSGT: (0-1),20

Defined values

<text>: string type; A free text that shall be displayed. The text can not include <CR>

<mode>:

0 Turn off greeting text.

1 Turn on greeting text

Implementation

Optional.

## 8.33 Set Voice Mail Number +CSVM$(AT R98)$

Table 83: +CSVM parameter command syntax

 Command Possible response(s) +CSVM=[,[,]] +CME ERROR: +CSVM? +CSVM:,, +CME ERROR: +CSVM=? +CSVM: (list of supported s), (list of supported s) +CME ERROR:

Description

The number to the voice mail server is set with this command. The parameters <number> and <type> can be left out if the parameter <mode> is set to 0. If setting fails, an ME error, +CME ERROR: <err> is returned. Refer subclause 9.2 for <err> values.

Read command returns the currently selected voice mail number and the status (i.e. enabled/disabled).

Test command returns supported <mode>s and <type>s.

Defined values

<mode>:

0 Disable the voice mail number.

1 Enable the voice mail number.

<number>: string type; Character string <0..9,+>

<type>: integer type; Type of address octet. (refer GSM 04.08 section 10.5.4.7)

129 ISDN / telephony numbering plan, national / international unknown

145 ISDN / telephony numbering plan, international number

161 ISDN / telephony numbering plan, national number

128 – 255 Other values refer GSM 04.08 section 10.5.4.7

<type>: type of address octet in integer format (refer GSM 04.08 [8] subclause 10.5.4.7); default 145 when dialling string includes international access code character "+", otherwise 129

Implementation

Optional.

## 8.34 Ring Melody Playback +CRMP$(AT R98)$

Table 84: +CRMP action command syntax

 Command Possible response(s) +CRMP=[, [,,]] +CME ERROR: +CRMP=? +CRMP: (list of supported s),(list of supported s),(),(list of supported s)[ +CRMP: (list of supported s),(list of supported s),(),(list of supported s) +CME ERROR:

Description

Execution command causes the ME to playback a specific ring type. The default values for the optional parameters are the current selected in the ME.

Test command returns the available ring melodies.

Defined values:

<call type>: integer type; manufacturer specific

<volume>: integer type value with manufacturer specific range (smallest value represents the lowest sound level)

<type>:

0 Manufacturer defined

1 User defined

<index>: integer type;

Implementation

Optional.

## 8.35 Master Reset +CMAR$(AT R98)$

Table 85: +CMAR action command syntax

 Command Possible response(s) +CMAR= +CME ERROR: +CMAR=? +CME ERROR:

Description

This command requests the ME to reset user data. The user data in the phone will be reset to default values. If setting fails, a ME error, +CME ERROR: <err>, is returned. Refer subclause 9.2 for <err> values.

If the ME is locked and this command is used, then the ME will be unlocked after the master reset.

Test command returns OK

Defined values

<phone lock code > string type; Security code (Phone Lock code) must be verified before performing the master reset.

Implementation

Optional.

## 8.36 List all available AT commands +CLAC$(AT R98)$

Table 86: +C action command syntax

 Command Possible response(s) +CLAC [ […]] +CME ERROR: +CLAC=? +CME ERROR:

Description

Execution command causes the ME to return one or more lines of AT Commands.

Note: This command only returns the AT commands that are available for the user.

Defined values

<AT Command >:

Defines the AT command including the prefix AT. Text shall not contain the sequence 0<CR> or OK<CR>

Implementation

Optional.

## 8.37 Informative examples

Phone Activity Status (+CPAS) is a general command used to detect the presence of the ME, if there is an incoming call, or if there is a call in progress. This command should be used before trying to operate the ME from the TE. Note that the activity status may change at any time after the execution of +CPAS, and hence the returned value may be obsolete. Detachment of the ME from the TA is indicated with a special final result code that indicates all errors related to the operation of the ME. Result code is +CME ERROR: <err>, where <err> is an integer or verbose value giving useful information about the reason for the command failure (refer subclause "Mobile Equipment error result code +CME ERROR").

Set Phone Functionality (+CFUN) can be used to reset the ME or set the power consumption level of the ME by disabling certain parts of the ME (e.g. the transmit and receive RF circuits). Mobile Equipment Control Mode (+CMEC) is a command which manages access sharing between the ME and the TE to operate the user interface of the ME. It has three subparameters which describe the access to keypad, display and indicators. Each subparameter has values for restricting the operation of the corresponding user interface part only to the ME or only to the TE, or to give the access for both of them.

Keypad Control command (+CKPD) is used to operate the keypad of the ME. Here lies the problem of different keypad types between manufacturers, and also between their ME models. The keypresses are sent to the ME as a string type subparameter of this command. Each character in that string represents a key which will be logically pressed. A special character (colon) followed by any character can be used by manufacturers (or TE application programmers) to represent a key which is not defined in this profile. An escape character (semicolon) for direct string entering is also defined. All text between single semicolon characters is treated as an alphanumeric entry and is not converted to keypressings. All semicolon characters inside the text shall be duplicated in the TE and stripped back to one before entering them to the ME. Command has also optional second and third parameters which can be used to alter the time to strike each key, and the pause to wait between keystrokes (in tenths of a second). A special pause character (W or w) may be added in the string type subparameter for an extra pause of the same length as given by the third subparameter. In the following example alphanumeric mode is entered and a person predefined in the ME phonebook, "Ilkka", is called; each key is struck for half a second and pauses between strokes are a tenth of a second:

AT+CKPD="@:Ilkka:S",5,1

OK

Display Control command (+CDIS) is used both for writing to the display text fields and for reading the current status of the fields. Mobile equipment usually have a character set of their own, so the TA shall be able to do a conversion between the TE and the ME character sets. TE can have several character sets and the TA must be informed of the character set in use before starting to write or read the display. Character set is set with general command Select TE Character Set +CSCS. The +CDIS=? query command is a way to get information about the length of the fields. In the following example an ME is first queried about the supported conversions and the lengths of the fields. The response shows there are three ten character long and two six character long fields. Then the TE character set is set to be IRA and the current status of the display is read. The last command writes the text "Hello, I’m writing to display" in the three fields, and keeps the contents of the two other fields same (the last two commas could also be left out).

AT+CSCS=?;+CDIS=?

+CSCS: ("IRA","PCCP850","8859‑1")

+CDIS: 10,10,10,6,6

OK

AT+CSCS="IRA"

OK

AT+CDIS?

OK

AT+CDIS="IRA","Hello, I’m","writing to","display",,

OK

The writing is possible only when it is permitted by the Mobile Equipment Control Mode command (and by the manufacturer). If a certain field is not writable (but is readable), writing to it should be ignored. The order of the text fields should be determined by manufacturers and follow the rule: first field is in the upper left corner, second in the next field to the right, and so on, until to the last field in the lower right corner.

Indicators can be handled with Indicator Control command (+CIND). Its query command returns a short description (abbreviation) of the purpose of the indicators and the supported values for each indicator. The setting and reading is done similarly as with Display Control command. In the following example the indicators of a phone are queried, their current value is read, and the value of message indicator is tried to set (but it is forbidden):.

AT+CIND=?

+CIND: ("memory",(0‑2)),("call",(0,1)),("data",(0,1)),("roam",(0,1)),

("alpha",(0,1)),("message",(0,1)),("index1",(0‑11)),("index2",(0‑11)),

("index3",(0‑11)),("signal",(0‑5)),("service",(0,1)),("sel1",(0,1)),

("sel2",(0,1)),("sel3",(0,1)),("battchg",(0‑5))

OK

AT+CIND?

+CIND: 1,0,0,0,0,1,0,0,0,3,1,0,0,0,5

OK

AT+CIND=,,,,,0

+CME ERROR: 10

The subparameter order in the command is defined by the query command order, not by the actual display order. The zero value of an indicator means that it is off (or in state which can be identified as "off"‑state), value one means that the indicator is on (or in a state which is more substantial than "off"‑state), value two is more substantial than one, and so on.

To this point, only operating through the TE is covered. But when ME can be operated also through its keypad, or there are changes in the status of the display elements, the information about these actions shall be given to the TE also. This can be solved only with unsolicited result codes which return keypad, display text and indicator events. Each event group has a result code of its own: +CKEV returns the key code and if the key pressed (1) or released (0), +CDEV returns the display text field running number (as specified by command +CDIS) and the new status of the field, and +CIEV returns the running number of the indicator (refer +CIND) and the new value of it. In the following example number key 1 is pressed, updated on the display, released, and signal strength changes its state to five:

+CKEV: 49,1

+CDEV: 1,"1"

+CKEV: 49,0

+CIND: 10,5

Mobile Equipment Event Reporting command (+CMER) has been specified for the purpose of controlling the sending of these unsolicited result codes to the TE. Four ways are provided to handle the buffering of the result codes (see figure 15). The first is to buffer them always. The second possibility is to discard them when in on‑line data mode and otherwise forward them directly to the TE. The third possibility is to buffer them in data mode and otherwise forward them to the TE. The last possibility is to send them always to the TE (some inband technique – e.g. V.80 – shall be used in data mode to send the result codes within the data). This is the first subparameter of +CMER command. Next three subparameters are used to enable or disable each of the keypad, text field and indicator result codes. Sending codes can be enabled either so that only events generated from the ME user interface are returned, or so that also events caused by Keypad, Display and Indicator Control commands are returned. The fifth subparameter controls the flushing of the buffer when the value of the first subparameter is changed to a value from one to three.

Figure  16: Mobile equipment event reporting

An example of complete setup of the TA where TE takes the control of keypad, but does not want to write to display nor control the indicators (in the start ME is powered off):

AT+CMEE=2;+CREG=1 (use verbose <err> values; report registration)

OK

AT+CPAS (query ME status)

+CPAS: 5 (ME is asleep)

OK

AT+CFUN=1 (set ME to full functionality state)

+CME ERROR: SIM PIN required (SIM requests PIN)

AT+CPIN="1234"

+CME ERROR: incorrect password (user entered wrong PIN)

AT+CPIN="4321"

OK (correct PIN)

AT+COPS=0,0 (ask for automatic operator selection and registration)

OK

+CREG: 1 (registered in the network)

AT+COPS?

+COPS: 0,0,"RADIOLINJA" (get the operator name)

OK

AT+CMEC=1,0,0 (take over the keypad, leave display to ME)

OK

AT+CDIS=?;+CIND=? (query display text and indicator formats)

+CDIS: 10,10,10,6,6

+CIND: ("memory",(0‑2)),("call",(0,1)),("data",(0,1)),("roam",(0,1)),

("alpha",(0,1)),("message",(0,1)),("index1",(0‑11)),("index2",(0‑11)),

("index3",(0‑11)),("signal",(0‑5)),("service",(0,1)),("sel1",(0,1)),

("sel2",(0,1)),("sel3",(0,1)),("battchg",(0‑5))

OK

AT+CSCS="IRA" (set TE character set for display text results)

OK

AT+CMER=1,0,2,2,0 (return display text and indicator result codes when

OK in command state, in data mode discard them)

AT+CDIS?;+CIND? (read current state of display texts and indicators)

+CDIS: "",""," 12345","Menu","Memory" (user had pressed number buttons before

+CIND: 1,0,0,0,0,1,0,0,0,3,1,0,0,0,5 TE took control with +CMEC)

OK

AT+CKPD="C",20 (clear main display text ‘12345’ by holding the

OK ‘clear’ button down two seconds)

+CDEV: 3,"1234" (first only one character deleted)

+CDEV: 3,"" (while holding continues, whole display is cleared)

+CDEV: 1,"RADIOLINJA" (operator name comes to the display)

The start of the previous example could go as follows when ME has already been powered on but is waiting for the PIN:

AT+CMEE=2;+CREG=1 (use verbose <err> values; report registration)

OK

AT+CPAS (query ME status)

+CPAS: 0 (ME is ready to receive commands)

OK

+CPIN: SIM PIN (yes, SIM PIN required)

AT+CPIN="4321"

OK (correct PIN)

One of the most regular operations done through the ME user interface is phonebook control. To lessen the workload of the TE, some direct commands for phonebook reading and writing are practical. Command Select Phonebook Memory Storage +CPBS query version returns supported phonebook memories, read version returns current settings, and set version selects the memory. For GSM, the normal storages are SIM, ME and TA.

Read Phonebook Entries (+CPBR) can be used to read either one or many phonebook locations at the same time. A regular phonebook entry consists of three elements: memory index number, the phone number and its alphanumeric equivalent given by the user. Query version of this returns supported index values of the selected memory, and the maximum lengths of the number and alphanumeric elements. The query version of the Write Phonebook Entry command (+CPBW) is similar, but the action version sets or clears an entry in the phonebook. Find Phonebook Entries (+CPBF) may be used to search alphanumeric entries starting with specific string. An example where the whole phonebook of the ME is read, index number four is cleared, and number three is written:

AT+CPBS=?

+CPBS: ("ME","SM") (ME and SIM have phonebooks)

OK

AT+CPBS="ME" (select ME memory)

OK

AT+CPBR=? (read index range and element lengths)

+CPBR: (1‑99),30,30

OK

AT+CPBR=1,99 (read all entries but only the ones set are returned)

+CPBR: 1,"931123456",129,"Ilkka"

+CPBR: 2,"9501234567",129,""

+CPBR: 4,"901234567",129,"Hesari"

OK

AT+CPBW=4;+CPBW=3,"921123456",,"TS" (clear index 4 and write index 3)

OK