CallHoldSwap
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 Hold / Swap Tests
Setup
In general these test can be run without needing to stop other components ( eg. telepathy-ofono, or telephony-service, ... ).
Requirements
At least two phone lines in addition to the phone being tested.
Call Waiting Setup
*43# - activates call waiting
#43# - deactivates call waiting
When dialing, *70+number for per-call block.
1. Hold an Active Call
Purpose
This test case verifies that we can hold an active call, and then make it active again.
Steps:
dial-number [modem] <number>
- answer call on called phone
run list-calls [modem] and verify that an active call exists
- swap-calls
run list-calls again and verify that the call is held
[optional] a calling tone is heard in the called phone ( this is an operator-specific feature )
- swap-calls
run list-calls again and verify that the call is active
- [optional] if on a real device, verify that the call audio is active again
2. Swap Between Calls
Purpose
This test case verifies that we can establish a call, then call another number, and swap between these two calls.
Steps:
- test-ss [modem] "*43#"
- This activates call waiting, should be executed without error.
dial-number [modem] <number1>
Accept incoming call in <number1>
Start a call from <number2> to DUT
There's no explicit answer step following call from <number2>. Also if the call is made from <number2>, I've found no way to answer properly from the command line with the rest of the telephony stack running ( ie. in other words the UI shows the answer call widget, and the phone rings, and an answer-calls command doesn't seem to dismiss either ). So an optional change to this script is to dial <number2> from the DUT instead. - awe
- list-calls
Repeat this step until we see two calls in the script's output, <number1> active and <number2> held.
I think this is backwards; if <call2> is answered from either side, <number2> will be the active call and <number1> will be held. - awe
- swap-calls
Verify that now there is no voice communication with <number1> but we can chat with <number2>
- list-calls
Check that call with <number1> is held and call with <number2> is active.
- swap-calls
Verify that now there is no voice communication with <number2> but we can chat with <number1>
- list-calls
Check that call with <number2> is held and call with <number1> is active.
3. Hangup Call On-Hold
Purpose
This test case verifies that we can hangup a held call.
Requirements
Call waiting has been activated ( *43# ) on the Ubuntu phone.
Steps:
dial-number [modem] <number>
Accept incoming call on <number>
run list-calls [modem] and verify that an active call exists
- [optional] if running on a real phone, verify that call audio is active
- swap-calls
run list-calls [modem] and verify that original call is now held
[optional] verify that there is a tone indicating held call at <number> ( this is an operator-specific feature )
- hangup-call [modem]/voicecall01
run list-calls [modem] and verify that original call is no longer present
verify that call has been ended on <number>
4. Hangup Active Call & Swap to Call On-Hold
Purpose
This test case verifies that we can hangup the active call and swap to a held call.
Requirements
Call waiting has been activated ( *43# ) on the Ubuntu phone.
Steps:
dial-number [modem] <number1>
accept incoming call on <number1>
run list-calls [modem] and verify that an active call exists
- [optional] if running on a real phone, verify that call audio is active
dial-number [modem] <number2>
accept incoming call on <number2>
run list-calls [modem] and verify that an active call exists for <number2> and that <number1> is held
[optional] if running on a real phone, verify that call audio is active on <number2>
[optional] verify that there is a tone indicating held call at <number1> ( this is an operator-specific feature )
- release-and-swap [modem]
run list-calls [modem] and verify that an active call exists for <number1> and that the call for <number2> no longer exists
verify that call has ended on <number2>
[optional] if running on a real phone, verify that call audio is active on <number1>
5. Hangup Active Call While Call on Hold
Purpose
This test case verifies that we can hang the active call and not affect the held call.
Requirements
Call waiting has been activated ( *43# ) on the Ubuntu phone.
Steps:
dial-number [modem] <number1>
accept incoming call on <number1>
run list-calls [modem] and verify that an active call exists
- [optional] if running on a real phone, verify that call audio is active
dial-number [modem] <number2>
accept incoming call on <number2>
run list-calls [modem] and verify that an active call exists for <number2> and that <number1> is held
- [optional] if running on a real phone, verify that call audio is active
[optional] verify that there is a tone indicating held call at <number1> ( this is an operator-specific feature )
- hangup-active [modem]
run list-calls [modem] and verify that a held call exists for <number1> and that no call exists for <number2>
verify that the call has ended on <number2>
[optional] verify that there is a tone indicating held call at <number1> ( this is an operator-specific feature )
- swap-calls [modem]
run list-calls [modem] and verify that a active call exists for <number1>
- [optional] if running on a real phone, verify that call audio is active
6. Verify Held Call Notification
Purpose
This test case verifies that we expose in D-Bus a property that shows when we are put on hold.
Requirements
Activation of the Call Hold supplementary service for the subscriber account/line used by the touch device. Also, this feature may not work when using devices on different operator networks.
Can the user activate Call Hold supplementary service directly or does this need to be activated by the operator? - awe
Steps:
dial-number [modem] <number>
accept incoming call on <number>
run list-calls [modem] and verify that an active call exists and that RemoteHeld is 0
- [optional] if running on a real phone, verify that call audio is active
Put the call on hold remotely using <number>
- list-calls [modem]
run list-calls [modem] and verify that RemoteHeld is 1; the call state should still remain active.
Take the call off hold on <number>
run list-calls [modem] and verify that RemoteHeld is 0 Check that “RemoteHeld = 0”.
- hangup-active [modem]
run list-calls [modem] and verify that no calls exist
verify that the call has ended on <number> Verify the call has finished
Operator Supplementary Services
Call Hold Supplementary Service
The following is an informal list of operators and whether or not they support Call Hold supplementary service.
AT&T (US) - not supported
- T-Mobile (US) -
- Vodafone (ES), Movistar (ES), Pepephone (ES) - supported
Operator-Generated Tone on Hold
AT&T (US) - not supported
- Vodafone (ES), Movistar (ES), Pepephone (ES) - supported
Process/Merges/TestPlans/ofono/CallHoldSwap (last edited 2015-09-09 16:16:24 by 209-6-88-107)