CallHoldSwap


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)