|
|
The Cisco voice Service Provider features include enhancements made to the functionality and configuration of both the gateway and the Voice over IP (VoIP) gatekeeper. The architecture of these features provides the Quality of Service (QoS), stability, and functionality necessary for carrier class, real-time IP communications services.
This document contains a basic description of the H.323 VoIP gateway in addition to features required to implement the applications to run VoIP in a service provider environment. The features address the service provider needs to offer security, billing, scaling, and reliability.
The VoIP gateway is a high performance H.323-compliant gateway optimized for VoIP applications. Supporting up to two T1/E1 digital channels, it connects with existing telephones and fax machines through the Public Switched Telephone Network (PSTN), key systems, and PBXs, making the process of placing calls over the IP network transparent to users.
The gateway capability allows the access device to function as an H.323 endpoint. Therefore, the gateway provides admission control, address lookup and translation, and accounting services.
The gatekeeper manages H.323 endpoints in a consistent manner, allowing them to register with the gatekeeper and to locate another gatekeeper. The gatekeeper provides logic variables for proxies or gateways in a call path to provide connectivity with the PSTN, to improve QoS, and to enforce security policies. Multiple gatekeepers may be configured to communicate with one another, either by integrating their addressing into Domain Naming System (DNS), or via Cisco IOS configuration options.
This feature is supported on the following platforms:
This feature supports the CISCO-VOICE-DIAL-CONTROL-MIB and the SNMP MIBs. The CISCO-VOICE-DIAL-CONTROL-MIB supports the QoV and QoS of VoIP calls. The SNMP MIBs are available on CCO. Refer to the online support reference listed at the following location:
AAA---authentication, authorization, and accounting. AAA is a suite of network security services that provides the primary framework through which access control can be set up on your Cisco router or access server.
ANI---Automatic number identification.
ARQ---Admission request.
CAS---Channel associated signaling.
CCAPI---Call control applications programming interface.
CEI---European channelized time division multiplexing (TDM) with 32 channels of 64 kHz each.
CLI---Command line interface.
CO---Central office.
CPE---Customer premises equipment. Terminating equipment, such as terminals, telephones, and modems, supplied by the telephone company, installed at the customer sites, and connected to the telephone company network.
CSM---Call switching module.
dial peer---An addressable call endpoint. In Voice over IP (VoIP), there are two types of dial peers: POTS and VoIP.
DNS---Domain name system used to address translation to convert H.323 IDs, URLs, or e-mail IDs to IP addresses. DNS is also used to assist in the location of remote gatekeepers and to reverse-map raw IP addresses to host names of administrative domains.
DNIS---Dialed number identification service (the called number).
DSP---Digital signal processor.
DTMF---Dual tone multi-frequency.
E.164---The international public telecommunications numbering plan. A standard set by ITU-T that addresses telephone numbers.
E&M---Ear and mouth RBS signaling.
endpoint---An H.323 terminal or gateway. An endpoint can call and be called. It generates and/or terminates the information stream.
gatekeeper---A gatekeeper maintains a registry of devices in the multimedia network. The devices register with the gatekeeper at startup, and request admission to a call from the gatekeeper.
The gatekeeper is an H.323 entity on the LAN that provides address translation and control access to the LAN for H.323 terminals and gateways. The gatekeeper may provide other services to the H.323 terminals and gateways, such as bandwidth management and locating gateways.
gateway---A gateway allows H.323 terminals to communicate with non-H.323 terminals by converting protocols. A gateway is the point at which a circuit-switched call is encoded and repackaged into IP packets.
An H.323 gateway is an endpoint on the LAN that provides real-time, two-way communications between H.323 terminals on the LAN and other ITU-T terminals in the WAN, or to another H.323 gateway.
H.323---An International Telecommunication Union (ITU-T) standard that describes packet-based video, audio, and data conferencing. H.323 is an umbrella standard that describes the architecture of the conferencing system, and refers to a set of other standards (H.245, H.225.0, and Q.931) to describe its actual protocol.
H.323 RAS---Registration, admission, and status. The RAS signaling function performs registration, admissions, bandwidth changes, status and disengage procedures between the VoIP gateway and the gatekeeper.
HSRP---Hot Standby Routing Protocol. HSRP is a Cisco-proprietary protocol that provides a redundancy mechanism when more than one router is connected to the same segment/subnet of an Ethernet/FDDI/Token Ring network.
ITU-T---Telecommunication standardization sector of ITU.
IVR---Integrated voice response. When someone dials in, it responds with a prompt to get a personal identification number (PIN), and so on.
LEC---Local exchange carrier.
LRQ---Location request.
MCU---Multipoint control unit
MF---Multifrequency tones are made of six frequencies that provide 15 two frequency combinations for indication digits 0-9 and KP/ST signals.
multicast---A process of transmitting PDUs from one source to many destinations. The actual mechanism (that is, IP multicast, multi-unicast, and so forth) for this process might be different for LAN technologies.
multipoint-unicast---A process of transferring PDUs (Protocol Data Units) where an endpoint sends more than one copy of a media stream to different endpoints. This might be necessary in networks which do not support multicast.
node---An H.323 entity that uses RAS to communicate with the gatekeeper. For example, an endpoint such as a terminal, proxy, or gateway.
PDU---Protocol data units. Used by bridges to transfer connectivity information.
POTS---Plain old telephone service. Basic telephone service supplying standard single line telephones, telephone lines, and access to the PSTN.
PSTN---Public Switched Telephone Network. PSTN refers to the local telephone company.
QoS---Quality of service, which refers to the measure of service quality provided to the user.
RAS---Registration, Admission, and Status protocol. Protocol used between endpoints and the gatekeeper to perform management functions.
RBS---Robbed bit signaling.
RRQ---Registration request.
SPI---Service provider interface.
TCL---Tool command language.
TDM---Time division multiplexing. Technique in which information from multiple channels can be allocated bandwidth on a single wire based on preassigned time slots. Bandwidth is allocated to each channel regardless of whether the station has data to transmit.
VoIP---Voice over IP. The ability to carry normal telephone-style voice over an IP-based internet with POTS-like functionality, reliability, and voice quality. VoIP is a blanket term which generally refers to Cisco's standards based (for example, H.323) approach to IP voice traffic.
VTSP---Voice telephony service provider.
zone---A collection of all terminals (tx), gateways (GW), and Multipoint Control Units (MCU) managed by a single gatekeeper (GK). A zone includes at least one terminal, and can include gateways or multipoint control units (MCUs). A zone has only one gatekeeper. A zone may be independent of LAN topology and can be comprised of multiple LAN segments which are connected using routes or other devices.
This section provides an overview of how gatekeepers and gateways work together.
Understanding the interrelationship between gatekeepers and gateways is needed when you perform the tasks involved with the software configuration for internetworking between the two. The functionality of the major voice network components is described below.
Gatekeepers are optional nodes that manage other nodes in an H.323 network. Other nodes communicate with the gatekeeper using the RAS protocol.
These nodes attempt to register with a gatekeeper on startup. When they wish to communicate with another endpoint, they request admission to the call, using a symbolic alias for the endpoint name such as an E.164 address or an e-mail ID. If the gatekeeper decides the call can proceed, it returns a destination IP address to the originating endpoint. This IP address cannot be the actual address of the target endpoint, and it can be an intermediate address. Finally, a gatekeeper and its registered endpoints exchange status information.
H.323 endpoints are grouped together in zones. Each zone has one gatekeeper that manages all of the endpoints in the zone. A zone is an administrative convenience similar to a DNS domain. (Because a zone is, by definition, the area of control of a gatekeeper, you will find the terms "zone name" and "gatekeeper name" used synonymously in this document.)
An H.323 terminal is an endpoint in the LAN that provides for real-time, two-way communications with another H.323 terminal or gateway. This communication consists of control, indications, audio, moving color video pictures, or data between the two terminals. A terminal may provide audio only; audio and data; audio and video; or audio, data, and video.
Gateways allow H.323 terminals and routers to communicate with terminals running other protocols. They provide protocol conversion between terminals and routers running different types of protocols. A gateway is the point at which a circuit-switched call is encoded and repackaged into IP packets.
An H.323 gateway is an endpoint on the LAN that provides real-time two-way communications between H.323 terminals on the LAN and other ITU-T terminals in the WAN, or to another H.323 gateway.
The following sections describe the main features and functionality of a gatekeeper in an H.323 network:
A zone is the set of H.323 nodes controlled by a single gatekeeper. Gatekeepers co-existing on a network may be configured so that they register endpoints from different subnets.
Endpoints attempt to discover a gatekeeper, and consequently what zone they are members of, by using the RAS message protocol. The protocol supports a discovery message that may be sent multicast or unicast.
If the message is sent multicast, the endpoint registers nondeterministically with the first gatekeeper to respond. To enforce predictable behavior, where endpoints on certain subnets are assigned to specific gatekeepers, you can use the zone subnet command to define the subnets that constitute a given gatekeeper's zone. Any endpoint on a subnet that is not enabled for the gatekeeper will not be accepted as a member of that gatekeeper's zone. If the gatekeeper receives a unicast discovery message from such an endpoint, it will send an explicit reject, but if the message was received multicast, the gatekeeper simply ignores it.
Gatekeepers recognize one of two types of terminal aliases, or terminal names:
If an H.323 network deploys interzone communication, each terminal should at least have a fully-qualified e-mail name as its H.323 ID. For example, bob@cisco.com. The domain name of the e-mail ID should be the same as the configured domain name for the gatekeeper of which it is to be a member. As in the previous example, the domain name would be cisco.com.
To allow endpoints to communicate between zones, gatekeepers must be able to determine which zone an endpoint is in and locate the gatekeeper responsible for that zone. If DNS is available, you can associate a DNS domain name to each gatekeeper.
Version 1 of the H.323 specification does not provide a mechanism for authenticating registered endpoints. No credential information is passed. However, by enabling authorization, authentication and accounting (AAA) on the gatekeeper and configuring for RADIUS, you can achieve a rudimentary form of identification.
If you enable this feature, the gatekeeper attempts to use the registered aliases along with a password, and do an authentication transaction to a RADIUS server. The registration will only be accepted if RADIUS successfully authenticates the name.
The gatekeeper can be configured to use a default password for all users. It can also be configured to recognize a password separator character that allows users to piggyback their passwords onto H.323-ID registrations by using it to separate the ID and password fields.
If you enable AAA on the gatekeeper, the gatekeeper will emit an accounting record each time an endpoint registers or unregisters, or each time a call is admitted or disconnected.
The balance of this section provides detailed information on the following topics:
The Service Provider features for VoIP include enhancements made to the functionality and configuration of both the gateway and the VoIP gatekeeper. The architecture of these features provides the Quality of Service (QoS), stability, and functionality necessary for carrier class real-time IP communications services.
This document contains a basic description of the gateway and gatekeeper features required to implement the applications to run VoIP in a service provider environment. The features address the needs of the service provider to offer security, billing, scaling, and reliability.
The gateway functionality and gatekeeper functionality work in concert to provide the ITU-T H.323 infrastructure. Therefore, the two main components in the voice architecture that interoperate to enable the service provider feature set are:
Refer to "VoIP PSTN Signaling Architecture" for a graphical description of the gateway and gatekeeper internetworking functionality.
To help understand the overall implication of which features affect which portion of the internetworking environment, these features are described in two different categories:
The gatekeeper manages H.323 endpoints in a consistent manner, allowing them to register with the gatekeeper and to locate another gatekeeper. The gatekeeper provides logic variables for proxies or gateways in a call path to provide connectivity with the PSTN, to improve QoS, and to enforce security policies. Multiple gatekeepers may be configured to communicate with one another, either by integrating their addressing into DNS, or via software configuration options.
In addition to the Cisco IOS Release 11.3NA functionality described in documentation on CCO, the gatekeeper has been enhanced with two important new features:
The routers performing the access server functionality for the gatekeeper are:
The gateway capability is the ability of the voice-capable platform to function as an H.323 endpoint. Therefore, the gateway provides the following admission control, address lookup and translation, and accounting services:
User configuration and implementation of these features all takes place while setting up and configuring the gatekeeper and the gateway. See the section "Configuring the VoIP Gatekeeper and Gateway."
Descriptions of each gateway feature and the commands follow.
RAS is a signaling function that performs registration, admissions, status, and disengage procedures between the VoIP gateway and gatekeeper.
Two new fields have been added to the dial-peer entry. The gateway relies on Cisco IOS command line interface commands, outside of gateway configuration mode, to configure handling of the AAA servers. See the section "This is an example of the configuration steps required to allow the internetworking functionality between the VoIP gateway and the gatekeeper.."
The following changes have been made to the gateway to enable the RAS implementation on the H.323 gateway.
Two new fields are added to the dial-peer entry:
The AAA features are required in the VoIP gateway. The standard AAA functionality is enhanced to collect digits during the call processing process. Processes such as:
This AAA feature permits RADIUS to be used to authenticate users (typically incoming calls) on the gateway. It is normally used with IVR to check the legitimacy of a prospective gateway user based on an account number (collected by IVR) or based on answer number identification (ANI).
Authentication is based on RADIUS and is performed on the gateway (as opposed to the gatekeeper).
User account and PIN information is collected by the IVR application and is passed to the AAA interface. The AAA interface then makes a RADIUS authentication request with the given information and returns to the IVR application with status of success or failure.
RADIUS is an IETF protocol based on UDP. It functions by exchanging a set of attribute/value pairs between the client, here a VoIP gateway and a RADIUS server. Standard RADIUS server implementations include CiscoSecure, Cisco UCP, Livingston, and Merit.
An authenticated user is authorized. There is no authorization of specific user capabilities for the service provider voice applications.
Accounting uses a basic start-stop method and standard RADIUS attributes where possible. Attributes that cannot be mapped to standard RADIUS are packed into the Acct-Session-Id attribute field as '/' separated ASCII string.
Data items are collected for each call leg that gets created on the gateway. A call leg is the internal representation of a connection to the gateway. Each call that is made through the gateway consists of two call legs: an incoming and an outgoing call leg. The call leg information that is emitted by the gateway(s) can be correlated by their connection ID, which is the same for all call legs of a connection.
The standard RADIUS attributes supported are:
The nonstandard RADIUS attributes that are packed into the Acct-Session-Id attribute field are:
To take advantage of standard RADIUS implementations that do not support vendor specific attributes a new method is defined that embeds the unsupported information elements in the RADIUS Acct-Session-Id. The Acct-Session-Id field has a maximum length of 256 characters. It is defined to contain the RADIUS account session ID which is a unique identifier that links accounting records associated with the same login session for a user. The internal representation of this field is long. Therefore, the value of this session ID can become very large as the number of sessions on a router increases.
To support additional fields, following is the format for this field:
<session id>/<call leg setup time>/<gateway id>/<connection id>/<call origin>/
| Field | Description |
|---|---|
session id | The standard RADIUS account session ID |
call leg setup time | The Q.931 setup time for this connection in NTP format. |
gateway id | The name of the underlying gateway. Name string is of form |
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 in hexadecimal value and separated by a space character. |
call origin | Indicates 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. |
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 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. |
| 1Support for remote ip address field was introduced with Cisco IOS Release 11.3(7)NA. |
NTP time formats are displayed as: %H:%M:%S.%k %Z %tw %tn %td %Y where:
Note that because of the limited size of the session id string, it is not possible to embed very many information elements in it. Therefore, this feature supports only a limited set of accounting information elements. For implementations that can advantage of more information elements, Cisco's VSA implementation is recommended.
The following examples illustrate the use of the Acct-Session-Id field:
Client-Id = 172.29.248.123 NAS-Port-Type = 0 User-Name = "4004" Called-Station-Id = "+111" Calling-Station-Id = "+222" Acct-Status-Type = Start User-Service-Type = Login-User Acct-Session-Id = "4/23:21:14.078 UTC Sat Jul 18 1998/ak3620-1.cisco.com/859BF275 D7C80001 0 3AFF4/originate/VoIP///" Acct-Delay-Time = 0
Client-Id = 172.29.248.123 NAS-Port-Type = 0 User-Name = "4004" Called-Station-Id = "+111" Calling-Station-Id = "+222" Acct-Status-Type = Stop User-Service-Type = Login-User Acct-Session-Id = "4/23:21:14.078 UTC Sat Jul 18 1998/ak3620-1.cisco.com/859BF275 D7C80001 0 3AFF4/originate/VoIP/23:21:14.093 UTC Sat Jul 18 1998/23:21:23.084 UTC Sat Jul 18 1998/4/123.45.67.890" Acct-Input-Octets = 8340 Acct-Output-Octets = 8900 Acct-Input-Packets = 417 Acct-Output-Packets = 445 Acct-Session-Time = 9 Acct-Delay-Time = 0
Client-Id = 172.29.248.123 NAS-Port-Type = 0 User-Name = "4004" Called-Station-Id = "+111" Calling-Station-Id = "+222" Acct-Status-Type = 3 User-Service-Type = Login-User Acct-Session-Id = "4/21:54:17.052 UTC Mon Jul 20 1998/ak3620-1.cisco.com/BF1AC9CA 8DE60006 0 5ED24/originate/VoIP///" Acct-Delay-Time = 0
The syslog accounting option exports the information elements associated with each call leg through a system log message, which can be captured by a syslog daemon on the network. The syslog output consists of the following:
<server timestamp> <gateway id> <message number> : <message label> : <list of AV pairs>
| Field | Description |
|---|---|
server timestamp | The timestamp created by the server when it receives the message to log. |
gateway id | The name of the gateway emitting the message. |
message number | The number assigned to the message by the gateway. |
message label | Is a string used to identify the message category. |
list of AV pairs | Is a string consisting of <attribute name> <attribute value> pairs separated by commas. |
%VOIPAAA-5-VOIP_CALL_HISTORY:CallLegType 2,ConnectionId 300094C0 60E0F3A0 60C894C0 60C90000, SetupTime 22:35:22.023UTC Tue Aug 11 1998, PeerAddress 999, PeerSubAddress , DisconnectCause 10 ,DisconnectText normal call clearing., ConnectTime 22:35:24.027 UTC Tue Aug 11 1998, DisconnectTime 22:35:29.028 UTC Tue Aug 11 1998, CallOrigin 1, ChargedUnits 0, InfoType 2,TransmitPackets 0, TransmitBytes 0, ReceivePackets 0, ReceiveBytes 0
The following Cisco IOS commands are designed for configuring the Service Provider Voice over IP AAA functionality.
Refer to the "Command Reference" section for more information on VoIP AAA commands.
Service provider for VoIP includes basic Interactive Voice Response (IVR) capabilities necessary to collect caller Personal Identification Number (PIN), passwords, and destination phone numbers. IVR consists of simple voice prompting and digit collection to collect information from the caller for the purpose of authenticating the user and to identify the destination.
"Simple" IVR allows the use of one of several interactive voice response scripts embedded in Cisco IOS software. The ability to modify the embedded scripts is not yet provided. However, the audio files (for the prompts) can be modified for the user.
The user receives a voice prompt instruction to enter a specific type of information, for example, a PIN number. After playing the voice prompt, the IVR feature starts the process of collecting some number of touch tones (digit collection).
The IVR application specifies a sequence of voice prompts and touch-tone collection instructions. IVR applications can be assigned to specific ports, or can be invoked based on DNIS. An IP/PSTN gateway can have several different IVR applications to accommodate many different gateway services. The IVR applications can be customized to present different interfaces to the caller. The functionality includes the ability to:
The IVR application field is used to associate an application with an incoming call. This field is applicable to the dial-peer of the "pots" encapsulation type only. The application field, in the inbound dial-peer, is used to indicate the application that this incoming call should be delivered to. Examples of applications entered in this field are the IVR scripts. See the "IVR Script Description" section for more information.
IVR scripts also utilize ANI authorization, which initially takes place with the ANI as the account number. Based on authentication of the ANI and DNIS for the call, the user is either denied service (with an appropriate voice message) or prompted for an account number and PIN if authentication fails. If authentication succeeds (or subsequent authentication with the supplied account/PIN succeeds), the user is prompted for the destination phone number and the call is placed.
See the "IVR Script Description" section for more information.
The IVR scripts available are displayed below. Audio files are provided by Cisco, however it is recommended that you record your own audio file to be used with these scripts.
To obtain a complete description of each script, use the show call application voice [app-name | summary] command and insert the desired script name in the app-name field. The output displays a description of each script.
A brief description of the IVR scripts follow:
The message progression for the clid_col_npw_3 IVR script is exactly the same as clid_authen_col_npw except if authentication with the collected (account and PIN number) failed, the old script just played a failure message (auth_failed.au) and then hung up.
After the first two failures, the new script will play auth_fail_retry.au, and collect the account and PIN numbers again. The caller can interrupt the message by entering digits for the account number. Entering the PIN number will be prompted with the same message as the first try.
If authentication fails the third time, it will play auth_fail_final.au, and then hang up.
This script plays the following prompts:
Two of these audio files were first introduced with Cisco IOS Release 11.3(7)NA:
This call application tries to authenticate using (ani, NULL) as the (userid, user password) pair. If that fails, it collects the account number and authenticates with (account, NULL). It allows three tries for entering the account number before failing the call. If authentication succeeds, it plays a prompt to collect the destination number.
This IVR script plays the following .au files:
The supported IVR scripts are described below using the show call application voice app name command:
voicelab>show call application voice clid_authen
Application clid_authen has 8 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=dnis
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State collect_dest has 3 actions and 5 events
Do Action IVR_ACT_TONE. tone=8
Do Action IVR_ACT_COLLECT_DIALPLAN.
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_fail
If Event IVR_EV_TIMEOUT do action IVR_ACT_TONE
and goto state collect_fail count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State collect_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:collect_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab>show call application voice clid_authen_collect
Application clid_authen_collect has 10 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=dnis
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_account.au
allowInt=1, pContent=0x60E4C564
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_pin.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
sblab115>show call application voice clid_authen_collect
Application clid_authen_collect has 10 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=dnis
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_account.au
allowInt=1, pContent=0x60E4C564
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_pin.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab>show call application voice clid_authen_npw
Application clid_authen_npw has 8 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State collect_dest has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_fail
If Event IVR_EV_TIMEOUT goto state collect_fail count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State collect_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:collect_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab>show call application voice clid_authen_col_npw
Application clid_authen_col_npw has 10 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_account.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_pin.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab>show call application voice fax_hop_on_1
Application fax_hop_on_1 has 8 states with 0 calls active
State start has 2 actions and 5 events
Do Action IVR_ACT_PLAY.
URL: flash:redialer_tone.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_COLLECT_PATTERN. Pattern init_seq is \*\*
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_PAT_COL_SUCCESS goto state collect_account
patName=init_seq
If Event IVR_EV_PLAY_COMPLETE do nothing
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State collect_account has 2 actions and 3 events
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state init_seq
patName=account
State init_seq has 1 actions and 3 events
Do Action IVR_ACT_COLLECT_PATTERN. Pattern init_seq is \*\*
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state collect_dest
patName=init_seq
State collect_dest has 2 actions and 3 events
Do Action IVR_ACT_COLLECT_PATTERN. Pattern destination is .+
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=destination
State authenticate has 1 actions and 4 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state place_call
If Event IVR_EV_TIMEOUT do nothing count=0
State place_call has 1 actions and 3 events
Do Action IVR_ACT_PLACE_CALL.
destination=dnis called=account
calling=destination account=account
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab# show call app voice clid_col_npw_3
Application clid_col_npw_3 has 12 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL:flash:enter_account.au
allowInt=1, pContent=0x60F66AD0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_account_retry has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL:flash:auth_fail_retry.au
allowInt=1, pContent=0x60F87454
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL:flash:enter_pin.au
allowInt=1, pContent=0x60F6E178
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state fail_count
State fail_count has 1 actions and 5 events
Do Action IVR_ACT_COUNT. maxCount = 3
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_COUNT_LIMIT goto state authenticate_fail
If Event IVR_EV_COUNT_OK goto state get_account_retry
If Event IVR_EV_TIMEOUT do nothing count=0
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL:flash:enter_destination.au
allowInt=1, pContent=0x60F75C10
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL:flash:auth_fail_final.au
allowInt=0, pContent=0x60F92304
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
voicelab# show call app voice clid_col_npw_npw
Application clid_col_npw_npw has 11 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL:flash:enter_account.au
allowInt=1, pContent=0x60F66AD0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_account_retry has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL:flash:auth_fail_retry.au
allowInt=1, pContent=0x60F87454
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=NULL
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state fail_count
State fail_count has 1 actions and 5 events
Do Action IVR_ACT_COUNT. maxCount = 3
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_COUNT_LIMIT goto state authenticate_fail
If Event IVR_EV_COUNT_OK goto state get_account_retry
If Event IVR_EV_TIMEOUT do nothing count=0
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL:flash:enter_destination.au
allowInt=1, pContent=0x60F75C10
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL:flash:auth_fail_final.au
allowInt=0, pContent=0x60F92304
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
Fax hop on/off is a specialized IVR application to support the use of redialer boxes in fax applications. Redialers are small units that connect between a fax machine and a telephone line, intercept the phone number dialed by the fax machine, and place an outgoing call to another phone number (in this case, that of the voice gateway), and then forward the destination number intercepted from the fax machine to the gateway when prompted. Optionally, an account number can be included to identify the caller's organization for authentication and billing purposes.
New Cisco IOS commands are available to deal with IVR functionality. These commands are entered when the dial peer is being configured. The commands are as follows:
See the "Command Reference" section for detailed information on these commands.
This feature supports the redirecting call feature of the VoIP gateway. The redirecting number is an optional field of the Q.931 Setup message.
When a local exchange carrier (LEC) switch detects an incoming call that is destined for a busy or nonanswering party, the switch formulates a Q.931 Setup message with redirecting number field set to the original destination number, and sends it to the gateway. The called party number of the setup message will be set to one of the service access numbers dialed number identification service (DNIS) of the gateway.
If a redirect number is present on an incoming call, then it is used in place of the destination number (DNIS).
The dial peer configuration for ISDN redirect involves setting up two audio scripts.
To process incoming ISDN voice calls, incoming dial peers need to be configured. The dialed number identification service (DNIS) number of the incoming call is used to match the DNIS number field of the incoming dial peer. The direct-inward-dial flag of the dial peer determines whether a second dial tone is given to the caller to collect the target destination number. For this Service Provider feature, the DNIS is set to the access phone number of the gateway, and the direct-inward-dial flag is set to TRUE.
The outgoing dial peer is selected based on the DNIS number of the incoming call. The outgoing dial peer indicates the session target of the outgoing call.
The following scenario describes how an ISDN call is redirected.
The Rotary Calling Pattern feature provides the ability to route an incoming call arriving via a telephony interface back out via another telephony interface under certain circumstances. This is primarily used to provide reliable service during network failures. Call establishment via Rotary Call Pattern will be supported via rotary group support of dial peers, where multiple dial peers may match a given destination phone number and will be selected in sequence.
Before Cisco IOS Release 11.3(6)NA2, if you wanted the system to search through a number of destinations, when a call came into a given number, you needed to configure those dial peers with the same destination pattern. Now with the Rotary Call Pattern feature, if you want the destinations to be tried in a certain order, you can assign preference. Use the preference command when configuring the dial peers to reflect the preferred order.
If there are several dial peers that match a particular destination pattern, the system attempts to place a call to the one with the highest preference. If the call cannot be completed because of a system outage, for example, the gatekeeper or gateway cannot be contacted, the Rotary feature performs the following tasks:
The two main features of the gatekeeper that have been enhanced to support internetworking with the gateway are:
Brief descriptions of these features follow.
Gatekeeper HSRP (Hot Standby Router Protocol) support consists of elements in both the gateway and gatekeeper functions in the router. The gateway periodically retries its registration when it detects a possible gatekeeper failure, in order to register itself with the backup gatekeeper. Although it is a backup, the gatekeeper operates in a passive mode in which it does not accept registrations, and becomes active when it is notified by HSRP that it will become the primary gatekeeper.
Gatekeepers can be configured to use HSRP so that when one gatekeeper fails, the standby gatekeeper assumes its role.
Select one interface on each gatekeeper which will serve as the HSRP interface and configure these two interfaces so that they belong to the same HSRP group and have different priorities. The one with the higher priority will be the active gatekeeper; the other assumes the standby role. Make a note of the virtual HSRP IP address shared by both.
Configure the gatekeepers so that this HSRP virtual IP address is the RAS address for all local zones. Make sure that the gatekeeper mode configurations on both routers are identical.


There are two types of addresses used in H.323 destination calls:
The Cisco IOS Release 11.3(2)NA software feature Multimedia Conference Manager dealt primarily with H.323-ID addressing in interzone calls. With the new prefix commands, the administrator can now also configure interzone routing when calls are made using E.164 addresses.
When using H.323-ID addresses, interzone routing is handled through the use of domain names. For example, to resolve "bob@cisco.com," the source endpoint's gatekeeper finds the gatekeeper for "cisco.com," and sends it the Location Request (LRQ) for target address "bob@cisco.com." The destination gatekeeper looks in the registration database, sees "bob" registered, so returns the appropriate IP address to get to bob.
When using E.164 addresses, call routing is handled through means of zone prefixes and "gateway-type" or technology prefixes.
Zone prefixes (typically area codes) serve the same purpose as the domain names in the H.323-ID address space.
For instance, if our local gatekeeper has been configured with the knowledge that zone prefix "212......" (that is, any address beginning "212" and followed by 7 arbitrary digits) is handled by gatekeeper "gk-ny":
router(config-gk)# zone prefix gk-ny 212.......
then when the local gatekeeper is asked to admit a call to destination address "2125551111", it knows to send the Location Request to gk-ny.
However, when the query gets to gk-ny, gk-ny still needs to resolve the address so that the call can be sent to its final destination. There may actually be an H.323 endpoint that has registered with gk-ny with that E.164 address, in which case gk-ny will return the IP address for that endpoint. However, the probability is that the E.164 address belongs to a non-H.323 device (for example, a telephone or an H.320 terminal). Because non-H.323 devices do not register with gatekeepers, gk-ny has no knowledge of whom the address belongs to. It needs to be able to select a gateway which can be used to reach the non-H.323 device. This is where the technology prefixes (or "gateway-type") becomes useful.
The network administrator selects technology prefixes (tech-prefixes) to denote different types or classes of gateways. The gateways are then configured to register with their gatekeepers with these prefixes. For example, voice gateways may register with tech-prefix "1#," H.320-gateways with tech-prefix "2#," voicemail-gateways with "3#," and so on. More than one gateway may register with the same type prefix. When that happens, the gatekeeper makes a random selection among gateways of the same type.
A caller, who knows the type of device he or she is trying to reach, can now prepend a tech-prefix to the destination address to indicate the type of gateway to use to get to the destination.
The caller might ask for 1#2125551111 if they know that the address 2125551111 is for a telephone and the tech-prefix for voice gateways is "1#." When the voice gateway receives the call for 1#2125551111, it strips off the tech-prefix and bridges the next leg of the call to the telephone at 2125551111.
In cases where the call scenario is:
telephone -----> voice-gw1 -----> voice-gw2 ----->telephone
(PSTN) (H.323) (PSTN)
voice-gw1 can be configured (using the dial-peer command) to prepend the voice tech-prefix "1," so that the use of technology prefixes is completely transparent to the caller.
The gateway technology prefix is set up using the following new commands:
There are a couple of interesting technology prefix features in the implementation of the gw-type-prefix command.
If the majority of calls hop off on a particular type of gateway, the gatekeeper can be configured to use that type of gateway as the default type, so that callers no longer have to prepend a tech-prefix on the address. For example, if what you use in your network are mostly voice gateways, and you have configured all your voice gateways to register with tech-prefix 1, you can configure your gatekeeper to use "1#" gateways as the default:
router(config-gk)# gw-type-prefix 1# default-technologyNow a caller no longer needs to prepend "1#" to use a voice gateway. Any address that does not contain an explicit tech-prefix will be routed to one of the voice gateways which registered with "1#."
With this default-technology definition, suppose a caller asks the gatekeeper for admission to 2125551111. If the local gatekeeper does not recognize the zone prefix as belonging to any remote zone, it will route the call to one of its local "1#" voice gateways, so the call hops off locally. However, if it knows that gk-ny handles the 212 area code, it sends a Location Request for 2125551111 to gk-ny. This requires that gk-ny also be configured with some default gateway type prefix, and that its voice gateways be registered with that prefix.
The other gateway-type feature is the ability to force a hop-off to a particular zone. Normally, when an endpoint or gateway makes a call-admission request to its gatekeeper, the gatekeeper resolves the destination address by first looking for the tech-prefix. When that is matched, the remaining string is compared against known zone prefixes. If the address resolves to a remote zone, the entire address, including both technology and zone prefixes, is sent to the remote gatekeeper in a Location Request. That remote gatekeeper then uses the tech-prefix to decide which of its gateways to hop off.
The zone-prefix determines the routing to a zone, when there, the tech-prefix determines the gateway in that zone. See the"zone prefix" section for a description of the command.
This behavior can be overridden by associating a forced hop-off zone with a particular tech-prefix. What this does is force the call to the specified zone, regardless of what the zone-prefix in the address is.
A hypothetical example to demonstrate a forced hop-off follows: you are in the 408 area code (San Jose) and you want calls to the 212 area code to hop-off in New York via VoIP to save costs but you do not have any gateway in New York. However you do have an H.323 gateway in Denver and to hop-off from Denver is cheaper than to locally hop-off from San Jose. In this case, you would define the gateway-type prefix 212 for H.323 gateways to always be forced to the Denver zone.
This section describes the following VoIP configuration tasks:
All of the Service Provider for VoIP features are configured when setting up the gatekeeper and gateway internetworking configuration. The example configurations provided in this documentation are supplied for reference only.
Before you can configure your Cisco Service Provider features, ensure you have the following installed:
These configuration tasks are based on the assumption that all necessary tasks and configurations have been performed as described in the document Voice Over IP for the Cisco AS5300 Universal Access Server Software Configuration Guide, which includes the following topics:
This is an example of the configuration steps required to allow the internetworking functionality between the VoIP gateway and the gatekeeper.
See the "Command Reference" section for detailed information about the commands used in this configuration.
| Step | Command | Purpose | ||
|---|---|---|---|---|
|
| Enables the gateway. To disable the gateway, use the no gateway command in configuration mode. If active calls exist, the gateway cannot be disabled. | ||
| Configure the interface. Only one interface is allowed to be the gateway interface. The user can select either the interface that is connected to the gatekeeper, or a loopback interface. The interface that is connected to the gatekeeper is usually a LAN interface (That is, Fast Ethernet, Ethernet, FDDI, or Token-Ring). In this example, the fast Ethernet interface is used. | |||
|
| Enable the interface as an H.323 Gateway VoIP Interface. An interface is identified as a Gateway VoIP interface when the following commands are entered in the interface in configuration mode. To indicate that this interface is no longer a gateway VoIP interface, use the no prefix. | ||
| Specify an H.323 ID for this interface. An H.323 ID specifies the ID used by this gateway when this gateway communicates with the gatekeeper. Usually, this H.323 ID is the name given to the gateway with the gatekeeper domain name appended. For example, if the name of this gateway is voip1, and this gateway is in the domain called vm1lab, then the H.323 ID will be voip1@vm1lab. | |||
|
| Specifies the gateway H.323 ID. To disable the H.323 ID, use the no prefix. | ||
|
| Specifies a technology prefix. A technology prefix is used to identify a type of service that this gateway is capable of providing. If a gateway is capable of handling multiple services, specify each service with a tech-prefix command. To disable a technology prefix, use the no prefix. | ||
| | Identifies a gatekeeper. The specified gatekeeper ID must exactly match the gatekeeper ID in the gatekeeper configuration. This is an optional command to identify the name of the gatekeeper that this gateway wants to communicate to. If this command is not given, the gateway will use multicast to find the gatekeeper. | ||
| | Finds the current registration status of the gateway. If the gateway is not registered with any gatekeeper, the show command will return: Gateway voip1@vm1lab is not registered to any gatekeeper | ||
| | Determines the dial peer change. This is an example of a dial-peer that uses RAS. |
The differences between this dial-peer and a normal VoIP dial-peer are:
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.
| Step | Command | Purpose |
|---|---|---|
| 1 | 5300>enable Password: <password> 5300# | Enter enable mode. Enter the password. You have entered enable mode when the prompt changes to 5300#. |
| 2 | 5300#config term Enter configuration commands, one per line. End with CNTL/Z. 5300(config)# | Enter global configuration mode. You have entered global configuration mode when the prompt changes to |
| 3 | 5300(config)# aaa new-model | Initiates the AAA script. |
| 4 | 5300(config)# aaa authentication login h323 radius | Configures the router to use the H.323 method list for authentication purposes. |
| 5 | 5300(config)# aaa accounting connection h323 start-stop radius | Tells the system to use connection based accounting and the H.323 service. |
| 6 | 5300(config)# radius-server host 171.69.58.104 auth-port 165 acct-port 1646 | This command sets the server host IP address, and the ports for both the authentication service and the accounting service. |
| 7 | 5300(config)# radius-server key testing123 | Tests the connection accounting service. |
| 8 | 5300(config)# end | Ends the configuration session. |


This section includes the following examples of gateway and gatekeeper configuration:
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.The following example shows authentication and accounting:
aaa new-model aaa authentication local-override aaa authentication login default radius ! gw-accounting h323 ! radius-server host 10.90.1.1 auth-port 1645 acct-port 1646 radius-server key xxx
In this example, Ethernet 0 is used as the HSRP interface on both gatekeepers and the gatekeeper is configured using either a Cisco 3620 or Cisco 3640 modular access router. The three stages of the sample gatekeeper HSRP configuration are displayed in the proceeding tables:
In this portion of the example, the interface is e0, the HSRP standby group is 1 sharing a virtual address of 172.21.127.55, hello timers are set to 5 seconds, the hold timer is set to 15 seconds, and the standby priority is 110.
S36xx# config term 36xx(config-if)# int e0 36xx(config-if)# standby 1 ip 172.21.127.55 36xx(config-if)# standby 1 timers 5 15 36xx(config-if)# standby 1 priority 110 36xx(config-if)# end
In this portion of the example, the interface is e0, the HSRP standby group is 1 sharing a virtual address of 172.21.127.55, hello timers are set to 5 seconds, the hold timer is set to 15 seconds, and the standby priority is 110.
36xx# config term. 36xx(config-if)# int e0 36xx(config-if)# standby 1 ip 172.21.127.55 36xx(config-if)# standby 1 timers 5 15 36xx(config-if)# end
In this example, Gatekeeper gk1 is configured using a HSRP virtual address as the gatekeeper's RAS address.:
36xx# config term 36xx(config)# g 36xx(config-gk)# zone local gk-sj cisco.com 172.21.127.55
36xx(config-gk)# no shut
In this example, Gatekeeper gk2 uses a HSRP virtual address as the gatekeeper's RAS address and uses the same gkname and address as on gk1.
36xx# config t 36xx(config-gk)# gatekeeper 36xx(confi-gk)# zone local gk-sj cisco.com 172.21.127.55 36xx(config-gk)# no shut


If you issue a show gatekeeper status command on the two gatekeepers, you will see on gk1:
Gatekeeper State: UP
However, if this command is issued on gk2, you will see:
Gatekeeper State: HSRP STANDBY
This sample gatekeeper configuration uses the E.164 address routing configuration and is based on the following assumptions:
It is recommended that the gatekeeper ID should be in the form of gkname.domainname. This is to avoid ambiguity when a gatekeeper communicates with other gatekeepers in another domain.
The gatekeeper for San Jose is enabled by entering the following commands:
36xx#config term36xx(config)#gatekeeper36xx(config)#zone local gk-sj cisco.com36xx(config)#zone remote gk-ny cisco.com 172.21.127.2736xx(config)#zone access gk-sj default direct36xx(config)#zone prefix gk-sj 1408.......36xx(config)#zone prefix gk-ny 1212.......36xx(config)#gw-type-prefix 3# hopoff gk-sj36xx(config)#gw-type-prefix 4# default-technology
36xx(config)#config term36xx(config)#gatekeeper36xx(config)#zone local gk-ny cisco.com36xx(config)#zone remote gk-sj cisco.com 172.21.1.4836xx(config)#zone access gk-ny default direct36xx(config)#zone prefix gk-ny 1212.......36xx(config)#zone prefix gk-sj1408......36xx(config)#gw-type-prefix 3# hopoff gk-ny36xx(config)#gw-type-prefix 4# default-technology
Continuing with this example, in San Jose suppose we have gateways registering with gk-sj as follows:
gw-sj2 configured to register with tech prefix 2# gw-sj3 configured to register with tech prefix 3# gw-sj4 configured to register with tech prefix 4#
Similarly, in New York, gateways are configured to register with gk-ny as follows:
gw-ny2 configured to register with tech prefix 2# gw-ny3 configured to register with tech prefix 3# gw-ny4 configured to register with tech prefix 4#
Given the above configuration, in San Jose, a call is presented to the gatekeeper (gk-sj) with the following target address:
gk-sj recognizes that 2# is a tech prefix (it was not configured as such, but because gw-sj2 registered with it, the gatekeeper now treats 2# as a tech prefix) strips that and is left with "12125551212." This is matched against the zone prefixes, and is a match for 1212......., so gk-sj knows that gk-ny handles this. It forwards the whole address "2#12125551212" over to gk-ny, who also looks at the tech prefix 2#, and routes this to gw-ny2.
gk-sj checks this against known tech prefixes, no match. Checks against zone prefixes, matches on 1212....... for gk-ny, so routes this to gk-ny. gk-ny does not have any local registrations for this address, and there is no tech prefix on the address, but his default prefix is 4# and gw-ny4 is registered with 4#, so the call gets routed to gw-ny4.
Because this contains the tech prefix of 3# and that is defined as a local-hopoff prefix, gk-sj just routes this to gw-sj3, despite the fact that it contains a zone-prefix for New York.
gk-sj looks for a technology prefix match, and fails. Looks for a zone-prefix match and fails again. But succeeds in finding a default gateway prefix of 4#. And succeeds when gw-sj4 is registered with 4#. So, the call gets sent routed out on gw-sj4.
This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 11.3 command references.
To define the accounting method list H.323 with RADIUS as a method with either stop-only or start-stop accounting options, use the aaa accounting connection h323 command. Use the no form of this command to disable the use of this accounting method list.
aaa accounting connection h323 {stop-only | start-stop} radius
stop-only | start-stop | Start-only or stop-only accounting options. |
radius | RADIUS is used as the method. |
No accounting method list.
aaa accounting connection h323 {none | start-stop | stop-only | wait-start} radius
Global configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
The method list has to be called "h323" and is activated for all voice interfaces.
This command line tells the system to create a method list called H.323, which has start-stop RADIUS as its method. The h323 method list is static and is applied by default to all voice interfaces if the gw-accounting h323 command is also activated.
To define a method list called H.323 where RADIUS is a method, use the aaa authentication login h323 radius command. Use the no form of this command to restore the default.
authentication login h323 radiusThis command has no keywords or arguments.
No method list.
Global configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
This command line registers the H.323 method list (also referred to as an h323 service) which has RADIUS as its only method in the router. The VoIP calls send all their authentication requests through the H.323 service. If this line does not exist in the router configuration VoIP authentication will not take place.
A significant difference in the usage of this command is that with Cisco IOS release 11.3(T) the name of the method list is flexible and can be changed by the user. However, when using method list for configuring AAA with the VoIP service provider software, the method list is a specific name that you should not change.
A list is defined using the aaa authentication login h323 radius command, and is then applied to an interface. Do not apply this list to any interface for voice authentication. When enabled, using this command applies to all voice interfaces. The function of this command is activated through the IVR application.
To select the session application for Interactive Voice Response, use the application command. Use this command when you configure the dial peers.
application name
name | Indicates the name of the IVR script application the call should be handed to. |
None. The call will be handed to the predefined session application.
Dial peer configuration mode
This command first appeared in Cisco IOS Release 11.3(6)NA2.
The following example shows how the IVR script named clid_authen_collect processes a call.
application clid_authen_collect, CallID 90 got event IVR_EV-CALL_SETUP_IND : : ivr action: IVR_ACT_CALL_SETUP_ACK : : ivr action: IVR_ACT_CALL_PROCEEDING : : ivr action: IVR_ACT_CALL_CONNECT : ivr action: IVR_ACT_CALL_PROCEEDING : : ivr action: IVR_ACT_CALL_CONNECT
To control the behavior of the gatekeeper when it receives an Admission Request (ARQ) that does not match any configured zone prefixes, use the arq reject-unknown-prefix command. Use this command to force the gatekeeper to reject such requests. If however, the desired behavior is for the gatekeeper to try to service such requests, then use the no form of this command.
arq reject-unknown-prefix
no arq reject-unknown-prefix
This command has no arguments or keywords.
No ARQ request rejection.
Gatekeeper configuration
This command first appeared in the Cisco IOS Release 11.3(6)NA.
You can use the arq reject-unknown-prefix command to control the behavior of the gatekeeper when it receives an Admission Request (ARQ) for a destination E.164 address that does not match any configured zone prefixes.
When an endpoint or gateway initiates an H.323 call, it sends an ARQ to its gatekeeper. The gatekeeper uses the configured list of zone prefixes to determine to which zone the call should be directed. If the called address does not match any known zone prefixes, the gatekeeper will attempt to hairpin the call out through a local gateway with a matching technology prefix. If this is not the desired behavior, then use the arq reject-unknown-prefix command to mandate that such calls should be rejected.
This command is typically used either to restrict local gateway calls to a known set of prefixes, or to deliberately fail such calls so that an alternate choice on a gateway's rotary dial-peer can be selected.
The following example shows how this command affects the behavior of a gatekeeper. Consider a gatekeeper configured as follows:
zone local gk408 cisco.com
zone remote gk415 cisco.com 172.21.139.91
zone prefix gk408 1408.......
zone prefix gk415 1415.......
In the above example, the gatekeeper manages a zone containing gateways to the 408 area code, and it knows about a peer gatekeeper with gateways to the 415 area code. These zones are configured with the appropriate prefixes so that calls to those area codes hop off in the optimal zone.
If an endpoint makes a call to the 408 area code, the call will be routed out through a local gateway. If the call is to the 415 area code, it will be directed to the gk415 zone and hop off on a gateway there. But if a call is made to, say, the 212 area code, it will also be directed to a local gateway in the gk408 zone.
As a result of the command:
arq reject-unknown-prefix
a call made to the 212 area code is rejected because the destination address does not match any configured prefixes.
To refresh the audio file in memory, use the audio-prompt load command. The router will only load the .au (audio) file when the script initially plays that prompt, or on the router restart. If the .au file is changed, the user must run this EXEC command to reread the file. This will generate an error message if the file is not accessible, or if there is a format error.
audio-prompt load name
name | Indicates the location and name of the .au file to load. It can be loaded from memory, Flash memory, or an FTP server. Presently, with Cisco IOS Release 11.3(6)NA2, the <URL> pointer refers to the directory where Flash memory is stored. |
No default behavior or values.
Privileged EXEC
This command first appeared in Cisco IOS Release 11.3(6)NA2.
To enable the H.323 VoIP gateway, use the gateway global configuration command. Use the no form of this command to unregister this gateway with the gatekeeper.
gatewayThis command has no keywords or arguments.
The gateway is unregistered.
Global configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
Use the gateway command to enable H.323 VoIP gateway functionality. After you enable the gateway, it will attempt to discover a gatekeeper by using the H.323 RAS GRQ message.
To enable gateway specific accounting, use the gw-accounting command. Use the no form of this command to disable gateway specific accounting.
gw-accounting [h323 | syslog]
h323 | (Optional) H.323 method uses RADIUS to output accounting CDRs. |
syslog | (Optional) Syslog uses the system logging facility to output CDRs. |
Disable gateway specific accounting.
Global configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
To configure a technology prefix in the gatekeeper, use the gw-type-prefix command. To remove the technology prefix, use the no form of the command.
gw-type-prefix type-prefix [hopoff gkid][default-technology]
type-prefix | A technology prefix is recognized and is stripped before checking for the zone prefix. It is strongly recommended that you select technology prefixes that do not lead to ambiguity with zone prefixes. Do this by using the # character to |
hopoff gkid | (Optional) Specifies the gatekeeper or zone where the call is to hop off, regardless of the zone prefix in the destination address. The gkid |
default-technology | (Optional) Gateways registering with this prefix option are used as the default for routing any addresses that are otherwise unresolved. |
gw ipaddr ipaddr [port] | (Optional) Indicates that the gateway is incapable of registering technology prefixes. When it registers, it adds the gateway to the group for this type-prefix, just as if it had sent the technology prefix in its registration. This parameter can be repeated to associate more than one gateway with a technology prefix. |
No technology prefix is defined.
Gatekeeper configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
The following example specifies 4# as the default technology prefix:
gw-type-prefix 4# default-technology
zone prefix
To configure the H.323 name of the gateway identifying this gateway to its associated gatekeeper, use the h323-gateway voip h.323-id interface configuration command. Use the no form of this command to disable this defined gatekeeper name.
h323-gateway voip h323-id interface-id
interface-id | H.323 name (ID) used by this gateway when this gateway communicates with its associated gatekeeper. Usually, this ID is the name of the gateway with the gatekeeper's domain name appended to the end: name@domain-name. |
No gateway identification is defined.
Interface configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
The following example configures Ethernet interface 0.0 as the gateway interface. In this example, the gateway ID is GW13@cisco.com.
interface Ethernet0/0 ip address 172.9.53.13 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK15.cisco.com ipaddr 172.9.53.15 1719 h323-gateway voip h323-id GW13@cisco.com h323-gateway voip tech-prefix 13#
h323-gateway voip id
h323-gateway voip interface
h323-gateway voip tech-prefix
To define the name and location of the gatekeeper for this gateway, use the h323-gateway voip id interface configuration command. Use the no form of this command to disable this gatekeeper identification.
h323-gateway voip id gatekeeper-id {ipaddr ip-address [port-number] | multicast}
gatekeeper-id | Indicates the H.323 identification of the gatekeeper. This value must exactly match the gatekeeper ID in the gatekeeper configuration. The recommended format is name.doman-name. |
ipaddr | Indicates that the gateway will use an IP address to locate the gatekeeper |
ip-address | Defines the IP address used to identify the gatekeeper. |
multicast | Indicates that the gateway will use multicast to locate the gatekeeper. |
port-number | (Optional) Defines the port number used. |
No gatekeeper identification is defined.
Interface configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
This command tells the H.323 gateway associated with this interface which H.323 gatekeeper to talk to and where to locate it. The gatekeeper ID configured here must exactly match the gatekeeper ID in the gatekeeper configuration.
The following example configures Ethernet interface 0.0 as the gateway interface. In this example, the gatekeeper ID is GW15.cisco.com and its IP address is 172.9.53.15 (using port 1719).
interface Ethernet0/0 ip address 172.9.53.15 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK15.cisco.com ipaddr 172.9.53.15 1719 h323-gateway voip h323-id GW15@cisco.com h323-gateway voip tech-prefix 13#
h323-gateway voip h323-id
h323-gateway voip interface
h323-gateway voip tech-prefix
To configure this interface as an H.323 interface, use the h323-gateway voip interface interface configuration command. Use the no form of this command to disable H.323 functionality for this interface.
h323-gateway voip interfaceThis command has no arguments or keywords.
Disabled.
Interface configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
The following example configures Ethernet interface 0.0 as the gateway interface. In this example, the h323-gateway voip interface command configures this interface as an H.323 interface.
interface Ethernet0/0 ip address 172.9.53.15 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK15.cisco.com ipaddr 172.9.53.15 1719 h323-gateway voip h323-id GW15@cisco.com h323-gateway voip tech-prefix 13#
h323-gateway voip h323-id
h323-gateway voip id
h323-gateway voip tech-prefix
To define the technology prefix that the gateway will register with the gatekeeper, use the h323-gateway voip tech-prefix interface configuration command. Use the no form of this command to disable this defined technology prefix.
h323-gateway voip tech-prefix prefix
prefix | Defines the numbers used as the technology prefixes. Each technology prefix can contain up to 11 characters. Although not strictly necessary, a pound (#) symbol is frequently used as the last digit in a technology prefix. Valid characters are 0 though 9, the pound (#) symbol, and the asterisk (*). |
Disabled.
Interface configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
This command defines a technology prefix that the gateway will then register with the gatekeeper. Technology prefixes can be used as a discriminator so that the gateway can tell the gatekeeper that a certain technology is associated with a particular call (for example, 15# could mean a fax transmission), or it can be used like an area code for more generic routing. No standard currently defines what the numbers in a technology prefix mean. By convention, technology prefixes are designated by a pound (#) symbol as the last character.
The following example configures Ethernet interface 0.0 as the gateway interface. In this example, the technology prefix is defined as 13#.
interface Ethernet0/0 ip address 172.9.53.15 255.255.255.0 h323-gateway voip interface h323-gateway voip id GK15.cisco.com ipaddr 172.9.53.15 1719 h323-gateway voip h323-id GW15@cisco.com h323-gateway voip tech-prefix 13#
h323-gateway voip id
h323-gateway voip interface
h323-gateway voip h323-id
To control the behavior of the gatekeeper when it receives a Location Request (LRQ) that does not match any configured zone prefixes, use the lrq reject-unknown-prefix command. Use this command to force the gatekeeper to reject such requests. If however, the desired behavior is for the gatekeeper to try to service such requests, then use the no form of this command.
lrq reject-unknown-prefix
no lrq reject-unknown-prefix
This command has no arguments or keywords.
Service requests.
Gatekeeper configuration
This command first appeared in Cisco IOS Release 11.3(6)NA.
You can use the lrq reject-unknown-prefix command to control the behavior of the gatekeeper when it receives a Location Request (LRQ) that does not match any configured zone prefixes.
When the gatekeeper receives a Location Request asking about an E.164 address, it matches the target address against the list of configured zone prefixes. If the address matches a zone prefix, the behavior is unambiguous and well-defined:
However. if the target address does not match any known local or remote zone prefixes, then the default behavior is to attempt to service the call using one of the local zones. This default behavior may not be suitable for all sites, so the lrq reject-unknown-prefix command allows you to force the gatekeeper to reject such requests.
The following example shows how this command affects the behavior of a gatekeeper. The gatekeeper manages two zones, one with gateways with interfaces in the 408 area code, and one with gateways in the 415 area code. These zones are configured with the appropriate prefixes so that calls to those area codes hop off in the optimal zone. If some other zone had been erroneously configured to route calls to the 212 area code to this gatekeeper. When the Location Request arrives, this gatekeeper fails to match the area code, and so the LRQ is rejected.
zone local gk408 cisco.com
zone local gk415 cisco.com
zone prefix gk408 1408.......
zone prefix gk415 1415.......
lrq reject-unknown-prefix
To indicate the preference order for matching dial peers in a rotary group, use the preference command. It is useful in selecting the desired dial peer when multiple dial peers are matched for a dial string. Use the no form of this command if you do not want to assign a preference.
preference value
no preference value
value | Defines an integer value from 0 to 10. |
No preference order is given.
Dial peer configuration mode
This command was first appeared in Cisco IOS Release 11.3(7)NA2.
The following examples show different dial peer configurations using the preference command.
Dialpeer destpat preference session-target 1 4085551048 0 (highest) jmmurphy-voip 2 408555 0 sj-voip 3 408555 1 (lower) backup-sj-voip 4 .......... 1 0:D (interface) 5 .......... 0 anywhere-voip
If the destination number is 4085551048, the order of attempts will be 1,2,3,5,4.
Dialpeer destpat preference 1 408555 0 2 4085551048 1 3 4085551 0 4 ..............4085551.........0
The number dialed is 4085551048, the order will be 2, 3, 4, 1.
To identify the IP address of the destination gatekeeper, use the session target command. The field indicating if the RAS protocol is being used has been added. Enter the no form of this command to restore the default condition.
session target {ipv4:destination-address | dns:[$s$. | $d$. | $e$. | $u$.] host-name | loopback:rtp | loopback:compressed | loopback:uncompressed | ras}
ipv4:destination-address | IP address of the dial peer. |
dns:[$s$...] host-name | Indicates that the domain name server will be used to resolve the name of the IP address. Valid entries for this parameter are characters representing the name of the host device. (Optional) Use one of the following three wildcards with this keyword when defining the session target for VoIP peers: · $s$.---Indicates that the source destination pattern will be used as part of the domain name. · $d$.---Indicates that the destination number will be used as part of the domain name. · $e$.---Indicates that the digits in the called number will be reversed, periods will be added between each digit of the called number, and that this string will be used as part of the domain name. · $u$.---Indicates that the unmatched portion of the destination pattern (such as a defined extension number) will be used as part of the domain name. |
loopback:rtp | Indicates that all voice data will be looped back to the originating source. This is applicable for VoIP peers. |
loopback:compressed | Indicates that all voice data will be looped back in compressed mode to the originating source. This is applicable for POTS peers. |
loopback:uncompressed | Indicates that all voice data will be looped-back in uncompressed mode to the originating source. This is applicable for POTS peers. |
ras | Indicates that the RAS signaling function protocol is being used---meaning that a gatekeeper will be consulted to translate the E.164 address to an IP address. |
No IP address or domain name defined.
Dial peer configuration
This command first appeared in Cisco IOS Release 11.3(1)T.
Use the session target command to specify a network-specific address or domain name for a dial peer. Whether you select a network-specific address or a domain name depends on the session protocol you select.
The session target loopback command is used for testing the voice transmission path of a call. The loopback point will depend on the call origination and the loopback type selected.
The session target dns command can be used with or without the specified wildcards. Using the optional wildcards can reduce the number of VoIP dial peer session targets you need to configure if you have groups of numbers associated with a particular router.
Use the session target ras command to specify that the RAS protocol is being used to determine the IP address of the session target.
The following example configures a session target using DNS for a host, "voice_router," in the domain "cisco.com":
dial-peer voice 10 voip session target dns:voice_router.cisco.com
The following example configures a session target using DNS, with the optional $u$. wildcard. In this example, the destination pattern has been configured to allow for any four-digit extension, beginning with the numbers 1310222. The optional wildcard $u$. indicates that the router will use the unmatched portion of the dialed number---in this case, the four-digit extension, to identify the dial peer. As in the previous example, the domain is "cisco.com."
dial-peer voice 10 voip destination-pattern 1310222.... session target dns:$u$.cisco.com
The following example configures a session target using dns, with the optional $d$. wildcard. In this example, the destination pattern has been configured for 13102221111. The optional wildcard $d$. indicates that the router will use the destination pattern to identify the dial peer in the "cisco.com" domain.
dial-peer voice 10 voip destination-pattern 13102221111 session target dns:$d$.cisco.com
The following example configures a session target using DNS, with the optional $e$. wildcard. In this example, the destination pattern has been configured for 12345. The optional wildcard $e$. indicates that the router will reverse the digits in the destination pattern, add periods between the digits, and then use this reverse-exploded destination pattern to identify the dial peer in the "cisco.com" domain.
dial-peer voice 10 voip destination-pattern 12345 session target dns:$e$.cisco.com
The following example configures a session target using RAS:
dial-peer voice 11 voip destination-pattern 13102221111 session target ras
destination-pattern
session protocol
To define the names of the audio files the IVR script will play, the operation of the abort keys, what prompts are used, and caller interaction, the show call application voice command.
show call application voice [name | summary]
name | (Optional) The name of the desired IVR application. |
summary | (Optional) Enter this field to display a one line summary. If the command is entered without summary, a complete detailed description is displayed of the application. |
Privileged EXEC
sblab115>show call application voice clid_authen_collect
Application clid_authen_collect has 10 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=dnis
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_account.au
allowInt=1, pContent=0x60E4C564
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_pin.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
sblab115>show call application voice clid_authen_collect
Application clid_authen_collect has 10 states with 0 calls active
State start has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=ani, pinName=dnis
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_SETUP_IND do action IVR_ACT_CALL_SETUP_ACK
and goto state start
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_AAA_FAIL goto state get_account
State end has 1 actions and 3 events
Do Action IVR_ACT_END.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_DISCONNECT_DONE do action IVR_ACT_CALL_DESTROY
and do nothing
State get_account has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_account.au
allowInt=1, pContent=0x60E4C564
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern account is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state get_pin
patName=account
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_TIMEOUT goto state get_account count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_account
State get_pin has 4 actions and 7 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_pin.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_PATTERN. Pattern pin is .+
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PAT_COL_SUCCESS goto state authenticate
patName=pin
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state get_account
If Event IVR_EV_TIMEOUT goto state get_pin count=0
If Event IVR_EV_PAT_COL_FAIL goto state get_pin
State authenticate has 1 actions and 5 events
Do Action IVR_ACT_AUTHENTICATE. accountName=account, pinName=pin
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_AAA_SUCCESS goto state collect_dest
If Event IVR_EV_TIMEOUT do nothing count=0
If Event IVR_EV_AAA_FAIL goto state authenticate_fail
State collect_dest has 4 actions and 8 events
Do Action IVR_ACT_PLAY.
URL: flash:enter_destination.au
allowInt=1, pContent=0x0
Do Action IVR_ACT_ABORT_KEY. abortKey=*
Do Action IVR_ACT_TERMINATION_KEY. terminationKey=#
Do Action IVR_ACT_COLLECT_DIALPLAN.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_PLAY_COMPLETE do nothing
If Event IVR_EV_ABORT goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
If Event IVR_EV_DIAL_COL_SUCCESS goto state place_call
If Event IVR_EV_DIAL_COL_FAIL goto state collect_dest
If Event IVR_EV_TIMEOUT goto state collect_dest count=0
State place_call has 1 actions and 4 events
Do Action IVR_ACT_PLACE_CALL.
destination= called=
calling= account=
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
If Event IVR_EV_CALL_UP goto state active
If Event IVR_EV_CALL_FAIL goto state place_fail
State active has 0 actions and 2 events
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State authenticate_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY.
URL: flash:auth_failed.au
allowInt=0, pContent=0x0
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
State place_fail has 1 actions and 2 events
Do Action IVR_ACT_PLAY_FAILURE_TONE.
If Event IVR_EV_DEFAULT goto state end
If Event IVR_EV_CALL_DIGIT do nothing
To display the gateway-type prefix table, use the show gatekeeper gw-type-prefix EXEC command.
show gatekeeper gw-type-prefixThis command has no arguments or keywords.
Privileged EXEC
This command first appeared in the Cisco IOS Release 11.3 NA.
The following is sample display from the show gatekeeper gw-type-prefix command:
router# show gatekeeper gw-type-prefix
(GATEWAYS-TYPE PREFIX TABLE ================================ Prefix: 3#* (Hopoff- gk408) Prefix: 4#* (Default gateway-technology) Static Configured Gateways: Prefix: 7#* (Hopoff gk408) Static Configured Gateways: 1.1.1.1:1720 2.2.2.2:1720
Table 1 describes the fields shown in the show gatekeeper gw-type-prefix display.
| Field | Description |
|---|---|
Prefix: | The tech-prefix defined with the gw-type-prefix command. |
(Hopoff gk408) | Calls specifying tech-prefix 3# or 7# will always be routed to zone gk408, regardless of the actual zone prefix in the destination address. |
(Default gateway-technology) | The address associated with the technology prefix is a gateway used as the default for routing any addresses that are otherwise unresolveable. |
Static Configured Gateways: | Lists all IP addresses and port numbers of statically configured gateways. |
To show overall gatekeeper status that includes authorization and authentication status, zone status, and so on, use the show gatekeeper status EXEC command.
show gatekeeper statusThis command has no arguments or keywords.
Privileged EXEC
This command first appeared in Cisco IOS Release 11.3 NA.
The following is sample display from the show gatekeeper status command:
router# show gatekeeper status Gatekeeper State: UP Zone Name: gk-px4.cisco.com Accounting: DISABLED Security: DISABLED
Table 2 describes the fields shown in the show gatekeeper status display.
| Field | Description |
|---|---|
Gatekeeper State |
|
Zone Name | Zone name. |
Accounting | Authorization and accounting status. |
Security | Security status. |
To display the zone prefix table, use the show gatekeeper zone prefix EXEC command.
show gatekeeper zone prefixThis command has no arguments or keywords.
Privileged EXEC
This command first appeared in the Cisco IOS Release 11.3 NA.
The following is sample display from the show gatekeeper zone prefix command:
5300# show gatekeeper zone prefix
ZONE PREFIX TABLE ================= GK-NAME E164-PREFIX ------- ----------- gk.zone13 212....... gk.zone14 415.......
gk.zone14 408.......
Table 3 describes the fields shown in the show gatekeeper status display.
To display the current gateway status, use the show gateway command.
show gatewayThis command has no keywords or arguments.
Privileged EXEC
This command first appeared in Cisco IOS Release 11.3(6)NA2.
gte-as5300-2# show gateway Gateway voip2@vm1lab is registered to Gatekeeper gk1.vm1lab
To specify a particular technology prefix be prepended to the destination pattern of a specific dial peer, use the tech-prefix dial peer configuration command. Use the no form of this command to disable the defined technology prefix for this dial peer.
tech-prefix number
number | Defines the numbers used as the technology prefix. Each technology prefix can contain up to 11 characters. Although not strictly necessary, a pound (#) symbol is frequently used as the last digit in a technology prefix. Valid characters are 0 though 9, the pound (#) symbol, and the asterisk (*). |
No technology prefix is defined.
Dial peer configuration
This command first appeared in Cisco IOS Release 11.3(6)NA2.
Technology prefixes are used to distinguish between gateways having specific capabilities within a given zone. In the exchange between the gateway and the gatekeeper, the technology prefix is used to select a gateway after the zone has been selected. Use the tech-prefix command to define technology prefixes.
Technology prefixes can be used as a discriminator so that the gateway can tell the gatekeeper that a certain technology is associated with a particular call (for example, 15# could mean a fax transmission), or it can be used like an area code for more generic routing. No standard defines what the numbers in a technology prefix mean; by convention, technology prefixes are designated by a pound (#) symbol as the last character.
In most cases, there is a dynamic protocol exchange between the gateway and the gatekeeper that enables the gateway to inform the gatekeeper about technology prefixes and where to forward calls. If, for some reason, that dynamic registry feature is not in effect, you can statically configure the gatekeeper to query the gateway for this information by configuring the gw-type-prefix command on the gatekeeper. Use the show gatekeeper gw-type-prefix to display how the gatekeeper has mapped the technology prefixes to local gateways.
The following example defines a technology prefix of 14# for the specified dial peer. In this example, the technology prefix means that the H.323 gateway will ask the RAS gatekeeper to direct calls using the technology prefix of 14#.
dial-peer voice 10 voip destination-pattern 14... tech-prefix 14#
gw-type-prefix
show gatekeeper gw-type-prefix
To specify a zone controlled by a gatekeeper, use the zone local gatekeeper configuration command. To remove a zone controlled by a gatekeeper, use the no form of this command. This command can also be used to change the IP address used by the gatekeeper.
zone local gatekeeper-name domain-name [rasIPaddress]
gatekeeper-name | The gatekeeper's name or zone name. This is usually the fully domain-qualified host name of the gatekeeper. For example, if the domain-name is cisco.com, the gatekeeper-name might be gk1.cisco.com. However, if the gatekeeper is controlling multiple zones, the gatekeeper-name for each zone should be some unique string that has a mnemonic value. |
domain-name | The domain name served by this gatekeeper. |
rasIPaddress | (Optional) The IP address of one of the interfaces on the gatekeeper. When the gatekeeper responds to gatekeeper discovery messages, it signals the endpoint or gateway to use this address in future communications. Setting this address for one local zone makes it the address used for all local zones. |
No local zone is defined.
Gatekeeper configuration
This command first appeared in Cisco IOS Release 11.3 NA.
Multiple local zones can be defined. The gatekeeper manages all configured local zones. Intrazone and interzone behavior remains the same (zones are controlled by the same or different gatekeepers.)
Only one rasIPaddress argument can be defined for all local zones. You cannot configure each zone to use a different RAS IP address. If you define this in the first zone definition, you can omit it for all subsequent zones, which automatically pick up this address. If you set it in a subsequent zone local command, it also changes the RAS address of all previously configured local zones. After it is defined, you can change it by re-issuing any zone local command with a different rasIPaddress argument.
If the rasIPaddress argument is an HSRP virtual address, it automatically puts the gatekeeper into HSRP mode. In this mode, the gatekeeper assumes STANDBY or ACTIVE status according to whether the HSRP interface is on STANDBY or ACTIVE status.
You cannot remove a local zone if there are endpoints or gateways registered in it. To remove the local zone, shut down the gatekeeper first, which forces unregistration.
Multiple zones are controlled by multiple logical gatekeepers on the same Cisco IOS release.
The following example creates a zone controlled by a gatekeeper in the domain called cisco.com:
zone local gk1.cisco.com cisco.com show gatekeeper zone statue
zone remote
To configure the gatekeeper with knowledge of its own and any remote zone's prefixes, use the zone prefix gatekeeper configuration command. To remove knowledge of zone prefixes, use the no form of this command.
zone prefix gatekeeper-name e164-prefix
gatekeeper-name | The name of a local or remote gatekeeper, which must have been defined using the zone local or zone remote command. |
e164-prefix | An E.164 prefix in standard form followed by dots (.) that each represent a number in the E.164 address. For example, 212....... is matched by 212 and any seven numbers. |
No knowledge of its own or any other zone's prefix is defined.
Gatekeeper configuration
Although a dot representing each digit in an E.164 address is the preferred configuration method, you may also enter an asterisk (*) to match any number of digits.
A gatekeeper may handle more than one zone prefix, but a zone prefix cannot be shared by more than one gatekeeper. If you have defined a zone prefix as being handled by a gatekeeper, and now define it as being handled by a second gatekeeper, the second assignment will cancel the first.
When a zone handles several prefixes, all gateways in that zone constitute a common pool which can be used to hop off to any of those prefixes. You may however wish to partition your gateways by prefix, for instance you have a gateway which interfaces to the 408 area code, and another which interfaces to the 415 area code, and for cost reasons you want each gateway only to be used for calls to its area code. In that case, you can define several local zones on the gatekeeper, each responsible for a prefix, and have each gateway register to the zone handling its prefix. For example, you can define local zone gk-408 handling prefix 408....... and local zone gk-415 handling 415....... and have the gateway interfacing to the 408 area code register with gk-408, and the gateway with the 415 interface register to gk-415.
The following example matches the 212 area code and any seven digits as the zone prefix for gk-ny:
zone prefix gk-ny 212.......
zone local
zone remote
To specify statically a remote zone if DNS is unavailable or undesirable, use the zone remote gatekeeper configuration command. To remove the remote zone, use the no form of this command.
zone remote other-gatekeeper-name other-domain-name other-gatekeeper-ip-address
other-gatekeeper-name | Name of the remote gatekeeper. |
other-domain-name | Domain name of the remote gatekeeper. |
other-gatekeeper-ip-address | IP address of the remote gatekeeper. |
port-number | (Optional) RAS signaling port number for the remote zone. Value ranges from 1 to 65535. If this is not set, the default is the well known RAS port number 1719. |
No remote zone is defined. DNS will locate the remote zone.
Gatekeeper configuration
This command first appeared in Cisco IOS Release 11.3 NA.
All gatekeepers do not have to be in DNS. For those that are not, use the zone remote command so that the local gatekeeper knows how to access them. In addition, you may want to improve call response time slightly for frequently accessed zones. If the zone remote command is configured for a particular zone, you do not need to make a DNS lookup transaction.
The following example configures the local gatekeeper to reach targets of the form xxx.cisco.com by sending queries to the gatekeeper named sj3.cisco.com at IP address 1.2.3.4:
zone remote sj3.cisco.com cisco.com 1.2.3.4 show gatekeeper zone statue
zone local
This section describes new and modified debug commands. All other commands used with this feature are documented in the Cisco IOS Release 11.3 Debug Command Reference.
To trace of the state transition of the H.225 state machine based on the processed event, use the debug cch323 h225 privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug cch323 h225This command first appeared in Cisco IOS Release 11.3(6)NA2.
The state definitions of the different states of the H.225 state machine are as follows:
The event definitions of the different events of the H.225 state machine are as follows:
Router# debug cch323 h225 20:59:17:Set new event H225_EVENT_SETUP 20:59:17:H225 FSM:received event H225_EVENT_SETUP while at state H225_IDLE 20:59:17:Changing from H225_IDLE state to H225_SETUP state 20:59:17:cch323_h225_receiver:received msg of type SETUPCFM_CHOSEN 20:59:17:H225 FSM:received event H225_EVENT_SETUP_CFM_IND while at state H225_SETUP 20:59:17:Changing from H225_SETUP state to H225_ACTIVE state 20:59:17:Set new event H225_EVENT_H245_SUCCESS 20:59:17:H225 FSM:received event H225_EVENT_H245_SUCCESS while at state H225_ACTIVE 20:59:20:Set new event H225_EVENT_RELEASE 20:59:20:H225 FSM:received event H225_EVENT_RELEASE while at state H225_ACTIVE 20:59:20:Changing from H225_ACTIVE state to H225_WAIT_FOR_DRQ state 20:59:20:Set new event H225_EVENT_RAS_SUCCESS 20:59:20:H225 FSM:received event H225_EVENT_RAS_SUCCESS while at state H225_WAIT_FOR_DRQ 20:59:20:Changing from H225_WAIT_FOR_DRQ state to H225_IDLE state
To trace the state transition of the H.245 state machine based on the processed events, use the debug cch323 h245 privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug cch323 h245This command first appeared in Cisco IOS Release 11.3(6)NA2.
The H.245 state machines include the following three state machines:
The definitions are listed:
Router# debug cch323 h245 20:58:23:Changing to new event H245_EVENT_MSD 20:58:23:H245 MS FSM:received event H245_EVENT_MSD while at state H245_MS_NONE 20:58:23:changing from H245_MS_NONE state to H245_MS_WAIT state 20:58:23:Changing to new event H245_EVENT_CAP 20:58:23:H245 CAP FSM:received event H245_EVENT_CAP while at state H245_CAP_NONE 20:58:23:changing from H245_CAP_NONE state to H245_CAP_WAIT state 20:58:23:cch323_h245_receiver:received msg of type M_H245_MS_DETERMINE_INDICATION 20:58:23:Changing to new event H245_EVENT_MS_IND 20:58:23:H245 MS FSM:received event H245_EVENT_MS_IND while at state H245_MS_WAIT 20:58:23:cch323_h245_receiver:received msg of type M_H245_CAP_TRANSFER_INDICATION 20:58:23:Changing to new event H245_EVENT_CAP_IND 20:58:23:H245 CAP FSM:received event H245_EVENT_CAP_IND while at state H245_CAP_WAIT 20:58:23:cch323_h245_receiver:received msg of type M_H245_MS_DETERMINE_CONFIRM 20:58:23:Changing to new event H245_EVENT_MS_CFM 20:58:23:H245 MS FSM:received event H245_EVENT_MS_CFM while at state H245_MS_WAIT 20:58:23:changing from H245_MS_WAIT state to H245_MS_DONE state 0:58:23:cch323_h245_receiver:received msg of type M_H245_CAP_TRANSFER_CONFIRM 20:58:23:Changing to new event H245_EVENT_CAP_CFM 20:58:23:H245 CAP FSM:received event H245_EVENT_CAP_CFM while at state H245_CAP_WAIT 20:58:23:changing from H245_CAP_WAIT state to H245_CAP_DONE state 20:58:23:Changing to new event H245_EVENT_OLC 20:58:23:H245 OLC FSM:received event H245_EVENT_OLC while at state H245_OLC_NONE 20:58:23:changing from H245_OLC_NONE state to H245_OLC_WAIT state 20:58:23:cch323_h245_receiver:received msg of type M_H245_UCHAN_ESTABLISH_INDICATION 20:58:23:Changing to new event H245_EVENT_OLC_IND 20:58:23:H245 OLC FSM:received event H245_EVENT_OLC_IND while at state H245_OLC_WAIT 20:58:23:cch323_h245_receiver:received msg of type M_H245_UCHAN_ESTAB_ACK 20:58:23:Changing to new event H245_EVENT_OLC_CFM 20:58:23:H245 OLC FSM:received event H245_EVENT_OLC_CFM while at state H245_OLC_WAIT 20:58:23:changing from H245_OLC_WAIT state to H245_OLC_DONE state
To trace the state transition of the RAS state machine based on the processed events, use the debug cch323 ras privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug cch323 rasThis command first appeared in Cisco IOS Release 11.3(6)NA2.
RAS operates in two state machines. One global state machine controls the overall RAS operation of the Gateway. The other state machine is a per call state machine that controls the active calls.
The state definitions of the different states of the RAS state machine follow:
These are the event definitions of the different states of the RAS state machine:
Router# debug cch323 ras 20:58:49:Changing to new event CCH323_RAS_EVENT_SEND_RRQ cch323_run_ras_sm:received event CCH323_RAS_EVENT_SEND_RRQ while at CCH323_RAS_STATE_IDLE state cch323_run_ras_sm:changing to CCH323_RAS_STATE_RRQ state cch323_ras_receiver:received msg of type RCF_CHOSEN cch323_run_ras_sm:received event CCH323_RAS_EVENT_RCF while at CCH323_RAS_STATE_RRQ state cch323_run_ras_sm:changing to CCH323_RAS_STATE_IDLE state 20:58:59:cch323_percall_ras_sm:received event CCH323_RAS_EVENT_NEWCALL while at CCH323_RAS_STATE_IDLE state 20:58:59:cch323_percall_ras_sm:changing to new state CCH323_RAS_STATE_ARQ cch323_ras_receiver:received msg of type ACF_CHOSEN 20:58:59:cch323_percall_ras_sm:received event CCH323_RAS_EVENT_ACF while at CCH323_RAS_STATE_ARQ state 20:58:59:cch323_percall_ras_sm:changing to new state CCH323_RAS_STATE_ACTIVE 20:59:02:cch323_percall_ras_sm:received event CCH323_RAS_EVENT_CALLDISC while at CCH323_RAS_STATE_ACTIVE state 20:59:02:cch323_percall_ras_sm:changing to new state CCH323_RAS_STATE_DRQ cch323_ras_receiver:received msg of type DCF_CHOSEN 20:59:02:cch323_percall_ras_sm:received event CCH323_RAS_EVENT_DCF while at CCH323_RAS_STATE_DRQ state 20:59:02:cch323_percall_ras_sm:changing to new state CCH323_RAS_STATE_IDLE 20:59:04:cch323_percall_ras_sm:received event CCH323_RAS_EVENT_IRR while at CCH323_RAS_STATE_ACTIVE state 20:59:04:cch323_percall_ras_sm:changing to new state CCH323_RAS_STATE_ACTIVE
To display additional information about the actual contents of H.225 RAS messages, use the debug h225 privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug h225 {asn1 | events}
asn1 | Indicates that only the ASN.1 contents of any H.225 message sent or received will be displayed. |
events | Indicates that key Q.931 events that occur when placing an H.323 call from one gateway to another will be displayed. |
This command first appeared in Cisco IOS Release 11.3(6)NA2
Both versions of the debug H225 command display information about H.225 messages. H.225 messages are used to exchange RAS information between gateways and gatekeepers as well as to exchange Q.931 information between gateways.
The debug h225 events command displays key Q.931 events that occur when placing an H.323 call from one gateway to another. Q.931 events are carried in H.225 messages. This command enables you to monitor Q.931 state changes such as setup, alert, connected, and released.
The debug h225 asn1 command displays the ASN.1 contents of any H.225 message sent or received that contains ASN.1 content. Not all H.225 messages contain ASN.1 content. Some messages contain both Q.931 information and ASN.1 information; if you enter this command, only ASN.1 information will be displayed.
The following sample display for the debug h225 events command shows a call being placed from gateway GW13 to gateway GW14. Before the call was placed, the gateway exchanged RAS messages with the gatekeeper. Because RAS messages do not contain Q.931 information, these messages do not appear in this output.
Router# debug h225 events H.225 Event Messages debugging is on Router# *Mar 2 02:47:14.689: H225Lib::h225TConn:connect in progress on socket [2] *Mar 2 02:47:14.689: H225Lib::h225TConn:Q.931 Call State is initialized to be [Null]. *Mar 2 02:47:14.697:Hex representation of the SETUP TPKT to send.0300004D080200DC05040380C0A36C0991313323313333303070099131342331343330307E0026050080060008914A000102004B1F5E5D8990006C0000000005BF7454000C0700000000000000 *Mar 2 02:47:14.701: *Mar 2 02:47:14.701: H225Lib::h225SetupRequest:Q.931 SETUP sent from socket [2] *Mar 2 02:47:14.701: H225Lib::h225SetupRequest:Q.931 Call State changed to [Call Initiated]. *Mar 2 02:47:14.729:Hex representation of the received TPKT03000021080280DC013401017E0012050340060008914A000100000109350E2B28 *Mar 2 02:47:14.729: *Mar 2 02:47:14.729: H225Lib::h225RecvData:Q.931 ALERTING received from socket [2] *Mar 2 02:47:14.729: H225Lib::h225RecvData:Q.931 Call State changed to [Call Delivered]. *Mar 2 02:47:17.565:Hex representation of the received TPKT03000034080280DC07040380C0A37E0023050240060008914A0001000109350E2B2802004B1F5E5D8990006C0000000005BF7454 *Mar 2 02:47:17.569: *Mar 2 02:47:17.569: H225Lib::h225RecvData:Q.931 CONNECT received from socket [2] *Mar 2 02:47:17.569: H225Lib::h225RecvData:Q.931 Call State changed to [Active]. *Mar 2 02:47:23.273:Hex representation of the received TPKT0300001A080280DC5A080280107E000A050500060008914A0001 *Mar 2 02:47:23.273: *Mar 2 02:47:23.273: H225Lib::h225RecvData:Q.931 RELEASE COMPLETE received from socket [2] *Mar 2 02:47:23.273: H225Lib::h225RecvData:Q.931 Call State changed to [Null]. *Mar 2 02:47:23.293:Hex representation of the RELEASE COMPLETE TPKT to send.0300001A080200DC5A080280107E000A050500060008914A0001 *Mar 2 02:47:23.293: *Mar 2 02:47:23.293: H225Lib::h225TerminateRequest:Q.931 RELEASE COMPLETE sent from socket [2]. Call state changed to [Null]. *Mar 2 02:47:23.293: H225Lib::h225TClose:TCP connection from socket [2] closed
The following output shows the same call being placed from gateway GW13 to gateway GW14 using the debug h225 asn1 command. The output is very long but you can track the following information:
Router# debug h225 asn1
H.225 ASN1 Messages debugging is on
Router#
value RasMessage ::= admissionRequest :
*Mar 2 02:48:18.445: {
*Mar 2 02:48:18.445: requestSeqNum 03320,
*Mar 2 02:48:18.445: callType pointToPoint :NULL,
*Mar 2 02:48:18.445: callModel direct :NULL,
*Mar 2 02:48:18.445: endpointIdentifier "60D6BA4C00000001",
*Mar 2 02:48:18.445: destinationInfo
*Mar 2 02:48:18.445: {
*Mar 2 02:48:18.445: e164 :"14#14300"
*Mar 2 02:48:18.445: },
*Mar 2 02:48:18.449: srcInfo
*Mar 2 02:48:18.449: {
*Mar 2 02:48:18.449: e164 :"13#13300"
*Mar 2 02:48:18.449: },
*Mar 2 02:48:18.449: bandWidth 0640,
*Mar 2 02:48:18.449: callReferenceValue 0224,
*Mar 2 02:48:18.449: conferenceID '4B1F5E5D899000720000000005C067A4'H,
*Mar 2 02:48:18.449: activeMC FALSE,
*Mar 2 02:48:18.449: answerCall FALSE
*Mar 2 02:48:18.449: }
*Mar 2 02:48:18.449:25800CF7 00F00036 00300044 00360042 00410034 00430030 00300030 00300030
00300030 00310103 80470476 33010380 46046633 40028000 E04B1F5E 5D899000
72000000 0005C067 A400
29000CF7 40028000 0109350E 06B80077
value RasMessage ::= admissionConfirm :
*Mar 2 02:48:18.469: {
*Mar 2 02:48:18.469: requestSeqNum 03320,
*Mar 2 02:48:18.469: bandWidth 0640,
*Mar 2 02:48:18.469: callModel direct :NULL,
*Mar 2 02:48:18.469: destCallSignalAddress ipAddress :
*Mar 2 02:48:18.469: {
*Mar 2 02:48:18.469: ip '0109350E'H,
*Mar 2 02:48:18.469: port 01720
*Mar 2 02:48:18.469: },
*Mar 2 02:48:18.469: irrFrequency 0120
*Mar 2 02:48:18.473: }
*Mar 2 02:48:18.473:value H323-UserInformation ::=
*Mar 2 02:48:18.481:{
*Mar 2 02:48:18.481: h323-uu-pdu
*Mar 2 02:48:18.481: {
*Mar 2 02:48:18.481: h323-message-body setup :
*Mar 2 02:48:18.481: {
*Mar 2 02:48:18.481: protocolIdentifier { 0 0 8 2250 0 1 },
*Mar 2 02:48:18.481: sourceInfo
*Mar 2 02:48:18.481: {
*Mar 2 02:48:18.481: terminal
*Mar 2 02:48:18.481: {
*Mar 2 02:48:18.481: },
*Mar 2 02:48:18.481: mc FALSE,
*Mar 2 02:48:18.481: undefinedNode FALSE
*Mar 2 02:48:18.481: },
*Mar 2 02:48:18.481: activeMC FALSE,
*Mar 2 02:48:18.481: conferenceID '4B1F5E5D899000720000000005C067A4'H,
*Mar 2 02:48:18.481: conferenceGoal create :NULL,
*Mar 2 02:48:18.485: callType pointToPoint :NULL,
*Mar 2 02:48:18.485: sourceCallSignalAddress ipAddress :
*Mar 2 02:48:18.485: {
*Mar 2 02:48:18.485: ip '00000000'H,
*Mar 2 02:48:18.485: port 00
*Mar 2 02:48:18.485: }
*Mar 2 02:48:18.485: }
*Mar 2 02:48:18.485: }
*Mar 2 02:48:18.485:}
*Mar 2 02:48:18.485:00800600 08914A00 0102004B 1F5E5D89 90007200 00000005 C067A400 0C070000
00000000 00
value H323-UserInformation ::=
*Mar 2 02:48:18.525:{
*Mar 2 02:48:18.525: h323-uu-pdu
*Mar 2 02:48:18.525: {
*Mar 2 02:48:18.525: h323-message-body alerting :
*Mar 2 02:48:18.525: {
*Mar 2 02:48:18.525: protocolIdentifier { 0 0 8 2250 0 1 },
*Mar 2 02:48:18.525: destinationInfo
*Mar 2 02:48:18.525: {
*Mar 2 02:48:18.525: mc FALSE,
*Mar 2 02:48:18.525: undefinedNode FALSE
*Mar 2 02:48:18.525: },
*Mar 2 02:48:18.525: h245Address ipAddress :
*Mar 2 02:48:18.525: {
*Mar 2 02:48:18.525: ip '0109350E'H,
*Mar 2 02:48:18.525: port 011050
*Mar 2 02:48:18.525: }
*Mar 2 02:48:18.525: }
*Mar 2 02:48:18.525: }
*Mar 2 02:48:18.525:}
*Mar 2 02:48:18.525:value H323-UserInformation ::=
*Mar 2 02:48:22.753:{
*Mar 2 02:48:22.753: h323-uu-pdu
*Mar 2 02:48:22.753: {
*Mar 2 02:48:22.753: h323-message-body connect :
*Mar 2 02:48:22.753: {
*Mar 2 02:48:22.753: protocolIdentifier { 0 0 8 2250 0 1 },
*Mar 2 02:48:22.753: h245Address ipAddress :
*Mar 2 02:48:22.753: {
*Mar 2 02:48:22.753: ip '0109350E'H,
*Mar 2 02:48:22.753: port 011050
*Mar 2 02:48:22.753: },
*Mar 2 02:48:22.753: destinationInfo
*Mar 2 02:48:22.753: {
*Mar 2 02:48:22.753: terminal
*Mar 2 02:48:22.753: {
*Mar 2 02:48:22.753: },
*Mar 2 02:48:22.757: mc FALSE,
*Mar 2 02:48:22.757: undefinedNode FALSE
*Mar 2 02:48:22.757: },
*Mar 2 02:48:22.757: conferenceID '4B1F5E5D899000720000000005C067A4'H
*Mar 2 02:48:22.757: }
*Mar 2 02:48:22.757: }
*Mar 2 02:48:22.757:}
*Mar 2 02:48:22.757:value H323-UserInformation ::=
*Mar 2 02:48:27.109:{
*Mar 2 02:48:27.109: h323-uu-pdu
*Mar 2 02:48:27.109: {
*Mar 2 02:48:27.109: h323-message-body releaseComplete :
*Mar 2 02:48:27.109: {
*Mar 2 02:48:27.109: protocolIdentifier { 0 0 8 2250 0 1 }
*Mar 2 02:48:27.109: }
*Mar 2 02:48:27.109: }
*Mar 2 02:48:27.109:}
*Mar 2 02:48:27.109:value RasMessage ::= disengageRequest :
*Mar 2 02:48:27.117: {
*Mar 2 02:48:27.117: requestSeqNum 03321,
*Mar 2 02:48:27.117: endpointIdentifier "60D6BA4C00000001",
*Mar 2 02:48:27.117: conferenceID '4B1F5E5D899000720000000005C067A4'H,
*Mar 2 02:48:27.121: callReferenceValue 0224,
*Mar 2 02:48:27.121: disengageReason normalDrop :NULL
*Mar 2 02:48:27.121: }
*Mar 2 02:48:27.121:3C0CF81E 00360030 00440036 00420041 00340043 00300030 00300030 00300030
00300031 4B1F5E5D 89900072 00000000 05C067A4 00E020
400CF8
value RasMessage ::= disengageConfirm :
*Mar 2 02:48:27.133: {
*Mar 2 02:48:27.133: requestSeqNum 03321
*Mar 2 02:48:27.133: }
*Mar 2 02:48:27.133:value H323-UserInformation ::=
*Mar 2 02:48:27.133:{
*Mar 2 02:48:27.133: h323-uu-pdu
*Mar 2 02:48:27.133: {
*Mar 2 02:48:27.133: h323-message-body releaseComplete :
*Mar 2 02:48:27.133: {
*Mar 2 02:48:27.133: protocolIdentifier { 0 0 8 2250 0 1 }
*Mar 2 02:48:27.133: }
*Mar 2 02:48:27.133: }
*Mar 2 02:48:27.133:}
*Mar 2 02:48:27.133:05000600 08914A00 01
.
To display the types and addressing of RAS messages sent and received, use the debug voip ccapi privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug rasThe debug output lists the message type using mnemonics defined in ITU-T specification H.225.
This command first appeared in Cisco IOS Release 11.3(6)NA2.
In the following output, gateway GW13.cisco.com sends a RAS registration request message (RRQ) to gatekeeper GK15.cisco.com at IP address 172.9.53.15. GW13.cisco.com then receives a registration confirmation (RCF) message from the gatekeeper. If there is no response, it could mean that the gatekeeper is offline or improperly addressed. If you receive a reject message (RRJ), it could mean that the gatekeeper is unable to handle another gateway or that the registration information is incorrect.
Router# debug ras
*Mar 13 19:53:34.231: RASlib::ras_sendto:msg length 105 from
172.9.53.13:8658 to 1.9.53.15:1719
*Mar 13 19:53:34.231: RASLib::RASSendRRQ:RRQ (seq# 36939) sent
to 172.9.53.15
*Mar 13 19:53:34.247: RASLib::RASRecvData:successfully rcvd
message of length 105 from 172.9.53.15:1719
*Mar 13 19:53:34.251: RASLib::RASRecvData:RCF (seq# 36939) rcvd
from [172.9.53.15:1719] on sock [0x6168356C
To enable debugging messages for gateway aaa to be output to the system console, use the debug voip aaa privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug voip aaaThis command first appeared in Cisco IOS Release 11.3(6)NA2.
To debug the call control API, use the debug voip ccapi privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug voip ccapiThis command first appeared in Cisco IOS Release 11.3(6)NA2.
Router# show debug
voip:
voip ccAPI function enter/exit debugging is on
Oct 9 17:39:20.267:cc_api_call_setup_ind (vdbPtr=0x60ED5134,
callInfo={called=3001, calling=4004, fdest=0 peer_tag=1},
callID=0x6104B374)
Oct 9 17:39:20.275:cc_process_call_setup_ind (event=0x60D45CF0) handed
call to app "sess"
Oct 9 17:39:20.279:ccAppInitialize (name=App for callId 3
, appHandle=0x6103DD44)
Oct 9 17:39:20.279:ccCallSetContext (callID=0x3, context=0x6103DD3C)
Oct 9 17:39:20.279:ccCallSetupAck (callID=0x3)
Oct 9 17:39:20.279:ccGenerateTone (callID=0x3 tone=8)
Oct 9 17:39:20.279:ccCallApp (callID=0x3)
Oct 9 17:39:20.279:ccCallSetContext (callID=0x3, context=0x60DC4594)
00:11:31:%RADIUS-6-SERVERALIVE:Radius server 171.69.184.73 is
responding
again (previously dead).
Oct 9 17:39:22.808:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=1, mode=0)
Oct 9 17:39:23.069:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=1, mode=0)
Oct 9 17:39:23.399:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=5, mode=0)
Oct 9 17:39:23.652:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=1, mode=0)
Oct 9 17:39:24.041:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=0, mode=0)
Oct 9 17:39:24.294:cc_api_call_digit (vdbPtr=0x60ED5134, callID=0x3,
digit=0, mode=0)
Oct 9 17:39:24.294:ccCallAppReturn (callID=0x3)
Oct 9 17:39:24.294:ccCallApp (callID=0x3)
Oct 9 17:39:24.294:ccCallSetContext (callID=0x3, context=0x6105DC90)
Oct 9 17:39:24.294:ccCallProceeding (callID=0x3, prog_ind=0x0)
Oct 9 17:39:24.294:ccCallSetupRequest (peer=0x60FE4068, dest=,
params=0x6105DB70 mode=0, *callID=0x60D50978)
Oct 9 17:39:24.294:callingNumber=4004, calledNumber=115100,
redirectNumber=
Oct 9 17:39:24.294:accountNumber=, finalDestFlag=0,
guid=3c85.5d28.2861.0004.0000.0000.000a.8dfc
Oct 9 17:39:24.294:peer_tag=115
Oct 9 17:39:24.294:ccIFCallSetupRequest:(vdbPtr=0x60D4A268, dest=,
callParams={called=115100, calling=4004, fdest=0, voice_peer_tag=115},
mode=0x0)
Oct 9 17:39:24.294:ccCallSetContext (callID=0x4, context=0x6105DD78)
Oct 9 17:39:26.350:cc_api_call_alert(vdbPtr=0x60D4A268, callID=0x4,
prog_ind=0x8, sig_ind=0x0)
Oct 9 17:39:26.350:ccCallAlert (callID=0x3, prog_ind=0x8, sig_ind=0x0)
Oct 9 17:39:26.350:ccConferenceCreate (confID=0x60D509C8, callID1=0x3,
callID2=0x4, tag=0x0)
Oct 9 17:39:26.350:cc_api_bridge_done (confID=0x1, srcIF=0x60D4A268,
srcCallID=0x4, dstCallID=0x3, disposition=0, tag=0x0)
Oct 9 17:39:26.350:cc_api_bridge_done (confID=0x1, srcIF=0x60ED5134,
srcCallID=0x3, dstCallID=0x4, disposition=0, tag=0x0)
Oct 9 17:39:26.350:cc_api_caps_ind (dstVdbPtr=0x60D4A268,
dstCallId=0x4,srcCallId=0x3, caps={codec=0x7, fax_rate=0x7F, vad=0x3})
Oct 9 17:39:26.350:cc_api_caps_ind (dstVdbPtr=0x60ED5134,
dstCallId=0x3,srcCallId=0x4, caps={codec=0x4, fax_rate=0x2, vad=0x2})
Oct 9 17:39:26.350:cc_api_caps_ack (dstVdbPtr=0x60ED5134,
dstCallId=0x3,srcCallId=0x4, caps={codec=0x4, fax_rate=0x2, vad=0x2})
Oct 9 17:39:26.350:cc_api_caps_ack (dstVdbPtr=0x60D4A268,
dstCallId=0x4,srcCallId=0x3, caps={codec=0x4, fax_rate=0x2, vad=0x2})
Oct 9 17:39:26.430:cc_api_call_connected(vdbPtr=0x60D4A268,
callID=0x4)
Oct 9 17:39:26.430:ccCallConnect (callID=0x3)
Oct 9 17:39:26.430:ccCallAppReturn (callID=0x3)
Oct 9 17:39:26.430:ccCallSetContext (callID=0x4, context=0x6103DD3C)
Oct 9 17:39:30.683:cc_api_call_disconnected(vdbPtr=0x60D4A268,
callID=0x4, cause=0x10)
Oct 9 17:39:30.683:ccCallDisconnect (callID=0x4, cause=0x10 tag=0x0)
Oct 9 17:39:30.683:ccConferenceDestroy (confID=0x1, tag=0x0)
Oct 9 17:39:30.687:cc_api_bridge_done (confID=0x1, srcIF=0x60D4A268,
srcCallID=0x4, dstCallID=0x3, disposition=0 tag=0x0)
Oct 9 17:39:30.727:cc_api_call_disconnect_done(vdbPtr=0x60D4A268,
callID=0x4, disp=0, tag=0x0)
Oct 9 17:39:30.727:cc_api_bridge_done (confID=0x1, srcIF=0x60ED5134,
srcCallID=0x3, dstCallID=0x4, disposition=0 tag=0x0)
Oct 9 17:39:30.727:ccCallDisconnect (callID=0x3, cause=0x10 tag=0x0)
Oct 9 17:39:30.779:cc_api_call_disconnect_done(vdbPtr=0x60ED5134,
callID=0x3, disp=0, tag=0x0)
00:11:42:%LINK-3-UPDOWN:Interface Serial0:18, changed state to down
To debug the IVR application, use the debug voip ivr privileged EXEC command. Use the no form of this command to disable debugging output.
[no] debug voip ivr [states | error | all]
states | (Optional) Displays verbose information about how IVR is handling each call. |
error | (Optional) Displays information only if an error occurred. |
all | (Optional) Displays both states and error messages. |
IVR debug messages will be displayed when a call is being actively handled by the IVR scripts. Error output should only occur if something is not working or an error condition has been raised. States output supplies information about the current status of the IVR script and the different events which are occurring in that state.
This command first appeared in Cisco IOS Release 11.3(6)NA2.
For more information on the Voice Service Provider, refer to the Voice over IP for the Cisco AS5300 Software Configuration Guide.
For more information on the gatekeeper, refer to the Configuring H.323 VoIP Gatekeeper for Cisco Access Platforms feature module for Cisco IOS Release 11.3(7)NA.
For more information on the gateway, refer to the Configuring H.323 VoIP Gateway for Cisco Access Platforms feature module for Cisco IOS Release 11.3(7)NA.
The following information is supplied as background information only. It is intended to supplement basic understanding for these features and is not all inclusive on the subject matter.
You can supplement this feature module with Release Notes for Cisco AS5300 for Cisco IOS Release 12.0T, which documents the release from which this special release is derived.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Mon Dec 6 19:16:32 PST 1999
Copyright 1989-1999©Cisco Systems Inc.