## 10 Commands for GPRS

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

This clause defines commands that a TE may use to control a GPRS MT. Other aspects of a GPRS MT are described in GSM 07.60 [34].

It is anticipated that GPRS MTs will vary widely in functionality. At one extreme, a class A MT might support multiple PDP types as well as circuit switched data, and use multiple external networks and QoS profiles. At the other extreme a class C MT might support only a single PDP type using a single external network, and rely on the HLR to contain the PDP context definition.

A comprehensive set of GPRS-specifc commands is defined in clause 10.1 to provide the flexibility needed by the more complex MT. The commands are designed to be expandable to accommodate new PDP types and interface protocols, merely by defining new values for many of the parameters. Multiple contexts may be activated if the interface link-layer protocol is able to support them. The commands use the extended information and error message capabilities described in this specification.

For MTs of intermediate complexity, most commands have simplified forms where certain parameters may be omitted.

For the simplest MTs, and for backwards compatibility with existing communications software, it is possible to control access to the GPRS using existing modem-compatible commands. A special dial-string syntax is defined for use with the D command. This "modem compatible" mode of operation is described in subclause 10.2.

A discussion on the interaction of the AT commands, GPRS Management and Packet Data Protocols, together with examples of command sequences for a number of applications may be found in GSM 07.60 [34].

## 10.1 Commands specific to MTs supporting the GPRS

### 10.1.1 Define PDP Context +CGDCONT

Table 88: +CGDCONT parameter command syntax

 Command Possible response(s) +CGDCONT=[ [, [, [, [, [, [, [,…[,pdN]]]]]]]]] OKERROR +CGDCONT? +CGDCONT: , , ,, , [,[,…[,pdN]]][+CGDCONT: , , ,, , [,[,…[,pdN]]][…]] +CGDCONT=? +CGDCONT: (range of supported s), ,,,(list of supported s),(list of supported s)[,(list of supported s)[,…[,(list of supported s)]]][+CGDCONT: (range of supported s), ,,,(list of supported s),(list of supported s)[,(list of supported s)[,…[,(list of supported s)]]][…]]

Description

The set command specifies PDP context parameter values for a PDP context identified by the (local) context identification parameter, <cid>. The number of PDP contexts that may be in a defined state at the same time is given by the range returned by the test command.

A special form of the set command, +CGDCONT= <cid> causes the values for context number <cid> to become undefined.

The read command returns the current settings for each defined context.

The test command returns values supported as a compound value. If the MT supports several PDP types, <PDP_type>, the parameter value ranges for each <PDP_type> are returned on a separate line.

Defined values

<cid>: (PDP Context Identifier) a numeric parameter which specifies a particular PDP context definition. The parameter is local to the TE-MT interface and is used in other PDP context-related commands. The range of permitted values (minimum value = 1) is returned by the test form of the command.

<PDP_type>: (Packet Data Protocol type) a string parameter which specifies the type of packet data protocol

X25 ITU-T/CCITT X.25 layer 3
IP Internet Protocol (IETF STD 5)

OSPIH Internet Hosted Octet Stream Protocol (Obsolete)

PPP Point to Point Protocol (IETF STD 51)

<APN>: (Access Point Name) a string parameter which is a logical name that is used to select the GGSN or the external packet data network.

If the value is null or omitted, then the subscription value will be requested.

<PDP_address>: a string parameter that identifies the MT in the address space applicable to the PDP.

If the value is null or omitted, then a value may be provided by the TE during the PDP startup procedure or, failing that, a dynamic address will be requested.

The read form of the command will continue to return the null string even if an address has been allocated during the PDP startup procedure. The allocated address may be read using the +CGPADDR command.

<d_comp>: a numeric parameter that controls PDP data compression
0 – off (default if value is omitted)
1 – on
Other values are reserved.

<h_comp>: a numeric parameter that controls PDP header compression
0 – off (default if value is omitted)
1 – on
Other values are reserved.

NOTE. At present only one data compression algorithm (V.42bis) is provided in SNDCP. If and when other algorithms become available, a command will be provided to select one or more of these.

<pd1>, … <pdN>: zero to N string parameters whose meanings are specific to the <PDP_type>

Implementation

Mandatory unless only a single subscribed context is supported.

### 10.1.2 Quality of Service Profile (Requested) +CGQREQ

Table 89: +CGQREQ parameter command syntax

 Command Possible Response(s) +CGQREQ=[ [, [, [, [, [,]]]]]] OKERROR +CGQREQ? +CGQREQ: , , , , , [+CGQREQ: , , , , , […]] +CGQREQ=? +CGQREQ: , (list of supported s), (list of supported s), (list of supported s) , (list of supported s), (list of supported s)[+CGQREQ: , (list of supported s), (list of supported s), (list of supported s) , (list of supported s), (list of supported s)[…]]

Description

This command allows the TE to specify a Quality of Service Profile that is used when the MT sends an Activate PDP Context Request message to the network.

The set command specifies a profile for the context identified by the (local) context identification parameter, <cid>. Since this is the same parameter that is used in the +CGDCONT command, the +CGQREQ command is effectively an extension to the +CGDCONT command. The QoS profile consists of a number of parameters, each of which may be set to a separate value.

A special form of the set command, +CGQREQ= <cid> causes the requested profile for context number <cid> to become undefined.

The read command returns the current settings for each defined context.

The test command returns values supported as a compound value. If the MT supports several PDP types, the parameter value ranges for each PDP type are returned on a separate line.

Defined values

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command).

The following parameters are defined in GSM 03.60 –

<precedence>: a numeric parameter which specifies the precedence class

<delay>: a numeric parameter which specifies the delay class

<reliability>: a numeric parameter which specifies the reliability class

<peak>: a numeric parameter which specifies the peak throughput class

<mean>: a numeric parameter which specifies the mean throughput class

If a value is omitted for a particular class then the value is considered to be unspecified.

Implementation

Optional. If the command is not implemented then all the values are considered to be unspecified.

### 10.1.3 Quality of Service Profile (Minimum acceptable) +CGQMIN

Table 90: +CGQMIN parameter command syntax

 Command Possible Response(s) +CGQMIN=[ [, [, [, [, [,]]]]]] OKERROR +CGQMIN? +CGQMIN: , , , , , [+CGQMIN: , , , , , […]] +CGQMIN=? +CGQMIN: , (list of supported s), (list of supported s), (list of supported s) , (list of supported s), (list of supported s)[+CGQMIN: , (list of supported s), (list of supported s), (list of supported s) , (list of supported s), (list of supported s)[…]]

Description

This command allows the TE to specify a minimum acceptable profile which is checked by the MT against the negotiated profile returned in the Activate PDP Context Accept message.

The set command specifies a profile for the context identified by the (local) context identification parameter, <cid>. Since this is the same parameter that is used in the +CGDCONT command, the +CGQMIN command is effectively an extension to the +CGDCONT command. The QoS profile consists of a number of parameters, each of which may be set to a separate value.

A special form of the set command, +CGQMIN= <cid> causes the minimum acceptable profile for context number <cid> to become undefined. In this case no check is made against the negotiated profile.

The read command returns the current settings for each defined context.

The test command returns values supported as a compound value. If the MT supports several PDP types, the parameter value ranges for each PDP type are returned on a separate line.

Defined values

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command).

The following parameters are defined in GSM 03.60 –

<precedence>: a numeric parameter which specifies the precedence class

<delay>: a numeric parameter which specifies the delay class

<reliability>: a numeric parameter which specifies the reliability class

<peak>: a numeric parameter which specifies the peak throughput class

<mean>: a numeric parameter which specifies the mean throughput class

If a value is omitted for a particular class then this class is not checked.

Implementation

Optional. If the command is not implemented then no check is made against the negotiated profile.

### 10.1.4 GPRS attach or detach +CGATT

Table 91: CGATT action command syntax

 Command Possible Response(s) +CGATT= [] OKERROR +CGATT? +CGATT: +CGATT=? +CGATT: (list of supported s)

Description

The execution command is used to attach the MT to, or detach the MT from, the GPRS service. After the command has completed, the MT remains in V.25ter command state. If the MT is already in the requested state, the command is ignored and the OK response is returned. If the requested state cannot be achieved, an ERROR or +CME ERROR response is returned. Extended error responses are enabled by the +CMEE command.

Any active PDP contexts will be automatically deactivated when the attachment state changes to detached.

The read command returns the current GPRS service state.

The test command is used for requesting information on the supported GPRS service states.

NOTE: This command has the characteristics of both the V.25ter action and parameter commands. Hence it has the read form in addition to the execution/set and test forms.

Defined Values

<state>: indicates the state of GPRS attachment
0 – detached
1 – attached
Other values are reserved and will result in an ERROR response to the execution command.

Implementation

Optional.

### 10.1.5 PDP context activate or deactivate +CGACT

Table 92: CGACT action command syntax

 Command Possible Response(s) +CGACT=[ [,[,[,…]]]] OKERROR +CGACT? +CGACT: , [+CGACT: , […]] +CGACT=? +CGACT: (list of supported s)

Description

The execution command is used to activate or deactivate the specified PDP context (s). After the command has completed, the MT remains in V.25ter command state. If any PDP context is already in the requested state, the state for that context remains unchanged. If the requested state for any specified context cannot be achieved, an ERROR or +CME ERROR response is returned. Extended error responses are enabled by the +CMEE command. If the MT is not GPRS attached when the activation form of the command is executed, the MT first performs a GPRS attach and them attempts to activate the specified contexts. If the attach fails then the MT responds with ERROR or, if extended error responses are enabled, with the appropriate failure-to-attach error message.

If no <cid>s are specified the activation form of the command activates all defined contexts.

If no <cid>s are specified the deactivation form of the command deactivates all active contexts.

The read command returns the current activation states for all the defined PDP contexts.

The test command is used for requesting information on the supported PDP context activation states.

NOTE. This command has the characteristics of both the V.25ter action and parameter commands. Hence it has the read form in addition to the execution/set and test forms.

Defined Values

<state>: indicates the state of PDP context activation
0 – deactivated
1 – activated
Other values are reserved and will result in an ERROR response to the execution command.

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command).+CGDCONT

Implementation

Optional.

### 10.1.6 Enter data state +CGDATA

Table 93: +CGDATA action command syntax

 Command Possible Response(s) +CGDATA=[ ,[ [, [,…]]]] CONNECTERROR +CGDATA=? +CGDATA: (list of supported s)

Description

The execution command causes the MT to perform whatever actions are necessary to establish communication between the TE and the network using one or more GPRS PDP types. This may include performing a GPRS attach and one or more PDP context activations. If the <L2P> parameter value is unacceptable to the MT, the MT shall return an ERROR or +CME ERROR response. Otherwise, the MT issues the intermediate result code CONNECT and enters V.25ter online data state.

Commands following +CGDATA command in the AT command line shall not be processed by the MT.

The detailed behaviour after the online data state has been entered is dependent on the PDP type. It is described briefly in GSM 07.60 and in more detail in GSM 09.61 and the specifications for the relevant PDPs. GPRS attachment and PDP context activation procedures may take place prior to or during the PDP startup if they have not already been performed using the +CGATT and +CGACT commands.

If context activation takes place during the PDP startup, one or more <cid>s may be specified in order to provide the information needed for the context activation request(s).

During each PDP startup procedure the MT may have access to some or all of the following information –

The MT may have a priori knowledge, for example, it may implement only one PDP type.

The command may have provided an <L2P> parameter value.

The TE may provide a PDP type and/or PDP address to the MT during in the PDP startup procedure.

If any of this information is in conflict, the command will fail.

Any PDP type and/or PDP address present in the above information shall be compared with the PDP type and/or PDP address in any context definitions specified in the command in the order in which their <cid>s appear. For a context definition to match –

The PDP type must match exactly.

The PDP addresses are considered to match if they are identical or if either or both addresses are unspecified. For example, a PPP NCP request specifying PDP type = IP and no PDP address would cause the MT to search through the specified context definitions for one with PDP type = IP and any PDP address.

The context shall be activated using the matched value for PDP type and a static PDP address if available, together with the other information found in the PDP context definition. If a static PDP address is not available then a dynamic address is requested.

If no <cid> is given or if there is no matching context definition, the MT shall attempt to activate the context with whatever information is available to the MT. The other context parameters shall be set to their default values.

If the activation is successful, data transfer may proceed.

After data transfer is complete, and the layer 2 protocol termination procedure has completed successfully, the V.25ter command state is re-entered and the MT returns the final result code OK.

In the event of an erroneous termination or a failure to start up, the V.25ter command state is re-entered and the MT returns the final result code NO CARRIER or, if enabled, +CME ERROR. Attach, activate and other errors may be reported.

The test command is used for requesting information on the supported layer 2 protocols.

This command may be used in both normal and modem compatibility modes.

Defined Values

<L2P>: a string parameter that indicates the layer 2 protocol to be used between the TE and MT
NULL none, for PDP type OSP:IHOSS (Obsolete)
PPP Point-to-point protocol for a PDP such as IP
PAD character stream for X.25 character (triple X PAD) mode
X25 X.25 L2 (LAPB) for X.25 packet mode
M-xxxx manufacturer-specific protocol (xxxx is an alphanumeric string)

If the value is omitted, the layer 2 protocol is unspecified. Other values are reserved and will result in an ERROR response.

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command).

Implementation

Optional if the D (dial) command can be used to specify GPRS operation.

### 10.1.7 Configure local Octet Stream PAD parameters +CGCLOSP (Obsolete)

Table 94: +CGPADDR action command syntax

Description

The execution command returns a list of PDP addresses for the specified context identifiers.

The test command returns a list of defined <cid>s.

Defined values

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command). If no <cid> is specified, the addresses for all defined contexts are returned.

<PDP_address>: a string that identifies the MT in the address space applicable to the PDP. The address may be static or dynamic. For a static address, it will be the one set by the +CGDCONT command when the context was defined. For a dynamic address it will be the one assigned during the last PDP context activation that used the context definition referred to by <cid>. <PDP_address> is omitted if none is available.

Implementation

Optional.

### 10.1.9 Automatic response to a network request for PDP context activation +CGAUTO

Table 95: CGAUTO parameter command syntax

 Command Possible response(s) +CGAUTO=[] OKERROR +CGAUTO? +CGAUTO: +CGAUTO=? +CGAUTO: (list of supported s)

Description

The set command disables or enables an automatic positive response (auto-answer) to the receipt of a Request PDP Context Activation message from the network. It also provides control over the use of the V.25ter basic commands ‘S0’, ‘A and ‘H’ for handling network requests for PDP context activation. The setting does not affect the issuing of the unsolicited result code RING or +CRING.

The test command returns the values of <n> supported by the MT as a compound value.

When the +CGAUTO=0 command is received, the MT shall not perform a GPRS detach if it is attached. Subsequently, when the MT announces a network request for PDP context activation by issuing the unsolicited result code RING or +CRING, the TE may manually accept or reject the request by issuing the +CGANS command or may simply ignore the network request.

When the +CGAUTO=1 command is received, the MT shall attempt to perform a GPRS attach if it is not already attached. Failure will result in ERROR or, if enabled, +CME ERROR being returned to the TE. Subsequently, when the MT announces a network request for PDP context activation by issuing the unsolicited result code RING or +CRING to the TE, this is followed by the intermediate result code CONNECT. The MT then enters V.25ter online data state and follows the same procedure as it would after having received a +CGANS=1 with no <L2P> or <cid> values specified.

Defined values

<n>:

0 turn off automatic response for GPRS only
1 turn on automatic response for GPRS only
2 modem compatibility mode, GPRS only
3 modem compatibility mode, GPRS and circuit switched calls (default)

For <n> = 0 GPRS network requests are manually accepted or rejected by the +CGANS command.

For <n> = 1 GPRS network requests are automatically accepted according to the description above.

For <n> = 2, automatic acceptance of GPRS network requests is controlled by the ‘S0’ command. Manual control uses the ‘A’ and ‘H’ commands, respectively, to accept and reject GPRS requests. (+CGANS may also be used.) Incoming circuit switched calls can be neither manually nor automatically answered.

For <n> = 3, automatic acceptance of both GPRS network requests and incoming circuit switched calls is controlled by the ‘S0’ command. Manual control uses the ‘A’ and ‘H’ commands, respectively, to accept and reject GPRS requests. (+CGANS may also be used.) Circuit switched calls are handled as described elsewhere in this specification.

Implementation

Optional. If not implemented, the MT shall behave according to the case of <n> = 3.

### 10.1.10 Manual response to a network request for PDP context activation +CGANS

Table 96: CGANS action command syntax

 Command Possible response(s) +CGANS=[, [ ,[]]] OKERROR +CGANS=? +CGANS: (list of supported s), (list of supported s)

Description

The execution command requests the MT to respond to a network request for GPRS PDP context activation which has been signalled to the TE by the RING or +CRING: unsolicited result code. The <response> parameter allows the TE to accept or reject the request.

If <response> is 0, the request is rejected and the MT returns OK to the TE.

If <response> is 1, the following procedure is followed by the MT.

Commands following the +CGANS command in the AT command line shall not be processed by the MT.

If the <L2P> parameter value is unacceptable to the MT, the MT shall return an ERROR or +CME ERROR response. Otherwise, the MT issues the intermediate result code CONNECT and enters V.25ter online data state.

The detailed behaviour after the online data state has been entered is dependent on the PDP type. It is described briefly in GSM 07.60 and in more detail in GSM 09.61 and the specifications for the relevant PDPs. PDP context activation procedures shall take place prior to or during the PDP startup.

One or more <cid>s may be specified in order to provide the values needed for the context activation request.

During the PDP startup procedure the MT has the PDP type and the PDP address provided by the network in the Request PDP Context Activation message. The MT may also have some or all of the following information –

The MT may have a priori knowledge, for example, it may implement only one PDP type.

The command may have provided an <L2P> parameter value.

The TE may provide one or both of PDP type and PDP address to the MT in the PDP startup.

If any of this information is in conflict, the command will fail.

If one or more <cid> is given then an attempt shall be made to identify an appropriate context definition by matching the PDP type and PDP address in the network request with the PDP type and PDP address in each of the specified context definitions (in the order in which their <cid>s appear in the command) as follows –

The PDP type must match exactly.

The PDP addresses are considered to match if they are identical or if the address in the context definition is unspecified.

The context shall be activated using the values for PDP type and PDP address provided by the network, together with the other information found in the PDP context definition. An APN may or may not re required, depending on the application.

If no <cid> is given or if there is no matching context definition, the MT will attempt to activate the context using the values for PDP type and PDP address provided by the network, together with any other relevant information known to the MT. The other context parameters will be set to their default values.

If the activation is successful, data transfer may proceed.

After data transfer is complete, and the layer 2 protocol termination procedure has completed successfully, the V.25ter command state is re-entered and the MT returns the final result code OK

In the event of an erroneous termination or a failure to startup, the V.25ter command state is re-entered and the MT returns the final result code NO CARRIER or, if enabled, +CME ERROR. Attach, activate and other errors may be reported. It is also an error to issue the +CGANS command when there is no outstanding network request.

NOTE: This is not the same as if the MT issues a +CGDATA (or +CGACT) command after receiving a +CRING unsolicited result code. A +CGDATA (or +CGACT) does not command the MT to acknowledge the network request but rather to make a new request for context activation. The network request would be ignored.

The test command returns the values of <response> and <L2P> supported by the MT as compound values.

This command may be used in both normal and modem compatibility modes.

Defined values

<response>: is a numeric parameter which specifies how the request should be responded to.

0 reject the request
1 accept and request that the PDP context be activated

If <response> is omitted it is assumed to be 0. Other values are reserved and will result in the ERROR response.

<L2P>: a string parameter which indicates the layer 2 protocol to be used (see +CGDATA command).

<cid>: a numeric parameter which specifies a particular PDP context definition (see +CGDCONT command).

Implementation

Optional.

### 10.1.11 GPRS mobile station class +CGCLASS

Table 97: CGCLASS parameter command syntax

 Command Possible Response(s) +CGCLASS= [] OKERROR +CGCLASS? +CGCLASS: +CGCLASS=? +CGCLASS: (list of supported s)

Description

The set command is used to set the MT to operate according to the specified GPRS mobile class. If the requested class is not supported, an ERROR or +CME ERROR response is returned. Extended error responses are enabled by the +CMEE command.

The read command returns the current GPRS mobile class.

The test command is used for requesting information on the supported GPRS mobile classes.

Defined Values

<class>: a string parameter which indicates the GPRS mobile class (in descending order of functionality)
A class A (highest)
B class B
CG class C in GPRS only mode
CC class C in circuit switched only mode (lowest)

Other values are reserved and will result in an ERROR response to the set command.

If the MT is GPRS attached when the set command is issued with a <class> = CC specified, a detach request shall be sent to the network.

Implementation

Optional.

### 10.1.12 Configure local triple-X PAD parameters +CGCLPAD

Table 98: CGCLPAD parameter command syntax

 Command Possible Response(s) +CGCLPAD=[, ] OKERROR +CGCLPAD? +CGCLPAD: , [+CGCLPAD: , >[…]] +CGCLPAD=? +CGCLPAD: , (list of supported s)[+CGCLPAD: , (list of supported s)[…]]

Description

The set command sets the value of a specified X.3 PAD parameter in the local PAD. A minimum set of parameters to be supported is listed in GSM 07.60.

The read command returns, one per line, the value of each of the supported parameters.

The test command returns, one per line, the permitted range of values for each of the supported parameters.

Defined values

<parm>: a numeric parameter which specifies the X.3 parameter to be configured

<value>: a numeric parameter which specifies the value to which the X.3 parameter is to be set

If <value> is omitted for a particular class then <parm> is set to the X.3-defined default, if any.

Implementation

Optional.

### 10.1.13 GPRS event reporting +CGEREP

Table 99: CGEREP parameter command syntax

 Command Possible response(s) +CGEREP=[[,]] OKERROR +CGEREP? +CGEREP: , +CGEREP=? +CGEREP: (list of supported s),(list of supported s)

Description

Set command enables or disables sending of unsolicited result codes, +CGEV: XXX from MT to TE in the case of certain events occurring in the GPRS MT or the network. <mode> controls the processing of unsolicited result codes specified within this command. <bfr> controls the effect on buffered codes when <mode> 1 or 2 is entered. If a setting is not supported by the MT, ERROR or +CME ERROR: is returned.

Read command returns the current mode and buffer settings

Test command returns the modes and buffer settings supported by the MT as compound values.

Defined values

<mode>:

0 buffer unsolicited result codes in the MT; if MT result code buffer is full, the oldest ones can be discarded. No codes are forwarded to the TE.

1 discard unsolicited result codes when MT‑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 MT when MT‑TE link is reserved (e.g. in on‑line data mode) and flush them to the TE when MT‑TE link becomes available; otherwise forward them directly to the TE

<bfr>:

0 MT buffer of unsolicited result codes defined within this command is cleared when <mode> 1 or 2 is entered

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

Defined events

The following unsolicited result codes and the corresponding events are defined –

+CGEV: REJECT <PDP_type>, <PDP_addr>

A network request for PDP context activation occurred when the MT was unable to report it to the TE with a +CRING unsolicited result code and was automatically rejected.

+CGEV: NW REACT <PDP_type>, <PDP_addr>, [<cid>]

The network has requested a context reactivation. The <cid> that was used to reactivate the context is provided if known to the MT.

+CGEV: NW DEACT <PDP_type>, <PDP_addr>, [<cid>]

The network has forced a context deactivation. The <cid> that was used to activate the context is provided if known to the MT.

+CGEV: ME DEACT <PDP_type>, <PDP_addr>, [<cid>]

The mobile equipment has forced a context deactivation. The <cid> that was used to activate the context is provided if known to the MT.

+CGEV: NW DETACH

The network has forced a GPRS detach. This implies that all active contexts have been deactivated. These are not reported separately.

+CGEV: ME DETACH

The mobile equipment has forced a GPRS detach. This implies that all active contexts have been deactivated. These are not reported separately.

+CGEV: NW CLASS <class>

The network has forced a change of MS class. The highest available class is reported (see +CGCLASS).

+CGEV: ME CLASS <class>

The mobile equipment has forced a change of MS class. The highest available class is reported (see +CGCLASS).

Implementation

Optional.

### 10.1.14 GPRS network registration status +CGREG

Table 100: CGREG parameter command syntax

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

Description

The set command controls the presentation of an unsolicited result code +CGREG: <stat> when <n>=1 and there is a change in the MT’s GPRS network registration status, or code +CGREG: <stat>[,<lac>,<ci>] when <n>=2 and there is a change of the network cell.

NOTE. If the GPRS MT also supports circuit mode services, the +CREG command and +CREG: result code apply to the registration status and location information for those services.

The read command returns the status of result code presentation and an integer <stat> which shows whether the network has currently indicated the registration of the MT. Location information elements <lac> and <ci> are returned only when <n>=2 and MT is registered in the network.

Defined values

<n>:

0 disable network registration unsolicited result code

1 enable network registration unsolicited result code +CGREG: <stat>

2 enable network registration and location information unsolicited result code +CGREG: <stat>[,<lac>,<ci>]

<stat>:

0 not registered, ME is not currently searching an operator to register to
The MS is in GMM state GMM-NULL or GMM-DEREGISTERED-INITIATED.
The GPRS service is disabled, the MS is allowed to attach for GPRS if requested by the user.

1 registered, home network
The MS is in GMM state GMM-REGISTERED or GMM-ROUTING-AREA-UPDATING-INITIATED INITIATED on the home PLMN.

2 not registered, but ME is currently trying to attach or searching an operator to register to
The MS is in GMM state GMM-DEREGISTERED or GMM-REGISTERED-INITIATED. The GPRS service is enabled, but an allowable PLMN is currently not available. The MS will start a GPRS attach as soon as an allowable PLMN is available.

3 registration denied
The MS is in GMM state GMM-NULL. The GPRS service is disabled, the MS is not allowed to attach for GPRS if requested by the user.

4 unknown

5 registered, roaming
The MS is in GMM state GMM-REGISTERED or GMM-ROUTING-AREA-UPDATING-INITIATED on a visited PLMN.

<lac>: string type; two byte location area code in hexadecimal format (e.g. "00C3" equals 195 in decimal)

<ci>: string type; two byte cell ID in hexadecimal format

Implementation

Optional.

### 10.1.15 Select service for MO SMS messages +CGSMS

Table 101: CGSMS parameter command syntax

 Command Possible Response(s) +CGSMS= [] OKERROR +CGSMS? +CGSMS: +CGSMS=? +CGSMS: (list of currently available s)

Description

The set command is used to specify the service or service preference that the MT will use to send MO SMS messages.

The read command returns the currently selected service or service preference.

The test command is used for requesting information on the currently available services and service preferences.

Defined Values

<service>: a numeric parameter which indicates the service or service preference to be used
0 GPRS
1 circuit switched
2 GPRS preferred (use circuit switched if GPRS not available)
3 circuit switched preferred (use GPRS if circuit switched not available)

Other values are reserved and will result in an ERROR response to the set command.

Implementation

Optional.

## 10.2 Modem compatibility commands

This subclause describes how existing AT commands, designed for use with a modem, may be used to control a GPRS MT. This is to provide backwards compatibility with existing communications software. For new applications it is recommended that the GPRS-specific commands, described in previous subclauses, be used.

### 10.2.1 MT originated PDP context activation

In this mode of operation, the MT behaves like an originating modem and accepts the normal V.25ter commands associated with placing and clearing a call. If GPRS-specific configuration commands are required, they may be sent to the MT as part of the modem initialisation commands.

#### 10.2.1.1 Request GPRS service ‘D’

Table 102: D command syntax

 Command Possible Response(s) D*[*[] [*[][*[]]]]# CONNECTERROR

Description

This command causes the MT to perform whatever actions are necessary to establish communication between the TE and the external PDN.

The V.25ter ‘D’ (Dial) command causes the MT to enter the V.25ter online data state and, with the TE, to start the specified layer 2 protocol. The MT shall return CONNECT to confirm acceptance of the command prior to entering the V.25ter online data state. No further commands may follow on the AT command line.

The detailed behaviour after the online data state has been entered is dependent on the PDP type. It is described briefly in clauses 8 (for X.25) and 9 (for IP) of GSM 07.60. GPRS attachment and PDP context activation procedures may take place prior to or during the PDP startup if they have not already been performed using the +CGATT and +CGACT commands.

When the layer 2 protocol has terminated, either as a result of an orderly shut down of the PDP or an error, the MT shall enter V.25ter command state and return the NO CARRIER final result code.

If <called address> is supported and provided, the MT shall automatically set up a virtual call to the specified address after the PDP context has been activated.

If <L2P> and <cid> are supported, their usage shall be the same as in the +CGDATA command. The +CGDCONT, +CGQREQ, etc. commands may then be used in the modem initialisation AT command string to set values for for PDP type, APN, QoS etc..

If <L2P> is not supported or is supported but omitted, the MT shall use a layer 2 protocol appropriate to the PDP type.

If <cid> is not supported or is supported but omitted, the MT shall attempt to activate the context using:

(a) any information provided by the TE during the PDP startup procedure, e.g. the TE may provide a PDP type and/or PDP address to the MT,

or, (b) a priori knowledge, e.g. the MT may implement only one PDP type,

or, (c) using the ‘Empty PDP type’ (GSM 04.08). (No PDP address or APN shall be sent in this case and only one PDP context subscription record shall be present in the HLR for this subscriber.)

This command may be used in both normal and modem compatibility modes.

NOTE. The dial string conforms to the syntax specified in GSM 02.30.

Defined Values

<GPRS_SC>: (GPRS Service Code) a digit string (value 99) which identifies a request to use the GPRS

<called_address>: a string that identifies thecalled party in the address space applicable to the PDP. For communications software that does not support arbitrary characters in the dial string, a numeric equivalent may be used. Also, the character comma ‘,’ may be used as a substitute for the character period ‘.’.

<L2P>: a string which indicates the layer 2 protocol to be used (see +CGDATA command). For communications software that does not support arbitrary characters in the dial string, the following numeric equivalents shall be used:
0 NULL (Obsolete)
1 PPP
3 X25
9yyyy M-xxxx
Other values are reserved and will result in an ERROR response to the set command.

NOTE. V.250 (and certain communications software) does not permit arbitrary characters in the dial string. The <L2P> and <called_address> strings are therefore specified as containing digits (0-9) only.

<cid>: a digit string which specifies a particular PDP context definition (see +CGDCONT command).

Implementation

Optional if the +CGDATA command is supported. If the D command is provided, then support for <called_address>, <L2P> and <cid> are optional. If they are not supported but values are provided by the TE, the values shall be ignored and this shall not constitute an error.

#### 10.2.1.2 Request GPRS IP service ‘D’

Table 103: D command syntax

 Command Possible Response(s) D*[*]# CONNECTERROR

Description

This command causes the MT to perform whatever actions are necessary to establish communication between the TE and the external PDN.

The V.25ter ‘D’ (Dial) command causes the MT to enter the V.25ter online data state and, with the TE, to start the specified layer 2 protocol. The MT shall return CONNECT to confirm acceptance of the command prior to entering the V.25ter online data state. No further commands may follow on the AT command line.

The detailed behaviour after the online data state has been entered is described briefly in clause 9, for IP, of GSM 07.60. GPRS attachment and PDP context activation procedures may take place prior to or during the PDP startup if they have not already been performed using the +CGATT and +CGACT commands.

When the layer 2 protocol has terminated, either as a result of an orderly shut down of the PDP or an error, the MT shall enter V.25ter command state and return the NO CARRIER final result code.

If <cid> is supported, its usage shall be the same as in the +CGDATA command. The +CGDCONT, +CGQREQ, etc. commands may then be used in the modem initialisation AT command string to set values for for PDP type, APN, QoS etc..

If <cid> is not supported or is supported but omitted, the MT shall attempt to activate the context using:

(a) any information provided by the TE during the PDP startup procedure, e.g. the TE may provide a PDP type and/or PDP address to the MT,

or, (b) a priori knowledge, e.g. the MT may implement only one PDP type,

or, (c) using the ‘Empty PDP type’ (GSM 04.08). (No PDP address or APN shall be sent in this case and only one PDP context subscription record shall be present in the HLR for this subscriber.)

This command may be used in both normal and modem compatibility modes.

NOTE. The dial string conforms to the syntax specified in GSM 02.30.

Defined Values

<GPRS_SC_IP>: (GPRS Service Code for IP) a digit string (value 98) which identifies a request to use the GPRS with IP (PDP types IP and PPP)

<cid>: a digit string which specifies a particular PDP context definition (see +CGDCONT command).

Implementation

Optional if the +CGDATA command is supported. If the D command is provided, then support for <cid> is optional. If it is not supported but a value is provided by the TE, the value shall be ignored and this shall not constitute an error.

### 10.2.2 Network requested PDP context activation

In this mode of operation, the MT behaves like an answering modem and accepts the normal V.25ter commands associated with answering a call. If GPRS-specific configuration commands are required, they may be sent to the MT as part of the modem initialisation commands.

The +CGAUTO command is used to select modem compatibility mode.

#### 10.2.2.1 Automatic response to a network request for PDP context activation ‘S0’

The V.25ter ‘S0=n’ (Automatic answer) command may be used to turn off (n=0) and on (n>0) the automatic response to a network request for a PDP context activation.

When the ‘S0=n’ (n>0) command is received, the MT shall attempt to perform a GPRS attach if it is not already attached. Failure will result in ERROR being returned to the TE. Subsequently, the MT will announce a network request for PDP context activation by issuing the unsolicited result code RING to the TE, followed by the intermediate result code CONNECT. The MT then enters V.25ter online data state and follows the same procedure as it would after having received a +CGANS=1 with no <L2P> or <cid> values specified.

NOTE. The ‘S0=n’ (n=0) command does not perform an automatic GPRS detach.

Implementation

Optional.

#### 10.2.2.2 Manual acceptance of a network request for PDP context activation ‘A’

The V.25ter ‘A’ (Answer) command may be used to accept a network request for a PDP context activation announced by the unsolicited result code RING. The MT responds with CONNECT, enters V.25ter online data state and follows the same procedure as it would after having received a +CGANS=1 with no <L2P> or <cid> values specified. It is an error to issue the ‘A’ command when there is no outstanding network request.

Implementation

Optional.

#### 10.2.2.3 Manual rejection of a network request for PDP context activation ‘H’

The V.25ter ‘H’ or ‘H0’ (On-hook) command may be used to reject a network request for PDP context activation announced by the unsolicited result code RING. The MT responds with OK. It is an error to issue the ‘H’ command when there is no outstanding network request.

NOTE: This is an extension to the usage of the ‘H’ command that is described in ITU-T V.25ter.

Implementation

Optional.

Annex A (normative):
Summary of commands from other standards

Summary of ITU‑T Recommendation V.25ter [14] commands applicable to GSM:

Table A.1: V.25ter commands applicable to GSM

 Name V.25ter section Description Subclauses in the present document &C 6.2.8 Circuit 109 (Received line signal detector) Behaviour 4.3. &D 6.2.9 Circuit 108 (Data terminal ready) Behaviour 4.3. &F 6.1.2 Set to Factory‑defined Configuration 5.8./ 3. +DR 6.6.2 Data Compression Reporting 6.20. +DS 6.6.1 Data Compression 6.20. +GCAP 6.1.9 Request Complete Capabilities List 5.8. +GCI 6.1.10 Country of Installation 5.8. +GMI 6.14 Request Manufacturer Identification 5.8./ 5.1. +GMM 6.1.5 Request Model Identification 5.8./ 5.2. +GMR 6.1.6 Request Revision Identification 5.8./ 5.3. +GOI 6.1.8 Request Global Object Identification 5.8. +GSN 6.1.7 Request Product Serial Number Identification 5.8./ 5.4. +ICF 6.2.11 DTE‑DCE Character Framing 4.3. +IFC 6.2.12 DTE‑DCE Local Flow Control 4.3. +ILRR 6.2.13 DTE‑DCE Local Rate Reporting 4.3. +IPR 6.2.10 Fixed DTE Rate 4.3. A 6.3.5 Answer 6.19./ 6.6. D 6.3.1 Dial 6.1.‑6.4./ 6.6. E 6.2.4 Command Echo 4.3. H 6.3.6 Hook Control 6.19./ 6.5./ 6.6. I 6.1.3 Request Identification Information 5.8. L 6.3.13 Monitor Speaker Loudness 6.19. M 6.3.14 Monitor Speaker Mode 6.19. O 6.3.7 Return to Online Data State 6.19. P 6.3.3 Select Pulse Dialling 6.19. Q 6.2.5 Result Code Suppression 4.3. S0 6.3.8 Automatic Answer 6.19. S10 6.3.12 Automatic Disconnect Delay 6.19. S3 6.2.1 Command Line Termination Character 4.3. S4 6.2.2 Response Formatting Character 4.3. S5 6.2.3 Command Line Editing Character 4.3. S6 6.3.9 Pause Before Blind Dialling 6.19. S7 6.3.10 Connection Completion Timeout 6.19. S8 6.3.11 Comma Dial Modifier Time 6.19. T 6.3.2 Select Tone Dialling 6.19. V 6.2.6 DCE Response Format 4.3./ 3./ 4.1./ 4.2. X 6.2.7 Result Code Selection and Call Progress Monitoring Control 4.3. Z 6.1.1 Reset To Default Configuration 5.8.

The use of ITU‑T Recommendation V.42 error control protocol is not specified for GSM, but if a manufacturer chooses to implement it over transparent data service, +E prefixed commands of V.25ter [14] shall be used.

ITU‑T T.31 [11] and T.32 [12] may be used as facsimile TA‑TE protocols without deletions or additions to the command set.

TIA IS‑99 [15] commands referenced in the present document:

Table A.2: TIA IS‑99 commands in the present document

 Command IS‑99 section Description Subclause in the present document +CBC 5.6.5 Battery Charge 8.4. +CGMI 5.6.10 Request Manufacturer Identification 5.1. +CGMM 5.6.10 Request Model Identification 5.2. +CGMR 5.6.10 Request Revision Identification 5.3. +CGSN 5.6.10 Request Product Serial Number Identification 5.4. +CRC 5.6.7 Cellular Result Codes 6.11.

TIA IS‑135 [16] commands referenced in the present document:

Table A.3: TIA IS‑135 commands in the present document

 Command IS‑135 section Description Subclause in the present document +CBC 4.1.24 Battery Charge 8.4. +CRC 4.1.29 Cellular Result Codes 6.11. +CSQ 4.1.31 Signal Quality 8.5.

PCCA STD‑101[17] commands referenced in the present document:

Table A.4: PCCA STD‑101 commands in the present document

 Command STD‑101 section Description Subclause in the present document +WS46 5.2.4.6 WDS‑side Stack Selection 5.9.

Annex B (normative):
Summary of result codes

V.25ter [14] result codes which can be used in GSM and codes defined in the present document:

Table B.1: Result codes

 Verbose result code(V.25ter command V1 set) Numeric(V0 set) Type Description +CCCM: as verbose unsolicited refer subclause 7.15 $(AT R97)$ +CCWA: , ,[,] as verbose unsolicited refer subclause 7.11 +CCWV as verbose unsolicited refer subclause 8.28 +CDEV: , as verbose unsolicited refer subclause 8.10 +CIEV: , as verbose unsolicited refer subclause 8.10 +CKEV: , as verbose unsolicited refer subclause 8.10 +CLAV: as verbose unsolicited refer subclause 8. +CLIP: ,[, ,[,]] as verbose unsolicited refer subclause 7.6 +CME ERROR: as verbose final refer subclause 9.2 +COLP: ,[, ,[,]] as verbose intermediate refer subclause 7.8 +CR: as verbose intermediate refer subclause 6.8 +CREG: [,,] as verbose unsolicited refer subclause 7.2 +CRING: as verbose unsolicited refer subclause 6.11 +CSSI: [,] as verbose intermediate refer subclause 7.16 +CSSU: [,[,,[,,]]] as verbose unsolicited refer subclause 7.16 +CUSD: [,,] as verbose unsolicited refer subclause 7.14 +DR: as verbose intermediate refer subclause 6.13 +ILRR: as verbose intermediate refer subclause 4.3 BUSY 7 final busy signal detected CONNECT 1 intermediate connection has been established CONNECT manufacturer specific intermediate as CONNECT but manufacturer specific gives additional information (e.g. connection data rate) ERROR 4 final command not accepted NO ANSWER 8 final connection completion timeout NO CARRIER 3 final connection terminated NO DIALTONE 6 final no dialtone detected OK 0 final acknowledges execution of a command line RING 2 unsolicited incoming call signal from network Note: From v7.8.0 onwards, ATV0 numeric result codes 5, 6, 7 for NO DIALTONE, BUSY and NO ANSWER respectively, have been replaced by numeric result codes 6, 7, 8 respectively, to be aligned with the values listed in ITU-T V.250 (previously V.25ter).

Annex C (informative):
Commands from TIA IS‑101