Configuring SIP Support for Hookflash

Last Updated: September 28, 2012

This chapter contains information about the SIP Support for Hookflash feature that allows you to configure IP Centrex supplementary services on SIP-enabled, Foreign Exchange Station (FXS) lines. Supplementary services for the SIP Support for Hookflash feature include the following:

Call hold

Call waiting

Call transfer

3-Way conferencing

Use the servicedsapp command to configure supplementary Centrex-like features on FXS phones to interwork with SIP-based softswitches. The SIP Support for Hookflash feature supports the concept of a dual-line (ACTIVE and STANDBY for active and held calls) for FXS calls to support supplementary services. Hookflash triggers supplementary services based on the current state of the call.

You can configure the servicedsapp command on individual dial peers, or configure globally for all calls entering the gateway.

Prerequisites for SIP Support for Hookflash

All Hookflash Features for FXS Ports

Ensure that the gateway has voice functionality that is configurable for SIP.

Establish a working IP network. For information on configuring IP, see the Cisco IOS IP Configuration Guide, Release 12.3.

Configure VoIP.

Information About SIP Support for Hookflash

Use the servicedsappcommand to configure supplementary Centrex-like services on FXS phones to interwork with SIP-based softswitches. Hookflash triggers supplementary features based on the current state of the call and provides a simulation of dual-line capability for analog phones to allow one line to be active while the other line is used to control supplementary IP Centrex services. Supplementary services for the SIP Support for Hookflash feature include the following:

Call Holding Flows

The sequence of placing a call on hold is summarized in the following steps:

User A and user B are active with a call.

By pressing hookflash, user A initiates a call hold.

SIP sends a call hold indication to user B.

User A can now initiate another active call (user C), transfer the active call (call transfer), or respond to a call-waiting indication.

Note

Use the offercall-hold command in sip-ua configuration mode to configure the method of hold used on the gateway. For detailed information on the offercall-holdcommand, see the Cisco IOS Voice Command Reference Guide.

User A receives a second dial tone and presses hookflash.

The figure below shows the initiation of the calls hold sequence.

User A and User B reconnect.

The figure below shows the calls on hold resume sequence.

The table below summarizes the hookflash support for Call Hold services.

Table 1

Call Hold Hookflash Services

State

Action

Result

Response to FXS Line

Active call

Hookflash

Call placed on hold for remote party.

Second dial tone for FXS phone.

Call on hold

Hookflash

Active call.

FXS line connects to call.

Call on hold and active call

Hookflash

Active and call on hold are swapped.

FXS line connects to previous held call.

On hook

Active call is dropped.

Held call still active. Reminder ring on FXS line.

Call on hold goes on hook

Call on hold is dropped.

None.

Active call goes on hook

Active call is dropped.

Silence. Reconnects to held call after the value you specify for disc-toggle-time expires. See "How to Configure Disconnect Toggle Time".

Call Waiting

With the Call Waiting feature, you can receive a second call while you are on the phone with another call. When you receive a second call, you hear a call-waiting tone (a tone with a 300 ms duration). Caller ID appears on phones that support caller ID. You can use hookflash to answer a waiting call and place the previously active call on hold. By using hookflash, you can toggle between the active and a call that is on hold. If the Call Waiting feature is disabled, and you hang up the current call, the second call will hear a busy tone.

The call-waiting sequence is summarizes in the following steps:

User A is active with a call to user B

User C calls user B

User B presses hookflash.

The call between user A and user B is held.

User B connects to user C.

The figure below shows the call waiting sequence.

The table below summarizes hookflash support for Call Waiting services.

Table 2

Call Waiting Hookflash Services

State

Action

Result

Response to FXS Line

Active call and waiting call

Hookflash

Swap active call and waiting call.

FXS line connects to waiting call.

Active call disconnects

Active call is disconnected.

Silence.

Waiting call goes disconnects

Stay connected to active call.

None.

Call disconnects

Active call is dropped.

Reminder ring on FXS line.

Call Transfers

Call transfers are when active calls are put on hold while a second call is established between two users. After you establish the second call and terminate the active call, the call on hold will hear a ringback. The Call Transfer feature supports all three types of call transfers--blind, semi-attended, and attended.

Blind Call Transfer

User B will not hear alerting for the time you configure. See "How to Configure Blind Transfer Wait Time".

Before the Blind call transfer trigger timer expires, user B disconnects, and the call between user A and user B is terminated.

User A is transferred to user C and hears a ringback if user C is available. If user C is busy, user A hears a busy tone; if user C is not busy and answers, user A and user C connect.

The figure below shows the call sequence for a Blind call transfer.

Semi-Attended Transfers

The following is a typical semi-attended transfer scenario:

User A calls user B.

User B places user A on hold and dials user C.

After user B hears a ringback and user C rings, user B initiates a transfer, and the call between user A and user B is terminated.

User A is transferred to user C and hears a ringback if user C is available. If user C is busy, user A hears a busy tone.

If user C is not busy and answers, user A and user C connect.

The figure below shows the call details for a semi-attended transfer.

Attended Transfers

The following describes a typical attended transfer:

User A calls user B.

User B places user A on hold and dials user C.

After user C answers, user B goes on-hook to initiate a transfer, and the call between user A and user B is terminated.

User A is transferred to user C. If user C is busy when user B calls, user A hears a busy tone.

If user C is not busy and answers, user A and user C connect.

The figure below shows the call details for an attended transfer.

The table below summarizes the hookflash support for Call Transfer services.

Table 3

Call Transfer Hook Flash Services

State

Action

Result

Response to FXS Line

Active call

Hookflash.

Call placed on hold.

Second dial tone.

Call on hold and outgoing dialed or alerting, or active call

On hook.

Call on hold and active call transferred.

--

Call on hold and outgoing alerting call

Hookflash

Active call dropped.

FXS line connects to call o hold.

3-Way Conference

You can use the 3-Way Conference feature to establish two calls with a single connection so that all three parties can talk together. If the 3-Way Conference feature is disabled, a second hookflash will toggle between the two calls.

Note

The 3-Way Conference feature only supports those SIP calls using the g711 codex. This feature also supports specification GR-577-CORE.

How to Configure Disconnect Toggle Time

You can configure the time to wait before switching to a call on hold if an active call disconnects (commonly known as disconnect toggle time). You can configure a time-to-wait range between 10 (default) and 30 seconds.

SUMMARY STEPS

1.enable

2.configureterminal

3.application

4.servicedsapp

5.paramdisc-toggle-timeseconds

6.exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2

configureterminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

application

Example:

Router (config)# application

Enters SIP gateway-application configuration mode.

Step 4

servicedsapp

Example:

Router(config-app)# service dsapp

Enters DSAPP parameters mode.

Step 5

paramdisc-toggle-timeseconds

Example:

Router(config-app-param)# param disc-toggle-time 20

Sets the time to wait before switching to a call on hold, if the active call disconnects (disconnect toggle time). You can specify a disconnect toggle time between 10 (default) and 30 seconds.

Step 6

exit

Example:

Router(config-app-param)# exit

Exits the current mode.

How to Configure Blind Transfer Wait Time

To configure the time the system waits before establishing a call, so that you can transfer a call by placing the phone on hook, proceed with the following steps.

Note

The transferrer will not hear the alert for the time you configure because the system delays the call in case blind transfer is initiated.

SUMMARY STEPS

1.enable

2.configureterminal

3.application

4.servicedsapp

5.paramblind-xfer-wait-timetime

6.exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2

configureterminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

application

Example:

Router(config)# application

Enters SIP gateway-application configuration mode.

Step 4

servicedsapp

Example:

Router(config-app)# service dsapp

Enters DSAPP parameters mode.

Step 5

paramblind-xfer-wait-timetime

Example:

Router(config-app-param)# param blind-xfer-wait-time 10

Enables call waiting.

Step 6

exit

Example:

Router (config-app-param)# exit

Exits the current mode.

How to Associate Services with a Fixed Dial Peer

After you have enabled and customized your services on a gateway by using the servicedsapp command, you must associate these services with configured dial peers. You can associate individual dial peers, or alternately, you can configure these services globally on the gateway (see "How to Associate Services Globally on a Gateway"). If you associate these services globally, all calls entering from the FXS line side and from the SIP trunk side invoke the servicedsapp services.

To configure a fixed dial peer used by DSAPP to set up a call to the SIP server (trunk) side, proceed with the following steps:

SUMMARY STEPS

1.enable

2.configureterminal

3.application

4.servicedsapp

5.paramdialpeerdial-peer-tag

6.exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2

configureterminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

application

Example:

Router(config)# application

Enters SIP gateway-application configuration mode.

Step 4

servicedsapp

Example:

Router (config-app)# service dsapp

Enters DSAPP parameters mode.

Step 5

paramdialpeerdial-peer-tag

Example:

Router(config-app-param)# param dialpeer 5000

Configures a fixed dial peer used by DSAPP to set up a call to the SIP server (trunk) side, where dial-peer-tag is the tag of the dial peer used to place an outgoing call on the IP trunk side. The dial-peer-tag must be the same tag as the dial peer configured to the SIP server.

Step 6

exit

Example:

Router(config-app-param)# exit

Exits the current mode.

How to Associate Services Globally on a Gateway

After you have enabled and customized your services on a gateway by using the servicedsapp command, you must associate these services with configured dial peers. You can associate individual dial peers ("How to Associate Services with a Fixed Dial Peer"), or alternately, you can configure these services globally on the gateway. If you associate these services globally, all calls entering from the FXS line side and from the SIP trunk side will invoke the servicedsapp services.

SUMMARY STEPS

1.enable

2.configureterminal

3.application

4.global

5.servicedefaultdsapp

6.exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2

configureterminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3

application

Example:

Router(config)# application

Enters SIP gateway-application configuration mode.

Step 4

global

Example:

Router (config-app)# global

Enters SIP gateway-application-global configuration mode.

Step 5

servicedefaultdsapp

Example:

Router (config-app-global)# service default dsapp

Globally sets dsapp as the default application. All calls entering the gateway (from the FXS line side and the SIP trunk side) invoke the dsapp application.

Configuring Disconnect Toggle Time Example

In this example, a disconnect toggle time is configured; the toggle time specifies the amount of time in seconds the system waits before committing the call transfer, after the originating call is placed on hook.

Configuring Blind Transfer Wait Time Example

In this example, a blind transfer wait time is configured that specifies the amount of time in seconds the system waits before committing the call transfer after the originating call is placed on hook.

MIBs

Technical Assistance

Description

Link

The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.