Table Of Contents
Prepaid Distributed Calling Card via Packet Telephony
Related Features and Technologies
Configuring the Inbound POTS Dial Peer
Verifying the Debit Card Configuration
Debit Card Feature Configuration Example
call application voice application_name location
call application voice app_name param-name param-value
call application voice app-name set-location
Prepaid Distributed Calling Card via Packet Telephony
Feature History
This feature is also known as "Debit Card for Packet Telephony on Cisco Access Platforms."
The Debit Card feature gives service providers the ability to offer calling service with the use of debit accounting. This f eature was first introduced in Cisco IOS Release 12.0(4)XH. The following enhancements have been added to Cisco IOS Release 12.0(7)T:
•Support for the Spanish language
•New TCL scripts and script modifications
•Two new commands:
This document includes the following sections:
•Related Features and Technologies
Feature Overview
The Debit Card for Packet Telephony on Cisco Access Platforms is an application supported by the Cisco Interactive Voice Response (IVR) feature. The IVR voice scripts have been modified to use Tool Command Language (TCL) scripts.
Note For a complete description of the IVR TCL feature, see "Configuring Interactive Voice Response for Cisco Access Platforms." on the Cisco CCO Web site.
http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/5300/cfios/cfselfea/0061ivr.htm
The feature components consist of IVR functionality in Cisco IOS software that work in conjunction with an integrated third-party billing system. The Debit Card 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 IOS software functions enable a carrier to authorize voice calls and debit individual user accounts in real time at the edges of a voice-over-IP network, without requiring external service nodes. This feature uses vendor specific attributes (VSAs) to communicate with the billing system.
A general, the Interactive Voice Response software infrastructure allows pre-recorded audio files to be combined dynamically to play the dollar amount of credit remaining, the time and date, and other information. The dynamic creation of the audio files (by combining prerecorded audio pieces) is limited to auidio files playing out dollar, time, and day information.
We recommend that you contact your Cisco marketing or sales representative to help determine which RADIUS server vendor best meets your needs. Also, refer to the marketing data sheet titled "Debit Card Application for Cisco Packet Telephony" that describes the Debit Card feature and provides a list of the specific features supported by RADIUS server vendors.
TCL Scripts
The Cisco Debit Card for Packet Telephony feature works in tandem with the Cisco Interactive Voice Response (IVR) feature modified with TCL scripts to provide voice prompts. These voice prompts are required to collect the necessary digits for accounting and settlement processes.
Before Cisco IOS Release 12.0(7)T and the introduction of IVR TCL scripts, IVR scripts were written in C programming language and compiled with the Cisco IOS software. This approaach tied the IVR application to the Cisco IOS software and also constrained releases of updated IVR scripts due to the Cisco IOS Release cycle.
Objects or commands written in C language that can be grouped together by the TCL script. When the script is activated by the incoming call, it activates the C codes in run-time mode and performs the work of these commands.
Note For additional information about the Interactive Voice Response application, see the IOS New Feature documentation "Configuring Interactive Voice Response for Cisco Access Platforms" at the following URL:
http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/5300/cfios/cfselfea/0061ivr.htm
The TCL scripts required for the Debit Card feature need to be downloaded from the Cisco CCO Software Center, located at the following URL:
http://www.cisco.com/cgi-bin/tablebuild.pl/tclware
•Cisco IOS Releases 12.0(7)T and 12.0XH1 are compatible with TCLware 1.0.x
•Cisco IOS Release 12.0(7)T is compatible with TCLware 1.1.x
TCL Script Summaries
The TCL IVR scripts that are supported by the Debit Card feature in Cisco IOS Release 12.0(7)T are described in summary as follows:
Two new TCL scripts have been developed for Cisco IOS Release 12.0(7)T:
•debitcard.tcl—Collects account ID and PIN with a single prompt.
•debitcard_acct_pin.tcl—Requests the account and PIN number with two separate prompts.
Debit Card Features
Note The feature functionality is dependent upon the working configuration of the designated RADIUS server. Different Debit Card features may be supported on different RADIUS servers that control the VSA attributes. It is the customer's responsibility to determine which RADIUS server vendor best meets the customer's needs.
New feature functionality includes:
•Rates a call according to the caller ID, PIN, and destination number.
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 is expected to keep track of the caller's credit information, and it communicates with other billing servers, if necessary, to maintain or furnish user credit information.
An enhancement was added to Cisco IOS Release 12.0(7)T to allow two separate prompts for requesting the caller account number and password.
•Plays the credit (dollar amount) remaining on a card in $$$$$$.$$ format.
The RADIUS server is expected to maintain the credit information and furnish it to the script at the time of authentication. The TCL script plays a prompt that announces the remaining credit to the caller as dollars and cents. This is achieved by prerecording the words `one', `two', and so on, and then combining these recordings to form the final prompt. The format and resolution is $$$$$$.$$. The design is flexible enough to play any amount up to a maximum of 999999.99. For example, "You have one-thousand, three-hundred forty-five dollars and seventeen cents" is played.
•Announces the time remaining credit on the card in hours and minutes (HH:MM).
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' to the caller. The time credit amount returned by the RADIUS server is expected to have taken into consideration the `rating' and time boundary overlaps. The prompt played to the caller is, for example, "You have five hours and thirty-five minutes." The design is flexible enough to play any amount of time up to a maximum time specified in the script.
If the time credit remaining is less than the configurable "time-out" value, the prompt played for example, "You only have two minutes remaining on your credit."
•Plays a `time-running-out' message based on the configurable time-out value.
The RADIUS server maintains and furnishes time credit information during the authorization. The 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 three minutes, the prompt, "You only have three minutes remaining on your credit" is played.
•Plays a warning `time-has-run-out' message when the credit runs out.
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.'
•Makes more than one successive call to different destinations during a single call session.
This 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 one to two seconds. If the # key is pressed down for more than one 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.
•Reauthorizes each new call.
Every time a caller enters a new destination number, the TCL script reauthorizes the call with the RADIUS server and obtains the remaining time and credit balance information. The TCL script then announces the amount of time remaining to the calling party.
•Allows type-ahead keypad entries without waiting for the prompt to complete.
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.
•Allows the caller to skip past announcements by pressing a touch-tone key.
This TCL script stops playing announcements when the system determines that the caller has pressed any touch tone key.
•Allows retry when entering data (user-ID/PIN/destination number) by using a special key.
–The caller is allowed to interrupt partially entered numbers and restart from the beginning by pressing asterisk (*) key on the keypad. The asterisk key is configured in the 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.
•Terminates a field by size rather than using terminating character (#).
The TCL script can be used to specify a number of digits in the user ID and PIN fields. This means that the caller can type 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 pound key), the terminating character takes precedence and the fields are extracted accordingly.
•Supports two languages.
The language is selected when the caller presses a predefined key. For example, `For English press one. For Mandarin press two.' The 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.
Support for the Spanish language is introduced with Cisco IOS Release 12.0(7)T.
The ivr autoload Cisco IOS command is used during configuration to determine which set of audio files to load when the gateway server boots up.
•Sends an off-net tone to the caller.
The RADIUS server is expected to maintain information regarding off-net calls. During authorization, it provides this information to the TCL script. Based on the collected information, the TCL script has the ability to generate a prerecorded message or tone to the calling party.
•Supports vendor specific attributes.
Cisco vendor specific attributes (VSAs), which before this release were overloaded into the Session ID field of the AAA application.
•Provides voice-quality information to the RADIUS server on a call-by-call basis.
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 up to the user application on the RADIUS server to use this information and give credit to the caller if the call has unsatisfactory voice quality.
•Uses prompt memory more efficiently.
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.
•Creates dynamic prompts by using prerecorded audio files.
A general infrastructure is provided 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" "fifteen" "dollars" "and" "fifty" "cents" to make up this message.
•Allows retries for RADIUS server failures, with the maximum number retries allowed determined by the RADIUS server.
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.
•Determines how many languages are configured and only plays the language selection menu if needed.
VSA Fields
VSAs are collected by the RADIUS server during the accounting process when AAA is configured with the Debit Card feature. (See "Configuring AAA" on page 22.) Data items are collected for each call leg created on the gateway. A call leg is the internal representation of a connection on the gateway. Each call made through the gateway consists of two call legs: incoming and outgoing. The call leg information emitted by the gateways can be correlated by the connection ID, which is the same for all call legs of a connection.
Use the H.323 VSA method of accounting when configuring the AAA application. (See the command "gw-accounting" on page 37.)
There are two modes:
•Overloaded Session-ID
Use the gw-accounting h323 syslog command to configure this mode.•VSA
Use the gw-accounting h323 vsa command to configure this mode.Overloaded Session-ID Fields
The voice specific accounting information is coded into the 'session-id' field of the RADIUS record. Each field is encoded as an ASCII string. The fields are separated by a /. For additional information about the overloaded session ID refer Service Provider Features for Voice over IP. (See "Related Documents" on page 19.) Table 1 shows the VSA fields and a brief description of each.
Table 1 VSA Attributes in Overloaded Session ID
Field Descriptionsession id
The standard RADIUS account session ID.
setup time
The Q.931 setup time for this connection in NTP format.
gateway id
The name of the underlying gateway in the form of
"gateway.domain_name".call origin
Origin of the call relative to the gateway. Possible values are originate and answer.
call type
Indicates call leg type. Possible values are telephony and VoIP.
connection id
A unique global identifier used to correlate call legs that belong to the same end-to end call. The field consists of 4 long words (128 bits). Each long word is displayed as a hexadecimal value and separated by a space character.
connect time
The Q.931 connect time for this call leg, in NTP format.
disconnect time
The Q.931 disconnect time for this call leg, in NTP format.
disconnect cause
Documented in the Q.931 specification. Can be in the range of 1 to 160.
remote IP address1
Address of the remote gateway port where the call is connected.
1 Support for the remote IP address field was introduced with Cisco IOS Release 11.3(7)NA.
VSA Fields
The voice specific accounting information is coded as separate VSAs. Each attribute is encoded as 'Cisco-AV-pair' which has the format attribute = value. The value is encoded as an ASCII string.
The VSA fields and their ASCII values listed in Table 2.
Debit Card Call Flow
A high-level call flow sequence is displayed in Figure 1 through Figure 5 "Debit Card Call Sequence". The actual call flow varies, depending on the parameters passed to the application and also on the features that are available on the RADIUS server billing system that is being used.
The call sequence flow charts below graphically depict the different states in the Debit Card application. The different states are represented by the double bars in the boxes and show the flow from one state to the next.
Figure 1
Debit Card Call Sequence
Figure 2
Figure 3
Figure 4 h
Figure 5
Audio File Prompts
Cisco provides a set of professionally recorded English (U.S.) and Mandarin audio prompts to allow easier immediate integration and use of the Debit Card feature. The prompts are stored on the 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 zipped 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 fetches 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. (See Audio File Naming Convention.) 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. Not all of the audio file sets are used by Cisco IOS Release 12.0(7)T. Some are reserved for future use.
Support for the Spanish language is added to Cisco IOS Release 12.0(7)T. A similar set of professionally recorded audio files is available on CCO. The audio files provided are listed in Table 3 and Table 4.
Additional Miscellaneous Prompts:
•en_welcome.au
"Welcome to Cisco Debit Card Demo".
•en_lang_select.au
"Please press 1 for English, 2 for Mandarin."
•en_wrong_lang_sel.au
"You have made an invalid selection. Please press 1 for English or press 2 for Mandarin."
•en_no_lang_sel.au
"You did not select any language. Press 1 for English or press 2 for Mandarin."
•en_final.au
"We are having difficulties connecting your call. Please try again later."
•en_generic_final.au
"Please hang up and try again."
•en_enter_card_num.au
"Please enter card number followed by pound."
•en_invalid_digits.au
"You have entered an invalid number of digits. Please re-enter your card number followed by pound."
•en_auth_fail.au
"You have entered an invalid card number. Please re-enter your card number followed by pound."
•en_no_card_entered.au
"You did not enter any digits. Please enter card number followed by pound."
•en_technical_problem.au
"We are having technical difficulties. Please call back later."
•en_zero_bal.au
"You have zero balance. Please call the operator or hang up."
•en_enter_dest.au
"Please enter destination number."
•en_disconnect.au
"Your call will be disconnected."
•en_disconnected.au
"You have been disconnected."
•en_dest_collect_fail.au
"Sorry, the number you have dialed is blocked. If you feel you have reached a number in error, please call the customer service number."
•en_invalid_amt.au
"You have more than one million."
•en_dest_busy.au
"The party you called is busy, please enter a new number or hang up and try again later."
•en_enter_acct.au
"Please enter your account number followed by the pound key."
•en_no_acct_entered.au
"We did not get any input, please enter your account number followed by the pound key."
•en_invalid_digits_acct.au
"You have entered an invalid number of digits. Please enter your account number followed by the pound key."
•en_invalid_account.au
"You have entered an invalid account number. Please enter your account number followed by the pound key."
•en_enter_pin.au
"Please enter your PIN number followed by the pound key."
•en_no_pin_entered.au
"We did not get any input, please enter your pin number followed by the pound key."
•en_invalid_digits_pin.au
"You have entered an invalid number of digits. Please enter your PIN number followed by the pound key."
•en_invalid_pin.au
"You have entered an invalid PIN. Please enter your pin number followed by the pound key."
•en_card_expired.au
"We are sorry, your card has expired."
•en_account_blocked.au
"This account is currently in use."
•en_no_dest_entered.au
"We did not get any input. Please enter the destination number you are calling."
•en_invalid_digits_pin.au
"You have entered an invalid number of digits. Please enter your PIN number followed by the pound key."
•en_invalid_pin.au
"You have entered an invalid PIN. Please enter your PIN number followedby the pound key."
•en_card_expired.au
"We are sorry, your card has expired."
•en_account_blocked.au
"This account is currently in use."
•en_no_dest_entered.au
"We did not get any input. Please enter the destination number you are calling."
•en_no_dialpeer_match.au
"You have entered an invalid destination. Please re-enter the destination number you are calling."
•en_connect_cust_ser.au
"You will be connected to Customer Service."
•en_dial_cust_ser.au
"Please hang up and dial the calling card customer service number."
•en_no_service.au
"We are sorry, this service is not avaliable."
•en_dest_unreachable.au
"We are sorry, the destination you have called is unreachable."
•en_toll_free.au
"You can only make toll-free calls."
Audio File Naming Convention
If you record your own audio files, you must name them using the convention described in Table 4 for the TCL scripts to identify which audio file to use. The TCL scripts are designed to work with designated audio file names.
For example, when the Debit Card audio file for the caller to choose a language (en_lang_select.au) is played, ("Please press # 1 for English and # 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 and set-location key words. When specifying the set-location parameter, the correct <language> <ch> specifier needs to be configured to interact with the TCL script. Therefore, when naming your audio files, make sure you include the language identifier for each file.
Note See "Command Reference" on page 29 and the command "call application voice application_name location".
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. See"Command Reference" on page 29 for additional command description and instructions for downloading using the index parameter.
When creating your audio file index, keep in mind that the filename and extension (au) are is actually the file's URL. Follow these recommendations:
•Each line should list only one file location (URL)
•Comment lines start with #
•Locations listed in the index file should match the locations used by the application (see the call application voice set-location command)
•Extra white spaces at the beginning and end of the line are ignored
•No white spaces are allowed within the URL
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.auBenefits
•The Cisco Debit Card application makes deployment of a prepaid calling card economically feasible in a network that includes a small point of presence (POP).
•The addition of TCL, which is a programmable scripting language, allows the separation of the Cisco IOS software and the IVR feature software. This allows quicker turnaround for additional TCL scripts and a vast reduction in memory requirements.
Restrictions
The maximum call length is 18 hours. When a caller uses the Debit Card application, a call is disconnected after 18 hours, even if the caller has a dollar amount balance remaining. This limitation is due to the timing implementation in the software.
Related Features and Technologies
•"Service Provider Features for Voice over IP"
•"Interactive Voice Response for Cisco Access Platforms"
•"Named Method Lists for AAA Authorization, Authentication and Accounting"
Related Documents
For related information on this feature, see the following documents:
•Service Provider Features for Voice over IP (introduced in Cisco IOS Release 12.0(3)T)
•Interactive Voice Response Feature for Cisco Access Platforms (introduced in Cisco IOS Release 12.0(7)T)
•Voice over IP for the Cisco AS5300
•Configuring Voice over IP for the Cisco 2600 and Cisco 3600 Series Routers
Supported Platforms
This feature is supported on the following platforms:
•Cisco 2600 series routers
•Cisco 3600 series routers
•Cisco AS5300 universal access server
•Cisco AS5350 universal gateway
•Cisco AS5400 universal gateway
Supported MIBs and RFCs
Standards
This feature adds support for the following ITU-T standards: H.323 Annex E and H.323 Annex G.
MIBs
No new or modified MIBs are supported by this feature.
To obtain lists of MIBs supported by platform and Cisco IOS release and to download MIB modules, go to the Cisco MIB web site on Cisco Connection Online (CCO) at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
RFCs
The RADIUS RFC is already implemented in the Cisco IOS software. Extensions have been added that are compliant with the following IETF RFCs:
•2138
•2139
Prerequisites
The Cisco AS5350 and Cisco AS5400 do not support the Mica Modem Card, Microcom Modem Card, or VoIP Feature Card. Voice and modem functions are provided by the Universal Port Dial Feature card running SPE firmware. See the Cisco AS5350 Universal Gateway Card Installation Guide and the Cisco AS5400 Universal Gateway Card Installation Guide for more information. All references to the Cisco AS5300 in this document apply to the Cisco AS5350 and Cisco AS5400 platforms with the following exceptions:
•Use the Universal Port Dial Feature Card instead of the Mica or Microcom modem cards.
•Use SPE firmware instead of portware version 6.7.7.
•Run Cisco IOS Release 12.1(5)XM2 software for VoIP functionality.
Other Prerequisites
Before you can configure your access server platform (Cisco AS5300, Cisco 3600, or other supported voice platform) with the Debit Card feature, complete the following activities:
•Ensure that your access platform has a minimum of 16 MB Flash memory and 64 MB DRAM memory.
•Establish a working IP network. For more information about configuring IP, refer to the "IP Overview," "Configuring IP Addressing," and "Configuring IP Services" chapters in the Cisco IOS Release 12.0 Network Protocols Configuration Guide, Part 1.
•Configure Voice-over-IP. For more information about configuring Voice-over-IP, refer to the Voice over IP Software Configuration Guide for the appropriate access platform.
•Configure a TFTP server to perform storage and retrieval of the audio files which are required by the Debit Card gateway.
•Program and configure the interface between the RADIUS billing server and the Cisco gateway to operate with VSAs.
•Ensure the correct software is loaded on the platform that supports the gateway feature and supporting software applications. Cisco IOS Release 12.0(7)T or higher, and VCWare version 4.0.2 is required on the Cisco AS5300 universal access server.
•Download the TCL scripts required for the Debit Card feature, located at the following URL:
http://www.cisco.com/cgi-bin/tablebuild.pl/tclware
–Cisco IOS Releases 12.0(7)T and 12.0XH1 are compatible with TCLware 1.0.x
–Cisco IOS Release 12.0(7)T is compatible with TCLware 1.1.x
Configuration Tasks
Before starting the software configuration tasks for the Debit Card feature, complete the following preinstallation tasks:
•Download the TCL Scripts and audio files to be used with the Debit Card feature from the CCO Software Support Center.
•Store the TCL scripts and audio files on a TFTP server configured to interact with your gateway access server.
Note If you have recorded your own audio files, make sure your files follow the correct naming convention (see "Audio File Naming Convention") and your audio file index meets the format requirements (see Creating Audio Index Files).
•Create an application to interact with the TCL scripts.
Use the call application voice app_name set-location command to create the application. Enter any name that is significant to how you use the feature and then enter the location where the TCL scripts are located. (See the "call application voice application_name location" section.
•Pass the parameters to the application that you created using the call application voice command and the keywords {language | redirect-number | pin-length | retry-count | set-location | uid-lenth | warning-time}. See "call application voice application_name location" section.
Note When configuring the language priority using the call application voice language command, keep in mind that the software is hardcoded for configuring the digit 1 to represent the primary language, and the digit 2 to represent the secondary language.
When these tasks have been completed, you can begin the software configuration to configure the Cisco platform to perform Debit Card Calling services.
•Associate the call application you created to a dial-peer by configuring the inbound POTS dial peer. (See Configuring the Inbound POTS Dial Peer.)
•Enable VoIP gateway accounting by configuring AAA in the inbound dial peer. (See Configuring AAA.)
Note When configuring a voice port, use the following configuration designations:
For the Cisco AS5300 access server, port designation is port.
For the Cisco AS5350 and Cisco AS5400 gateway, port designation is slot/port.
For the Cisco AS5800 access server, port designation is shelf/slot/port.
Configuring the Inbound POTS Dial Peer
To configure the inbound POTS dial peer, use the following commands:
Configuring AAA
The Cisco IOS software AAA accounting user interface can be configured to use the H.323 method as follows:
The authentication command line creates a method list named H.323 with RADIUS being its only member.
Also note that the accounting command line looks like a regular RADIUS accounting command line for connection accounting. Connection accounting has to be globally enabled using this command line. Start-stop or stop only methods may be used.
Note When using the Debit Card Cisco IOS feature you must use the H.323 VSA method of accounting.
Tips
•Because Cisco security authenticates based on account number, RADIUS is required for the redialer fax application.
•RADIUS is turned on globally, but is only used for services if it is so programmed. Fax hop-on does use it, and a regular session application does not.
Verifying the Debit Card Configuration
Execute the show call application voice summary command to verify that the newly created application is listed.
Router #show call app voice summname descriptionsession Basic app to do DID, or supply dialtone.fax_hop_on Script to talk to a fax redialerclid_authen Authenticate with (ani, dnis)clid_authen_collect Authenticate with (ani, dnis), collect if that failsclid_authen_npw Authenticate with (ani, NULL)clid_authen_col_npw Authenticate with (ani, NULL), collect if that failsclid_col_npw_3 Authenticate with (ani, NULL), and 3 tries collectingclid_col_npw_npw Authenticate with (ani, NULL) and 3 tries without pwprepaid tftp://keyer/debitcard.tclRouter #Next, execute the show dial-peer voice <peer tag> command and verify that the application associated with the dial-peer is correct.Router #show dial-peer voice 30001VoiceEncapPeer30001information type = voice,tag = 30001, destination-pattern = `300..',answer-address = `', preference=0,group = 30001, Admin state is up, Operation state is up,incoming called-number = `', connections/maximum = 0/unlimited,application associated:prepaidtype = pots, prefix = `300',session-target = `', voice-port = `2:D',direct-inward-dial = disabled,register E.164 number with GK = TRUEConnect Time = 0, Charged Units = 0,Successful Calls = 0, Failed Calls = 20,Accepted Calls = 20, Refused Calls = 0,Last Disconnect Cause is "4F ",Last Disconnect Text is "service not implemented",Last Setup Time = 24591Router #Configuration Examples
Debit Card Feature Configuration Example
Router # show running configurationBuilding configuration...Current configuration:!version 12.0service timestamps debug datetime msec localtimeservice timestamps log datetime msec localtimeno service password-encryptionservice internal!hostname Router name!no logging buffered! AAA configuration!--------------------------------------aaa new-modelaaa authentication login h323 group radiusaaa authorization exec h323 group radiusaaa accounting connection h323 start-stop group radius!------------------------------------!enable secret 5 $1$rLpz$DpgRh8qfaDqCPteN4/KXD0enable password xxx!username Router password 0 xyxyxyusername s!!resource-pool disable!!!!!!ip subnet-zerono 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 4call application voice prepaid language 1 encall application voice prepaid language 2 chcall application voice prepaid set-location en 0 tftp://keyer/mta receive maximum-recipients 1024!dial-control-mib max-size 300!controller T1 0shutdownframing esflinecode b8zscablelength short 133!controller T1 1shutdownframing esflinecode b8zscablelength short 133!controller T1 2framing esfclock source line primarylinecode b8zscablelength short 133pri-group timeslots 1-24!controller T1 3framing esfclock source line secondary 1linecode b8zscablelength short 133pri-group timeslots 1-24!!voice-port 2:Dtimeouts call-disconnect 0!voice-port 3:Dtimeouts call-disconnect 0! configuring voip gw accounting!-------------------------------gw-accounting h323 vsa! associating application to dial-peer!------------------------------------dial-peer voice 30001 potsapplication prepaiddestination-pattern 300..port 2:Dprefix 300!dial-peer voice 40001 potsdestination-pattern 400..direct-inward-dialport 3:Dprefix 400!dial-peer voice 50001 voipdestination-pattern 500..session target ipv4:147.14.25.1!dial-peer voice 60001 voipdestination-pattern 600..session target ipv4:147.14.25.1!process-max-time 200!interface Ethernet0description ip address 132.132.1.2 255.255.255.0ip address 1.13.103.1 255.255.255.0no ip directed-broadcastno ip route-cacheno ip mroute-cacheload-interval 30no keepaliveno cdp enable!interface Serial2:23description D-Channel - To Abacusno ip addressno ip directed-broadcastisdn switch-type primary-5essisdn protocol-emulate userisdn incoming-voice modemfair-queue 64 256 0no cdp enable!interface Serial3:23description D-Channel - To Abacusno ip addressno ip directed-broadcastisdn switch-type primary-5essisdn protocol-emulate userisdn incoming-voice modemfair-queue 64 256 0no cdp enable!interface FastEthernet0ip address 147.14.25.100 255.255.0.0no ip directed-broadcastno ip route-cacheno ip mroute-cacheduplex fullno cdp enablehold-queue 2048 in!interface Async1ip address 2.2.2.1 255.255.255.0no ip directed-broadcastencapsulation pppshutdownasync mode dedicatedppp authentication chaphold-queue 10 in!interface Group-Async1physical-layer asyncip unnumbered Serial2:22no ip directed-broadcastencapsulation pppno ip mroute-cachedialer in-banddialer idle-timeout 200000async default routingasync mode interactiveno peer default ip addressno fair-queueno cdp enablehold-queue 10 in!router igrp 200network 1.0.0.0network 133.133.0.0!router igrp 300network 132.132.0.0network 133.133.0.0network 147.14.0.0!no ip http serverno ip classless!ip route 1.13.80.100 255.255.255.255 1.13.0.1ip 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 1813radius-server key ciscoradius-server vsa send accountingradius-server vsa send authentication!line con 0exec-timeout 0 0transport input noneline aux 0line vty 0 4exec-timeout 0 0password lab! configuring the NTP!------------------------------ntp master 15!end!Router #Command Reference
This section documents the following new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.1 command reference publications. The commands preceded with an asterisk first appeared in Cisco IOS Release 12.0(3)T.
•call application voice application_name location
•call application voice app_name param-name param-value
•call application voice app-name set-location
•* ivr autoload
call application voice application_name location
To create an application and to indicate the location where the corresponding TCL files, that implement this application are located, use the call application voice application_name location command.
call application voice app_name location
Syntax Description
application_name
A short string of characters that is the application name.
location
The location of the TCL file in URL format. Valid storage locations are TFTP, FTP, and Flash.
Defaults
No default behavior or values.
Command Modes
Global configuration.
Command History
Release Modification12.0(7)T
This command was introduced.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Usage Guidelines
This command is used with the Debit Card feature.
Examples
call application voice prepaid tftp://keyer/debitcard.tclRelated Commands
call application voice app_name param-name param-value
To pass parameters to the application created, use the call application voice application_ name parameter-name parameter-value command . This command is used in conjunction with the Debit Card TCL/IVR application and the audio files.
call application voice {application_name} {language | redirect-number | pin-length | retry-count | set-location | uid-lenth | warning-time }
Example Syntax
call application voice <.tcl script name> language 1 en
OR
call application voice <.tcl script name> set-location en 1 tftp://keyer/debit audio/
See also "" on page 33
Syntax Description
application name
The name of the application to which the parameters are being passed.
param-name
Name of the parameter that is being passed.
param-value
Value of the parameter that is being passed.
The parameters used with this command are described in Table 6.
Defaults
No default behavior or values. The system will not call an IVR application with the dial-peer.
Each variable must be defined for system interaction with the voice prompts.
Command Modes
Dial-peer configuration mode.
Command History
Release Modification12.0(7)T
This command was introduced.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Usage Guidelines
This command is used with the Debit Card feature.
Tips for use:
•no call application voice app_name removes the entire application and other parameters if configured.
•Adding no for any other line removes that particular parameter.
•no call application voice app_name pin-len will set the pin-length parameter to its default.
•The name of the application should be added to the dial-peer.
Examples
Examples of syntax entered:
•The URL for (category 2, English language) audio files:
call application voice debitcard set-location en 2tftp://keyer/faryaman/debitcard•The URL for (all categories, all languages) audio files:
call application voice debitcard set-location aa 0tftp://keyer/debitaudio/Refer to Table 7 for the TCL script name and ensure that you have configured the corresponding parameters that are required for each TCL (those with CLI input) script to work.
•Example of sequence of commands entered during configuration:
Router(config) #call application voice prepaid tftp://keyer/debitcard.tclRouter(config) #call application voice prepaid uid-len 4Router(config) #call application voice prepaid language 1 enRouter(config) #call application voice prepaid language 2 spRouter(config) #call application voice prepaid set-location en 0 tftp://keyer/Router(config) #call application voice prepaid pin-len 4Router(config) #call application voice prepaid retry-count 3Router(config) #call application voice prepaid uid-len 10Related Commands
call application voice app-name set-location
To indicate where the audio files are stored, use the call application voice set-location command. The file location needs to be the same as the location of the files that are linked to the category and language selection audio files used during configuration. This command is used by the Debit Card feature along with TCL scripts and audio files.
call application voice app-name set-location language category location
Syntax Description
Defaults
No default behavior or values.
Command Modes
Global configuration mode
Command History
Release Modification12.0(7)T
This command was introduced.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Examples
call application voice debitcard set-location en 1 tftp://keyer/debitaudio/Related Commands
gw-accounting
To enable gateway specific accounting, use the gw-accounting command. There are three different methods of accounting. The H.323 method sends the CDR to the RADIUS server. The syslog method uses the system logging facility to record the CDRs. The VSA method collects VSA attributes. Use the no form of this command to disable gateway specific accounting.
gw-accounting h323 [vsa] | syslog
no gw-accounting h323 [vsa] | syslog
Syntax Description
h323
H.323 method uses RADIUS to output accounting CDRs.
vsa
(Optional) Vendor Specific Attributes are included in the RADIUS accounting. All the attributes that were included previously in the overloaded session ID are shown when this field is entered. See "VSA Attributes in Overloaded Session ID" in Table 1.
syslog
(Optional) Syslog uses the system logging facility to output CDRs.
Note When using the Debit Card Cisco IOS feature you must use the H.323 VSA method of accounting.
Defaults
Disable gateway specific accounting.
Command Modes
Global configuration
Command History
Release Modification11.3(6)NA2
This command was introduced.
12.0(7)T
The vsa field was added to this command.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Usage Guidelines
•This command is used when configuring the AAA accounting application.
•This command line defines a method for doing the accounting and enables the gateway to do the accounting. There are two accounting methods defined.
•Both h.323 and syslog can be enabled at the same time, which causes CDRs to be generated in both methods.
Related Commands
None.
ivr autoload
To load files from TFTP to memory, use the ivr autoload [mode verbose | silent] [retry <num>] url <index> command. To disable this function, use the no form of this command.
ivr autoload [mode verbose | silent] retry number url index
no ivr autoload [mode verbose | silent] retry number url index
Syntax Description
Defaults
See the defaults for individual parameters in Syntax Description.
Command Modes
Global configuration
Command History
Release Modification12.0(7)T
This command was introduced.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Usage Guidelines
An index file is provided as a parameter to this command. This file contains a list of audio files (URL) to be down loaded from TFTP. These audio files (prompts) that are loaded using ivr autoload command are not dynamically swapped out of memory. They are considered as autoloaded prompts as opposed to 'dynamic' prompts. (see the ivr prompt memory command for details on dynamic prompts.)
Issuing the ivr autoload command initiates the process of down-loading files from TFTP to memory. The command only starts up a back-ground process. The back-ground process (loader) does the actual down-loading of the files.
The back-ground process first reads the index file from either Flash or TFTP. It parses the files line by line looking for the URL. It ignores lines which starts with # as comment lines. Once it has a correct URL, it tries to read that .au file into memory and creates a media object. If there are any errors during the reading of the file, it retries the configured number of times. If mode is set to 'verbose' the loader logs the transaction to console. Once parsing has reached the end of the index file, the back-ground process exits out of memory.
Perform the following checks before initiating the back-ground process. If one of the checks fail, it indicates the back-ground process is not started, and instead you will see an error response to the command.
•Check if any prompt is being actively used (IVR is actively playing some prompts). If there are active prompts, the command fails with following error (.au files are also referred to as prompts).
command is not allowed when prompts are active
•Check if there is already a back-ground process in progress. If there a process, command fails with following error.
previous autoload command is still in progress
•Check if there is already a earlier ivr autoload command. If there is already an ivr autoload command configured,the user sees the following response when the command is issued.
previous command is being replaced
•When the no ivr autoload command is issued, if there was already an ivr autoload command in progress, it will be aborted.
Examples
ivr autoload mode verbose retry 3 url tftp://jurai/mgindi/tclware/index4The index file for this example index4 is shown as:
Router # more index4tftp://jurai/mgindi/tclware/au/en/en_one.au#tftp://jurai/mgindi/tclware/au/ch/ch_one.autftp://jurai/mgindi/tclware/au/ch/ch_one.auRelated Commands
Command Descriptionivr prompt memory
Configures the maximum amount of memory you wish to allow the dynamic audio files (prompts) to occupy in memory
ivr prompt memory
To configure the maximum amount of memory you wish to allow the dynamic audio files (prompts) to occupy in memory, use the ivr prompt memory size files num Global configuration command. Use the no form of this command to disable the maximum memory size.
ivr prompt memory size files num
no ivr prompt memory size files num
Syntax Description
Defaults
See individual parameter defaults in Syntax Description
Command Modes
Global configuration
Command History
Release Modification12.0(7)T
This command was introduced.
12.1(5)XM2
The command was introduced for the Cisco AS5350 and CiscoAS5400.
Usage Guidelines
When both the number and size parameters are specified, the minimum memory out of the two will be used for memory calculations.
All the prompts which are not autoloaded or fixed are considered as dynamic. Dynamic prompts are loaded in to memory from TFTP or Flash, as and when they are needed. When they are actively used for playing prompts they are considered to be in 'active' state. However, once the prompt playing is complete, these prompts are no more active and are considered to be in 'free' state.
The free prompts either stay in memory or removed out of memory depending on the availability of space in memory for these free prompts. The prompt-mem command essentially specifies a maximum memory to be used for these free prompts.
The free prompts are saved in the memory and are queued in a waitQ. When the waitQ is full (either because the totally memory occupied by the free prompts exceeds the max. configured value or the number of files in the waitQ exceeds max. configured), oldest free prompts are removed out of memory.
Examples
ivr prompt memory 2048 files 500Related Commands
Command Descriptionivr autoload
Loads the files from TFTP to memory.
show call prompt-mem-usage
Displays the memory size use by prompts.
Glossary
AAA—Authentication, Authorization, and Accounting.
CLI—Command Line Interface
DTMF—Dual tone multi frequency. Use of two simultaneous voice-band tones for dialing (such as touch tone).
IVR—Interactive Voice Response. The system plays a message to the calling party and may also collect information from the calling party in order to interact with the caller.
NTP—Network Time Protocol. NTP is a protocol built on top of TCP that assures accurate local time-keeping with reference to radio and atomic clocks located on the Internet. This protocol is capable of synchronizing distributed clocks within milliseconds over long time periods.
On-net—On-net calls are voice over IP calls processed on the IP network.
Off-net—Off-net calls are those that are circuit-switched calls, whether switched by the PSTN or a PBX.
POP—Point of Presence. The location where a call enters and exits the VoIP interexchange network from and to the PSTN.
PSTN—Public Switched Telephone Network.
TCL—Tool Command Language. TCL is an interpreted script language developed by Dr. John Ousterhout at the University of California, Berkeley, and now developed and maintained by Sun Microsystems Laboratories.
VoIP—Voice over IP
VSA—Vendor Specific Attributes.