> 9.7 | AT+CCWA Call Waiting

> The AT+CCWA write command controls the "Call Waiting" supplementary service according to GSM 02.83. Activation, deactivation and status query are supported. The read command returns the current value of <n>.
> Syntax

> Test Command AT+CCWA=?
> Response(s)
> +CCWA:(list of supported <n>s)
> OK

> Read Command AT+CCWA?
> Response(s)
> +CCWA:<n>
> OK

> Write Command AT+CCWA=[[<n>][, <mode>][, <class>]]
> Response(s)
> If <mode> is not equal 2 and command successful:
> OK
> If <mode>= 2 and command successful:
> +CCWA: <status>, <class>
> [+CCWA: <status>, <class>]
> [+CCWA: ...]
> OK
> If error is related to ME functionality
> +CME ERROR

> Reference(s) |  | PIN |  | ASC0 | ASC1 | USB | MUX1 | MUX2 | MUX3 |  |  | Charge | Q | Last
> GSM 07.07, GSM 02.04, GSM 02.83, GSM 03.83, GSM 04.83 |  | + |  | + | + | + | + | + | + |  |  | - | - | -

> Unsolicited Result Codes
> URC 1
> Indication of a call that is currently waiting and can be accepted.
> +CCWA: <calling number>, <type of number>, <class>, , <CLI validity>
> If <n>=1 and the call waiting supplementary service is enabled in the network, URC "+CCWA" indicates a waiting call to the TE. It appears while the waiting call is still ringing.
> URC 2
> Indication of a call that has been waiting.
> ^SCWA:
> If <n>=1 and the call waiting supplementary service is enabled in the network, this URC indicates that a waiting call rang when the ME was in online mode during a CSD call, but the calling party hung up before the ME went back to command mode.
> Parameter Description

> <n>(num)

> Switch URCs "+CCWA" and "^SCWA" for call waiting on/off
> 0
> Disable display of URCs "+CCWA" and "^SCWA"
> 1
> Enable display of URCs "+CCWA" and "^SCWA"

> <mode>(num)

> Network operation to be performed for Supplementary service call waiting
> 0
> Disable call waiting (disable service)
> 1
> Enable call waiting (enable service)
> 2
> Query status of call waiting (query service status)

> <class>(num)

> Integer or sum of integers each representing a class of information, i.e. a bearer service, telecommunication service or bearer service group as defined in "GSM 02.04".
> In the write command, parameter <class> specifies the class of the active call during which an incoming call of any class is to be regarded as a waiting call.
> In URC "+CCWA: <calling number>, <type of number>, <class>, , <CLI validity>", parameter <class> specifies the class of the waiting call.
> 1
> Voice
> 2
> Data
> <class> 2 (data) comprises all those <class> values between 16 and 128, that are supported both by the network and the MS. This means, a setting made for <class> 2 applies to all remaining data classes (if supported). In addition, you can assign a different setting to a specific class. For example, you can activate call waiting for all data classes, but deactivate it for a specific data class.
> 4
> Fax
> [7]
> Voice, data and fax (1+2+4)
> 16
> Data circuit sync
> 32
> Data circuit async
> 64
> Dedicated packet access
> 128
> Dedicated PAD access
> 1...[7]...255
> Combination of some of the above classes. For example, the default setting 7 represents the sum of the integers 1, 2 and 4 (CF for voice, data and fax). The value 255 covers all classes. If parameter "class"is omitted, the default value 7 is used.

> <status>(num)

> 0
> Call waiting service is not active
> 1
> Call waiting service is active

> <calling number>(str)

> Phone number of waiting caller in the format specified by parameter <type of number>.

> <type of number>(num)

> Type of address octet in integer format (refer to GSM 04.08, subclause 10.5.4.7)
> 145
> <calling number> includes international access code character '+'
> 128
> number restricted
> 129
> Otherwise

> <CLI validity>(num)

> 0
> CLI valid
> 1
> CLI has been withheld
> 2
> CLI is not available
> Notes

> • | If the active call is a CSD call, and a waiting call is received, then the ME produces a BREAK while still in online mode, and displays

> - | the +CCWA URC (as above) when the ME goes back to command mode while the waiting call is still active and can be accepted;

> - | or the ^SCWA URC (as above) when the ME goes back to command mode after the waiting call has ended.

> • | With the AT+CHLD command, it is possible to establish a multiparty call or to set the active voice call on hold and then accept a waiting voice call (not possible with fax and data call). See also AT+CHLD

> • | Users should be aware that if call waiting is activated (<mode>=1), the presentation of URCs needs to be enabled, too (<n>=1). Otherwise, on the one hand, a waiting caller would be kept waiting due to lack of BUSY signals, while, on the other hand, the waiting call would not be indicated to the called party.

> • | The AT+CCWA command offers a broad range of options according to the GSM specifications. However, when you attempt to enable call waiting for a <class> for which the service is not provisioned or not supported , the setting will not take effect regardless of the response returned. The responses in these cases vary with the network (for example "OK", "Operation not allowed", "Operation not supported" etc.). To make sure check the current call waiting settings with <mode>=2.

> • | The AT+CCWA command has been implemented with the full set of <class> parameters according to GSM 07.07. For actual applicability of SS call waiting to a specific service or service group (a specific <class> value) please consult table A.1 of GSM 02.04

> • | Despite the specifications stated in GSM 02.04 call waiting is not handled uniformly among all networks: GSM 02.04, Annex A, provides the following specification: "The applicability of call waiting refers to the telecommunication service of the active call and not of the waiting call. The incoming, waiting, call may be of any kind." Nevertheless, networks do differ on the actual implementation of the service. For example, the activation of call waiting for <class> 4, "fax", causes some networks to send a call waiting indication if a call "of any kind" comes in during an active fax call, but others may (with the same settings active) indicate a waiting fax call during any kind of active call. Thus, the only reliable way to receive or prevent a call waiting indication under any circumstances and in any network, is to activate or deactivate call waiting for all tele- and bearer services (<class> 255).

> Examples

> EXAMPLE 1 | Parameter <n>

> at+ccwa=1 | To enable the presentation of the URC
> OK |

> EXAMPLE 2 | Parameter <mode>

> at+ccwa=,1 | To activate the supplementary service in the network for voice, data, and fax calls (default classes). Note that parameter <n> is left out. In this case, the current value of <n> will be retained.
> OK |
> at+ccwa=,2 | To query the network status of call waiting for default classes
> at+ccwa=1,1 | Call Waiting is activated during voice calls.
> at+ccwa=1,2 | Call Waiting is activated during data calls.
> at+ccwa=1,4 | Call Waiting is activated during fax calls.
> OK |

> EXAMPLE 3 | Parameter <class>

> AT+CCWA=,0,1 | To deactivate call waiting for voice calls.
> OK |