- SIP Features Roadmap
- Overview of SIP
- Basic SIP Configuration
- Achieving SIP RFC Compliance
- Configuring SIP Call-Transfer Features
- Configuring SIP Message, Timer, and Response Features
- Configuring SIP AAA Features
- Configuring SIP Connection-Oriented Media, Forking, and MLPP Features
- Configuring SIP Bind Features
- Configuring SIP DTMF Features
- Configuring SIP Support for SRTP
- Configuring SIP Support for Hookflash
- Configuring SIP ISDN Support Features
- Transparent Tunneling of QSIG and Q.931 over SIP TDM Gateways and SIP-SIP Cisco Unified Border Elements
- Configuring SIP RSVP Features
- Configuring SIP QoS Features
- Configuring SIP MWI Features
- Verifying and Troubleshooting SIP Features
- How to Configure Call Hold
- How to Configure Call Waiting
- How to Configure Call Transfer
- How to Configure 3-Way Conferencing
- How to Configure Disconnect Toggle Time
- How to Configure Blind Transfer Wait Time
- How to Associate Services with a Fixed Dial Peer
- How to Associate Services Globally on a Gateway
- Configuring Call Hold: Example
- Configuring Call Waiting: Example
- Configuring Call Transfer: Example
- Configuring 3-Way Conferencing: Example
- Configuring Disconnect Toggle Time: Example
- Configuring Blind Transfer Wait Time: Example
- Configuring a Fixed Dial Peer Used for Outgoing Calls on SIP Trunk Side: Example
- Associating Services with a Fixed Dial Peer: Example
- Associating Services Globally on a Gateway: Example
Configuring SIP Support for Hookflash
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 service dsapp 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 service dsapp command on individual dial peers, or configure globally for all calls entering the gateway.
Feature History
|
|
12.4(11)T |
This feature was introduced. |
for SIP Support for Hookflash
Contents
•Prerequisites for SIP Support for Hookflash
•Information About SIP Support for Hookflash
•How to Configure and Associate SIP Support for Hookflash
•Configuration Examples for SIP Support for Hookflash
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 service dsapp command 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 Hold
With the Call Hold feature, you can place a call on hold. When you are active with a call and you press hookflash, and there is no call that is waiting, you hear a dial tone.
If there is a call on hold, the hookflash switches between two calls; the call on hold becomes active while the active call is put on hold.
If you have a call on hold and the call hangs up, the call on hold is disconnected.
Call Holding Flows
The sequence of placing a call on hold is summarized in the following steps:
1. User A and user B are active with a call.
2. By pressing hookflash, user A initiates a call hold.
3. SIP sends a call hold indication to user B.
4. 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 offer call-hold command in sip-ua configuration mode to configure the method of hold used on the gateway. For detailed information on the offer call-hold command, see the Cisco IOS Voice Command Reference Guide.
5. User A receives a second dial tone and presses hookflash.
Figure 79 shows the initiation of the calls hold sequence.
Figure 79
Initiation of Call Hold
6. User A and User B reconnect.
Figure 80 shows the calls on hold resume sequence.
Figure 80
Resume Calls on Hold Flow
Table 48 summarizes the hookflash support for Call Hold services.
|
|
|
|
---|---|---|---|
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:
1. User A is active with a call to user B
2. User C calls user B
3. User B presses hookflash.
The call between user A and user B is held.
4. User B connects to user C.
Figure 81 shows the call waiting sequence.
Figure 81
Call-Waiting Sequence
Table 49 summarizes hookflash support for Call Waiting services.
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
The following describes a typical Blind call-transfer scenario:
1. User A calls user B.
2. User B (transferrer) presses hookflash, places user A (transferee) on hold, and dials user C (transfer-to).
Note User B will not hear alerting for the time you configure. See How to Configure Blind Transfer Wait Time.
3. Before the Blind call transfer trigger timer expires, user B disconnects, and the call between user A and user B is terminated.
4. 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.
Figure 82 shows the call sequence for a Blind call transfer.
Figure 82
Blind Call Transfer Sequence
Semi-Attended Transfers
The following is a typical semi-attended transfer scenario:
1. User A calls user B.
2. User B places user A on hold and dials user C.
3. 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.
4. 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.
5. If user C is not busy and answers, user A and user C connect.
Figure 83 shows the call details for a semi-attended transfer.
Figure 83
Initiation of Semi-Attended Transfer
Attended Transfers
The following describes a typical attended transfer:
1. User A calls user B.
2. User B places user A on hold and dials user C.
3. After user C answers, user B goes on-hook to initiate a transfer, and the call between user A and user B is terminated.
4. User A is transferred to user C. If user C is busy when user B calls, user A hears a busy tone.
5. If user C is not busy and answers, user A and user C connect.
Figure 84 shows the call details for an attended transfer.
Figure 84
Attended Call Transfer
Table 50 summarizes the hookflash support for Call Transfer services.
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.
Setting Up a 3-Way Conference
The following describes a typical 3-way conference scenario:
1. User A is talking with user B (a second-party call).
2. User A presses hookflash, receives a dial-tone, and dials user C.
3. User C answers. User A and user C are active in a second-party call.
4. User A presses hookflash to activate a 3-way conference.
In other terminology, user A is the host or controller; user B is the original call, and user C is the add-on.
Note The 3-Way Conference feature is available when the second-party call is outgoing. If the second-party call is incoming and you press hookflash, the phone toggles between the two calls.
Figure 85 shows the call details for 3-way conferencing.
Figure 85
3-Way Conference
Table 51 summarizes the hookflash support for 3-way conferencing services.
Terminating a 3-Way Conference
Table 52 summarizes the termination of a 3-way conference:
How to Configure and Associate SIP Support for Hookflash
This section describes the procedures for configuring and associating the SIP Support for Hookflash feature. These procedures include the following:
1. Configuring supplementary service by using the service dsapp command.
2. Associating the supplementary services with configured dial peers.
or
Associating the supplementary services as the global default application on a gateway.
This section provides configurations for the following supplementary services and provides configuration for associating supplementary services with dial peers:
•How to Configure Call Waiting
•How to Configure Call Transfer
•How to Configure 3-Way Conferencing
•How to Configure Disconnect Toggle Time
•How to Configure Blind Transfer Wait Time
•How to Associate Services with a Fixed Dial Peer
•How to Associate Services Globally on a Gateway
How to Configure Call Hold
To configure the Call Hold feature, follow these steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. service dsapp
5. param callHold TRUE
6. exit
DETAILED STEPS
How to Configure Call Waiting
To enable call waiting for a DSAPP, follow these steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. service dsapp
5. param callWaiting TRUE
6. exit
DETAILED STEPS
How to Configure Call Transfer
To configure call transfer, follow these steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. service dsapp
5. param callTransfer TRUE
6. exit
DETAILED STEPS
How to Configure 3-Way Conferencing
To configure 3-way conferencing, follow these steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. service dsapp
5. param callConference TRUE
6. exit
DETAILED STEPS
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.
To configure disconnect toggle time, proceed with the following steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. service dsapp
5. param disc-toggle-time seconds
6. exit
DETAILED STEPS
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. configure terminal
3. application
4. service dsapp
5. param blind-xfer-wait-time time
6. exit
DETAILED STEPS
How to Associate Services with a Fixed Dial Peer
After you have enabled and customized your services on a gateway by using the service dsapp 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 service dsapp 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. configure terminal
3. application
4. service dsapp
5. param dialpeer dial-peer-tag
6. exit
DETAILED STEPS
How to Associate Services Globally on a Gateway
After you have enabled and customized your services on a gateway by using the service dsapp command, you must associate these services with configured dial peers. You can associate individual dial peers (see 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 service dsapp services.
To associate services globally on a gateway, proceed with the following steps:
SUMMARY STEPS
1. enable
2. configure terminal
3. application
4. global
5. service default dsapp
6. exit
DETAILED STEPS
Configuration Examples for SIP Support for Hookflash
This section contains the following configuration examples:
•Configuring Call Hold: Example
•Configuring Call Waiting: Example
•Configuring Call Transfer: Example
•Configuring 3-Way Conferencing: Example
•Configuring Disconnect Toggle Time: Example
•Configuring Blind Transfer Wait Time: Example
•Configuring a Fixed Dial Peer Used for Outgoing Calls on SIP Trunk Side: Example
•Associating Services with a Fixed Dial Peer: Example
•Associating Services Globally on a Gateway: Example
Configuring Call Hold: Example
The following example shows how to enable the Call Hold feature:
Gateway#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)#
application
Gateway(config-app)# service dsapp
Gateway
(config-app-param)# param callHold TRUE
Configuring Call Waiting: Example
The following example shows the configuration to enable the Call Waiting feature.
Gateway#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)#
application
Gateway(config-app)# service dsapp
Gateway
(config-app-param)# param callWaiting TRUE
Configuring Call Transfer: Example
The following example shows how to enable the Call Transfer feature:
Gateway#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)#
application
Gateway(config-app)# service dsapp
Gateway
(config-app-param)# param callTransfer TRUE
Configuring 3-Way Conferencing: Example
The following example shows how to enable the 3-Way Conferencing feature:
Gateway#
configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)#
application
Gateway(config-app)# service dsapp
Gateway
(config-app-param)# param callConference TRUE
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.
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)# application
Gateway(config-app)# service dsapp
Gateway(config-app-param)# param disc-toggle-time 10
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.
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)# application
Gateway(config-app)# service dsapp
Gateway(config-app-param)# param blind-xfer-wait-time 10
Configuring a Fixed Dial Peer Used for Outgoing Calls on SIP Trunk Side: Example
In this example, a fixed dial peer is configured to set up the call to the SIP server (trunk) side.
Gateway# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Gateway(conf)# application
Gateway(config-app)# service dsapp
Gateway(config-app-param)# param dialpeer 5000
Associating Services with a Fixed Dial Peer: Example
In this example, a fixed dial peer is configured to set up the call to the SIP server (trunk) side. The line in bold shows the dial peer statement.
Gateway# show running log
.
!
application
service dsapp
param dialpeer 1234
param disc-toggle-time 15
param callWaiting TRUE
param callConference TRUE
param blind-xfer-wait-time 10
param callTransfer TRUE
!
voice-port 1/0/0
station-id-name Example1
station-id number 1234567890
!
voice-port 1/0/1
station-id-name Example2
station-id number 1234567891
!
voice-port 1/0/2
station-id-name Example31
station-id number 1234567892
!
dial-peer voice 1234 voip
service dsapp
destination-pattern.T
session protocol sipv2
session target ipv4:10.1.1.1
dtmf-relay rtp-nte
codec g711ulaw
!
dial-peer voice 100 pots
service dsapp
destination-pattern.1234567890
port 1/0/0
prefix 1234567890
!
dial-peer voice 101 pots
service dsapp
destination-pattern.1234567891
port 1/0/1
prefix 1234567891
!
dial-peer voice 102 pots
service dsapp
destination-pattern.1234567892
port 1/0/2
prefix 1234567892
!
!
sip-ua
registar ipv4:10.1.1.1 expires 3600
!
Associating Services Globally on a Gateway: Example
In this example, the gateway is associated globally with supplementary services. The lines in bold show the dial peer statement.
Gateway# show running log
.
!
application
service dsapp
param disc-toggle-time 15
param callWaiting TRUE
param callConference TRUE
param blind-xfer-wait-time 10
param callTransfer TRUE
!
voice-port 1/0/0
station-id-name Example1
station-id number 1234567890
!
voice-port 1/0/1
station-id-name Example2
station-id number 1234567891
!
voice-port 1/0/2
station-id-name Example31
station-id number 1234567892
!
dial-peer voice 1234 voip
service dsapp
destination-pattern 1800T
session protocol sipv2
session target ipv4:10.1.1.1
dtmf-relay rtp-nte
codec g729r8
!
dial-peer voice 9753 voip
service dsapp
destination-pattern.T
session protocol sipv2
session target ipv4:10.1.1.1
dtmf-relay rtp-nte
codec g711ulaw
!
dial-peer voice 100 pots
preference 8
service dsapp
destination-pattern.6234567890
port 1/0/0
prefix 6234567890
!
dial-peer voice 101 pots
preference 8
service dsapp
destination-pattern.6234567892
port 1/0/1
prefix 6234567892
!
dial-peer voice 102 pots
preference 8
service dsapp
destination-pattern.6234567893
port 1/0/2
prefix 6234567893
!
!
dial-peer hunt 2
!
sip-ua
registar ipv4:10.1.1.1 expires 3600
!
Additional References
The following sections provide references related to the SIP Support for Hookflash feature.
MIBs
|
|
---|---|
None |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |