Skip to content
/ .. / .. /
Call Transfer Compound Step





Call Transfer Compound Step

The Call Transfer Compound Step is similar to the Voice Call Compound Step, and enables the use of Step Details specific to a transferred call. All actions that refer to the Call Transfer Compound Step are referenced by an assigned variable, for example, CALL_TRANSFER in And A calls B and B transfers the call to C as CALL_TRANSFER:.

Call ransfer compound Steps must be preceded by Steps or compound Steps that address phones and assign them to the test case. For more information, refer to:

Call Transfer Step and Step Details
Start a Call Transfer
Talk Duration
Ringing Duration
Transfer Duration
Call Ending Party
Dialing Format
Detect Dialing Format
Speech Channel Monitoring
Expect the Call Transfer to Finish
Additional Call Transfer Expectation Steps
Initial Call Expectation Steps
Initial Call: Expect the Call to Start Ringing
Initial Call: Expect the Call to Be Connected
Initial Call: Expect the Call to be Held
**Intermediate Call Expectation Steps
Intermediate Call: Expect the Call to Start Ringing
Intermediate Call: Expect the Call to Connect
Intermediate Call: Expect the Call to Be Transferred
Transferred Call Expectation Steps
Transferred Call: Expect the Call to Connect
Transferred Call: Expect the Call to Disconnect

Start a Call Transfer

This step starts the Call Transfer in the background. For the rest of the step, the call is referred to by its assigned name. This step must have a colon (:) appended.

Syntax

1
2
3
And <callingParty Identifier> calls <calledParty Identifier> and
    <transferringParty Identifier> transfers the call to <targetParty Identifier>
    as <callTransferName Identifier>:

Parameters

  • callingParty - The party that establishes the initial call

  • calledParty - The party that receives the initial call

  • transferringParty - The party that holds the initial call, places the second call and transfers it

  • targetParty - The party that receives the second call

  • callTransferName - The name assigned to the Call Transfer

Note:

  • When the transfer is performed by a phone of type Mobile, then the transferringParty must be the same as the calledParty.

  • When the transfer is performed by a phone of type VoIP, then the transferringParty can either be the calledParty or the callingParty.

Example

1
2
3
4
5
// B is an Android device (Mobile)
And A calls B and B transfers the call to C as CALL_TRANSFER:

// A is a SNOM (VoIP phone)
And A calls B and A transfers the call to C as CALL_TRANSFER:

Talking Duration

This Step Detail specifies the talking duration between two parties. If omitted, a random default value between 2 and 5 seconds will be assigned. If this Step Detail is used for a combination of parties that do not participate in a call together, the compound step fails with an error.

Syntax

1
* <party Identifier> and <otherParty Identifier> talk for <timeout Number> seconds

Parameters

  • party - One of the parties participating in the Call Transfer

  • otherParty - The other party participating in the Call Transfer

  • timeout - The talking duration between the two denoted parties

    • Default is set to a random value between 2 and 5 seconds

Note: The order of the parties does not denote the direction of the Call Transfer.

Example

1
2
3
4
And A calls B and B transfers the call to C as CALL_TRANSFER:
      * A and B talk for 10 seconds
      * C and A talk for 11 seconds
      * B and C talk for 12 seconds

Ringing Duration

This Step Detail specifies the ringing duration for the called party of the initial call. If omitted, a random default value between 2 and 5 seconds will be assigned. If this Step Detail is used for any other participating party or an unknown party, the compound step fails with an error.

Syntax

1
* <calledParty Identifier> rings for <timeout Number> seconds

Parameters

  • calledParty - The party that receives the initial call

  • timeout - The ringing duration of the initial call, before the called party answers the incoming call

    • Default is set to a random value between 2 and 5 seconds

Example

1
2
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * B rings for 7 seconds

Transfer Duration

This Step Detail specifies the time needed for the transferring party to complete the Call Transfer. If omitted, a random default value between 15 and 20 seconds will be assigned. A minimum timeout of 15 seconds is suggested in order for the procedure to have enough time to complete successfully. If this Step Detail is used for any other participating party or an unknown party, the compound step fails with an error.

Syntax

1
* <transferringParty Identifier> takes <timeout Number> seconds  to transfer the call

Parameters

  • transferringParty - The party that holds the initial call, starts the second call and transfers it

  • timeout - The duration needed for the Call Transfer call to be completed

    • Default is set to a random value between 15 and 20 seconds

Example

1
2
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * B takes 8 seconds to transfer the call

Call Ending Party

This Step Detail specifies the party that will end the transferred call. If omitted, by default the caller will end the transferred call. If this Step Detail is used for the transferring party or an unknown party, the compound step fails with an error.

Syntax

1
* <party Identifier> ends the call

Parameter

  • party - The party that ends the transferred call
    • Default is set to the caller

Example

1
2
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * C ends the call

Dialing Format

This Step Detail specifies the dialing format for the specified call. If omitted, by default the caller will dial in the international format. If this Step Detail is used for a combination of parties that do not participate in a call instantiation together, the Compound Step fails with an error.

Syntax

1
2
* <callingParty Identifier> calls <calledParty Identifier> using
    <formatType String> format

Parameters

  • callingParty - The party that initiates the call

  • calledParty - the party that receives the call

  • formatType - The dialing format

    • Default is set to int
    • May be one of int, int00, or nat

Example

1
2
3
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A calls B using int format
    * B calls C using int00 format

Detect Dialing Format

This Step Detail specifies the detecting dialing format for the specified call. If omitted, any will be used by default. If this Step Detail is used for a party that does not receive a call, the compound step fails with an error.

Syntax

1
* <calledParty Identifier> detects an incoming call in <formatType String> format

Parameters

  • calledParty - the party that receives the call

  • formatType - the dialing format

    • Default is set to any
    • May be one of int, int00, nat or any

Example

1
2
3
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * B detects an incoming call in nat format
    * C detects an incoming call in any format

Speech Channel Monitoring

This Step Detail enables the monitoring of the speech channels of all the calls that are established from this compound step. For the evaluation of the speech channels, the Evaluate the Speech Channels step must be invoked.

Syntax

1
* monitor the speech channels

Example

1
2
3
4
5
6
And A calls B and B transfers the call to C as CALL_TRANSFER:
    * monitor the speech channels

And evaluate speech channel monitoring for A and B
And evaluate speech channel monitoring for B and C
And evaluate speech channel monitoring for A and C

Expect the Call Transfer to Finish

The following step expects the entire Call Transfer procedure to finish.

Syntax

1
2
And within <timeout Number> seconds, expect the call transfer
    <callTransferName Identifier> to succeed

Parameters

  • timeout - The time period in which the entire Call Transfer procedure must finish

  • callTransferName - The Call Transfer name

Example

1
2
3
4
    And A calls B and B transfers the call to C as CALL_TRANSFER:
        * A and B talk for 10 seconds

    And within 90 seconds, expect the call transfer CALL_TRANSFER to succeed

Additional Call Transfer Expectation Steps

Using the Call Transfer compound step results in the establishment of three calls:

  • The initial call (The calling party to the called party)

  • The intermediate call (The transferring party to the target party)

  • The transferred call (The result of the Call Transfer)

Accessing the status of these individual calls can be achieved by using the . operator on the Call Transfer name and appending the unique identifier corresponding to the participating parties of the call, with the following format:

Syntax

1
<callTransferName>.<phoneId>to<otherPhoneId>

These expect Steps test whether the Call Transfer has entered the specified state within a given timeout. Using one of these Steps Blocks the test case execution until the given state is reached. If the call state is not reached within the timeout, the step fails.

Initial Call Expectation Steps

These Steps access the status of the initial call, which involves all activities between the calling party and the called party.

Initial Call: Expect the Call to Start Ringing

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to start ringing
Parameters

  • number - The number of seconds within which the initial call is expected to start ringing

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The calling party

  • otherPhoneId - The party that receives the initial call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.AtoB to start ringing

Initial Call: Expect the Call to Be Connected

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to connect
Parameters

  • number - The number of seconds within which the initial call is expected to connect

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The calling party

  • otherPhoneId - The party that receives the initial call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.AtoB to connect

Initial Call: Expect the Call to Be Held

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to be held

Parameters

  • number - The number of seconds within which the initial call is expected to be held

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The calling party

  • otherPhoneId - The party that receives the initial call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.AtoB to be held

Intermediate Call Expectation Steps

These Steps access the status of the intermediate call, which involves all activities between the transferring party and the target party.

Intermediate Call: Expect the Call to Start Ringing

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to start ringing

Parameters

  • number - The number of seconds within which the intermediate call is expected to start ringing

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The transferring party

  • otherPhoneId - The party that receives the intermediate call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.BtoC to start ringing

Intermediate Call: Expect the Call to Connect

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to connect
Parameters

  • number - The number of seconds within which the intermediate call is expected to connect

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The transferring party

  • otherPhoneId - The party that receives the intermediate call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.BtoC to connect

Intermediate Call: Expect the Call to Be Transferred

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to be transferred

Parameters

  • number - The number of seconds within which the intermediate call is expected to be transferred

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The transferring party

  • otherPhoneId - The party that receives the intermediate call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

  And within 30 seconds, expect the call CALL_TRANSFER.BtoC to be transferred

Transferred Call Expectation Steps

These Steps access the status the transferred call, which involves the results of the Call Transfer.

Transferred Call: Expect the Call to Connect

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to connect

Parameters

  • number - The number of seconds within which the transferred call is expected to connect

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The party from the initial call that is not the transferring party

  • otherPhoneId - The party that receives the transferred call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

    And within 30 seconds, expect the call CALL_TRANSFER.AtoC to connect

Transferred Call: Expect the Call to Disconnect

Syntax

1
2
3
And within <number Number> seconds, expect the call
    <callTransferName Identifier>.<phoneId Identifier>to<otherPhoneId Identifier>
    to disconnect

Parameters

  • number - The number of seconds within which the transferred call is expected to disconnect

  • callTransferName - The name assigned to the Call Transfer

  • phoneId - The party from the initial call that is not the transferring party

  • otherPhoneId - The party that receives the transferred call

Example

1
2
3
4
  And A calls B and B transfers the call to C as CALL_TRANSFER:
    * A and B talk for 10 seconds

    And within 30 seconds, expect the call CALL_TRANSFER.AtoC to disconnect