U.S. patent application number 10/016338 was filed with the patent office on 2002-10-10 for session initiation protocol routing using voice cookies.
Invention is credited to Wengrovitz, Michael.
Application Number | 20020147818 10/016338 |
Document ID | / |
Family ID | 26688469 |
Filed Date | 2002-10-10 |
United States Patent
Application |
20020147818 |
Kind Code |
A1 |
Wengrovitz, Michael |
October 10, 2002 |
Session initiation protocol routing using voice cookies
Abstract
A system and method for establishing a SIP session between
calling and called end-points. A SIP server receives a SIP INVITE
request for establishing the SIP session. The SIP INVITE request
includes standard routing information in its header. The SIP server
receives the SIP INVITE request and responds by transmitting to the
calling end-point a HTML link associated with a web server. In
rendering the contents of the HTML link, the calling end-point
transmits an HTTP request to the web server including voice cookie
information. The voice cookie information may include information
gathered about the caller such as the caller profile information,
transaction information, caller intent information, or recent and
past history associated with a web site domain. The web server
forwards the voice cookies to the SIP server. The SIP server
determines an address of the called end-point as a function of the
routing information in the SIP INVITE request and the voice cookie
information. The call is then routed to the determined address
along with the voice cookies or information derived from the voice
cookies. New voice cookies may be written to the web server which
transmits these to the calling end-point within an HTTP
response.
Inventors: |
Wengrovitz, Michael;
(Concord, MA) |
Correspondence
Address: |
CHRISTIE, PARKER & HALE, LLP
350 WEST COLORADO BOULEVARD
SUITE 500
PASADENA
CA
91105
US
|
Family ID: |
26688469 |
Appl. No.: |
10/016338 |
Filed: |
December 5, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60281885 |
Apr 4, 2001 |
|
|
|
Current U.S.
Class: |
709/228 ;
428/467 |
Current CPC
Class: |
H04L 65/1104 20220501;
Y10T 428/31714 20150401; H04L 65/1101 20220501 |
Class at
Publication: |
709/228 ;
428/467 |
International
Class: |
B32B 009/00; G06F
015/16 |
Claims
What is claimed is:
1. A method for establishing a session initiation protocol (SIP)
session between a first device and a second device, the method
comprising the steps of: receiving a call establishment message
from the first device for establishing the SIP session; retrieving
information stored in the first device in response to the call
establishment message; determining an address of the second device
based on the retrieved information; and using the address for
routing the SIP session to the second device.
2. The method of claim 1, wherein the information includes
information gathered about a user of the first device.
3. The method of claim 2, wherein the information includes
information from interactions of the user with a particular web
site.
4. The method of claim 1, wherein the step of retrieving the
information comprises the step of retrieving the information by the
first device for transmitting to a web server.
5. The method of claim 4 further comprising the step of receiving
the information from the web server.
6. The method of claim 1 further comprising the step of writing new
information in the first device for use in routing future SIP
sessions initiated by the first device.
7. The method of claim 1 further comprising the step of
transmitting the retrieved information to the second device.
8. A method for establishing a session initiation protocol (SIP)
session between a first device and a second device, the method
comprising the steps of: receiving a call establishment message
from the first device for establishing the SIP session;
transmitting an address of a server to the first device for causing
retrieval of information stored in the first device; receiving the
retrieved information from the first device; determining an address
of the second device based on the retrieved information; and using
the address for routing the SIP session to the second device.
9. The method of claim 8, wherein the information includes
information gathered about a user of the first device.
10. The method of claim 9, wherein the information includes
interactions of the user with a particular web site.
11. The method of claim 8 further comprising the step of writing
new information in the first device for use in routing future SIP
sessions initiated by the first device.
12. The method of claim 8, wherein the address is associated with a
hypertext markup language link.
13. The method of claim 8, wherein the address is transmitted in a
response SIP message to the first device.
14. The method of claim 8 further comprising the step of
transmitting the retrieved information to the second device.
15. A method for establishing a session initiation protocol (SIP)
session between a first device and a second device, the method
comprising the steps of: receiving a call establishment message
from the first device; retrieving caller intent information from a
data store on the first device in response to the call
establishment message; using the caller intent information to
determine an address of the second device; and using the address
for routing the SIP session to the second device.
16. The method of claim 15, wherein the caller intent information
includes caller data.
17. The method of claim 15 further comprising the step of writing
new caller intent information in the data store for use in routing
future SIP sessions initiated by the first device.
18. A communication system adhering to a session initiation
protocol (SIP), the system comprising: a first device; a second
device; and a server operative between the first device and the
second device, characterized in that the first device transmits to
the server a call establishment message for establishing a SIP
session, the server receiving the call establishment message and in
response, causing retrieval of information stored in the first
device, the server further determining an address of the second
device based on the retrieved information and using the address for
routing the SIP session to the second device.
19. The system of claim 18, wherein the information includes
information gathered about a user of the first device.
20. The system of claim 18, wherein the information includes
interactions of the user with a particular web site.
21. The system of claim 18 further comprising a web server coupled
to the server, characterized in that the server transmits an
address of the web server to the first device for causing retrieval
of the information stored in the first device.
22. The system of claim 21, wherein the address is associated with
a hypertext markup language link.
23. The system of claim 21, wherein the address is transmitted in a
response SIP message to the first device.
24. The system of claim 21 further characterized in that the first
device retrieves the information and transmits the information to
the web server.
25. The system of claim 24 further characterized in that the web
server forwards the retrieved information to the server.
26. The system of claim 18 further characterized in that the server
transmits new information to be written in the first device for use
in routing future SIP sessions initiated by the first device.
27. The system of claim 18 further characterized in that the server
transmits the retrieved information to the second device.
28. A first server in a communication network establishing a
session initiation protocol (SIP) session between a first device
and a second device, the first server coupled to a second server,
characterized in that the first server receives a call
establishment message from the first device and in response,
transmits an address of the second server to the first device for
causing retrieval of information stored in the first device, the
server further determining an address of the second device based on
the retrieved information, using the address for routing the SIP
session to the second device.
29. The first server of claim 28, wherein the information includes
information gathered about a user of the first device.
30. The first server of claim 29, wherein the information includes
interactions of the user with a particular web site.
31. The first server of claim 28, wherein the address is associated
with a hypertext markup language link.
32. The first server of claim 28, wherein the address is
transmitted in a response SIP message to the first device.
33. The first server of claim 28 further characterized in that the
first device retrieves the information and transmits the
information to the second server.
34. The first server of claim 33 further characterized in that the
second server forwards the retrieved information to the first
server.
35. The first server of claim 28 further characterized in that the
first server transmits new information to the second server to be
written in the first device for use in routing future SIP sessions
initiated by the first device.
36. The first server of claim 28 further characterized in that the
first server transmits the retrieved information to the second
device.
37. A communication system adhering to a session initiation
protocol (SIP), the system comprising: a user device; a server
coupled to the user device, the server hosting a web site; and a
SIP server, characterized in that the SIP server initiates an
outbound call to the user device in response to user interactions
with the web site, the user device transmitting stored information
associated with the user for forwarding to the SIP server.
38. The system of claim 37 further characterized in that the SIP
server ascertains a callee based on the user information and
initiates an outbound SIP session to the callee.
39. The system of claim 38 further characterized in that the SIP
server transmits a portion of the user information to the callee in
initiating the outbound SIP session.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims the benefit of U.S. provisional
application No. 60/281,885, filed Apr. 4, 2001, the content of
which is incorporated herein by reference.
FIELD OF THE INVENTION
[0002] This invention relates generally to Internet telephony
systems, and more particularly, to intelligent call routing in
Internet telephony systems that adhere to session initiation
protocol.
BACKGROUND OF INVENTION
[0003] Session Initiation Protocol (SIP) is a signaling protocol
for creating, modifying, and terminating multimedia sessions,
including Internet telephone calls, with one or more SIP-endpoints.
Details about the SIP signaling protocol is set forth in Internet
Engineering Task Force Request for Comment 2543 entitled "SIP:
Session Initiation Protocol," March 1999 (hereinafter referred to
as RFC 2543), which is incorporated herein by reference. SIP
provides an alternative to PBX- or H.323-signaled telephony.
[0004] Although SIP end-points can directly place calls to one
another, SIP servers, including proxy and redirect servers, are
typically engaged during the call set-up process to route calls.
Such call routing includes ascertaining called end-points in
response to call establishment messages, referred to as INVITE
messages, originated by calling end-points. The INVITE messages are
either proxied to ascertained called end-points or to addresses of
ascertained called end-points which are returned to the calling
end-points.
[0005] FIG. 1A is a functional block diagram for establishing a SIP
call via a typical proxy SIP server 10. In step 30, the proxy
server 10 receives an invitation from a calling end-point 15 in the
form of an INVITE request. The INVITE request includes routing
information in the "From:", "To:", "Contact:" and other
standardized fields within the INVITE message header. The "To:"
field of the message header includes a generic SIP URL associated
with a called end-point 20.
[0006] The proxy server 10 accepts the INVITE request and in step
32, preferably engages a location server 25 for routing the call
based on the routing information in the SIP message header. In this
regard, the location server 25 retrieves the SIP URL associated
with the called end-point to resolve the URL to a more precise
address. For example, a call directed to a generic SIP URL such as,
for example, "sales@acme.com" may be resolved to a particular
person, such as, for example, "bob@ny.acme.com." The retrieved
address information is transmitted to the proxy server 10 in step
34.
[0007] In step 36, the proxy server 10 issues a second INVITE
request to the more precise address. The called end-point 20
receives the second INVITE request and alerts the user of the
request by, for example, causing the user's telephone to ring. If
the call is answered, the called end-point 20, in step 38, returns
a success indication to the proxy server 10 via an OK response. The
proxy server 10 forwards the OK response in step 40 to the calling
end-point 15. The receipt of the success result is confirmed by the
calling end-point 15 by transmitting an ACK request to the proxy
server 10 in step 42, which then forwards it to the called
end-point 20 in step 44.
[0008] FIG. 1B is a functional block diagram of an alternative
method for establishing a SIP call using a typical redirect SIP
server 47. In step 31, the redirect server 47 accepts the INVITE
request and, as the proxy server 10 of FIG. 1A, contacts the
location server 25 in step 33 for routing the call based on the
routing information in the INVITE message header. The redirect
server 47, instead of directly contacting the newly found address
received in step 35, returns the address to the calling end-point
15 in step 37. The calling end-point 15 confirms receipt of the
address via an ACK request in step 39.
[0009] The calling end-point 15 issues a new INVITE request to the
address returned by the redirect server 30 in step 41. If the call
succeeds, the called end-point 20 transmits an OK response in step
43, and the calling end-point 15, in step 45, completes the
handshake with an ACK request.
[0010] One limitation in current SIP call routing is the limited
information on the caller's intent that may be deduced from the
standard routing fields within the INVITE message headers. In order
to gather additional call intent information for routing a call,
conventional approaches often make use of interactive voice
response (IVR) systems, whereby the caller is prompted for and
provides additional information on the caller's intent through
selection of dual tone multi-frequency (DTMF) digits. For example,
a person making a call to a general address may be asked to enter
account information and select a particular department, such as
customer service, sales, or marketing department, to which the call
is then appropriately routed. Use of IVR systems to ascertain
additional caller intent information is very cumbersome and
inconvenient for the caller, and requires additional message
exchanges and database lockups, which translate into slow call
setup times.
[0011] Newer systems may employ voice recognition techniques in
response to IVR prompts to deduce the caller's intent. However,
such voice recognition systems are also cumbersome and inconvenient
for the caller, subject to error, and also yield slow call setup
times.
[0012] Accordingly, there is a need for a more efficient system and
method for ascertaining caller intent information for intelligently
routing an incoming call.
SUMMARY OF THE INVENTION
[0013] The current invention is directed to a system and method for
intelligently routing SIP sessions, also referred to as SIP calls,
using information gathered from the caller. In one embodiment, the
invention is directed to a method for establishing a SIP session
between a first device and a second device, where the method
includes the steps of receiving a call establishment message from
the first device, retrieving caller intent information from a data
store on the first device in response to the call establishment
message, using the caller intent information to determine an
address of the second device, and using the address for routing the
SIP session to the second device.
[0014] In another embodiment, the invention is directed to a method
for establishing a SIP session between a first device and a second
device, where the method includes the steps of receiving a call
establishment message from the first device for establishing the
SIP session, retrieving information stored in the first device in
response to the call establishment message, determining an address
of the second device based on the retrieved information, and using
the address for routing the SIP session to the second device.
[0015] In a further embodiment, the invention is directed to a
method for establishing a SIP session between a first device and a
second device, where the method includes the steps of receiving a
call establishment message from the first device for establishing
the SIP session, transmitting an address of a server to the first
device for causing retrieval of information stored in the first
device, receiving the retrieved information from the first device,
determining an address of the second device based on the retrieved
information, and using the address for routing the SIP session to
the second device.
[0016] In another embodiment, the invention is directed to a
communication system adhering to a SIP protocol, where the system
includes a first device, a second device, and a server operative
between the first device and the second device. The first device
transmits to the server a call establishment message for
establishing a SIP session. The server receives the call
establishment message and in response, causes retrieval of
information stored in the first device. The server further
determines an address of the second device based on the retrieved
information and uses the address for routing the SIP session to the
second device.
[0017] In another embodiment, the invention is directed to a first
server in a communication network establishing a SIP session
between a first device and a second device, the first server
coupled to a second server, characterized in that the first server
receives a call establishment message from the first device and in
response, transmits an address of the second server to the first
device for causing retrieval of information stored in the first
device. The server further determines an address of the second
device based on the retrieved information and uses the address for
routing the SIP session to the second device.
[0018] It should be appreciated, therefore, that the present
invention allows a more intelligent determination of a callee
address than when only using standard routing information. The
additional information retrieved from the calling device yields a
better understanding of the user's profile, habits, call intent and
the like, for a better determination of a most appropriate callee
to handle the call.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] These and other features, aspects and advantages of the
present invention will be more fully understood when considered
with respect to the following detailed description, appended
claims, and accompanying drawings where:
[0020] FIG. 1A is a functional block diagram of establishing a SIP
call using a typical proxy SIP server;
[0021] FIG. 1B is a functional block diagram of an alternative
method for establishing a SIP call using a typical redirect SIP
server;
[0022] FIG. 2 is a schematic block diagram of a communication
system adhering to a session initiation protocol according to one
embodiment of the invention;
[0023] FIG. 3 is a functional block diagram for establishing a SIP
call based on voice cookie information using a proxy SIP
server;
[0024] FIG. 4 is a functional block diagram for establishing a SIP
call based on voice cookie information using a redirect SIP
server;
[0025] FIG. 5 is a functional block diagram for determining address
information based on pulled voice cookie information; and
[0026] FIG. 6 is a flow diagram of a process for SIP call setup
according to one embodiment of the invention.
DETAILED DESCRIPTION OF THE SPECIFIC EMBODIMENTS
[0027] FIG. 2 is a schematic block diagram of a communication
system adhering to a session initiation protocol (SIP) according to
one embodiment of the invention. The system includes a calling
end-point 50 initiating a call that is directed to a called
end-point 52 over a wide area network, such as, for example, a
public internet 54. The calling end-point 50, called end-point 52,
and internet 54 preferably adhere to the SIP signaling protocol set
forth in RFC 2543.
[0028] The calling and called end-points 50, 52 are preferably
SIP-enabled telephones, hand phones, personal computers, switches,
routers, and/or the like. Preferably, each calling and called
end-point is associated with an input device 59, 65 receiving input
data, such as, for example, an input cable, a keyboard, a keypad,
or the like. Each calling and called end-point is further
associated with an output device 61, 63 presenting output data,
such as, for example, an output cable, a display, or the like. The
calling and called end-points 50, 52 are preferably also associated
with handsets 60, 62 receiving and transmitting voice data and
allowing a voice conversation between a caller and callee.
[0029] The communication system of FIG. 2 further includes a SIP
server 56 preferably routing SIP calls between the calling and
called end-points 50, 52. The SIP server 56 is preferably a proxy
server or a redirect server similar to the proxy and redirect
servers 10, 47 of FIGS. 1A-1B. The SIP server 56, however, is
enhanced with the capability of using information associated with
the caller retrieved from the calling end-point, hereinafter
referred to as a voice cookie information, for a better
understanding of the user's profile, habits, calling intent and the
like. The SIP server 56 preferably routes the SIP call based on the
retrieved voice cookie information.
[0030] The SIP server 56 is preferably coupled to a location server
58 and a web server 57. The location server contains the location
information used for routing the SIP calls. The location server may
be similar to the location server 25 of FIGS. 1A-1B.
[0031] The web server 57 is preferably a hypertext transfer
protocol (HTTP) server capable of receiving and processing HTTP
requests from the calling end-point 50. According to one
embodiment, the web server 57 shares a same domain as the SIP
server 56. The web server 57 includes the capability of receiving
voice cookies transmitted within HTTP requests, and forwarding the
cookies to the SIP server 56. The web server 57 also includes the
capability of receiving new voice cookies from the SIP server and
writing the cookies within HTTP responses to the calling
end-point.
[0032] According to one embodiment of the invention, the web server
57, SIP server 56, and/or location server 58 reside in a single
machine. In another embodiment, the servers reside in two or three
separate machines coupled to each other over a local area network,
private wide area network, or the public internet 54.
[0033] In general terms, the SIP server 56 causes the retrieval of
voice cookies from the calling end-point for more intelligently
routing an incoming SIP call. Voice cookies may include, by way of
example, a name, an address, a phone number, an email address, an
account number, a transaction history, a billing history, a
department name or selection, an agent preference or selection, a
language preference or selection, a product preference or
selection, or any other information that may be used to route a
call, such as, for example, caller intent information typically
gathered via an interactive voice response system, user profile
information, user habit information, or information contained in
traditional browser cookies associated with a web site domain.
[0034] Voice cookie information is preferably stored in the calling
end-point according to various mechanisms. For instance, the cookie
may be deposited from a user visiting a particular web site or a
particular page on a web site, such as, for example, a registration
page. The voice cookie information may indicate how often the
particular caller has visited the web site, current items in a
shopping cart, or a certain dollar amount of goods purchased from
the web site. In this scenario, the voice cookies may be identical
to browser cookies, allowing the SIP server 56 to route calls based
on user recent and past activities on the web site.
[0035] Additional voice cookie information may be written by the
SIP server 56 or calling end-point 50 during or after a SIP call.
The additional voice cookie information may, for instance, update
transaction history information, call history information, called
agent information, and/or the like.
[0036] FIG. 3 is a functional block diagram for establishing a SIP
call based on voice cookie information where the SIP server 56 is a
proxy server 56a. In step 70, the proxy server 56a receives an
INVITE message from the calling end-point 50. The INVITE request
preferably includes standard routing information in the "From:",
"To:", "Contact:" and other fields within the INVITE message
header.
[0037] The proxy server 10 accepts the INVITE message and in step
72, preferably transmits a TRYING message to indicate to the
calling end-point that an action is being taken on behalf of the
call, but that the callee has not yet been located. Along with the
trying message, the proxy server 56a preferably also transmits a
hypertext markup language (HTML) link associated with the web
server 57 for retrieving associated voice cookies. Preferably, the
HTML link is transmitted in a SIP message body portion of the
TRYING message.
[0038] In step 74, the calling end-point invokes a browser 50a in
attempting to render the HTML link. In doing so, the browser 50a
issues, in step 76, a HTTP request to the web server 57 along with
all cookies associated with the URL of the HTML link. In step 78,
the web server 57 forwards the received cookies to the requesting
proxy server 56a. In step 80, the web server 57 optionally
transmits HTML content for purposes of being rendered by the
browser 50a.
[0039] The transfer of voice cookie information preferably occurs
in a manner that is transparent to the caller. In addition,
suitable digital encryption and signature techniques conventional
in the art may be employed to assure authorized access to the voice
cookies, and to further ensure that the voice cookies are
authentic.
[0040] The proxy server 56a uses the retrieved voice cookie
information along with routing information contained in the INVITE
message to determine a most correct address to which to route the
call. For example, if the call is directed to a customer sales
department and the voice cookie information contains the name of a
last customer sales representative who talked with the caller, the
proxy server 56a may automatically route the call to such customer
sales representative instead of any available representative.
[0041] In step 81, the proxy server 56a issues a second INVITE
message to the ascertained address. The retrieved voice cookie
information may also be provided to the calling end-point in the
body of the INVITE message. This may be desirable, for example, to
facilitate discussions between a customer representative at the
called end-point 52 and a caller at the calling end-point 50 who
places a call about merchandise being purchased at a particular web
site. The merchandise information may be stored as voice cookie
information in the calling end-point as the user navigates the web
site and places items into an electronic shopping cart.
[0042] The called end-point 52 receives the second INVITE message
and alerts the user of the request by, for example, causing the
user's telephone to ring. If the call is answered, the called
end-point 52, in step 82, returns a success indication to the proxy
server 56a via an OK response. The proxy server 56a in turn
forwards the OK response in step 84 to the calling end-point 50.
The receipt of the success result is confirmed by the calling
end-point 50 by transmitting an ACK request to the proxy server 56a
in step 86, which then forwards it to the called end-point 52 in
step 88. Voice conversation between users of the calling and called
end-points 50, 52 ensues in step 90 via their respective handsets
60, 62.
[0043] FIG. 4 is a functional block diagram for establishing a SIP
call according to another embodiment of the invention where the SIP
server 56 is a redirect server 56b. In step 100, the redirect
server 56b accepts the INVITE message and, as the proxy server 56a
of FIG. 3, transmits a TRYING message with an HTML link in step
102. In step 104, the browser 50a attempts to render the HTML link
and transmits a request to the web server 57 in step 106 with
stored voice cookies. The voice cookies are transmitted to the
redirect server in step 108 for use in determining a most correct
address to which to route the call. The web server 57 may further
transmit HTML content for display by the browser 110.
[0044] In step 112, the redirect server 56b returns the address to
the calling end-point 50 which confirms receipt of the address via
an ACK request. In step 114, the calling end-point 50 issues a new
INVITE request to the address returned by the redirect server 56b.
If the call succeeds, the called end-point 52 transmits an OK
response, and the calling end-point 50 completes the handshake with
an ACK request. Voice conversation between the users of the calling
and called end-points 50, 52 ensues in step 116 via their
respective handsets 60, 62.
[0045] Although in the embodiments illustrated in FIGS. 3 and 4,
the HTML link 102 is deemed to be transmitted in a response SIP
message from the proxy or redirect SIP server 56a, 56b, a person
skilled in the art should recognize that other mechanisms known in
the art may also be utilized to transmit the link. For example, the
link may be transmitted by the SIP server within an instant
message. According to this example, the instance message may
instruct the caller to select the link to continue with the call.
Actuating the link may cause the transmission of a HTTP request to
the web server along with the stored voice cookies.
[0046] FIG. 5 is a functional block diagram for determining an
address of a called end-point according to one embodiment of the
invention. A location service 100 preferably receives an INVITE
message information 102 from a calling end-point. The information
preferably contains a generic SIP URL of the called end-point. The
location server 100 further receives voice cookie information 104
forwarded by the web server 57. The location server 100 produces an
address 106 as a function of the routing information and voice
cookie information. The address may be, for instance, a specific IP
address.
[0047] The location service is preferably a software module
residing in the proxy server 56a or redirect server 56b.
Alternatively, the location service may be a software module
residing in the location server 58 coupled to either the proxy or
redirect server. A person skilled in the art should recognize,
however, that the location service may be implemented in firmware,
hardware, or in any combination of software, firmware, and/or
hardware.
[0048] FIG. 6 is a flow diagram of a process for SIP call setup
according to one embodiment of the invention. The process starts,
and in step 210, the SIP server 56 receives an incoming SIP call
including a call establishment message in the form of a SIP INVITE
from the calling end-point 50. The SIP server 56 may, in one
example, be located at "sipacme.com." The SIP INVITE message
includes standard routing information in its header. In step 212,
the SIP server 56 causes retrieval of stored voice cookies in the
calling end-point for more intelligently routing the call. In this
regard, the SIP server 56 transmits an HTML link to the calling
end-point 50 as either part of a SIP response message or in a
stand-alone communication, such as, for example, in an instant
message. The HTML link may be, for example, "a.acme.com."
[0049] In step 214, the browser resident at the calling end-point
determines if voice cookies associated with the provided domain
name reside in the calling end-point. In this regard, the browser
may search for a particular file-name, file extension, or the like,
where voice cookie information is known to be stored. In the given
example, the browser may search a cookie directory for all voice
cookies associated with the domain ".acme.com."
[0050] If voice cookies associated with the domain are present, the
voice cookies are transmitted by the calling end-point to the web
server in step 216, within the calling end-point's HTTP request for
rendering the HTML link. In step 218, the web server 57 forwards
the received voice cookies to the to the SIP server.
[0051] In step 220, the SIP server 56 determines an address of the
called end-point as a function of the routing information in the
SIP INVITE message and the voice cookie information. For example,
the voice cookie information may indicate a particular department
or agent to which to route the call. In step 222, the SIP server
routes the call to a called end-point based on the determined
address.
[0052] In step 224, a determination is made as to whether new voice
cookie information is to be written to the calling end-point. If
the answer is YES, the new voice cookie information is written into
the calling end-point, in step 226, for use in routing future
calls. In this regard, the SIP server 56 transmits new or updated
values of the voice cookies to the web server 57 which sets the
values in its HTTP response to the calling end-point.
[0053] According to one embodiment of the invention, the SIP server
56 may further initiate an outbound call to a SIP endpoint, or to a
SIP-to-public switched telephone network (PSTN) gateway connected
through the PSTN to a conventional non-SIP telephone, based on
browser activity at a particular web site such as, for example,
"acme.com". The particular browser activity may be, for example, an
abandoned shopping cart.
[0054] In response to the detected browser activity, the web site
delivers to the end-point a HTML link 74 associated with the web
server 57 such as, for example, "a.acme.com." In rendering the HTML
link, the end-point transmits a HTTP request with its voice cookies
to the web server 57. The voice cookies may be associated, for
example, to recent user activity on the web site. The web server 57
transfers the cookies to the SIP server 56 which then initiates an
outbound call to the user as well as to a suitable agent. According
to one embodiment of the invention, the SIP server 56 transmits all
or part of the received voice cookies to the agent in initiating
the outbound call.
[0055] Although this invention has been described in certain
specific embodiments, those skilled in the art will have no
difficulty devising variations which in no way depart from the
scope and spirit of the present invention. It is therefore to be
understood that this invention may be practiced otherwise than is
specifically described. Thus, the present embodiments of the
invention should be considered in all respects as illustrative and
not restrictive, the scope of the invention to be indicated by the
appended claims and their equivalents rather than the foregoing
description.
* * * * *