Cisco IOS Tcl IVR and VoiceXML Application Guide - 12.3(14)T and later
Configuring Fax Detection for VoiceXML
Downloads: This chapterpdf (PDF - 267.0KB) The complete bookPDF (PDF - 8.15MB) | Feedback

Table Of Contents

Configuring Fax Detection for VoiceXML

Contents

Prerequisites for Fax Detection for VoiceXML

Restrictions for Fax Detection for VoiceXML

Information About Fax Detection for VoiceXML

How to Configure Fax Detection for VoiceXML

Configuring Fax Detection for VoiceXML

Verifying VoiceXML Fax Detection Configuration

Configuration Examples for Fax Detection for VoiceXML

Fax Detection for VoiceXML with T.37 Store-and-Forward Fax Example

Where to Go Next

Additional References


Configuring Fax Detection for VoiceXML


This chapter explains how to configure the Fax Detection for VoiceXML feature.

For more information about this and related Cisco IOS voice features, see the following:

"Overview of Cisco IOS Tcl IVR and VoiceXML Applications"

Entire Cisco IOS Voice Configuration Library—including library preface and glossary, other feature documents, and troubleshooting documentation—at http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_voice_configuration_library_glossary/vcl.htm.


Note For releases prior to Cisco IOS Release 12.3(14)T, see the previous version of the Cisco Tcl IVR and VoiceXML Application Guide at: http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/tcl_leg/index.htm


Release
Modification

12.2(2)XB

This feature was introduced.

12.3(14)T

A new command-line interface structure for configuring Tcl and IVR applications was introduced and affected the commands for configuring this feature.


Feature History for Fax Detection for VoiceXML

Contents

Prerequisites for Fax Detection for VoiceXML

Restrictions for Fax Detection for VoiceXML

Information About Fax Detection for VoiceXML

How to Configure Fax Detection for VoiceXML

Configuration Examples for Fax Detection for VoiceXML

Where to Go Next

Additional References

When developing and configuring a voice application, refer to this chapter and to the Cisco VoiceXML Programmer's Guide or the Tcl IVR API Version 2.0 Programmer's Guide.

Prerequisites for Fax Detection for VoiceXML

You must configure basic VoiceXML application functionality as described in "Configuring Basic Functionality for Tcl IVR and VoiceXML Applications" on page 1.

You must write a VoiceXML document that implements fax detection. To write your own script, refer to the Cisco VoiceXML Programmer's Guide.

Restrictions for Fax Detection for VoiceXML

In Cisco IOS Release 12.2(2)XB, fax detection for VoiceXML is supported only on the Cisco AS5300.

Information About Fax Detection for VoiceXML

When a VoiceXML fax detection application is configured on the gateway, callers can dial a single number for both voice and fax calls. The gateway automatically detects when a call is a fax transmission by listening for a CNG (CalliNG) tone, the distinctive fax calling tone. The Cisco IOS VoiceXML gateway, when configured for fax detection, continuously listens to incoming calls to determine which calls are voice or fax. The gateway then routes calls to the appropriate application or media server.

Figure 7-1 Fax Detection on Cisco VoiceXML Gateway


Note In Cisco IOS Release 12.2(2)XB, VoiceXML fax detection is supported only on the Cisco AS5300.


After a call is established, the VoiceXML application can play an audio prompt to the caller while waiting for CNG detection. CNG detection continues for the entire duration of the call, so it is possible that a caller could first be connected to a voice-mail server and leave a voice message, then start to transmit a fax and the application would automatically switch the call to the fax application. After the application detects whether a call is voice or fax, the gateway routes the call based on dial peers. The fax detection application requires at least two dial peers:

Inbound POTS dial peer, for incoming calls from the PSTN

Outbound MMoIP dial peer for store-and-forward fax, to send fax transmissions to an e-mail server

For a general description of dial peers, see the "Role of Dial Peers in Configuring Voice Applications" section.

For information on configuring fax relay or store-and-forward fax, refer to the Cisco IOS Fax Services over IP Application Guide, Release 12.3.

How to Configure Fax Detection for VoiceXML

Configuring Fax Detection for VoiceXML (required)

Verifying VoiceXML Fax Detection Configuration (optional)

Configuring Fax Detection for VoiceXML


Step 1 Load your fax detection application onto the gateway. For detailed instructions, see the "Loading a Service onto the Gateway" section.

Example: 
application
 service vxml_fax_detect tftpboot://172.16.1.1/scripts/fax_detect.vxml
 
 

Note You must write your own VoiceXML document that implements fax detection. Cisco does not provide a VoiceXML script that you can download.


Step 2 Configure the inbound POTS dial peer. For detailed instructions, see the "Configuring an Inbound Application" section.

Example:
!
dial-peer voice 5 pots
 service vxml_fax_detect
 incoming called-number 55..
 
 

When DID is enabled, the incoming called number (DNIS) is used to match the destination pattern of outgoing MMoIP dial peers.

Step 3 Configure the outbound MMoIP dial peer and the sending MTA for T.37 store-and-forward fax. For detailed instructions, refer to the Cisco IOS Fax Services over IP Application Guide, Release 12.3.

Example:
!
fax interface-type fax-mail
mta send server 172.16.1.25
mta send subject Test Message
mta send origin-prefix Cisco Fax
mta send postmaster postmaster@mail-server.com 
mta send mail-from hostname zebra.unified-messages.com
mta send mail-from username $s$
mta send return-receipt-to hostname zebra.unified-messages.com
mta send return-receipt-to username $s$ 
!
!
dial-peer voice 555 mmoip
 service fax_on_vfc_onramp_app out-bound
 destination-pattern 55..
 information-type fax
 session target mailto:$e$@mail-server.com
 
 

The name of the application for store-and-forward fax is fax_on_vfc_onramp_app. This application is included in the Cisco IOS software; you do not have to download it or configure it by using the application configuration submodes.

The session target mailto command specifies the address of the mail server where faxes are e-mailed. The $e$ macro indicates that the VoiceXML application sets the mailto address to either the DNIS, RDNIS, or a string representing a valid e-mail address. The "cisco-mailtoaddress" variable in the transfer tag of the VoiceXML fax detection application replaces the $e$ in the mailto address. The VoiceXML application maps the "cisco-mailtoaddress" variable to the e-mail address only if the $e$ macro is configured in the MMoIP dial peer. By default, if the "cisco-mailtoaddress" variable is not specified in the transfer tag, the VoiceXML application maps the DNIS to $e$.

If $e$ is not specified in the session target mailto command, but the cisco-mailtoaddress variable is specified in the transfer tag of the fax detection document, then whatever is specified in the MMoIP dial peer takes precedence; the "cisco-mailtoaddress" variable is ignored.

For information about the cisco-mailtoaddress transfer tag variable, refer to the Cisco VoiceXML Programmer's Guide.

For information about configuring fax detection using Tcl applications, refer to the Cisco IOS Fax Services over IP Application Guide, Release 12.3.


Verifying VoiceXML Fax Detection Configuration

SUMMARY STEPS

1. show running-config

2. show call application voice summary

3. show call application voice

4. show dial-peer voice tag

DETAILED STEPS


Step 1 Use the show running-config command to verify the application's configuration parameters.

application
 service vxml_fax_detect tftp://10.1.1.1/scripts/vxml_fax_detect.vxml
 !
!
dial-peer voice 55 pots
 service vxml_fax_detect
 incoming called-number 55..
 direct-inward-dial
 
 

Step 2 Use the show call application voice summary command to list all voice applications loaded on the router to confirm that the fax detection document is loaded. In the sample output below, the VoiceXML document for the fax detection application vxml_fax_detect is loaded from a TFTP server.

Router# show call application voice summary
 
 
name                 description
 
 
session              Basic app to do DID, or supply dialtone.
fax_hop_on           Script to talk to a fax redialer
clid_authen          Authenticate with (ani, dnis)
clid_authen_collect  Authenticate with (ani, dnis), collect if that fails
clid_authen_npw      Authenticate with (ani, NULL)
clid_authen_col_npw  Authenticate with (ani, NULL), collect if that fails
clid_col_npw_3       Authenticate with (ani, NULL), and 3 tries collecting
clid_col_npw_npw     Authenticate with (ani, NULL) and 3 tries without pw
DEFAULT              Default system session application
lib_off_app          Libretto Offramp
fax_on_vfc_onramp_ap Fax onramp for VFC
vxml_fax_detect      tftp://server/tftpboot/scripts/vxml/vxml_fax_detect.vxml
offramp_mapp         tftp://server/tftpboot/vrsf/tcl/app_voicemail_offramp.tcl
 
 
TCL Script Version 2.0 supported.
TCL Script Version 1.1 supported.
Voice Browser Version 2.0 for VoiceXML 1.0 & 2.0 supported.
 
 

Step 3 Use the show call application voice command to display the line-by-line contents of the VoiceXML document associated with a specific loaded application.

Step 4 Use the show dial-peer voice command to verify that the operational status of a dial peer is up.

Router# show dial-peer voice 55
 
 
VoiceEncapPeer55
        information type = voice,
        description = `',
        tag = 55, destination-pattern = `',
        answer-address = `', preference=0,
        numbering Type = `unknown'
        group = 55, Admin state is up, Operation state is up,
        incoming called-number = `55..', connections/maximum = 0/unlimited,
        DTMF Relay = disabled,
        huntstop = disabled,
        in bound application associated: 'vxml_fax_detect'
        out bound application associated: ''
        dnis-map = 
        permission :both
        incoming COR list:maximum capability
        outgoing COR list:minimum requirement
        type = pots, prefix = `',
        forward-digits default
        session-target = `', voice-port = `0:D',
        direct-inward-dial = disabled,
        digit_strip = enabled,
        register E.164 number with GK = TRUE
 
 
        Connect Time = 0, Charged Units = 0,
        Successful Calls = 0, Failed Calls = 0, Incomplete Calls = 0
        Accepted Calls = 0, Refused Calls = 0,
        Last Disconnect Cause is "",
        Last Disconnect Text is "",
        Last Setup Time = 0.

Configuration Examples for Fax Detection for VoiceXML

This section provides a gateway configuration example of a VoiceXML application using fax detection.

Fax Detection for VoiceXML with T.37 Store-and-Forward Fax Example

Fax Detection for VoiceXML with T.37 Store-and-Forward Fax Example

This example is a basic configuration for fax detection for incoming calls. The application is called vxml_fax_detect on the gateway.

!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime localtime
no service password-encryption
!
hostname zebra
!
resource-pool disable
!
clock timezone AEST 10
ip subnet-zero
!
isdn switch-type primary-5ess
call rsvp-sync
!
!VXML application configuration for Fax Detection
application 
service vxml_fax_detect tftp://10.1.1.1/scripts/vxml_fax_detect.vxml
!
!
cns event-service server
!
fax receive called-subscriber $d$
fax send transmitting-subscriber $s$
fax send left-header $s$
fax send center-header $t$
fax send right-header Page $p$
fax send coverpage enable
fax send coverpage email-controllable
fax send coverpage comment Cisco cover page comment
fax interface-type fax-mail
mta send server 172.16.1.25
mta send subject Test Message
mta send origin-prefix Cisco Fax
mta send postmaster postmaster@mail-server.unified-messages.com 
mta send mail-from hostname zebra.unified-messages.com
mta send mail-from username $s$
mta send return-receipt-to username $s$ 
mta receive aliases sydney.com
mta receive maximum-recipients 120
mta receive generate-mdn
!
!
controller T1 0
 framing esf
 clock source line primary
 linecode b8zs
 pri-group timeslots 1-24
!
controller T1 1
 framing esf
 clock source line secondary 1
 linecode b8zs
 pri-group timeslots 1-24
!
controller T1 2
 framing esf
 clock source line secondary 2
 linecode b8zs
 pri-group timeslots 1-24
!
controller T1 3
 clock source line secondary 3
!
interface Ethernet0
 ip address 10.2.14.90 255.0.0.0
!
interface Serial0
 no ip address
 no ip mroute-cache
 shutdown
 no fair-queue
 clockrate 2015232
!
interface Serial1
 no ip address
 shutdown
 no fair-queue
 clockrate 2015232
!
interface Serial0:23
 no ip address
 ip mroute-cache
 isdn switch-type primary-5ess
 isdn incoming-voice modem
 isdn T203 10000
 no cdp enable
!
interface Serial1:23
 no ip address
 isdn switch-type primary-5ess
 isdn incoming-voice modem
 no cdp enable
!!
interface FastEthernet0
 ip address 172.16.14.90 255.255.0.0
 duplex auto
 speed auto
 h323-gateway voip interface
 h323-gateway voip h323-id 5300-voip
 h323-gateway voip tech-prefix 2#
!
ip classless
no ip http server
!
voice-port 0:D
!
voice-port 1:D
!
voice-port 2:D
!
!POTS dial-peer configuration for VoiceXML Fax Detection
dial-peer voice 1 pots
 service fax_detect
 incoming called-number 5...
 direct-inward-dial
!
!Mail dial-peer configuration for T.37 store-and-forward fax
dial-peer voice 3 mmoip
 service fax_on_vfc_onramp_app out-bound
 destination-pattern 5...
 information-type fax
 session target mailto:$e$@mail-server.com
!
!
gateway 
!
!
line con 0
 exec-timeout 0 0
 transport input none
line aux 0
line vty 0 4
 login
!
ntp clock-period 17180419
ntp source Ethernet0
ntp server 10.1.1.1
end
 
 

Where to Go Next

To configure properties for audio files, see "Configuring Audio File Properties for Tcl IVR and VoiceXML Applications".

To record voice messages using a VoiceXML application, see "Configuring VoiceXML Voice Store and Forward".

To configure properties for speech recognition or speech synthesis, see "Configuring ASR and TTS Properties".

To configure telephony call-redirect features for voice applications, see "Configuring Telephony Call-Redirect Features".

To configure session interaction for a Tcl IVR 2.0 application, see "Configuring Tcl IVR 2.0 Session Interaction".

To configure support for SIP and TEL URLs, see "Configuring SIP and TEL URL Support" on page 245.

To monitor and troubleshoot voice applications, see "Monitoring and Troubleshooting Voice Applications".

Additional References

""—Describes how to access Cisco Feature Navigator; also lists and describes, by Cisco IOS release, Tcl IVR and VoiceXML features for that release

"Overview of Cisco IOS Tcl IVR and VoiceXML Applications"—Describes underlying Cisco IOS Tcl IVR and VoiceXML technology; also lists related documents, standards, MIBs, RFCs, and how to obtain technical assistance