> 9.6 | AT+CCFC Call forwarding number and conditions control

> AT+CCFC controls the call forwarding supplementary service. Registration, erasure, activation, deactivation and status query are supported.
> Syntax

> Test Command AT+CCFC=?
> Response(s)
> +CCFC:(list/range of supported <reason>s)
> OK

> Write Command AT+CCFC=<reason>, <mode>[, <number>[, <type>[, <class>[, <time>]]]]
> Response(s)
> If <mode> is not equal 2 and command successful:
> OK
> If <mode>= 2, <reason> is not equal 2 and command successful:
> +CCFC: <status>, <class>[, <number>, <type>]
> OK
> If <mode>= 2, <reason>= 2 and command successful:
> +CCFC: <status>, <class>[, <number>, <type>, <time>]
> 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.82, GSM 03.82, GSM 04.82 |  | + |  | + | + | + | + | + | + |  |  | - | - | -

> Parameter Description

> <reason>(num)

> Reason for call forwarding
> 0
> unconditional
> 1
> mobile busy
> 2
> no reply
> 3
> not reachable
> 4
> all call forwarding (includes reasons 0, 1, 2 and 3)
> 5
> all conditional call forwarding (includes reasons 1, 2 and 3)

> <mode>(num)

> Network operation to be performed for Supplementary service "call forwarding"
> 0
> disable call forwarding (disable service)
> 1
> enable call forwarding (enable service)
> 2
> query status of call forwarding (query service status)
> 3
> register <number> and activate call forwarding (register service)
> 4
> erase <number> and deactivate call forwarding (erase service)

> <number>(str)

> String type phone number of forwarding address in format specified by <type>. If you select <mode>= 3, the phone <number> will be registered in the network. This allows you to disable / enable CF to the same destination without the need to enter the phone number once again. Depending on the services offered by the provider the registration may be mandatory before CF can be used. The number remains registered in the network until you register another number or erase it using <mode> = 4.

> <type>(num)

> Type of address octect
> 145
> dialing string <number> includes international access code character '+'
> 129
> otherwise

> <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"
> 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 Forwarding for all data classes, but deactivate it for a specific data class.
> 4
> fax
> 8
> SMS
> 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 the <class> parameter is omitted, the default value 7 is used.

> <time>(num)

> 5...[20]...30
> Time to wait before call is forwarded, rounded to a multiple of 5 sec. (only for <reason>=no reply)

> <status>(num)

> 0
> Call Forwarding not active
> 1
> Call Forwarding active
> Notes

> • | You can register, disable, enable and erase <reason> 4 and 5 as described above. However, querying the status of <reason> 4 and 5 with AT+CCFC will result in an error ("CME error: Operation not supported"). As an alternative, you may use the ATD command followed by *'# codes to check the status of these two reasons. See Star-Hash (*#) Network Commands for a complete list of *# GSM codes. See also examples below.

> • | Most networks will not permit registration of new parameters for conditional call forwarding (reasons 1,2,3,5) while unconditional call forwarding is enabled.

> • | The AT+CCFC command offers a broad range of call forwarding options according to the GSM specifications. However, when you attempt to set a call forwarding option which is not provisioned or not yet subscribed to, 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 call forwarding status with <mode>=2.

> • | Some networks may choose to have certain call forwarding condtions permanently enabled (e.g. forwarding to a mailbox if the mobile is not reachable). In this case, erasure or deactivation of call forwarding for these conditions will not be successful, even if the CCFC request is answered with response "OK".

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

> • | There is currently no release of GSM standard "GSM 02.04", in which the "Call Forwarding" Supplementary Service is defined as applicable to SMS services.

> Example
> Please note that when you configure or query call forwarding without specifying any classes, the settings will refer to classes 1, 2 and 4 only (=default). The handling of classes is equivalent to AT+CLCK.

> • | To register the destination number for unconditional call forwarding (CFU):

> at+ccfc=0,3,"+493012345678",145
> OK

> The destination number will be registered for voice, data and fax services (default <class> 7).
> In most networks, the registration will also cause call forwarding to be activated for these <class> values.

> • | To query the status of CFU without specifying <class>:

> at+ccfc=0,2
> +CCFC: 1,1,"+493012345678",145
> +CCFC: 1,2,"+493012345678",145
> +CCFC: 1,4,"+493012345678",145
> OK

> • | To deactivate CFU without specifying <class>:

> at+ccfc=0,0
> OK

> To check whether CFU was successfully deactivated (note that the destination number remains registered in the network when you disable CFU):

> at+ccfc=0,2
> +CCFC: 0,1,"+493012345678",145
> +CCFC: 0,2,"+493012345678",145
> +CCFC: 0,4,"+493012345678",145
> OK

> • | To erase the registered CFU destination number:

> at+ccfc=0,4
> OK

> Now, when you check the status, no destination number will be indicated:

> at+ccfc=0,2
> +CCFC: 0,1
> +CCFC: 0,2
> +CCFC: 0,4
> OK

> • | To query the status of CFU for all classes:

> at+ccfc=0,2,,,255
> +CCFC: 0,1
> +CCFC: 0,2
> +CCFC: 0,4
> +CCFC: 0,8
> +CCFC: 0,16
> +CCFC: 0,32
> +CCFC: 0,64
> +CCFC: 0,128
> OK

> • | <reason> 4 or 5 cannot be used to query the status of all call forwarding reasons (see also notes above):

> at+ccfc=4,2
> +CME error: operation not supported
> at+ccfc=5,2
> +CME error: operation not supported