`US 20090052437Al
`
`c19) United States
`c12) Patent Application Publication
`Taylor et al.
`
`c10) Pub. No.: US 2009/0052437 Al
`Feb. 26, 2009
`(43) Pub. Date:
`
`(54) SYSTEM AND METHOD FOR DYNAMIC
`TELEPHONY RESOURCE ALLOCATION
`BETWEEN PREMISE AND HOSTED
`FACILITIES
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`H04L 12166
`
`(2006.01)
`
`(75)
`
`Inventors:
`
`Jonathan Robert Taylor, Orlando,
`FL (US); Ryan Stephen Campbell,
`Casselberry, FL (US); Rj Auburn,
`Orlando, FL (US); Alexander S.
`Agranovsky, Longwood, FL (US)
`
`Correspondence Address:
`DAVIS WRIGHT TREMAINE LLP - San Fran(cid:173)
`cisco
`505 MONTGOMERY STREET, SUITE 800
`SAN FRANCISCO, CA 94111 (US)
`
`(73) Assignee:
`
`Voxeo Corporation, Orlando, FL
`(US)
`
`(21) Appl. No.:
`
`12/195,298
`
`(22) Filed:
`
`Aug.20,2008
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/957,151, filed on Aug.
`21, 2007.
`
`(52) U.S. Cl. ........................................................ 370/352
`
`(57)
`
`ABSTRACT
`
`A population of networked Application Gateway Centers or
`voice centers provides telephony resources. The telephony
`application for a call number is typically created by a user in
`XML (Extended Markup Language) with predefined tele(cid:173)
`phony XML tags and deployed on a website. A voice center
`provides facility for retrieving the associated XML applica(cid:173)
`tion from its website and processing the call accordingly. The
`individual voice centers are either operated at a hosted facility
`or at a customer's premise. Provisioning Management Serv(cid:173)
`ers help to allocate telephony resources among the voice
`centers. This is accomplished by suitably updating a voice
`center directory. In this way, the original capacity at a
`premise, predetermined by the hardware installed, can be
`adjusted up or down. If the premise is under capacity, it can be
`supplemented by that from a hosted facility. If the premise has
`surplus capacity, it can be reallocated for use by others out(cid:173)
`side the premise.
`
`PSTN
`
`PRI
`
`Access Server
`PRI <--> VoIP
`
`14
`
`INTERNET/ IP Network
`
`DIRO
`{DN} :vAPP
`
`DIR1
`vAPP(DN)
`
`HTTP
`
`vAGC
`vXML
`(Application
`HTTP
`vAPP - - - - Gateway
`Center)
`
`40
`
`44
`
`HTTP
`
`vXML
`vAPP - - - - -
`
`110'
`
`TCP/IP
`
`Other IP
`Clients or
`Servers
`
`Page 1 of 37
`
`GOOGLE EXHIBIT 1007
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 1 of 18
`
`US 2009/0052437 Al
`
`12
`
`50
`
`14
`
`PRI
`
`-----~ Conventional )
`Computer Telephony
`Server(s)
`
`PSTN Interface
`
`CTAPI
`
`CT Applications
`(e.g. Customer
`Service, Help Desk)
`
`TCP/IP
`
`Network Interface
`
`52
`
`58
`
`56
`
`54
`
`30
`
`VoIP
`Phone
`
`CTI
`PC
`
`42
`
`i
`
`(cid:143)
`
`Phones
`
`HTTP
`
`Web
`Server
`
`HTML
`APP
`
`46
`
`44
`
`Web
`Server
`
`HTML
`APP
`
`FIG. 1A
`
`(Prior Ari)
`
`Page 2 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 2 of 18
`
`US 2009/0052437 Al
`
`70
`
`l
`
`72
`
`76
`
`Long Dista::- ~
`..
`.. ........ -
`. ,...-·Long Distance
`
`PRI
`
`POP
`Call
`Center
`
`App'
`
`:
`
`66'
`
`-'--
`
`80
`
`POP
`Call
`Center
`
`BUSINESS
`Call Center
`Live Agents
`
`App"
`
`_, _ _,_ -1 -
`
`.
`:
`
`I
`66" ·
`
`App
`
`. :
`-L,
`
`66
`
`""-.
`90
`
`Virtual
`Private
`Network
`
`30
`
`FIG. 1 B
`
`(Prior Art)
`
`Page 3 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 3 of 18
`
`US 2009/0052437 Al
`
`PSTN
`
`PRI
`
`Access Server
`PRI <--> VoIP
`
`14
`
`INTERNET/ IP Network
`
`DIRO
`{DN} :vAPP
`
`DIR1
`vAPP{DN)
`
`HTTP
`
`110
`
`HTTP
`
`vXML
`vAPP
`
`vAGC
`(Application
`Gateway
`Center)
`
`HTTP
`
`vXML
`vAPP
`
`110'
`
`H.323
`
`VoIP
`
`VoIP
`
`HTTP
`
`TCP/IP
`
`40
`
`46
`Web HTML
`Server APP
`
`Other IP
`Clients or
`Servers
`
`FIG. 2
`
`Page 4 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 4 of 18
`
`US 2009/0052437 Al
`
`PROVISIONING
`For a given dialed number (ON), create an associated application
`vAPP(DN) in XML; and post the resulting webpage on the Internet
`
`Provide any media, files, web applications that will be requested or act
`on by vAPP(ON)
`
`Enter the address of vAPP(DN) in a directory OIR1
`
`Call(DN)
`
`CALL PROCESSING
`A new call to (ON) is routed to vAGC
`
`+
`
`vAGC looks up URL for the address of vAPP(ON)
`(e.g. uses ON to query DIR1 for the address of the associated vAPP)
`
`vAGC retrieves the XML scripts of the vAPP(DN)
`vAGC processes the new call by executing the retrieved XML scripts
`
`--
`---
`
`----
`
`-
`
`130
`
`132
`
`134
`
`140
`
`142
`
`144
`146
`
`FIG. 3
`
`Page 5 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 5 of 18
`
`US 2009/0052437 Al
`
`Telephones
`
`PRI
`
`H.323
`
`100"
`
`100'
`
`100
`
`vAGC
`(Application
`Gateway
`Center)
`
`vAGC
`(Application
`Gateway
`Center)
`
`vAGC
`{Application
`Gateway
`Center)
`
`(11)
`
`TCP/IP
`
`VoIP
`Phone
`
`PC
`
`15
`
`110
`
`Web
`Server
`
`vXML
`vAPP
`
`Web
`112 Server
`vXML
`vAPP
`
`112'
`
`110'
`
`DIR 1
`vAPP(DN)
`
`FIG. 4A
`
`Page 6 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 6 of 18
`
`US 2009/0052437 Al
`
`(1)
`
`(2)
`
`(3) (4)
`
`(5)
`(6)
`
`(7) (8)
`(9)(10)
`(11)
`
`(9) (10)
`
`(12)
`
`(13)
`
`A new call to a dialed number (ON) is made at a local exchange
`
`,,
`
`New call is routed to an Internet Access Server (AS)
`AS converts new call to VoIP (H.323)
`AS looks up address of a destination vAGC (Application Gateway
`Center} from a directory (DIR 1)
`AS directs New call to vAGC
`vAGC initiates a 1st session for new call
`
`+
`
`'
`
`vAGC initiates a
`2nd session with
`the destination
`PSTN node
`
`(12)
`
`'
`
`vAGC initiates a
`2nd session with
`the destination
`Internet node
`
`vAGC looks up URL for the application (vAPP} associated with the DN
`vAGC uses the URL to retrieve the XML scripts of the vAPP
`vAGC processes New call according to retrieved XML scripts
`vAGC retrieves other media files from URLs specified by XML scripts
`AND/ORj
`AND/ORj
`AND/OR!
`I y
`vAGC interacts
`(12) with other HTML
`applications or
`other backend
`processes to
`execute on-line
`transactions
`
`vAGC
`conferences 1st
`and 2nd sessions,
`thereby effectively
`routing new call to
`destination node
`
`vAGC
`(13J conferences 1st
`and 2nd sessions,
`thereby effectively
`routing new call to
`destination node
`
`FIG. 4B
`
`Page 7 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 7 of 18
`
`US 2009/0052437 Al
`
`( LEC
`.
`.
`'
`
`' -
`
`·~
`'
`:
`
`Telephones
`
`vAGC
`(Application
`Gateway
`Center)
`
`vAGC
`(Application
`Gateway
`Center)
`
`---------..
`
`vAGC
`(Application
`Gateway
`Center)
`
`TCP/IP
`
`TCP/IP
`
`HTTP
`
`Web
`Server
`
`vXML
`vAPP
`
`Web
`Server
`
`vXML
`vAPP
`
`FIG. 5
`
`DIR 1
`vAPP(DN}
`
`Page 8 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 8 of 18
`
`US 2009/0052437 Al
`
`vAGC (APPLICATION GATEWAY CENTER)
`
`100
`J
`
`Ir L--,:;.-:::--:::_ -=-.::.,:
`I
`I: r
`I Access
`I 1
`I Server(s) M"t -
`I
`I:~
`--Al-~.,14
`
`:
`
`-
`
`-
`
`-
`
`-
`
`PRI
`-
`
`-
`
`,,
`
`/130
`
`/
`
`Internet Network TCP/IP
`
`Application
`Gateway
`Server(s)
`
`/
`200 'i::;:::~=-~-=-~-~-~_~_:!.J_)
`
`Cache
`Server(s)
`
`/
`310 'c,_-_-_-_-_-_----~
`
`Media
`Conversion
`Proxy
`Server(s)
`/
`320 ~---_-_-_-_-_-_.....,__,
`
`FIG. 6
`
`Page 9 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 9 of 18
`
`US 2009/0052437 Al
`
`Media Conversion Proxy Server
`
`,,,,,-322
`
`320
`
`_,,,,,,-324
`
`Text-to-Speech
`
`Speech-to-Text
`
`_,,,-326
`
`,,,,,-328
`
`Audio
`Conversion
`
`Protocol
`Conversion
`(IMAP, SMTP, ... }
`
`FIG. 7
`
`Page 10 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 10 of 18
`
`US 2009/0052437 Al
`
`Application Gateway Server
`
`TCP/IP
`
`,,
`
`IP
`
`200
`
`/
`
`I
`TCP
`... _,_-,
`signalling 1
`RTP
`,,
`I
`,. media
`r-'-1
`Media
`I SIP I 1MGCPI Conversion
`I
`I
`I
`I
`(Native)
`._T- L7_J
`' .
`I
`~
`Computer Telephony (CT) Abstraction Layer
`
`H.323
`Stack
`
`. .
`
`210
`(
`
`--
`-
`
`.
`
`..
`
`UDP
`I
`I
`
`'
`
`,,
`
`Other CT
`Module
`
`,,
`
`Session
`Manager
`
`240-.........
`
`'--230
`
`_MicroXM!-
`-
`
`-
`
`XML
`vXML
`Parser Parser
`I
`I
`
`242 /
`
`244 /
`
`,,,,-- 220
`
`.
`
`~
`
`1/0 Abstraction Layer
`
`a
`
`~
`
`•
`
`I
`
`LIB
`
`2xx
`
`-
`
`~
`
`-
`
`-
`
`H
`
`,,
`,,...250
`Streaming
`Interface
`
`,
`
`H
`
`,,
`
`il
`
`1'
`HTTP
`
`,r
`
`File 1/0
`
`FIG. 8
`
`Page 11 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 11 of 18
`
`US 2009/0052437 Al
`
`INTERNET/ IP Network
`
`Network
`Monitoring
`Server
`
`410
`
`Update
`
`DIR 0
`vAGC(DN)
`
`Statistics
`
`vAGC 1
`
`vAGC 1
`
`vAGC n
`
`400
`
`400
`
`Monitoring
`Node 1
`
`Ping
`
`Monitoring
`Node 2
`
`Monitoring
`Node n
`
`DIR 1
`vAPP(DN)
`
`\ Ping
`\
`
`Web
`Server
`
`vXML
`vAPPm
`
`46
`
`Web
`Server
`
`vXML
`vAPP 1
`
`Web
`Server
`
`vXML
`vAPP 2
`
`FIG. 9
`
`Page 12 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 12 of 18
`
`US 2009/0052437 Al
`
`500
`
`---~-----
`
`HOSTED
`
`DIR 1
`vAPP(DN)
`
`570
`
`112-1
`
`vXML
`vAPP 1
`
`100-P1
`
`600
`
`Provisioning
`Mangement
`Servers
`
`550
`
`Update
`
`DIR O
`vAGC(DN)
`
`560
`
`FIG. 10
`
`10
`
`Page 13 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 13 of 18
`
`US 2009/0052437 Al
`
`Provisioning Management Server
`
`600
`
`/
`
`/640
`
`Manager
`
`l'-610
`
`FILE STORAGE
`
`64?._ L.,..,
`
`64t L_,...
`
`Provisioning data (DIR 0)
`Replica
`
`Provisioning and Routing
`Rules
`
`Event Monitor
`
`[\___620
`
`User Interface
`
`64§._ L.,.., Voice Application Addresses
`(DIR 1) Replica
`
`648,
`
`l'--630 - Customer Accounts
`. . . . .
`
`Directory Replicator
`
`~650
`
`/660
`
`1/0 and Network Interface
`
`,1
`
`dr
`
`FIG. 11
`
`__ o_N _ _,_ __ R_o_ut_in_g_R_u1_e_s_.....,_c_a_p_a_ci-ty......1L.--v_A_G_c_....1.I
`
`....... D
`
`DIR O DATA
`
`FIG. 12
`
`Page 14 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 14 of 18
`
`US 2009/0052437 Al
`
`550
`
`DIR 0
`vAGC(DN)
`
`560
`
`vAGC
`Rounting
`Proxy
`
`Update
`Capacity
`
`100-2
`
`/ 100-P1
`---.L..--
`
`Hosted
`vAGC1
`
`Hosted
`vAGC2
`
`Premise
`vAGCP1
`
`FIG. 13
`
`550
`
`DIR 0
`vAGC(DN)
`
`Call
`
`(from access
`server)
`
`(2)
`
`(3)
`
`100-1
`
`Hosted
`vAGC1
`
`Hosted
`vAGC2
`
`Premise
`vAGCP1
`
`FIG. 14
`
`Page 15 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 15 of 18
`
`US 2009/0052437 Al
`
`550
`
`DIR 0
`vAGC(DN)
`
`(1)
`
`560
`
`(2)
`
`vAGC
`Routing
`Proxy
`
`(4)
`
`(3)
`
`100-1
`
`100-P1
`
`Hosted
`vAGC1
`
`Hosted
`vAGC2
`
`Premise
`vAGCP1
`
`FIG. 15
`
`100-P1
`
`Premise vAGCPI
`
`574"
`
`Premise version ----------
`
`552
`
`Replication
`Agent
`
`FIG. 16
`
`570
`
`DIR 1
`vAGC(DN)
`574
`
`Host version
`
`Premise version
`
`574'
`
`Page 16 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 16 of 18
`
`US 2009/0052437 Al
`
`In a networked computer telephony system operating under the ___.)
`Internet Protocol, providing a first set of application gateway
`centers in a hosted facility and a predetermined second set of
`application gateway centers at a subscriber's premise for
`receiving and processing telephone calls
`
`710
`
`l
`Providing a directory for routing a telephone call identified by a
`720
`telephone number to an application gateway center from either L--'
`the first set or the second set, the directory designating an
`application gateway center as a function of the telephone number,
`predefined routing rules and operating capacities of individual
`application gateway centers
`
`l
`
`Updating the directory at predefined time intervals on the
`operating capacities of the individual application gateway centers
`
`___.) 730
`
`l
`
`Providing a user interface for a user to update user-specified
`routing rules in the directory
`
`L----1
`
`740
`
`l
`
`Optional (any one of STEP 742 to 759, see FIG. 18)
`
`l
`
`Routing the telephone call according to the directory
`
`_.,) 760
`
`FIG. 17
`
`Page 17 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 17 of 18
`
`US 2009/0052437 Al
`
`Wherein the user is a subscriber, and routing rules configurable
`by the subscriber include telephone calls to be preferentially
`processed by an application gateway center on premise from the
`second set and to be processed by a hosted application gateway
`center from the first set in the event of the operating capacity of
`the second set fall below a predetermined threshold
`
`__..I 742
`
`FIG. 18A
`
`Wherein the user is a host operator, and routing rules
`configurable by the host operator include telephone calls to be
`processed by an application gateway center from the second set
`in the event of the operating capacity of the first set falls below a
`predetermined threshold
`
`L-,--1 7 44
`
`FIG. 18B
`
`Wherein the user is a subscriber, and routing rules configurable L-,--1746
`by the subscriber include telephone calls each having one of a
`predefined dialed numbers must be processed by an application
`gateway center on premise from the second set for security
`reasons
`
`FIG. 18C
`
`Wherein the user is a subscriber, and routing rules configurable L-,__,I 748
`by the subscriber include telephone calls to be preferentially
`processed by a hosted application gateway center from the first
`set when the telephone calls are associated with a first predefined
`set of telephone numbers
`
`FIG. 18D
`
`Page 18 of 37
`
`
`
`Patent Application Publication
`
`Feb. 26, 2009 Sheet 18 of 18
`
`US 2009/0052437 Al
`
`Wherein routing rules configurable by the user include routing a ~ 750
`predetermined percentage of call traffic to application gateway
`centers on premise from the second set relative those from the
`first set
`
`FIG. 18E
`
`Wherein routing rules configurable by the user include basing on L---' 752
`geographical location of the call to be processed
`
`FIG. 18F
`
`Wherein routing rules configurable by the user include basing on ___,,J 754
`time schedule
`
`FIG. 18G
`
`Wherein routing rules configurable by the user include basing on ___,,J 756
`the carrier the call originates from
`
`FIG. 18H
`
`Wherein routing rules configurable by the user include avoidance ~ 758
`of predefined network routes
`
`FIG. 181
`
`Wherein the user is a subscriber, and routing rules configurable
`by the subscriber include routing from one premise to another
`
`l__,,1759
`
`FIG. 18J
`
`Page 19 of 37
`
`
`
`US 2009/0052437 Al
`
`Feb.26,2009
`
`1
`
`SYSTEM AND METHOD FOR DYNAMIC
`TELEPHONY RESOURCE ALLOCATION
`BETWEEN PREMISE AND HOSTED
`FACILITIES
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`[0001] The benefit is claimed of U.S. provisional patent
`application of Jonathan Robert Taylor, Ryan Stephen Camp(cid:173)
`bell, R J Auburn and Alex S. Agranovsky, Application No.
`60/957,151, filed Aug. 21, 2007.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates to telecommunication
`and a networked computer telephony system including the
`Internet and the Public Switched Telephone System, and
`more particularly to user-configurable allocation of tele(cid:173)
`phony resources between a hosted facility and a subscriber's
`premise.
`
`BACKGROUND OF THE INVENTION
`
`[0003] Two major telecommunication networks have
`evolved worldwide. The first is a network of telephone sys(cid:173)
`tems in the form of the Public Switched Telephone System
`(PSTN). This network was initially designed to carry voice
`communication, but later also adapted to transport data. The
`second is a network of computer systems in the form of the
`Internet. The Internet has been designed to carry data but also
`increasingly being used to transport voice and multimedia
`information. Computers implementing telephony applica(cid:173)
`tions have been integrated into both of these telecommunica(cid:173)
`tion networks to provide enhanced communication services.
`For example on the PSTN, computer telephony integration
`has provided more functions and control to the POTS (Plain
`Old Telephone Services). On the Internet, computers are
`themselves terminal equipment for voice communication as
`well as serving as intelligent routers and controllers for a host
`of terminal equipment.
`[0004] FIG. lA illustrates a typical configuration of a con(cid:173)
`ventional computer telephony server operating with a Public
`Switched Telephone Network (PSTN) and/or the Internet.
`Telephone service is traditionally carried by the PSTN. The
`PSTN 10 includes a network of interconnected local
`exchanges or switches 12. Around each exchange is provi(cid:173)
`sioned a cluster of telephone lines to which telephones,
`modems, facsimile machines may be attached. Other private
`exchanges such as Private Brach Exchange PBX 20 may also
`be connected to the PSTN to form a public/private telephone
`network. Voice or data is carried from a source node to a
`destination node on the network by establishing a circuit path
`along the PSTN effected by appropriately switching the inter(cid:173)
`connecting exchanges. The point-to-point transmission is
`therefore circuit-switched, synchronous and using a dedi(cid:173)
`cated channel affixed bandwidth (64 kbs). With the introduc(cid:173)
`tion of digital networks, the exchanges have mostly been
`upgraded to handle digital, time-division multiplexed trunk
`traffic between the exchanges. External digital communica(cid:173)
`tion systems typically communicate with the PSTN by inter(cid:173)
`facing with an exchange such as 12. A common digital inter(cid:173)
`face at the exchange is PRI (Primary Rate Interface) which is
`part of an ISDN (Integrated Services Digital Network) and is
`usually provided by a Tl or El trunk line. Depending on the
`
`bandwidth requirement of the external system, the interface
`with an exchange may require from one to a multiple of PRI
`connections.
`[0005] The Internet 30 is a worldwide interconnection ofIP
`(Internet Protocol) networks, with interconnecting computers
`communicating with each other using TCP/IP (Transmission
`Control Protocol/Internet Protocol). Some of the computers
`may also be interconnected by a private segment of the IP
`network with restricted access. On an IP network, data from a
`source node is cast into a number of packets that may indi(cid:173)
`vidually be transported via multiple paths on the network to
`be reassembled at a destination node. The transmission on the
`IP network is packet-switched and asynchronous.
`[0006] On an IP network, voice or multimedia information
`can also be digitized as data and transported over the network
`using the Internet Protocol (IP). In that case, it is generally
`referred to as VoIP or (Voice-over-IP). The VoIP protocol
`includes a number of standards. For example, one such stan(cid:173)
`dard is the H.323 standard promulgated by the ITU (Interna(cid:173)
`tional Telecommunication Union) aims to ensure VoIP
`interoperability. It provides a specification for communica(cid:173)
`tion of multimedia such as voice, data and video between
`terminal equipment over IP networks. The terminal equip(cid:173)
`ment communicating on the Internet includes personal com(cid:173)
`puters with telephony capabilities 40, VoIP phones 42 that can
`connect to the Internet directly, and other networked tele(cid:173)
`phony appliances.
`[0007]
`In recent years, the World Wide Web (WWW) has
`become a universal platform for information dissemination
`on the Internet. Web applications 44 in general and web pages
`in particular are written in HTML (HyperText Markup Lan(cid:173)
`guage) and are hosted by web servers 46 on the Internet. Each
`web page can be called up by its URL (Uniform Resource
`Locator), which can translate to an IP address on the Internet.
`These web pages may be requested and processed by a web
`browser running on a computer connected to the Internet. The
`web browser retrieves the web page under HTTP (Hyper Text
`Transfer Protocol) and parses the HTML codes on the web
`page to execute it. Typically, the execution of HTML codes on
`a web page results in rendering it into a display page on the
`browser or client computer. In other instances, it may result in
`the execution of some backend functions on the client and/or
`server computers. One reason for the widespread acceptance
`of WWW is the relative ease web applications can be created
`and deployed, and the existence of standardized web brows(cid:173)
`ers. HTML, with its tag-coding scheme, is now well kuown to
`everyone from the professional developer to the savvy end
`user. More recently, XML (Extensible Markup Language)
`has been introduced to extend HTML with enhanced features
`including customizable tags, which allow for more structural
`specification of data.
`[0008] Telephony or Computer Telephony Integration
`(CTI) involves using a computer to control and manage a
`phone or a telephone system. When applied to a phone or a
`terminal equipment, CTI provides added features to an end
`user's phone. When applied to a telephone system whether as
`part of the PSTN or part of an IP telephony network system,
`CTI is usually implemented with a CT (Computer Telephony)
`server, such as CT server 50. Such a server executes telephony
`applications that can provide custom services such as inter(cid:173)
`active voice response, customer service or help desk for an
`organization. The CT server 50 can be configured to interface
`via a PSTN interface 52 with an exchange 12 to receive and
`process calls pertaining to a predefined set of telephone num-
`
`Page 20 of 37
`
`
`
`US 2009/0052437 Al
`
`Feb.26,2009
`
`2
`
`bers on the PSTN. Similarly, it can also be configured to
`interface via an IP network interface 54 with the Internet to
`receive and process calls pertaining to a predefined set of
`telephone numbers or IP addresses. The CT server 50 is
`usually a computer operating under UNIX or Microsoft Win(cid:173)
`dows NT and is running installed customized application
`software 56 for the various voice applications. The CT server
`provides a set of API 58 (Application Program Interface)
`which is a set of procedures, protocols and tools for building
`software applications. These APis are generally proprietary
`and specific to the individual hardware manufacturers. Devel(cid:173)
`oping an application on an existing CT server would involve
`a highly specialized application developer undertaking a
`fairly complex task of coding the application in C++ or JAVA,
`programming language and employing and invoking theAPis
`specific to the hardware.
`[0009] U.S. Pat. No. 6,011,844 discloses a distributed call
`center system in which a business call center running a cus(cid:173)
`tom interactive voice response application is essentially rep(cid:173)
`licated in a number of local points of presence to reduce
`communication cost when connecting a local customer.
`[0010] FIG. 1B illustrates a Point-Of-Presence call center
`management system disclosed in U.S. Pat. No. 6,011,844.
`The system is designed to minimize long distance toll call
`when a customer 70 is calling a business call center 60. The
`business call center typically runs a customized interactive
`voice response application 66 that implements a complete
`business solution to answer, service, queue and route inbound
`customer calls. The customer 70 at a local exchange 72 will in
`general be calling long distance to the business call center 60
`that is local to a remote exchange 74. When the customer
`requests to speak to a live agent 68 at the business call center,
`his or her call is queued until an agent is available. Thus,
`during the long distance call, apart from interacting with the
`interactive voice responses, a substantial portion of time
`could be incurred while waiting to speak to an agent. To
`reduce the long distance connection time, the POP call center
`management system deploys a number of POP call centers 80
`across the Public Switched Telephone Network (PSTN) 10 so
`that a customer's call at a local exchange 72 is intercepted at
`a local POP call center 80. Each POP call center essentially
`serves as a local-presence business call center except without
`the live agent. This is accomplished by having each POP call
`center executing the application such as 66', 66" locally. The
`local applications 66', 66" can be a full replica of the appli(cid:173)
`cation 66 residing at the business call center or they can be
`partial ones with some of the resources such as voice prompts,
`menus, etc., being accessed dynamically from the application
`66 as needed. The application 66 that resides at the business
`call center is accessible by the POP call centers via an inter(cid:173)
`connecting virtual private network 90. Optionally, HTML or
`XML may be used when the POP call center access conve(cid:173)
`niently packaged units of information or application from the
`business call center across the call center virtual private net(cid:173)
`work 90. Thus, with the exception of speaking to a live agent,
`the customer's call is basically handled at a POP call center
`local to the customer. When the customer requests to speak to
`a live agent, a queue is set up at the business call center until
`an agent becomes available. Only then will the POP call
`center convert the customer's local call to a long distance call
`to the business call center. The call traffic for the interactive
`voice response portion is carried between the local exchange
`72 and a POP call center 80. The call traffic between the
`customer 70 and a live agent 68 is carried via a long distance
`
`portion 76 of PSTN, or in other disclosed embodiments, over
`the call center virtual private network 90 or the Internet 30.
`[0011] Prior computer telephony systems have infrastruc(cid:173)
`tures that do no allow easy development and deployment of
`telephony applications. The system illustrated in FIG. lA
`requires the telephony application to be hosted in a call center
`type of telephony server and requires specialized knowledge
`of the telephony hardware to develop telephony applications.
`The same is true for the system illustrated in FIG.1B with the
`variation that the call center is effectively replicated at various
`local points of presence on the global telephone network.
`[0012] Even with the deployment of telephony systems in
`hosted facilities, customers and subscribers have a need to
`install their own telephony resource on premise for economic,
`control and security reasons. Issues with capacity and equip(cid:173)
`ment failure can not be handled in an expedient manner with
`existing infrastructures.
`
`SUMMARY AND OBJECTS OF THE
`INVENTION
`
`[0013]
`It is therefore a general object of the invention to
`provide a computer telephony system that allows easy allo(cid:173)
`cation of resources for execution of telephony applications
`and call processing between premise and hosted facilities.
`[0014]
`It is another general object of the invention to pro(cid:173)
`vide an infrastructure in which users from premise or hosted
`facilities can quickly effect user-specified provisioning of
`telephony resources for controlling and managing telephone
`calls on the PSTN and the Internet.
`[0015]
`It is another object of the invention to provide an
`infrastructure in which calls are routed to be handled by one
`of a plurality of resource centers based on user-specifiable
`routing rules.
`[0016]
`It is another object of the invention to provide an
`infrastructure in which calls are routed to be handled by one
`of a plurality of resource centers based on criteria including
`the availability or capacity of the individual resource centers.
`[0017]
`It is another object of the invention to allow a cus(cid:173)
`tomer or subscriber of a telephony service to configure allo(cid:173)
`cation of resources between premise and hosted facilities so
`that the hosted facilities act as an extension and backup of the
`telephony service provided at the premise.
`[0018]
`It is another object of the invention to allow the
`resource centers to share call traffic not just between premise
`and hosted facilities, but also between multiple premise
`installations.
`[0019] According to a general aspect of the invention, a
`network system and method allows sharing of resources
`between voice application gateway centers ("voice centers")
`operated by a hosted facility and by a subscriber or customer
`on premise. In this way, a customer is able to configure the
`network system to have some calls processed on premise and
`some calls processed by the host facility. Similarly, a hosted
`facility is able to configure the network system to have some
`calls originally to be processed by the hosted facility to be
`processed by an available premise voice center. The invention
`is accomplished by a semi-real-time manipulation of a voice(cid:173)
`center directory by which a destination voice center is
`selected to process a call.
`[0020] According to one aspect of the invention, there is
`provided at least a provisioning management server with a
`user interface for a user to easily update lookup information in
`the voice-center directory. The lookup information enables a
`voice center to be selected as a function of the dialed number
`
`Page 21 of 37
`
`
`
`US 2009/0052437 Al
`
`Feb.26,2009
`
`3
`
`as well as routing rules. The user, either an operator from the
`hosted facility or a customer with premise equipment, is able
`to update the routing rules in the voice-center directory.
`[0021] According to another aspect of the invention, the
`voice-center selection function of the voice-center directory
`also depends on the degree of availability or current capacity
`of individual voice centers. This is accomplished by having
`the individual voice centers updating the voice-center direc(cid:173)
`tory regarding their current capacity at predetermined time
`intervals.
`[0022] According to another aspect of the invention, the
`network of telephony system includes a voice center receiv(cid:173)
`ing a routed call and retrieving a voice application associated
`with the dialed number and appropriate for that voice center.
`As the call can potentially be routed to any one of a number of
`voice centers, preferably there is a version of the voice appli(cid:173)
`cation appropriate for each of the number of voice centers. In
`the preferred embodiment a local network address of the
`appropriate version of the voice application is cached in each
`voice center so that the voice center can use it to retrieve the
`voice application without having to perform a look up in an
`external directory.
`[0023] By using a unified voice service providing platform
`for both premise and hosted deployments and the provision of
`near real-time user-configurable routing, premise customers
`can commit to install on premise a predefined amount of
`resources without over budgeting and yet be able to overflow
`and failover to hosted resource for unplanned call volume
`growth, peak call seasons, and disaster recovery plans.
`[0024] According to another aspect of the invention, the
`hybrid resource allocation system described also offers the
`following business advantages. It allows a service provider to
`sell premise-based telephony software and hosted telephony
`services as a combined product/service, such that the custom(cid:173)
`er's premise telephony software ports integrate seamlessly
`with the service provider's hosted telephony software ports.
`The customer will be allowed to use an online management
`console to configure and manage his premise-based software,
`making it possible for him to set parameters for how many
`calls he wants the premise system (as opposed to the hosted
`system) to take, under what circumstances to route calls
`through the hosted or premise system.
`[0025] Additional objects, features and advantages of the
`present invention will be understood from the following
`description of its preferred embodiments, which description
`should be taken in conjunction with the accompanying draw(cid:173)
`ings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0026] FIG. lA illustrates a typical configuration of a con(cid:173)
`ventional computer telephony server operating with a Public
`Switched Telephone Network (PSTN) and/or the Internet.
`[0027] FIG. lB illustrates a Point-Of-Presence call center
`management system disclosed in U.S. Pat. No. 6,011,844.
`[0028] FIG. 2 illustrates an Application Gateway Center
`(vAGC) for processing telephony applications on the Internet
`and the PSTN, according to a general scheme of the present
`invention.
`[0029] FIG. 3 is a flow diagram illustrating the setup for
`provisioning and processing voice applications according to a
`general embodiment of the present invention.
`[0030] FIG. 4A illustrates a preferred configuration of the
`inventive system with respect to the Internet and the PSTN.
`
`[0031] FIG. 4B is a flow diagram illustrating an exemplary
`call routing and processing in the preferred configuration
`shown in FIG. 4A.
`[0032] FIG. 5 illustrates an alternative preferred configura(cid:173)
`tion of the inventive system with respect to the Internet and
`the PSTN.
`[0033] FIG. 6 is a block diagram illustrating the compo(cid:173)
`nents of the Application Gateway Center.
`[0034] FIG. 7 is a block diagram illustrating schematically
`the components of the media conversion proxy server.
`[0035] FIG. 8 is a detailed block diagram of the App