* '''Test plan for component''': https://wiki.ubuntu.com/Process/Merges/TestPlans/ofono * '''Component Checklist''': https://wiki.ubuntu.com/Process/Merges/Checklists/Common * '''Trunk URL''': https://github.com/rilmodem/ofono * '''Ubuntu Package URL (LP)''': http://launchpad.net/ubuntu/+source/ofono ---- = Call Barring Tests = Call barring is an optional operator-provided feature which allows a user to configure a device such that certain types of calls ( ie. International ) are barred ( prevented ) from being made. '''Note''' - Call Barring is an operator-specific feature which '''must be enabled''' for the subscriber/SIM account being used. It also requires an operator-specific password, which although similar to a PIN, is not the same as the PIN/PIN2 coded that are SIM-specific. If this feature is not enabled by the operator, or the operator-specific password is unknown, all of the tests other then the first will fail. Please refer to '''Operator Support''' for more details. == 1. Verify Interface Availablility / Default Properties == === Purpose === Ensure the presence of the Call``Barring interface and that the default properties are set to ''disabled''. === Steps: === {{{ # list-modems }}} === Verification: === * verify the presence of Call``Barring in the top-level modem properties: {{{ Interfaces includes org.ofono.Barring }}} * verify the default Call``Forwarding properties: {{{ VoiceOutgoing = disabled VoiceIncomimg = disabled }}} === Automation Status === Automation of the Call``Barrring testing is currently blocked on improvements to the emulator's telephony support. == 2. Test Call Barring Status Query == === Purpose === This test case verifies that the call-barring interface can be used to query the current status of the service. === Steps === - test-ss "*#33#” {{{ # Output should look like: CallBarring : Operation [ interrogation ] Service Type [ AllOutgoing ] DataAllOutgoing : disabled VoiceAllOutgoing : disabled FaxAllOutgoing : disabled }}} - test-ss "*#331# {{{ # Output should look like: CallBarring : Operation [ interrogation ] Service Type [ InternationalOutgoing ] VoiceInternationalOutgoing : disabled FaxInternationalOutgoing : disabled DataInternationalOutgoing : disabled }}} - test-ss "*#332# {{{ # Output should look like: CallBarring : Operation [ interrogation ] Service Type [ InternationalOutgoingExceptHome ] FaxInternationalOutgoingExceptHome : disabled VoiceInternationalOutgoingExceptHome : disabled DataInternationalOutgoingExceptHome : disabled }}} - test-ss "*#35# {{{ # Output should look like: CallBarring : Operation [ interrogation ] Service Type [ AllIncoming ] FaxAllIncoming : disabled DataAllIncoming : disabled VoiceAllIncoming : disabled }}} - test-ss "*#351# {{{ # Output should look like: CallBarring : Operation [ interrogation ] Service Type [ IncomingWhenRoaming ] FaxIncomingWhenRoaming : disabled DataIncomingWhenRoaming : disabled VoiceIncomingWhenRoaming : disabled }}} == 3. Test change password == === Purpose === This test case verifies that the call-barring interface can be used to change the service password needed to modify call barring settings. === Preparation === The initial password ( Note, this is not PIN2 ) for call barring must be known. This password is checked by the network before letting the user change call barring settings. The default value has been found to be 0000 for some operators. === Steps === {{{ - dbus-send --system --type=method_call --print-reply --dest=org.ofono /ril_0 org.ofono.SupplementaryServices.Initiate string:"*03**XXXX*YYYY*YYYY#" }}} # XXXX is the old password and YYYY the new one. If the call returns with no error the change has been successful. '''TODO''' - a test script needs to be added to that the need for ''dbus-send'' is removed!!! - ''awe'' == 4. Test barring outgoing calls == === Purpose === This test case verifies that we can barr outgoing calls. === Requirements === The initial password for call barring must be known. This password is checked by the network before letting the user change call barring settings. The default value has been found to be 0000 for some operators. XXXX is used in the steps as a substitute for the password. === Steps === {{{ - test-ss “*33*XXXX#” }}} # The script should finish successfully. # Dial a phone number. An automated switchboard telling that the service is disabled should be produced by the operator. {{{ - test-ss “#33*XXXX#” }}} # The script should finish successfully. # Dialing a phone number must be possible now. == 5. Test barring outgoing international calls == === Purpose === This test case verifies that we can barr outgoing calls to international numbers. === Requirements === The initial password for call barring must be known. This password is checked by the network before letting the user change call barring settings. The default value has been found to be 0000 for some operators. XXXX is used in the steps as a substitute for the password. === Steps === {{{ - test-ss “*331*XXXX#” }}} # The script should finish successfully. # Dial an international phone number. An automated switchboard telling that the service is disabled should be produced by the operator. {{{ - test-ss “#331*XXXX#” }}} # The script should finish successfully. # Dialing an international phone number must be possible now. == 6. Test barring outgoing international calls excluding HPLMN country == === Purpose === This test case verifies that we can barr outgoing calls to international numbers, excluding those to our operator country (this means that we can call numbers in our operator’s country when we are roaming). === Requirements === The initial password for call barring must be known. This password is checked by the network before letting the user change call barring settings. The default value has been found to be 0000 for some operators. XXXX is used in the steps as a substitute for the password. '''Note''' - ''travel is required'' to fully test this scenario. === Steps === {{{ - test-ss “*332*XXXX#” }}} # The script should finish successfully. # Dial an international phone number. An automated switchboard telling that the service is disabled should be produced by the operator. # ''Optional'' - travel to another country; ensure the phone is roaming. Calling a number from your operator’s country should be possible. {{{ - test-ss “#332*XXXX#” }}} # The script should finish successfully. # Dialing an international phone number must be possible now. == 7. Test barring incoming calls == === Purpose === This test case verifies that we can barr incoming calls. === Requirements === The initial password for call barring must be known. This password is checked by the network before letting the user change call barring settings. The default value has been found to be 0000 for some operators. XXXX is used in the steps as a substitute for the password. '''Note''' - ''travel is required'' to fully test this scenario. === Steps === {{{ - test-ss “*351*XXXX#” }}} # The script should finish successfully. # ''Optional'' - travel to another country; ensure the phone is roaming. Dial the phone from another number. It should be unreachable. {{{ - test-ss “#351*XXXX#” }}} # The script should finish successfully. # You are still abroad. Dial the phone from another number. It should be reachable. = Operator Support = As mentioned above, use of this feature requires operator support. == United States == Call barring is not supported by any of the major operators. == Europe == ''Please add details (ie. the required code) for operators known to support call barring.