EP1260088A2 - Distributed call center with local points of presence - Google Patents
Distributed call center with local points of presenceInfo
- Publication number
- EP1260088A2 EP1260088A2 EP00989668A EP00989668A EP1260088A2 EP 1260088 A2 EP1260088 A2 EP 1260088A2 EP 00989668 A EP00989668 A EP 00989668A EP 00989668 A EP00989668 A EP 00989668A EP 1260088 A2 EP1260088 A2 EP 1260088A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- call
- network
- call center
- center
- xml
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5125—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with remote located operators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5237—Interconnection arrangements between ACD systems
Definitions
- the present invention relates to the field of telecommunications, and more particularly to the management of telephone calls to and from call centers.
- FIG. 1 is a functional diagram of a business call center connecting an end user 116 to a business call center 108 via an originating Local Public Switched Telecommunications Network (PSTN) 106, a Long Distance Network 114 and a terminating Local PSTN 106.
- PSTN Public Switched Telecommunications Network
- FIG. 1 is a functional diagram of a business call center connecting an end user 116 to a business call center 108 via an originating Local Public Switched Telecommunications Network (PSTN) 106, a Long Distance Network 114 and a terminating Local PSTN 106.
- PSTN Public Switched Telecommunications Network
- PSTN Public Switched Telecommunications Network
- CD Automatic Call Distributor
- IVR Interactive Voice Response
- Many call centers also deploy a Computer Telephone Integration (CTI) server 118 for providing intelligent call routing.
- CTI Computer Telephone Integration
- FIG. 2 is a functional diagram of a network-based call center connecting an end user 116 to a business call center 108 via an originating Local PSTN 106, a Long Distance Network 114 and a terminating Local PSTN 106.
- Network call centers may include a Switch 122, an ACD 112 and an IVR 110 within the Long Distance Network 114 to provide call answering, servicing and queuing services.
- Network call centers usually integrate carrier-provided voice telecommunications with premises-based switching, call distribution, interactive voice response and computer telephony technologies to perform such services.
- network-based call centers relied on vender-specific proprietary systems and software to develop and deploy call management applications to perform answering, servicing and queuing services.
- telecom carriers have started offering value-added call management applications as managed network services.
- such managed network services are usually proprietary to the providing carrier, often insufficient in their flexibility and typically incomplete in functionality.
- a telephone call to a first call center is directed to a second call center on the command of user specified applications.
- the call is serviced at the second call center while the user specified applications direct the first call center to establish a connection therein.
- the user specified applications direct the second call center to transfer or bridge the call with a telephone connection in the first call center via a telecommunications network.
- Figure 1 is a schematic diagram illustrating a conventional call center configuration with PBX, ACD and IVR systems located at the call center;
- Figure 2 is a schematic diagram illustrating a conventional network-based call center configuration with Switch, ACD and IVR systems located within a long distance network;
- Figure 3 is a flow diagram illustrating one example of an operational method of a Virtual Intelligent Network in accordance with an embodiment of the present invention
- Figure 4 is a flow diagram illustrating one process for selection of a premises call center in accordance with an embodiment of the present invention
- FIG. 5 is a call flow diagram illustrating various aspects of the use of XML commands within a virtual intelligent network (VIN) in accordance with a n embodiment of the present invention
- Figure 6 illustrates examples of XML tags that may be included in an XML Page for transmission within a VIN in accordance with an embodiment of the present invention
- Figure 7 is a call diagram illustrating various aspects of the case of XML commands within a VIN for making outbound calls from a call center in accordance with an embodiment of the present invention
- Figure 8 is a schematic diagram illustrating components of a Virtual Intelligent Network according to an embodiment of the present invention that includes a point-of -presence (POP) Call Center Gateway, a Premises Call Center Gateway, a Call Center Network, a Network Operations Center and a Web Application Server;
- Figure 9 is a schematic diagram illustrating a Virtual Intelligent Network configuration according to an embodiment of the present invention that includes a POP Call Center Gateway connected to a Premises Call Center Gateway over a Call Center Network controlled by user specified applications deployed on a Web Applications Server;
- POP point-of -presence
- Figure 10 is a schematic diagram illustrating components of a Virtual Intelligent Network according to an embodiment of the present invention that supports a single business with multiple call center sites connected with multiple POP Call Center Gateways;
- Figure 11 is a schematic diagram illustrating components of a Virtual Intelligent Network according to an embodiment of the present invention that supports multiple business call centers connected to multiple POP Call Center Gateways.
- Figure 12 illustrates an exemplary network topology according to an embodiment of the present invention.
- VIN Virtual Intelligent Network
- a call center is a single point of contact where telephone calls, may it be enquiries, order-placing, after-sales support or other call center activities, are handled and processed by a team of call center agents.
- call center agents or operators can be based at a single site or at multiple sites, depending on the configuration of the call center and the organization that it belongs to.
- the industries and organizations where the use of call centers have become most widespread are those where there is a focus on customer service and a high volume of dispersed customer contact. These include banking and finance institutions, insurance companies, airline, hotels, and car rental organizations, and travel services.
- POP call center gateways were described in detail in the above-cited related application (which is hereby incorporated by reference) and their applicability in efforts to minimize telephone charges for call center service providers was highlighted therein.
- a POP call center gateway is configured to answer, service, queue and/or route calls at a local point-of-presence, close to the point of call origination. POP call center gateways may thus provide initial processing of incoming calls; holding and queuing the calls until live operators at the called business call center are available.
- the POP call center gateways route the locally queued calls to the operators at the business call center.
- the business call center service provider will only incur long distance charges for the time that a caller is actually connected to a business call center operator. Time spent on hold, in a queue or answering automated menu questions, etc., will not add to the long distance charges, because that portion of the call is treated as a local call, terminating at the POP call center gateway.
- Servers are computer programs, which may be configured to execute on any one or more of a variety of computer hardware platforms to provide some service to other programs, called clients (which may also operate on a variety of computer platforms).
- clients which may also operate on a variety of computer platforms.
- a client and server communicate by means of message passing often over a network, and use some protocol, a set of formal rules describing how to communicate (i.e., transmit and receive) data, to encode the client's requests and/or responses and the server's responses and/or requests.
- a server may run continually, waiting for a client's requests and/or responses to arrive, or it may be invoked by some higher level software application, such as a continually running server, which controls a number of specific servers.
- Client-server communication is analogous to a customer (client) sending an order (request) on an order form to a supplier (server), who in turn dispatches the requested goods and an invoice (response).
- the order form and invoice e.g., the terms and conditions specified therein) are part of the protocol used to communicate the request and response.
- the present VIN employs a so-called extensible Markup Language (XML), a computer-based language designed to enable the use of the Standard • Generalized Markup Language (SGML) on the World Wide Web (sometimes know as the "Web").
- SGML is the international standard for defining descriptions of the structure and content of different types of electronic documents.
- the VIN utilizes the well-known Hypertext Transfer Protocol (HTTP), designed for distribution of hypertext documents over the Internet, to facilitate communication between network components (e.g., clients and servers) via XML messages over virtual private networks (VPN), which provide a tunnel within an otherwise public network for secure and private data communications.
- HTTP Hypertext Transfer Protocol
- the VIN includes a set of POP call center gateways, distributed at points-of-presence close to the point of call origination, interconnected by a user- controlled virtual private network to premises call center gateways, distributed at locations where the call centers exist.
- the POP and premises gateways are programmable telephony applications gateways that are dynamically controlled by call flow management (CFM) and interactive voice response (IVR) web applications.
- CFM call flow management
- IVR interactive voice response
- An IVR application may be regarded as a software application that uses a prerecorded database of voice (or synthesized voice) messages to present and/or collect user entered digits, interact with office databases and provide results the user.
- An IVR application may also optionally use speech recognition to secure input options from a user.
- These applications, CFM and IVR can reside on web application servers, such as Netscape Application Server 2.1 and NetDymanics 4.0, potentially hosted at external Internet data centers and/or the call center premises and connected to the same VPN as the POP and premises gateways.
- the CFM and IVR applications control the call flow and voice response behavior of these gateways through XML messages using HTTP and virtual private networks for distributed call resources (hardware and/or software) management.
- the process of operating the VIN may be generally described with reference to the simplified flow diagram shown in Figure 3.
- the user specified CFM and IVR applications direct a POP gateway, at or near the point of call origination, to intercept the inbound call.
- the POP gateway answers and terminates the inbound call locally, taking advantage of the economics of local interconnection, which generally provide for minimal access charges.
- the CFM issues a command (e.g., using an XML Page as described further below) to the POP call center gateway to provide a service, such as an interactive voice response-based automated service to hold and queue the call until operators are available to service the call, and/or to play music or customized announcements to the caller while the call is being held.
- a command e.g., using an XML Page as described further below
- a service such as an interactive voice response-based automated service to hold and queue the call until operators are available to service the call, and/or to play music or customized announcements to the caller while the call is being held.
- the CFM may issue a command (again via an XML Page) to a premises call center gateway to originate a proxy call to a call center operator in its automatic call distributor (ACD).
- ACD automatic call distributor
- the premises call center gateway generates and presents the proxy call to the ACD.
- the CFM command may also direct the premises call center gateway to monitor the progress of the proxy call within the ACD for operator availability and communicate the same to the CFM, at step 210.
- the premises call center gateway alerts the CFM.
- the CFM application issues a command to the POP call center gateway to transfer the on-hold call to the premises call center gateway and also instructs the premises call center gateway to bridge the incoming call from the POP gateway to the proxy call (now about to be answered by the operator) in the premises ACD.
- Such local queuing and just-in-time call delivery saves on long distance communications charges that would otherwise be incurred if the call were to be earlier connected to the premises call center for queuing.
- an incoming call is directed to an IVR application that is preferably developed as a web application and deployed on a web server.
- Such an application can be used to gather caller specific information (e.g., an account number, which the CFM application can use to intelligently route the call to the best matching answering resource.
- the CFM directs a POP call center local to the incoming call to intercept the call and to provide interactive voice response-based automated services as described above.
- the CFM instructs the premises call center gateway selected as the best answering resource to insert a proxy call in its ACD.
- the CFM issues a command to the best answering resource to drop the proxy call from its ACD and directs, at step 228, the call center at the second best answering location to place a proxy call in its ACD. (This process can be repeated as necessary (and as resources permit) until an answering resource capable of handling the call is located.)
- the second location in response to the CFM command, monitors the progress of the proxy call, at step 230, and communicates operator availability to the
- the CFM Upon receiving a message from the second location that a live operator is available to service the call, the CFM, at step 232, instructs the POP call center gateway to transfer the call to the second location.
- Such local queuing at the POP call center gateway saves on long distance communications charges that would otherwise be incurred if the call were to be earlier connected to the best answering resource and then transferred to the second location.
- the VIN may take advantages of conventional Internet technologies such as IP telephony, Media Gateway Control Protocol (MGCP), Gatekeeper protocols, and virtual private networks with guaranteed quality of service for long distance voice communications to ensure a quality user experience is provided.
- MGCP Media Gateway Control Protocol
- Gatekeeper protocols and virtual private networks with guaranteed quality of service for long distance voice communications to ensure a quality user experience is provided.
- a selected call center agent at the premises call center then answers the transferred call and provides customer service to/for the caller.
- the CFM instructs the POP and Premises gateways to terminate the call.
- the POP and Premises gateways as well as the controlling CFM and IVR application servers, according to embodiments of the invention, are managed from a central Network Operations Center (NOC) 156 (see Figure 9) connected to the same VPN as the gateways and servers.
- NOC Network Operations Center
- SNMP Simple Network Management Protocol
- the NOC is capable of discovering, configuring, monitoring and managing all the components in the VIN.
- the NOC hosts other operations support systems includmg service provisioning, user billing, user support and other service management systems enabling the VIN to offer a suite of end-to-end managed user interaction services.
- the present VIN not only gives a user (i.e., a call center provider) control over the inbound operations of the call center, but also over outbound call center operations.
- the VIN can be used to dial specified long distance numbers as local numbers, filter out unanswered or machine-answered calls, play specified announcements or messages when calls are answered, and allow the called party to conduct interactive transactions with live operators and/or sotred interactive software applications.
- the CFM web application can specify a set of alternative long distance numbers and instruct elements of the VIN, via XML messages, to contact a called party and deliver prescribed voice messages.
- the VIN dispatches the request to attempt such contact to the appropriate POP gateway where the dialed number would be a local call.
- an IVR application can authenticate the called party and deliver the CFM-specified voice message or announcement and receive an acknowledgement from the called party.
- the IVR can also provide the called party with an option to be connected to a servicing agent.
- the CFM directs the remote call center to establish a connection with the servicing agent, by requesting a proxy call in the remote call center's ACD and monitoring the progress of the proxy call.
- the CFM instructs the remote call center to bridge the proxy call to the local call center, thus eliminating unnecessary long distance charges that would otherwise be accumulated transferring and queuing the call.
- a more general view may thus regard the programmable VIN as a collection of intelligent, telephony ports, capable of originating or terminating calls, bridging call pairs and attaching callers to IVR applications.
- the programmability of the telephony ports is accomplished through the use of XML Pages, where each of the "tags" of the Pages instructs the telephony ports to perform designated call management functions.
- Such XML tags may be part of a general Voice Response Control Language (VCRL) for remotely controlling the behavior of POP call-center gateways.
- VCRL Voice Response Control Language
- the set of point-of-presence call center gateways distributed at points of presence close to the point of call origination are interconnected by the programmable VIN to premises voice response servers at business locations where the call centers reside.
- the Call Flow Manager (CFM) orchestrates the creation and management of telephone calls in the VIN, under the control of the call center IVR applications.
- the VRCL provides the syntax for the XML Page objects, which are generated at the CFM and used by a POP gateway to execute actions on behalf of the call center.
- the XML Page objects may be simple pages of ASCII text that are stored in a Web server's directory or generated by scripts at the server hosting the CFM.
- the XML Pages are transmitted by the CFM in response to HTTP requests made by a client application running on a POP gateway.
- the VRCL may be used by an IVR application running at a call center to control the actions of a POP gateway on behalf of the call center
- a data communication path is established between the POP gateway and the CFM. Soon after the call is accepted, the CFM transfers control to the IVR application for providing voice prompts and menu selection choices to the caller.
- the POP gateway fetches an initial XML Page from the IVR application, parses and executes the commands in the XML Page, and then requests the next XML Page from a location defined by a Universal Resource Locator (URL) specified in the first XML Page.
- URL Universal Resource Locator
- VRCL refers to a linear sequence of instructions.
- An HTML page is generally presented to a user all at once, but a VRCL page is audibly rendered and acted upon in a top to bottom sequence.
- An IVR application may lead a POP gateway through a series of XML Pages depending upon the complexity of the application. For example, a series of inter-linked menus may need to be navigated by a caller before the caller's intentions and/or choices are fully defined.
- the IVR application may either terminate the call or transfer the call to a live operator. In either case, the IVR application transfers control back to the CFM, which then directs the POP gateway to either setup a call over the PSTN or to terminate the call.
- the set of XML tags specified in the call flow shown in Figure 5 may be understood with reference to the following discussion regarding examples of the type of tags which may be used in the VIN.
- the VRCL further provides the ability to queue calls before being transferred to a live operator, and to integrate other Web-enhanced telephony applications, such as Click-to-Talk application.
- This is made possible by the use of dedicated XML tags, which can be interpreted by POP gateway to implement the desired commands specified therein.
- the VRCL defines a number of tags or elements (analogous to commands) to control the behavior of the POP servers.
- Figure 6 shows pictorially examples of the types of tags that can be included in an XML Page that is generated by an IVR application.
- the term "conversation controller” refers to the end point within the POP server that manages interaction with the IVR application or a CFM.
- the XML Page element is the root element for every XML Page used by the CFM and/or IVR for communication with the POP gateway.
- the Page element can have the following attributes (among others):
- IVR An IVR application should use the value "IVR” while other applications may use different values (e.g. a Call Flow Manager may use the value "CC") to identify the source of the page.
- CUSTID A unique identifier for the call center.
- PAGE ⁇ D (optional) A character string (can be numerals) to identify each page.
- SESSIONID An identifier for the particular session with the caller.
- This may be part of a query-string that is sent by a POP gateway in the HTTP request for each page.
- Each XML Page represents a unit of work (i.e., a work order) to be performed by the POP gateway.
- the unit of work may consist of a single action or it may consist of a linear list of several actions.
- basic elements e.g., PLAY, TONEMAP, VOICEMAP and EXCEPTIONMAP
- complex elements e.g., MENU, FORM
- anchor elements for labeling e.g., A
- a RECFILE element for handling voice recordings and/or a SET element for setting user-defined variables may be provided (not shown in the diagram).
- the sub-elements of an XML Page root are oriented towards call flow, interaction with a caller or call control.
- Some possible children (sub-elements) of an XML Page root element that are oriented towards call flow and interaction management are: PLAY, TONEMAP, VOICEMAP,
- EXCEPTIONMAP EXCEPTIONMAP
- MENU MENU
- FORM A
- RECFILE RECFILE
- SET Sub-elements oriented towards call control are: CREATE_LEG_AND_DIAL, HANGUP_AND_DESTROY_LEG, QUEUE_CALL,
- the CFM is able to utilize a larger set of more primitive call control tags which cannot be issued by an IVR application. This is because the CFM is a VIN supervisory process.
- the PLAY element allows an IVR application to direct a POP gateway server to play a voice file, pause for a specified amount of time, play out a number or set of digits, and so on. It can have the following attributes:
- PLAY has several possible children elements, which can be used in any order, any number of times: VOICE, PAUSE, STRING, DATE, TIME, NUMBER, CURRENCY, ORDINAL, INDEXFILE, and DTMF.
- the VOICE element specifies the voice file to be played.
- the voice file can be any computer-readable audio file, such as a .vox file or a .wav file.
- the VOICE element has two attributes, one of which (SRC) is required and the other of which (TEXT) is optional.
- VOICE has no children and is an empty element (i.e., the closing tag can be a simple"/>" at the end of the attributes).
- the PAUSE element specifies a period of silence. It may, for example, follow a VOICE tag within a PLAY element. If its parent PLAY tag is not part of a MENU or a FIELD, the PAUSE merely introduces silence for the specified TIME. On the other hand, if its parent PLAY tag is part of a MENU or FIELD, the PAUSE works as a timeout period, during which time the caller is expected to enter at least one digit (see also the description of MAX_IDD — max inter- digit-delay — in the INPUT tag description below). PAUSE has two attributes: TIME and UNIT:
- TIME The value of the time-period for which silence is desired, and during which caller input is desired (if part of a MENU or FIELD).
- PAUSE has no children.
- the STRING element which has no children, is used to indicate that the IVR application wants the POP server to play out a string of letters, digits and/or special characters, one at a time. It has two attributes, both of which are required.
- VALUE The string of letters/digits/characters to be played out.
- a special index file to be used when playing out STRING, DATE, TIME, NUMBER, CURRENCY, and ORDINAL data may store sounds for all the common prompts used in playing out these types of data. It may also include a header section in the beginning of the file that is an array of offsets pointing, in a well defined order, to the starting points of the prompts therein. The format of the index file is not critical to the present invention.
- the DATE element is used to indicate that the IVR application wants the POP server to play out a date to the caller. It has three attributes, all of which are required.
- VALUE The value of the date to be spoken out.
- the value may be specified as yyyymmdd (8 digits) ,mmdd (4 digits), w:yymmdd(10 characters), w:mmdd (6 characters), or another user-defined format, w refers to the day of the week with 0 corresponding to Sunday, 1 to Monday and so on.
- yy, mm and dd refer to the year, month and day of the month, respectively.
- DDMMYYYY means that the date should be spoken out as "day - month - year”.
- W:MMDD means that the date should be spoken out as (say) day of the week - month - day of the month.
- the TIME element may be used to indicate that the IVR application wants the POP server to play out a time to the caller. It has three attributes, all of which are required.
- VALUE The value of the time to be played out. It may be specified either as hhmm (4 digits) or as hhrnmss (6 digits), or another user-specified format (e.g., in 24 hr time fashion).
- FORMAT Describes how the time should be played out. Possible values are 12 HOUR or 24 HOUR.
- the NUMBER element may indicate that the IVR application wants the POP server to play out a number to the caller. It has two attributes, both of which are required.
- VALUE The value of the number to be played out.
- the CURRENCY element may be used to indicate that the IVR application wants the POP server to play out a money value to the caller. It has three attributes, all of which are required.
- VALUE The value of the currency to be spoken out. It may or may not have a decimal point.
- COUNTRY 3 character (e.g., ISO-4217 compliant) currency code.
- the ORDINAL element may be used to indicate that the IVR application wants the POP server to play out an ordinal (e.g. "First", “Third” etc) to the caller. It has two attributes:
- VALUE The value of the ordinal to be spoken out.
- the allowed values may be:
- the INDEXFILE element may be used by an IVR application for playing date, currency, digits etc., if the above-mentioned index file format is unsuitable for playing the desired prompts (e.g., the call center may use some additional prompts or the call center's index file may not conform to the above-described file type).
- the IVR application should not use the DATE, CURRENCY, etc., tags described above, but rather use the INDEXFILE tag and specify the offset and length within the file to ensure that the desired prompts are played out.
- INDEXFILE may have up to four attributes:
- OFFSETS A list of comma-separated offsets, indicating the byte offsets for the starting points of the prompts to be played in the file.
- OFFSETS may have a value of: "0031545,0038040,0022060,0041122" for the phrase "MSFT, assuming that the offsets for the beginning of M, S, F and T prompts are 0031545, 0038040, 0022060 and 0041122, respectively.
- LENGTHS A list of comma-separated lengths, indicating the lengths of the prompts to be played in the file. There should be one-to-one correspondence between the OFFSETS and the LENGTHS.
- TEXT An optional textual rendering of what is in the prompts.
- INDEXFILE has no children.
- the DTMF tag should only be used as a child tag under PLAY. The purpose of this tag is to allow the IVR application to send an in-band DTMF tone on an already established call to an
- ACD/PBX This allows the IVR application to send account numbers, etc.. and take the ACD/CTI application to a stage where the caller will not have to re-enter/repeat information before talking to a live operator.
- the DTMF tag has only one attribute:
- VALUE The tones that are to be sent (e.g.
- a PLAY DTMF combination should not be used within a MENU so that no interference between tones within a MENU will result. DTMF has no children.
- the TONEMAP element allows an IVR application to specify a mapping between tone keys entered by the caller and URLs of XML Pages to go to in response to the user input.
- a TONEMAP can exist either at the top level within a XML Page or it can be used as a sub-element of a MENU. In the first case (when specified outside a MENU), the TONEMAP has global effect in the sense that it is remembered across pages. In the second case (when specified as part of a MENU) its scope is local. Within a MENU the local TONEMAP takes precedence over the global TONEMAP for TONEs (see below) which are in conflict between the two maps.
- TONEs in the global TONEMAP that do not have any conflict with a local TONEMAP, such TONEs will have the same effect as for the global case, even within the MENU.
- the applicable TONEMAP After a MENU is exited, the applicable TONEMAP reverts to the applicable global TONEMAP.
- TONEMAP may have a TONE child element, which may be used to specify the mapping between one tone key and the URL from which to fetch the next page.
- TONE has the following attributes. The first (TONEID) is required. One out of the second or third attributes must also be entered.
- REPEAT Value must be MENU. This allows control to go back to the PLAY at the beginning of the
- the VOICEMAP element allows an IVR application to specify a mapping between certain voice inputs received from a caller and URLs of XML Pages to go to in response thereto.
- a VOICEMAP can exist either at the top level within an XML Page or it can occur as a sub- element of a MENU.
- the VOICEMAP In the first case (when specified outside a MENU), the VOICEMAP has global effect in the sense that it is remembered across pages (e.g., any time a caller says "operator", a certain URL's XML Page may be accessed to transfer control to an operator).
- the second case when specified as part of a MENU its scope is local.
- the local VOICEMAP takes precedence over the global VOICEMAP for PHRASEs (see below) which are in conflict between the two maps.
- PHRASEs in the global VOICEMAP that do not have any conflict with the local VOICEMAP, they have the same effect as for the global casse, even within the MENU.
- the applicable VOICEMAP reverts to the global VOICEMAP.
- VOICEMAP may have a PHRASE child element, which specifies the mapping between one voice command (phrase) and the URL from which to fetch the next XML Page in response thereto. It has two attributes, both of which are required.
- SRC A voice recognition file or a voice grammar file.
- the EXCEPTIONMAP element may be used to specify a mapping between certain exceptions (for example a timeout) and the URLs of the XML Pages to fetch in the case of such an event.
- an EXCEPTIONMAP can be either global (when it occurs at the top level as a sub-element of an XML Page) or local (as a sub-element of FIELD or MENU) in scope.
- the local EXCEPTIONMAP takes precedence over the global EXCEPTIONMAP for EXCEPTIONS (see below) which are in conflict between the two maps.
- EXCEPTIONS in the global EXCEPTIONMAP that do not have any conflict with the local EXCEPTIONMAP, they still have the same effect as for the global case, even within the FIELD or MENU. After the FIELD or MENU is exited, the applicable EXCEPTIONMAP reverts to the global EXCEPTIONMAP.
- the EXCEPTIONMAP may have EXCEPTION children elements, which specify the mappings between exceptions and the URL from which to fetch the corresponding pages, if such exceptions are encountered.
- EXCEPTION has three possible attributes: EVENT, which is required; HREF, which is required for a global EXCEPTIONMAP; and REPEAT, which may be used in place of HREF for an EXCEPTIONMAP within a MENU or FIELD.
- TOOFEWDIGITS - applicable in FIELDs The number of digits entered by the caller is less than expected.
- REPEAT Value can be "MENU” or "FIELD” for an EXCEPTIONMAP specified within a MENU or FIELD. This allows control to go back to the PLAY at the beginning of the MENU/FIELD in case the EXCEPTION occurred.
- An EXCEPTION can be raised at any time and it may be a completely asynchronous event (e.g., where the caller hangs up suddenly). Therefore it is useful to specify a default global EXCEPTIONMAP in one of the very first XML Pages sent by the IVR application.
- the MENU element offers an IVR application the ability to have a POP server play a message and then collect a caller's selection (from a menu of choices) and fetch a new XML Page based on such selection.
- the caller can make his/her selection by either entering a tone key or speaking a word or phrase (if voice recognition is supported).
- MENU has one attribute:
- MAXREPEATS (optional) The maximum number of times control can return to the beginning of the MENU. To prevent infinite loops, control goes to the HREF specified in the XML Page tag specified at the top of the page if a REPEAT exception is encountered more than MAXREPEATS times in succession. Note, MAXREPEATS also applies to the case where control goes back to a FIELD tag by virtue of using an A (anchor) label.
- MENU can have the following children: PLAY, TONEMAP, VOICEMAP, and EXCEPTIONMAP.
- TONEMAP and VOICEMAP should be present.
- PLAY should include a PAUSE sub-element to specify a timeout within which it expects the caller to enter a tone or provide a voice input. If the caller enters no tone/voice input within the timeout period, control may go to the HREF specified in the TIMEOUT EXCEPTION. If no TIMEOUT EXCEPTION is specified in the local EXCEPTIONMAP, the global EXCEPTIONMAP is consulted.
- a FORM element may be used to instruct the POP server to collect information (e.g., multi-key inputs or voice recordings) about a number of FIELDS and then send the information back as NAME, VALUE pairs to the HREF specified in the FORM.
- information e.g., multi-key inputs or voice recordings
- a FORM can have the following attributes (only HREF is required):
- This URL will typically be a binary program or a perl, Java or ASP script.
- METHOD (optional) GET or POST. Specifies whether the data is sent to the URL as a query-string or as standard input.
- the URL of a file (e.g., a .vox file) to play while the data submitted in the FORM is being processed by the IVR application.
- the file will typically contain a message like "please wait while we process your input”. If the SRC attribute is not included, the caller will hear silence while the POP server is waiting for the IVR application to send the next XML Page after processing the FORM data.
- SUBMIT PARTIAL (optional) This specifies whether the FORM should be submitted to the IVR application if the caller hangs up after filling out some or all of the fields and does not remain on-line to interact with the IVR application. Possible values are:
- COMPLETE_ONLY send values only if all fields have been filled
- LAST_FIELD_HUP send values if all the fields have been filled in and the caller is still interacting with IVR or the caller hangs up while entering data (or recording voice) for the last field
- POSTHREF (optional - for voice fields only). This is the URL of an application that will receive the voice recording files.
- the voice file that contains a message recorded by the caller is POSTed by the POP server at a later time, determined by a network manager.
- the manager (which may be a software application) ensures that not too much of the available network bandwidth is consumed in transporting the voice recording files.
- POSTHREF URL should contain within the query string the following:
- a FORM may have one or more FIELD children, which allow the POP server to collect information (e.g., multi-key input or voice recordings) for a single named field according to certain rules specified in the INPUT sub-element.
- a FIELD has the following attributes:
- MAXREPEATS (optional) The maximum number of times control can go back to the beginning of the FIELD. To prevent infinite loops, control goes to the HREF specified in the XML Page tag specified at the top of the page, if a REPEAT exception is encountered more than MAXREPEATS times in succession. Note that MAXREPEATS also applies to the case where control goes back to the FIELD tag by virtue of using the A (anchor) label.
- a FIELD should always be composed of a triplet consisting of the following sub-elements: PLAY, INPUT, and EXCEPTIONMAP
- the INPUT element specifies the rules for the telephony interface at the POP server for collecting input for a FIELD. It can have the following attributes:
- NAME The name of the variable in which to collect the caller's input. For VOICE input, the value of
- NAME (in the NAME,VALUE pairs sent back by the FORM) is either the FILENAME returned in the RECFILE tag by the application, or is the
- NAME in the NAME,VALUE pairs sent back by the FORM
- NAME in the NAME,VALUE pairs sent back by the FORM
- TYPE (optional) TONES or VOICE or EITHER to indicate the type of expected input.
- MINDIGITS (Optional) Minimum number of digits required for the field (not valid for voice).
- MAXDIGITS (optional) Maximum number of digits that can be entered for this field (not valid for voice). Add 1 for the ACCEPT key if so specified.
- ACCEPT (optional) The tone key which signals the end of a user's input (e.g. "#" ).
- MAX IDD (optional) The maximum interdigit delay in seconds, after which the end of a user's input is implied.
- MAXSILENCE (optional) During recording of voice input, the maximum silence (in seconds) before the end of a user's input is implied.
- MAXRECLEN (optional) During recording of voice input, the maximum length of the message in seconds, that can be recorded.
- VOICEFILE_FORMAT Desired format and sampling rate for the recording file.
- the IVR application will first receive an HTTP GET request with the NAME, VALUE pairs for the different fields as specified in the INPUT NAME attributes. The values will be the names of the recording file that has been stored locally on the POP server. If necessary, the IVR application may playback the contents of the recording file to the caller. Later, the IVR application will receive multiple HTTP POST requests with the binary data of the recorded files in the contents.
- a RECFILE tag may be used by an IVR application in response to a POST request containing data for a VOICE field input. It has the following attribute:
- FILENAME Name of the file in which the POSTed voice data has been stored by the IVR application server.
- the "A" (anchor) element may be provided as a labeling mechanism in an XML Page.
- a URL can specify a target within a current or different XML Page by using #name (as in HTML). This provides the ability to direct a POP server to start parsing and executing an XML Page not at the beginning of the page but at a labeled point within the page. It can also be used as a mechanism to jump to a certain point within a current XML Page. A has one required attribute and has no children.
- the SET element allows an IVR application to set the value of a user-definable variable for later substitution by a POP server. It is a convenient mechanism to allow an IVR application to specify an association between a particular value and a particular variable name such that the POP server should substitute the variable name with the value when the IVR application uses the variable name later in the same or another XML Page.
- SET has two required attributes and no children.
- VARNAME The name of the variable.
- VALUE The value to assign to the variable.
- SET thus offers a stateless IVR application a powerful mechanism to maintain state and use session variables for any Web server environment.
- the IVR application may define and set the value of a session variable (a variable that lasts during the life-time of a current session/call) by using the SET tag.
- the value of the session variable can then be later retrieved by the application by putting the variable in the query string of the application URL that needs to use the value of the variable.
- the CREATE_LEG_AND_DIAL element may be sent by an IVR application in order to make an outbound call.
- the attributes of CREATE_LEG_AND_DIAL are:
- TELNUM The telephone number that the telephony server needs to call.
- IVRURL URL from where the conversation controller of the new leg should fetch its first XML Page after the outbound call is made and the call is answered. This can be used by the IVR application to play an audio message or to carry out other VRCL commands. This attribute can also carry a value of LEG_WAIT, in which case the new conversation controller just goes into an interruptible wait state and the person answering the phone at the called number hears silence until an interrupt causes the conversation controller to bridge the call.
- the IVRURL is not used when the BRIDGE attribute is set to YES.
- ANI (optional) The ANI that the telephony manager should send in the outgoing call.
- BRIDGE (optional) YES or NO. If YES, the new call is bridged with a call on a current LEG as soon as the new call is dialed and answered.
- the TELNUM attribute can contain commas in its value.
- a comma has two meanings inside TELNUM. The first comma (from the left) signifies that the digits to the left of the first comma will be used for dialing out and establishing the call, while the digits to the right of the first comma will be sent out as in-band DTMF tones on the established call.
- the comma(s) within the digits to the right of the first comma signify that a pause should be inserted for each comma in the DTMF tone sequence.
- TELNUM 12159090 meaning,**,90061234#" instructs the telephony server to dial 12159090 for establishing the call, pause, send ** tones, pause and send
- PLAY DTMF tags should be used by sending the created leg to
- BRIDGE NO option should be used.
- Using commas in the TELNUM field provides a convenient mechanism for combining dialing out with fixed pauses and sending some in-band DTMF tones, but it does not provide as much control as the DTMF tag.
- CREATE_LEG_AND_DIAL does not have any children. Normally a CREATE_LEG_AND_ DIAL tag will be followed by a LEG_WAIT tag (or a PLAY followed by a LEG_WAIT) in order to wait for the other leg to synchronize with this leg.
- the telephony server Upon receiving this tag, the telephony server sends a CREATE_LEG_AND_DIAL_REQ NextAction request to the CFM.
- the CFM reserves an outbound port on an appropriate telephony server (based on TELNUM), creates a new conversation controller on the telephony server and then sends a DIAL_CALL XML tag and (optionally) a BRIDGE_CALL tag to the new conversation controller to make an outbound call and bridge it to the current call.
- the global EXCEPTIONMAP is consulted and the URL corresponding to CREATE_LEG_ERROR, DIAL_ERROR or BRIDGE_ERROR is contacted, depending upon the type of error.
- the HANG_UP_AND_DESTROY_LEG element may be used by an IVR application to inform the POP server that the call on the designated leg should be terminated and the conversation controller (LEG) receiving this tag should be destroyed.
- the attributes of this element are:
- a QUEUE_CALL tag may transmitted by the IVR application to put a call on hold.
- the attributes of this tag are:
- AGENTGRP Identifies the agent group where call should be queued (e.g. SALES).
- STATUS INT URL (optional) This is the URL where the IVR should be informed about the status of the call on hold after receiving the CFC interrupt to give ICR/ACD status. (The QUEUE_ERROR exception in the global EXCEPTIONMAP will be consulted).
- ACD TELNUM (optional) This is the outbound telephone number that needs to be dialed by the telephony server to queue the call with the ACD
- ANI (optional) This is the ANI that the IVR application wants the POP server to insert into the outbound call that will be placed to the ACD or ICR. This can be either a telephone number or the string $ANI$
- USR PARAMS (optional) Information that the caller entered into the IVR system before requesting transfer to an operator. This field would contain sub-parameters and values separated by colons (":") with the different parameter-value pairs separated by commas e.g., PARAM 25, PARAM2:busy, PARAM3-.411. The names and values of the sub-parameters are translated by the ACD adapter for interpretation by the ACD.
- AGENT URL (optional) This the URL from where the LEG of the telephony server with the outbound call to the ACD should get its XML Page after the AGENT is connected. This can be used for playing some caller- related information into the agent's telephone, before the call is bridged with that of the caller.
- QUEUE_CALL can optionally have an EXCEPTIONMAP as a child.
- the QUEUE_DROP tag is sent by the IVR application when the caller and/or application decides that it is not worth continuing to hold the call and that the call should be dropped from the ACD queue. This tag has no attributes, but QUEUE_DROP can optionally have an EXCEPTIONMAP as a child.
- the identification of the QUEUE to be dropped is implicit because there can be only one queue for a conversation.
- the telephony server sends a QUEUE_DROP_REQ to the CFM upon receiving this tag.
- BRIDGE_CALL is sent by the IVR application to bridge a current call (call on a current leg) with another call on the same POP server or a call on a different gateway on a different POP gateway.
- BRIDGE_CALL has one required attribute:
- LEG_ID The identification of the other leg to be bridged with the call on the current leg. A value of ALL will bridge the call on the current leg with all other calls associated with various legs of this session.
- BRIDGE_CALL can optionally have an EXCEPTIONMAP as a child.
- An XML Page with the UNBRIDGE_CALL tag is sent by the IVR application in to break the bridge between various legs of a call.
- the attributes of UNBRIDGE_CALL are
- LEGJGD Used to identify the other leg which is to be unbridged. A value of ALL will break the bridge between the current leg's call and all other calls bridged with the current call.
- OTHERJLEGJ RL (optional) The URL from where the other leg(s) should fetch their next XML Page after being unbridged. If this attribute is omitted, the other leg(s) will continue in LEG_WAIT state and an ALERTJ EG tag will be needed to wake them up. It is assumed that one of the legs is implicitly the one receiving this UNBRIDGE_CALL tag. UNBRIDGE_CALL can optionally have an EXCEPTIONMAP as a child. After the calls are unbridged, the POP server executes the next tag following the UNBRIDGE_CALL tag or (if there is none) fetches the next XML Page from the HREF specified in the XML Page root element tag at the top of the page. If there is an error in unbridging the calls, the
- UNBRIDGE_ERROR exception is raised and the next XML page is fetched from the HREF specified in the exception.
- LEG_WAIT has no attributes and no children.
- the ALERTJLEG tag is used by the IVR to interrupt a conversation controller thread in a LEG_WAIT state and to instruct it to send an HTTP GET request to the URL specified as an attribute.
- the attributes of ALERT_LEG are:
- LEG_ID The identifier of the other leg(s) that is/are to be alerted.
- the legs to be alerted would normally be sitting in a LEG_WAIT state.
- ALERT_LEG has no children. This tag may be used, for example, after unbridging a call to alert the other leg and direct it to a specified URL.
- An END_SESSION may be used by the IVR application to destroy all LEGS of a current session and hang up all the associated calls. This gets translated into a END_SESSION_REQ NextAction request which is sent by the telephony server to the CFM. Upon receiving such a request, the CFM then sends HANGUP_CALL and DESTROY_LEG tags to all the conversation controller threads associated with the session.
- Example 1 an XML Page for playing out a welcome message and setting a global TONEMAP and EXCEPTIONMAP is presented.
- the page type and customer identifiers are specified.
- a call center server URL of "customer.com” is used as an address where the various pages are stored.
- the TONEMAP allows a caller to press a 0 at any time and get through to an operator, or to press the * key and go straight to a login menu. Also, if the caller presses an invalid key, control transfers to another XML Page, located at the specified HREF, that handles such a case. This will apply to all subsequent pages unless over-ridden by a new TONEMAP.
- the HREF attribute in each EXCEPTION specifies which XML Page to fetch next in case such an exception happens.
- the global EXCEPTIONMAP applies to all subsequent pages unless over-ridden.
- Example 2 provides an XML Page for announcing a set of choices and accepting a single tone input from a caller.
- Example 3 an XML Page for accepting a set of input fields (a Social Security Number and Password) is presented.
- a FORM element allows a caller to enter multiple FIELDs before the data is sent over to the call center. For example in the following FORM data for both the ssnum and passw FIELDs is collected before it is sent (when the end tag ⁇ /FORM> is encountered).
- Any values input by the caller for the various fields in the FORM are sent as a query- string (URL followed by ? and NAME, VALUE pairs) to the URL specified by the HREF attribute in the FORM.
- This query-string is sent when the end tag ⁇ /FORM> is encountered.
- Example 4 an XML Page for playing back a caller' s account record (e.g., an account balance) is provided.
- a caller' s account record e.g., an account balance
- Example 5 an XML Page for playing a goodbye message and transferring control back to the CFM for ending this call is provided.
- Example 6 provides an XML page for directing the CFM to transfer a call to an operator.
- the CFM is a software component which executes on a server in the VIN and facilitates communication between the call center IVR application and the POP gateway server. There need not be any direct interaction between the CFM and the IVR application (and whether they reside on the same computer platform or different platforms is not important). Instead, these applications may communicate directly with the POP server. When control needs to be transferred from the CFM to the IVR application, the CFM sends an XML Page to the POP server with the next HREF pointing to the IVR application's URL.
- the IVR application when it needs to send control back to the CFM, it directs the POP server to request the next XML Page from a URL associated with the CFM. Any parameters that need to be passed are sent as name/value pairs in query- strings after the URL name in the HTTP request. This is explained in more detail with the help of specific examples below:
- the CFM may return an XML Page to the POP server indicating whether the call should be accepted or rejected (depending upon the availability of certain resources). If the call is to be accepted, the URL of the customer's IVR application is included in the (ACCEPT_CALL) XML Page, together with a SESSION ID to be included in all future communications between the POP server and the customer's IVR application.
- ⁇ ivr-url> is the IVR application's URL sent to the POP server by the CFM in the ACCEPT_CALL page
- ⁇ sessionid> is the SESSIONID sent to the POP server by the CFM in the ACCEPT_CALL page
- ⁇ did> is the called number for the incoming call
- ⁇ ani> is the caller's number in the incoming call
- the IVR application is in control and directs what prompts and choices the POP server must present to the caller with the help of XML Pages (such as those provided in Examples 1 - 6 above) with the appropriate tags.
- the SESSIONID is included as part of the query-string for each HTTP request from the POP server and as an attribute in the XML Page tag in each XML Page sent by the r R application. DID and ANI need not be included in the query-string of any HTTP request from the POP server except the first.
- NEW_SESSION_REQ is an interrupt is sent by a Web application (e.g., Click-to-talk) to a CFM to prompt the CFM to start a new session.
- the parameters for this request are: IVRURL: The URL that should be part of a subsequent CREATE_LEG_REQ interrupt to a POP server. This tells the POP server from where it should fetch its next XML Page after a new conversation has been started.
- TELNUM is used to help the CFM identify the POP server (and gateway) on which the new conversation should be started.
- NUM_LINES specifies the number of outbound telephone lines that need to be reserved for this session. For click-to-talk applications, this number will always be 2. The second phone number needed in a click-to-talk application should be carried inside the customer application's IVRURL.
- APP_NAME identifies the application for which this action is desired. This helps the CFM front-end identify the CFM process to which this request should be presented.
- FAILURE_URL specifies the URL that should be used to inform components of the VIN that a failure occurred in executing the NEW_SESSION_REQ.
- the response to the NEW_SESSION_REQ interrupt should be an XML Page containing a single RESPONSE tag with a RESULT attribute indicating success or failure.
- the HREF attribute in the XML Page header should be null ("").
- An END_CALL query string may be sent by a POP server to a CFM in response to either a normal hang-up by the IVR application/caller or an error situation that cannot be otherwise handled (e.g., such as when the IVR server goes down) and there is no option except to end the call.
- the POP server may send the following query string to the CFC, depending upon the value set in the IVR_ERROR exception of the CC_EXCEPTIONMAP (the POP server should already have set the values of $last-error$, $error-url$ and $last-error-string$ by then):
- This communication starts as soon as an incoming call is presented at the POP server, and, through a DID-to-CallMgrURL translation using a central lookup server at a Network Operations
- the POP server learns the URL of the CFM.
- the POP server sends information about the request in the form of NAME, VALUE pairs in the query-string of the
- the CFM returns responses in the form of XML Pages with appropriate elements.
- the following elements/tags are available to the CFM for such call control responses.
- LEG_WAIT tag introduced above may also be used for communications between the POP server and the CFM. So too are the BRIDGE_CALL and UNBRIDGE_CALL tags used.
- the only difference for the CFM is that it cannot use a LEG_ID of ALL. It must specify one and only one LEG_ID explicitly to bridge and/or unbridge the call.
- An "XMLPage” element is the root element for every XML Page used by the CFM for communication with the POP server. It can have the following attributes:
- TYPE can take on a value of CC or IVR.
- the CFM uses value CC (call control).
- CUSTID identifies the customer
- PAGEID (optional) identifies the page itself
- SESSIONID an identifier for identifying the particular session with the caller
- Each XMLPage represents a response to a call control request by the POP server.
- the possible children (sub-elements) of XMLPage are: ACCEPT_CALL; LEG_WAIT; RESPONSE; DIAL_CALL;
- BRIDGE_CALL UNBRIDGE_CALL; HANGUP_CALL; DESTROY_LEG; REJECT_CALL; END_CALL; MAKE_OUTCALL; SET; CC_EXCEPTIONMAP; EXCEPTION; AND IMMEDIATE ⁇ RANSFER.
- the ACCEPT_CALL element is used by the CFM to alert the POP server that the resources are available for an incoming telephone call and that the POP server should accept the call.
- the attributes of this element are:
- RINGS (optional) An attribute to control the number of rings in the ringback before answering the call. As rings as necessary are played until the first XML Page from the IVR application is received.
- UNIT (optional) value can be SEC or NUMBER to indicate the units of RINGS.
- XML Page should be fetched by the POP server after it has answered the call.
- This XML Page tag is sent in response to a request from the POP server when an incoming call comes in.
- the request to the URL of this page should contain the DID and, if available, the ANI of the incoming call as part of the query-string.
- the ACCEPT_CALL response page returns a SESSIONID, which is the unique identifier for the session created by the CFM. All future requests from the POP server to the CFM (as well as the IVR application) should carry the SESSIONID instead of the DID and ANI.
- ACCEPT_CALL does not have any sub-elements as children.
- the XML Page containing the ACCEPT element should also include a CC_EXCEPTIONMAP containing an IVR_ERROR_EXCEPTION to handle non-recoverable IVR errors.
- the CCJEXCEPTIONMAP is a global map and should be placed before any ACCEPT tag.
- the RESPONSE tag is sent by the CFM or a POP server in response to an interrupt request (see above). It indicates whether the action requested by the interrupt was successful or not, and if a failure the reason for the failure. RESPONSE has two required attributes and no children.
- DIAL_CALL (optional) - in case of FAILURE, the possible values are UNKNOWNJREQ, INVALID_PARAMETERS, NO_RESOURCES
- An XML Page with a DIAL_CALL tag may be transmitted by the CFM in response to a request by the IVR and other applications to make an outbound call.
- the attributes of DIAL_CALL are:
- ANI (optional) the ANI that telephony manager should send in the outgoing call. This value is specified by the application in QUEUE_CALL tag
- a HANGUP_CALL element is used by the CFM to inform the POP server that the call on the leg receiving this tag should be terminated.
- the attributes of this element are:
- the HANGUP_CALL tag differs from the END_CALL tag in that it does not destroy the conversation controller associated with the dropped call.
- the HANGUP_CALL tag may be followed by a DESTROY_LEG tag if no more calls are to be made on the associated conversation controller or it may be followed by another DIAL_CALL to make another outbound call. HANGUP_CALL does not have any sub-elements.
- the DESTROY_LEG element is used by the CFM to inform the POP server that a conversation controller should be terminated.
- the attributes of this element are:
- DESTROY_LEG does not have any sub-elements. Even though it is expected that DESTROYJLEG would be preceded by a HANGUP_CALL tag if there is an active call on the leg, in case the conversation controller does receive a DESTROY_LEG without a preceding HANGUP_CALL then it should do the necessary cleanup needed to destroy this leg.
- a REJECT_CALL element is used by the CFM to inform the POP server that the resources for the call have not been allocated and that the POP server should reject the incoming call by presenting a busy signal.
- the attributes of this element are:
- REJECT_CALL does not have any sub-elements.
- An END_CALL element may be used by the CFM to inform the POP server that the call should be terminated.
- An XML Page with this tag is sent in response to a request to the CFM from the POP server to end the call.
- the attributes of this element are:
- CALLER_REQ This tag is also sent back by the CFM to the POP server when an inbound or outbound call has already terminated (see MAKE_OUTCALL below).
- the CFM cleans up and decrements its resource usage count after sending this tag to the POP server.
- END_CALL does not have any sub- elements.
- An XML Page with a MAKE_OUTCALL tag is sent by the CFM in response to a request by an IVR application to make an outbound call and bridge the caller' s incoming call to this outbound call.
- TELNUM ⁇ tel-num>, where ⁇ telnum> is replaced by the telephone number that the IVR application wants the POP server to call and $sessionid$ is replaced by the session ID that was created when the inbound call first came in.
- HREF call flow conductor URL to notify (when the outbound finally ends) if the call is successful
- CC_EXCEPTIONMAP specifies a mapping between certain call control exceptions and the URLs of the XML Pages to fetch if such an exception happens.
- a CC_EXCEPTIONMAP with the IVR_ERROR EXCEPTION should be included before any ACCEPT tag in the first XML Page from the CFM.
- CC_EXCEPTIONMAP with the OUTCALL_ERROR EXCEPTION should be included within the MAKE_OUTCALL and IMMEDIATEJTRANSFER tags.
- the EXCEPTIONMAP may use the child element EXCEPTION to specify the mapping between an exception and the URL from which to fetch the next Page, in case such an exception is encountered.
- EXCEPTION has two required attributes:
- IVR_ERROR indicates an unrecoverable IVR application error.
- the first XML Page from the CFM (that includes an ACCEPT tag) should include a CC_EXCEPTIONMAP with the IVR_ERROR event and this should be placed before the ACCEPT tag.
- OUTCALL_ERROR indicates that the attempt to dial a call failed.
- An XML Page with the MAKE_OUTCALL or IMMEDIATEJTRANSFER tag should include a CC_EXCEPTIONMAP with the OUTCALL_ERROR event.
- a SET tag allows the CFM to set the value of a variable for later substitution by the POP. It is a convenient mechanism to allow the CFM to indicate to the POP server that the POP server should associate a particular value with a particular variable name and that the POP server should substitute the variable name with the value when the CFM uses the variable name later in the same or another XML Page.
- SET has two required attributes and no children.
- VARNAME The name of the variable.
- VALUE The value to be assigned to the variable.
- the IMMEDIATEJTRANSFER element is used by the CFM to redirect an incoming call to an operator by making an outbound call and bridging it to the incoming call. This comes in handy if the IVR application server is down for some reason.
- the attributes of IMMEDIATEJTRANSFER are:
- IMMEDIATEJTRANSFER has one child element - CC_EXCEPTIONMAP.
- Example 7 an XML Page for directing a POP server to accept an incoming call is presented.
- This Page is sent in response to a new-call indication from the POP server.
- This indication is usually the first request sent by the POP server to the CFM for a newly arrived call.
- the CFM After allocating resources for a proxy call to the ACD, the CFM returns this Page to the POP server.
- the Page contains, in the SESSIONID attribute, the address of the call structure reserved by the CFM. If the CFM finds that it is close to exhausting the available ports on the ACD or IVR, it can increase the number of RINGS that are given in the RINGBACK before the call is answered by the POP server.
- Such a Page may be used as the ⁇ ACCEPT_CALL> page returned by the CFM in response to the incoming call alert from the POP gateway as shown in Figure 5.
- Example 8 a call termination example is provided.
- an IVR application has decided that the caller is done and the call should be terminated.
- Example 9 an IVR application has decided that the caller needs to make an outbound call.
- the last XML Page sent by the IVR application will have an HREF which looks like the following:
- an XML Page for informing a POP server that the call has been placed in the ACD's queue, awaiting an agent with the appropriate skill set to become available, is presented.
- Such a Page may be sent by the CFM in response to a REDIRECT HTTP request (originally from the IVR server) with a query string containing information about the agent group with the right skill set.
- the CFM instructs the POP server to play a music/infomercial file to the caller while the call is on hold.
- the CALL_QUEUED element can optionally contain an indication about how long the queue is and what is likely to be the hold time.
- inbound calls may be intercepted at a local POP gateway close to the point of call origin, so as to reduce long distance charges that might otherwise be incurred.
- the CFM In response to the notification from the POP gateway, the CFM returns an ⁇ ACCEPT_CALL> page, directing the POP gateway to the appropriate URL to fetch instructions form the IVR. Following this direction, the POP gateway begins an exchange with the IVR application, which provides instructions for handling the inbound call. For example, the IVR may provide instructions regarding data collection from the user that can be prompted using specified menus, as discussed above.
- the IVR may instruct the POP gateway to request that a proxy call be placed in the call center' s ACD, with the point being to ultimately connect the caller to an operator at the call center. As shown in the diagram this may be done using the CREATE_LEG_AND_DIAL command described above.
- the specified TELNUM is the number to be dialed to reach the call center. In other cases, this instruction may go to a premises gateway server at the call center.
- the gateway server passes a request to the CFM to initiate the proxy call and, in response, the CFM opens a dialog with the requesting gateway to do so.
- the XML command may also be used to manage outbound calls from a call center, as illustrated in Figure 7.
- the IVR initiates the process by asking the CFM to establish a new call session for a call to an identified telephone number (npa) nxx-xxxx.
- the CFM determines an appropriate local POP gateway and begins a call set-up dialog, the POP gateway is instructed too place an outbound call to the specified telephone number, using the DIAL_CALL command.
- the CFM hands over control to the IVR (by passing the POP gateway an appropriate URL from which to fetch a Page) and the IVR can then provide the POP gateway with appropriate called-party interaction instructions.
- Figure 8 is a functional diagram of a virtual intelligent network system in accordance with at least one embodiment of the present invention wherein the end user 116 is connected to the business call center 150 via an originating Local PSTN 106, a Long Distance Network 114 and a terminating Local PSTN 106.
- the VIN includes of one or more POP call center gateway servers 146 distributed at one or more points of presence 152 close to the points of call origination. These POP call center gateway servers 146 are connected by one or more call center networks 148 to the Premises call center gateway servers 142 at one or more business call centers 150.
- the call center networks 148 are connected to one or more applications web application servers 154 which host user specified applications, such as the CFM and IVR applications, on behalf of the multiple business call centers 150.
- the POP call center gateway server 146 is further connected to a switched or dedicated access public telecommunications network 114 enabling long distance voice communications with connected premises call center gateway servers 142.
- a business call center 150 may belong to a plurality of business call centers, distributed over a wide area, and may include of one or more premises call center gateway servers 142, one of which would be dynamically selected by the CFM application at the time of handling of an incoming call at a POP call center gateway.
- POP gateway 166 under the direction of the CFM, intercepts and answers inbound calls at or near the point of call origination.
- POP gateway 166 provides automated services with the CFM-specified interactive voice response applications, holds and queues a call until instructed to transfer the call to the premises call center gateway 164 at the call center 150 when appropriate operators are available to service the call, and/or plays music or customized announcements to the caller, while the call is on hold.
- the CFM application may issue a command to a premises call center gateway 164 to originate a proxy call at the call center 150 and to monitor the progress of the queued call.
- the premises call center gateway 164 is selected by the CFM using call specific information such as ANI and DNIS or caller account information that is provided by the IVR application deployed on Web server 154, to intelligently choose the best matching answering resource. Then, when the premises call center gateway 164 so alerts the CFM, the CFM directs the POP call center gateway 166 to route the locally queued call to the premises call center gateway 166 just-in-time before an operator answers the call.
- call specific information such as ANI and DNIS or caller account information that is provided by the IVR application deployed on Web server 154
- the premises call center gateway 164 responds to the CFM command and generates proxy calls to the premises call center ACD.
- the premises call center gateway 164 then monitors the progress of proxy calls within the ACD for operator availability, communicates with the CFM for just-in-time call delivery to the selected operator and bridges the call between the POP call center gateway 166 and the premises ACD.
- the network operations center (NOC) 156 may host a database that can be accessed by the CFM and/or other resources of the VIN to lookup called numbers. In this way, intelligent called routing may be provided.
- a virtual intelligent network is a virtual private network connecting multiple POP call center gateways 166, one or more premises call center gateways 164, all of which may belong to a single business call center 150, and one or more web application servers 154 that host user-specified applications, such as CFM and IVR application for that business call center, through a call center network 148.
- a virtual private network offers connection and transport protocols such as Asynchronous Transfer Mode (ATM), Frame Relay or Internet Protocol (IP) for secure and private data communications between connected entities with optional quality of service guarantees.
- ATM Asynchronous Transfer Mode
- IP Internet Protocol
- each POP call center gateway 166 can be part of multiple such call center networks 148, one for each business call center 150 served, all connected to one or more web application servers 154 for the business call centers 150.
- POP call center gateways 166 use a call center network 148 to connect to corresponding premises call center gateways 164 and to access appropriate interactive voice response applications under the direction of the CFM for a respective business call center.
- the XML commands described above may be stored on any computer-readable media (e.g., CD- ROM, floppy disk, etc.) and/or may be transported as electrical or other (e.g., light, microwave, etc.) signals on a media interconnecting elements of the VIN.
- any computer-readable media e.g., CD- ROM, floppy disk, etc.
- electrical or other signals e.g., light, microwave, etc.
- the VIN extends an enterprise network (e.g., the business call center discussed above) to the edge of an access network in a manner that is transparent to the enterprise network and independent of the underlying media transport mechanisms.
- Network 200 includes a number (N) of access networks 202, at the edges of which are provided gateways 204.
- the gateways 204 may be similar to the POP call center gateways discussed above.
- Each access network 202 may serve as a local access network to a number of users 206.
- the access networks 202 may be local loop network (wireless or wireline), cellular telephone networks (analog or digital), digital networks (e.g., IP, ATM, frame relay, etc.), or other access networks.
- the access networks 202 may be communicatively coupled to one or more enterprise networks (e.g., business call centers, office computer networks, intra-nets, etc.) 208, via an interexchange network (INX) 210 and/or an IP network 212.
- IX interexchange network
- IXN 210 may be a long distance or other telecommunications network operated by an interexchange carrier and may use conventional time division multiplied (TDM) transport mechanisms, analog or digital switched communication transport mechanisms, voice-over-IP, voice-over-ATM, voice-over-frame relay, or any other circuit switched or other underlying transport and/or communication mechanisms to carry voice calls and/or data communications.
- TDM time division multiplied
- the IP network 212 may include the CFM server described above.
- gateways 208 Through the control of local applications executed at the gateways 204, for example under the control of IVR and/or CFM servers as discussed above, the functionality of the gateways 208 is delivered to the edges of the access networks 202. Thus, users 206 may be provided with services without having to incur expenses associated with transport and/or connection access IXN 210.
- multiple gateways 208 (which need not be associated with the same business entity) can share the gateways 204, with each having control over applications to be executed at the gateways 204 through the XML control processes discussed above, because such control processes make use of the IP network 212, these control processes also avoid fees associated with the use of IXN 210.
- the present VIN also allows for easy end-to-end call routing.
- an enterprise network may provide destination address information to a gateway 204 to allow for transport of an incoming call over an IP or other digital network.
- IP IP
- a gateway 204 may provide destination address information to allow for transport of an incoming call over an IP or other digital network.
- an incoming call will be associated with an POTS dialed number.
- a network based on IP, ATM, frame relay, etc. must have an associated address (e.g., an IP address, VP/VCI, DLCI, etc., as the case may be) in order to route the call.
- the gateway 204 can be provided with such an address to provide call routing over such a network, perhaps even directly to an IP end-point (e.g., an IP phone).
- IP end-point e.g., an IP phone
- the present VIN separates call management from media management to efficiently use VOIP (VOATM, VOFR, etc.) as a voice (or other data) transport mechanisms. Accordingly, because of the general nature of present VIN and the multiple applications afforded thereby, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43037899A | 1999-10-29 | 1999-10-29 | |
US430378 | 1999-10-29 | ||
PCT/US2000/041354 WO2001035617A2 (en) | 1999-10-29 | 2000-10-20 | Distributed call center with local points of presence |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1260088A2 true EP1260088A2 (en) | 2002-11-27 |
Family
ID=23707308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00989668A Withdrawn EP1260088A2 (en) | 1999-10-29 | 2000-10-20 | Distributed call center with local points of presence |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1260088A2 (ko) |
JP (1) | JP2004500754A (ko) |
KR (1) | KR20020082459A (ko) |
AU (1) | AU2614801A (ko) |
CA (1) | CA2389075A1 (ko) |
WO (1) | WO2001035617A2 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201649B4 (de) * | 2002-01-17 | 2005-02-17 | Siemens Ag | Anordnung zur Überwachung von Komponenten in einem Kommunikationsnetz |
US20030212558A1 (en) | 2002-05-07 | 2003-11-13 | Matula Valentine C. | Method and apparatus for distributed interactive voice processing |
US6839422B2 (en) * | 2002-07-18 | 2005-01-04 | Newstep Networks, Inc. | Method and apparatus for providing local call treatment discrimination for selected calls on a switched telephone network |
WO2004021688A1 (en) * | 2002-08-30 | 2004-03-11 | Telefonaktiebolaget L M Ericsson | Intelligent peripheral for speech recognition in networks |
EP1401182A1 (de) * | 2002-09-20 | 2004-03-24 | Siemens AG | Anwesenheitsanrufzentrale für abgehende Anrufe |
US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
KR100612440B1 (ko) * | 2003-12-19 | 2006-08-16 | 삼성전자주식회사 | Cti시스템에서의 컨택 센터간 호 및 데이터 연계 방법및 그 시스템 |
US7418092B2 (en) * | 2004-03-08 | 2008-08-26 | Alto Ventures, Inc. | Virtual call center |
JP4350001B2 (ja) | 2004-08-17 | 2009-10-21 | 富士通株式会社 | ページ情報収集プログラム、ページ情報収集方法、及びページ情報収集装置 |
US8379830B1 (en) | 2006-05-22 | 2013-02-19 | Convergys Customer Management Delaware Llc | System and method for automated customer service with contingent live interaction |
US7809663B1 (en) | 2006-05-22 | 2010-10-05 | Convergys Cmg Utah, Inc. | System and method for supporting the utilization of machine language |
US8755372B2 (en) | 2009-04-27 | 2014-06-17 | Five9, Inc. | Secure customer service proxy portal |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528678A (en) * | 1993-12-27 | 1996-06-18 | At&T Corp. | Revertive calling automatic call distributor |
US5771275A (en) * | 1996-12-17 | 1998-06-23 | Telefonaktiebolaget Lm Ericsson | Use of ISDN to provide wireless office environment connection to the public land mobile network |
US6104802A (en) * | 1997-02-10 | 2000-08-15 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
CA2303840A1 (en) * | 1997-09-18 | 1999-04-22 | Patrick K. Brady | System and method for integrating voice on network with traditional telephony |
AU1371599A (en) * | 1997-10-31 | 1999-05-24 | Iota Industries Ltd. | Information component management system |
-
2000
- 2000-10-20 JP JP2001537239A patent/JP2004500754A/ja not_active Withdrawn
- 2000-10-20 CA CA002389075A patent/CA2389075A1/en not_active Abandoned
- 2000-10-20 EP EP00989668A patent/EP1260088A2/en not_active Withdrawn
- 2000-10-20 KR KR1020027005486A patent/KR20020082459A/ko not_active Application Discontinuation
- 2000-10-20 WO PCT/US2000/041354 patent/WO2001035617A2/en not_active Application Discontinuation
- 2000-10-20 AU AU26148/01A patent/AU2614801A/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO0135617A2 * |
Also Published As
Publication number | Publication date |
---|---|
JP2004500754A (ja) | 2004-01-08 |
AU2614801A (en) | 2001-06-06 |
WO2001035617A2 (en) | 2001-05-17 |
WO2001035617A3 (en) | 2002-09-12 |
KR20020082459A (ko) | 2002-10-31 |
CA2389075A1 (en) | 2001-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU759578B2 (en) | Point-of-presence call center management system | |
US6324276B1 (en) | Point-of-presence call center management system | |
US6831966B1 (en) | Multi-tenant, multi-media call center services platform system | |
US7894592B2 (en) | Automated operator assistance with menu options | |
US7221753B2 (en) | Method and system for providing network interactive voice response with intelligent call routing integration | |
US8428047B2 (en) | Enterprise contact server with enhanced routing features | |
US7907598B2 (en) | Method for implementing and executing communication center routing strategies represented in extensible markup language | |
US7411939B1 (en) | Methods and apparatus for providing communications services between connectionless and connection-oriented networks | |
US7286521B1 (en) | Localized voice over internet protocol communication | |
US20050232173A1 (en) | System and method for servicing calls originating via the Internet | |
EP1260088A2 (en) | Distributed call center with local points of presence | |
US6785741B1 (en) | Call director system and method | |
US20050025127A1 (en) | Method and apparatus for communication web services | |
AU5038500A (en) | Enterprise contact server with enhanced routing features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20020517 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: SUNDARAM, MUKESH Inventor name: UPPALURU, PREM |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: TELERA, INC. |
|
17Q | First examination report despatched |
Effective date: 20061005 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20070216 |