cc/td/doc/product/software/ios121/121cgcr/multi_c
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table of Contents

Configuring Debit Card for Packet Telephony

Configuring Debit Card for Packet Telephony

This chapter shows you how to configure Debit Card for Packet Telephony. This chapter contains the following sections:

For a complete description of the commands used in this chapter, refer to the Cisco IOS Multiservice Applications Command Reference publication. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.

Debit Card for Packet Telephony Overview

The Debit Card for Packet Telephony feature is an application that works in conjunction with the Cisco IVR feature, AAA, and RADIUS, and with an integrated third-party billing system. The IVR software infrastructure allows prerecorded audio files to be combined dynamically to play the dollar amount of credit remaining, the time and date, and other information. The integrated third-party billing system maintains per-user credit balance information; the Debit Card for Packet Telephony feature uses AAA and RADIUS VSAs to communicate with the billing system. The Debit Card for Packet Telephony feature includes the ability to maintain per-user credit balance information through the use of a billing system. When these features are implemented, the billing system and Cisco IOS software functions enable a carrier to authorize voice calls and debit individual user accounts in real time at the edges of a VoIP network without requiring external service nodes.


Note The Debit Card for Packet Telephony feature functionality is dependent upon the working configuration of the designated RADIUS server. Different Debit Card for Packet Telephony features may be supported on different RADIUS servers that control the VSA attributes. It is the responsibility of the customer to determine which RADIUS server vendor best meets the needs of the customer.

The Debit Card for Packet Telephony feature includes the following functionality:

The call is authenticated using caller ID and PIN. The RADIUS server provides user credit (dollar) amount. The caller is then prompted to enter the destination number. The TCL script authorizes the call with the RADIUS server. The RADIUS server keeps track of the caller credit information and it communicates with other billing servers, if necessary, to maintain or furnish user credit information.
The RADIUS server maintains the credit information and furnishes it to the script at the time of authentication. The IVR TCL script plays a prompt that announces the remaining credit to the caller as dollars and cents. The design is flexible enough to play any amount up to a maximum of $999999.99.
The RADIUS server provides the credit (time) remaining to the script during authorization. The TCL script combines prerecorded audio files to form the final prompt and play the "time-remaining" message to the caller. The time credit amount returned by the RADIUS server takes into consideration the "rating" and time boundary overlaps. The prompt played to the caller is, for example, "You have 5 hours and 35 minutes." The design is flexible enough to play any amount of time up to a maximum time specified in the script.
The RADIUS server maintains and furnishes time credit information during the authorization. The IVR TCL script monitors the time remaining and, based on the configured value, plays a "time-has-run-out" message to the caller. The called party hears silence during this time. For example, if the timeout value is configured for 3 minutes, the prompt "You only have 3 minutes remaining on your credit" is played.
This message is played to the calling party by the TCL script when the time credit has run out. The called party hears silence. The message is, for example, "Sorry, you have run out of credit."
The Debit Card for Packet Telephony feature makes it possible for the caller to make subsequent calls to different destinations without disconnecting from the call leg. Thus, the caller is required to enter the account ID number and PIN only once during initial authorization. To make subsequent calls, the caller needs to enter only the destination number. After talking with one destination, the caller is allowed to disconnect the call by pressing the pound (#) key on the keypad and holding it down for 1 to 2 seconds. If the # key is pressed down for more than 1 second, it is treated as long pound (#). The called party is disconnected and an announcement is played to the caller, giving the new time, and prompting for a new destination number.
This feature also allows the caller to make additional calls if the called party hangs up.
Every time a caller enters a new destination number, the IVR TCL script reauthorizes the call with the RADIUS server and obtains the remaining time and credit balance information. The IVR TCL script then announces the amount of time remaining to the calling party.
The normal terminating character for the caller ID, PIN, and destination number is the # key. The caller may want to continue without waiting to hear the prompts. This TCL script will stop playing or will not start a prompt when it discovers that the caller wants to type ahead.
This IVR TCL script stops playing announcements when the system determines that the caller has pressed any touchtone key.
The caller is allowed to interrupt partially entered numbers and restart from the beginning by pressing the asterisk (*) key on the keypad. The asterisk key is configured in the IVR TCL script. The caller can use the asterisk key to cancel an entry and reenter the user ID/PIN/destination number. The caller is allowed to reenter data only a certain number of times. The number of retries is configurable; the default is three.
The IVR TCL script can be used to specify a number of digits in the user ID and PIN fields---meaning that the caller can enter all of the digits (without the terminating character) and the script determines how to extract different fields from the number strings. If the caller uses the terminating character (the # key), the terminating character takes precedence and the fields are extracted accordingly.
The language is selected when the caller presses a predefined key. For example, "For English press 1. For Mandarin press 2." The IVR TCL script uses the selected language until the caller disconnects. The caller is asked only once, at the beginning of the session, for the language of choice. In addition, the Debit Card feature determines how many languages are configured and only plays the language selection menu if needed.
The RADIUS server maintains information regarding off-net calls. During authorization, it provides this information to the IVR TCL script. Based on the collected information, the IVR TCL script has the ability to generate a prerecorded message or tone to the calling party.
A new field has been added to the Stop Record field. The data for this field is obtained from fields that maintain and tune voice quality. It is the responsibility of the user application on the RADIUS server to use this information and give credit to the caller if the call has unsatisfactory voice quality.
When voice prompts are not used for a period of time, they are swapped out of RAM. The swapping does not introduce undue delays in playing prompts. The most frequently used prompts remain in memory and are not swapped.
The Debit Card for Packet Telephony feature provides a general infrastructure that allows combining prerecorded audio files to play the dollar amount, time, and day. An interface for the scripts to use this infrastructure is also part of this feature. Dynamic creation of the final audio (by combining prerecorded audio files) is limited to playing out dollar amount, time, and day information. For example, when the system receives a credit balance of $15.50, it combines the prerecorded audio files, "You have" "15" "dollars" "and" "50" "cents" to make up this message.
If errors that are returned by the RADIUS server during authentication or authorization (use of the AAA application), the caller is allowed to retry the entry. The RADIUS server determines how many retries to allow. The caller is disconnected when the number of retries has exceeded the limit.

Debit Card Call Flow

A high-level call flow sequence is displayed in Figure 58 through Figure 62. The actual call flow varies, depending on the parameters passed to the application and on the features that are available on the RADIUS server billing system that is being used.

The call sequence figures graphically depict the different states in the Debit Card for Packet Telephony application. The different states are represented by the double bars in the boxes and show the flow from one state to the next.


Figure 58: Debit Card Call Sequence 1



Figure 59: Debit Card Call Sequence 2



Figure 60: Debit Card Call Sequence 3



Figure 61: Debit Card Call Sequence 4



Figure 62:
Debit Card Call Sequence 5


RADIUS and H.323 Gateway-Specific Accounting

A call leg is a discrete segment of a call connection that lies between two points in the connection. Each call made through the gateway has two call legs: incoming and outgoing. The RADIUS server collects VSAs during the accounting process for each call leg created on the gateway.

In order for the Debit Card feature to work with the RADIUS server to collect the appropriate connection accounting information, you must configure AAA to use the H.323 gateway-specific accounting. For more information about H.323 gateway-specific accounting, see the "Configuring Interactive Voice Response for Cisco Access Platforms" section earlier in this chapter.

TCL Scripts

As mentioned, the Cisco Debit Card for Packet Telephony feature works in tandem with the IVR feature. IVR TCL scripts have been modified to provide voice prompts. These voice prompts are required to collect the necessary digits for accounting and settlement processes.

The following TCLWare needs to be installed on our Cisco access server to support the Debit Card feature:

For more information about TCL IVR scripts, refer to the "Configuring Interactive Voice Response for Cisco Access Platforms" section earlier in this chapter.

Audio File Prompts

Cisco provides a set of professionally recorded English (U.S.), Spanish, and Mandarin audio prompts to allow easier immediate integration and use of the Debit Card feature. The prompts are stored on an FTP server in the audio file format (.au). To announce the credit available to the caller, the system concatenates a series of prompts to create the appropriate message.

The Cisco-provided audio files are compressed and stored on CCO in the URL for the Software Support Center. The audio files need to be downloaded to either a TFTP server or into Flash memory. When the system runs, these files are copied into memory.


Note You can find TCLWare and audio files at the following URL:
http://www.cisco.com/cgi-bin/tablebuild.pl/tclware

Because there are a large number of prompts, and to ensure efficient use of system memory resources, all prompts are downloaded to a TFTP server. A basic set of audio files is downloaded to the system when it is initialized. The system removes less-frequently used prompts from memory to conserve memory. When the prompt is needed, the system retrieves the prompt from the TFTP server.

For languages that are syntactically similar to English, the audio file can be recorded and saved as the same filename to allow the system to construct the message properly. It is not mandatory to use the prompt set that Cisco provides. If the customer has access to a recording studio, prompts can be created or customized as long as they are saved in the proper format.

Cisco-Provided Audio Files

The following audio file prompts are provided by Cisco. A similar set is available in Mandarin and in Spanish. The audio files provided by Cisco are listed in Table 15 and Table 16.


Table 15: Numbers Audio File Set
Audio Filename Recorded Prompt Audio Filename Recorded Prompt

en_zero.au

Zero

en_fifteen.au

Fifteen

en_one.au

One

en_sixteen.au

Sixteen

en_two.au

Two

en_seventeen.au

Seventeen

en_three.au

Three

en_eighteen.au

Eighteen

en_four.au

Four

en_nineteen.au

Nineteen

en_five.au

Five

en_twenty.au

Twenty

en_six.au

Six

en_thirty.au

Thirty

en_seven.au

Seven

en_forty.au

Forty

en_eight.au

Eight

en_fifty.au

Fifty

en_nine.au

Nine

en_sixty.au

Sixty

en_ten.au

Ten

en_seventy.au

Seventy

en_eleven.au

Eleven

en_eighty.au

Eighty

en_twelve.au

Twelve

en_ninety.au

Ninety

en_thirteen.au

Thirteen

en_hundred.au

Hundred

en_fourteen.au

Fourteen

en_thousand.au

Thousand


Table 16: Miscellaneous Prompts
Audio Filename Recorded Prompt

en_second.au

Second

en_seconds.au

Seconds

en_minute

Minute

en_minutes

Minutes

en_hour.au

Hour

en_hours.au

Hours

en_cent.au

Cent

en_cents.au

Cents

en_dollar.au

Dollar

en_dollars.au

Dollars

Additional Miscellaneous Prompts

The Debit Card for Packet Telephony feature provides the following additional miscellaneous prompts:

Audio Filenaming Convention

If you record your own audio files, you must name them using the convention described in Table 17 for the TCL scripts to identify which audio file to use. The TCL scripts are designed to work with designated audio filenames.

For example, when the audio file for the caller to choose a language (en_lang_select.au) is played, ("Please press 1 for English, 2 for Mandarin."), if Mandarin is selected by the caller, then the TCL script calls the <ch> audio files to interact with the system.

Continuing with this example, when configuring the voice platform to process Mandarin audio files, use the call application voice command, with the language keyword and set-location argument. When specifying the set-location argument, you need to configure the correct <language> <ch> specifier to interact with the TCL script. Therefore, when naming your audio files, make sure you include the language identifier for each file.


Table 17: Audio Filenaming Convention
Audio Filename Description

en_one.au

Specifies the English language audio file for the number 1.

ch_one.au

Specifies the Mandarin language audio file for the number 1.

sp_one.au

Specifies the Spanish language audio file for the number 1.

Creating Audio Index Files

If you record your own audio files, you must also create an index file that contains a list of the audio files in URL format. An index file needs to be created for each audio file that needs to be downloaded from TFTP to memory. Use the ivr autoload command to download the audio files into Flash memory.

When creating your audio file index, remember that the filename and extension (au) are actually the URL of the file. Follow these recommendations:

Sample Index File

The following is a sample index file:

# tftp://jurai/tclware/au/en/auth_fail_final.au
# tftp://jurai/tclware/au/en/auth_fail_retry.au
 
# tftp://jurai/tclware/au/en/auth_fail_retry_number.au
# tftp://jurai/tclware/au/en/auth_failed.au
 
# tftp://jurai/tclware/au/en/ch_generic_final.au
# tftp://jurai/tclware/au/en/ch_lang_sel1.au

Debit Card for Packet Telephony Feature Prerequisite Tasks

Before you can configure your access server platform (Cisco AS5300, Cisco 3600, or other supported voice platform) with the Debit Card for Packet Telephony feature, perform the following tasks:

Configuring Debit Card for Packet Telephony

Configure Debit Card for Packet Telephony the same way you configure IVR because it uses the IVR infrastructure. To configure the Debit Card feature, you need to perform the following tasks:

To configure the Debit Card for Packet Telephony feature, use the following commands beginning in privileged EXEC mode:

Command Purpose

Step 1

Router# configure terminal

Enters global configuration mode.

Step2

Router(config)# call application voice 
application-name location

Define the name to be used for your application and indicates the location (URL) of the appropriate IVR script to be used with this application.

Step3

Router(config)# call application voice 
application-name language language

Defines the language of the audio file for the designated application and passes that information to the application.

Step4

Router(config)# call application voice 
application-name redirect-number number

Defines the telephone number to which a call will be redirected---for example, the operator telephone number of the service provider---for the designated application, and passes that information to the application.

Step5

Router(config)# call application voice 
application-name pin-length number

Defines the number of characters in the PIN for the designated application and passes that information to the application.

Step6

Router(config)# call application voice 
application-name retry-count number

Defines the number of times a caller is permitted to reenter the PIN for the designated application and passes that information to the application.

Step7

Router(config)# call application voice 
application-name uid-length number

Defines the number of characters in the UID for the designated application and passes that information to the application.

Step8

Router(config)# call application voice 
application-name warning-time seconds

Defines the number of seconds a user is warned before the allowed calling time will run out for the designated application and passes that information to the application.

Step9

Router(config)# call application voice 
application-name set-location language category 
location

Defines the location, language, and category of the audio files for the designated application and passes that information to the application.

Step10

Router(config)# aaa new-model

Enables AAA security and accounting services.

Step11

Router(config)# gw-accounting h323

or

Router(config)# gw-accounting syslog

or

Router(config)# gw-accounting vsa

Configures gateway-specific H.323 accounting. The h323 keyword configures standard H.323 accounting using standard IETF RADIUS attributes. The syslog keyword configures the system logging facility to output accounting information in the form of a system log message. The vsa keyword configures the VSA method of applying H.323 gateway-specific accounting.

Step12

Router(config)# aaa authentication login h323 radius

Defines a method list called h323 where RADIUS is defined as the only method of login authentication.

Step13

Router(config)# aaa accounting connection h323 
start-stop radius

Defines a method list called h323 where RADIUS is used to perform connection accounting, providing start-stop records.

Step14

Router(config)# radius-server host ip-address 
auth-port number acct-port number

Identifies the RADIUS server and the ports that will be used for authentication and accounting services.

Step15

Router(config)# radius-server key key

Specifies the password used between the gateway and the RADIUS server.

Step16

Router(config)# dial-peer voice number pots

Enters dial-peer configuration mode to configure the incoming POTS dial peer.


NoteThe number value of the dial-peer voice pots command is a tag that uniquely identifies the dial peer.

Step17

Router(config-dial-peer)# application 
application-name

Associates the IVR application with the incoming POTS dial peer.

Step18

Router(config-dial-peer)# destination-pattern 
[+]string T

Defines the telephone number associated with this dial peer.

Step19

Router(config-dial-peer)# port port-number

Defines the voice port associated with this dial peer.


NoteBecause Cisco security authenticates based on account number, RADIUS is required for the redialer fax application.


NoteRADIUS is turned on globally but is only used for services if it is so programmed.

Table 18 lists TCL script names and the corresponding parameters that are required for each TCL scripts.


Table18: TCL Scripts and Parameters
TCL Script Name Description---Summary Commands to Configure

clid_4digits_npw_3_cli.tcl

This script authenticates the account number and PIN respectively using ANI and null. The length of digits allowed for the account number and password are configurable through the CLI. If the authentication fails, it allows the caller to retry. The retry number is also configured through the CLI.

call application voice uid-len
min = 1, max = 20, default - 10

call application voice pin-len
min = 0, max - 10, default = 4

call application voice retry-count
min = 1, max = 5, default = 3

clid_authen_col_npw_cli.tcl

This script authenticates the account number and PIN respectively using ANI and null. If the authentication fails, it allows the caller to retry. The retry number is configured through the CLI. The account number and PIN are collected separately.

call application voice retry-count
min = 1, max = 5, default = 3

clid_authen_collect_cli.tcl

This script authenticates the account number and PIN using ANI and DNIS. If the authentication fails, it allows the caller to retry. The retry number is configured through the CLI. The account number and PIN are collected separately.

call application voice retry-count
min = 1, max = 5, default = 3

clid_col_npw_3_cli.tcl

This script authenticates using ANI and null for account and PIN respectively. If the authentication fails, it allows the caller to retry. The retry number is configured through the CLI.

call application voice retry-count
min = 1, max = 5, default = 3

clid_col_npw_npw_cli.tcl

This script authenticates using ANI and null for account and pin respectively. If authentication fails, it allows the caller to retry. The retry number is configured through the CLI. The account number and PIN are collected together.

call application voice retry-count
min = 1, max = 5, default = 3

Verifying the Debit Card Configuration

You can verify Debit Card for Packet Telephony configuration by performing the following tasks:

Debit Card Feature Configuration Example

The following example displays the configuration for the debit card feature; this output was creating by using the show running configuration command:

Router # show running configuration 
Building configuration...
 
Current configuration:
!
version 12.0
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
no service password-encryption
service internal
!
hostname Router name
!
no logging buffered
 
! AAA configuration
!--------------------------------------
aaa new-model
aaa authentication login h323 group radius
aaa authorization exec h323 group radius
aaa accounting connection h323 start-stop group radius
!------------------------------------
!
enable secret 5 $1$rLpz$DpgRh8qfaDqCPteN4/KXD0
enable password xxx
!
username Router password 0 xyxyxy
username s
!         
!
resource-pool disable
!
!
!
!
!
!
ip subnet-zero
no ip domain-lookup
 
!  TFTP address configuration
!----------------------------------
ip host keyer 223.255.254.254
 
 
! prepaid application creation
!-----------------------------------
call application voice prepaid tftp://keyer/debitcard.tcl
 
! passing parameters to prepaid application
!----------------------------------
call application voice prepaid uid-len 4
call application voice prepaid language 1 en
call application voice prepaid language 2 ch
call application voice prepaid set-location en 0 tftp://keyer/
 
mta receive maximum-recipients 1024
!
dial-control-mib max-size 300
!
controller T1 0
 shutdown
 framing esf
 linecode b8zs
 cablelength short 133
!
controller T1 1
 shutdown
 framing esf
 linecode b8zs
 cablelength short 133
!
controller T1 2
 framing esf
 clock source line primary
 linecode b8zs
 cablelength short 133
 pri-group timeslots 1-24
!
controller T1 3
 framing esf
 clock source line secondary 1
 linecode b8zs
 cablelength short 133
 pri-group timeslots 1-24
!
!
voice-port 2:D
 timeouts call-disconnect 0
!
voice-port 3:D
 timeouts call-disconnect 0
 
! configuring voip gw accounting
!-------------------------------
gw-accounting h323 vsa
 
! associating application to dial-peer
!------------------------------------
dial-peer voice 30001 pots
 application prepaid
 destination-pattern 300..
 port 2:D
 prefix 300
!
dial-peer voice 40001 pots
 destination-pattern 400..
 direct-inward-dial
 port 3:D
 prefix 400
!
dial-peer voice 50001 voip
 destination-pattern 500..
 session target ipv4:147.14.25.1
!
dial-peer voice 60001 voip
 destination-pattern 600..
 session target ipv4:147.14.25.1
!
process-max-time 200
!
interface Ethernet0
 description ip address 132.132.1.2 255.255.255.0
 ip address 1.13.103.1 255.255.255.0
 no ip directed-broadcast
 no ip route-cache
 no ip mroute-cache
 load-interval 30
 no keepalive
 no cdp enable
!
interface Serial2:23
 description D-Channel - To Abacus
 no ip address
 no ip directed-broadcast
 isdn switch-type primary-5ess
 isdn protocol-emulate user
 isdn incoming-voice modem
 fair-queue 64 256 0
 no cdp enable
!
interface Serial3:23
 description D-Channel - To Abacus
 no ip address
 no ip directed-broadcast
 isdn switch-type primary-5ess
 isdn protocol-emulate user
 isdn incoming-voice modem
 fair-queue 64 256 0
 no cdp enable
!
interface FastEthernet0
 ip address 147.14.25.100 255.255.0.0
 no ip directed-broadcast
 no ip route-cache
 no ip mroute-cache
 duplex full
 no cdp enable
 hold-queue 2048 in
!
interface Async1
 ip address 2.2.2.1 255.255.255.0
 no ip directed-broadcast
 encapsulation ppp
 shutdown
 async mode dedicated
 ppp authentication chap
 hold-queue 10 in
!
interface Group-Async1
 physical-layer async
 ip unnumbered Serial2:22
 no ip directed-broadcast
 encapsulation ppp
 no ip mroute-cache
 dialer in-band
 dialer idle-timeout 200000
 async default routing
 async mode interactive
 no peer default ip address
 no fair-queue
 no cdp enable
 hold-queue 10 in
!
router igrp 200
 network 1.0.0.0
 network 133.133.0.0
!
router igrp 300
 network 132.132.0.0
 network 133.133.0.0
 network 147.14.0.0
!
no ip http server
no ip classless
!
ip route 1.13.80.100 255.255.255.255 1.13.0.1
ip route 223.255.254.254 255.255.255.255 Ethernet0
!
!
logging history size 500
 
! configuring radius parameters
!----------------------------------------
radius-server host 1.13.80.100 auth-port 1812 acct-port 1813
radius-server key cisco
radius-server vsa send accounting
radius-server vsa send authentication
 
!
line con 0
 exec-timeout 0 0
 transport input none
line aux 0
line vty 0 4
 exec-timeout 0 0
 password lab
 
! configuring the NTP 
!------------------------------
ntp master 15
 
!
end
!
 

hometocprevnextglossaryfeedbacksearchhelp
Posted: Wed Jul 26 23:44:55 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.