U.S. patent application number 14/422089 was filed with the patent office on 2015-08-13 for method and system for creating a virtual sip user agent by use of a webrtc enabled web browser.
The applicant listed for this patent is Unify GmbH & Co. KG. Invention is credited to Elias Balafoutis, Eleni Saridaki.
Application Number | 20150229635 14/422089 |
Document ID | / |
Family ID | 47115742 |
Filed Date | 2015-08-13 |
United States Patent
Application |
20150229635 |
Kind Code |
A1 |
Saridaki; Eleni ; et
al. |
August 13, 2015 |
METHOD AND SYSTEM FOR CREATING A VIRTUAL SIP USER AGENT BY USE OF A
WEBRTC ENABLED WEB BROWSER
Abstract
A method for creating a virtual SIP user agent by use of a
webRTC enabled web browser (200) comprises a user logging in to a
web application server (400) via a webRTC enabled web browser
(200). The web application server (400) uses the logged on user
identity to lookup an associated SIP user identity along with a
registrar server address and the web application server (400)
initiates a SIP registration procedure using its IP address as the
registered contact.
Inventors: |
Saridaki; Eleni; (Egaleo,
GR) ; Balafoutis; Elias; (Zografou, GR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Unify GmbH & Co. KG |
Munchen |
|
DE |
|
|
Family ID: |
47115742 |
Appl. No.: |
14/422089 |
Filed: |
October 19, 2012 |
PCT Filed: |
October 19, 2012 |
PCT NO: |
PCT/EP2012/004403 |
371 Date: |
February 17, 2015 |
Current U.S.
Class: |
726/8 |
Current CPC
Class: |
H04L 67/02 20130101;
H04L 65/1053 20130101; H04L 65/1069 20130101; H04L 65/608 20130101;
H04L 61/309 20130101; H04L 67/141 20130101; H04L 63/0815 20130101;
H04L 65/1006 20130101 |
International
Class: |
H04L 29/06 20060101
H04L029/06; H04L 29/08 20060101 H04L029/08; H04L 29/12 20060101
H04L029/12 |
Claims
1-7. (canceled)
8. A method for creating a virtual SIP user agent by use of a
webRTC enabled web browser, the method comprising: a) processing a
user login by a web application server having and IP address, said
user login via a webRTC enabled web browser, said user login
including receipt of a logged on user user identity; b) looking up
an associated SIP user identity and a registrar server address
using the logged on user identity through the web application
server; c) initiating, through the web application server, a SIP
registration procedure using the web application server's IP
address as a registered contact.
9. The method of claim 8, wherein the user login comprises a
username and password authentication.
10. The method of claim 1, comprising authenticating the user login
with a single sign-on.
11. The method of claim 1, wherein one of the associated SIP user
identity and the registrar server address is at least partly
supplied by a user who provided the user login.
12. The method of claim 1, wherein at least one of the associated
SIP user identity and the registrar server address is at least
partly retrieved by a user identity management system.
13. The method of claim 1, wherein the web application server
assumes and maintains in a database a plurality of user SIP
credentials and propagates this information to a user SIP
SBC/Proxy/Registrar via an appropriate SIP request interface.
14. A system for webRTC enabled web browser, comprising creating a
virtual SIP user agent with a system comprising a web client
running on a webRTC enabled web browser, a web application server,
a SIP registrar server, and a SIP server all in operative
communication with each other.
15. The method of claim 10, wherein the single sign-on is a
corporate entitlement system.
16. The method of claim 13, wherein the database includes at least
one member of the group consisting of an SIP registrar address, an
E.164 number, an SIP username, and a digest authentication
password.
17. The method of claim 13, wherein the SIP request interface is a
REGISTER message.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is the United States national stage under
35 U.S.C. .sctn.371 of PCT International Application No.
PCT/EP2012/004403, filed on Oct. 19, 2012.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] Embodiments relate to methods and systems for creating a
virtual SIP user agent by use of a webRTC enabled web browser.
[0004] 2. Background of the Related Art
[0005] Voice and video communication over the web emerges as a new
real time communication technology in both a consumer as well as
enterprise communication environment (open source projects such as
Web Real Time Communication ("WebRTC")). Reuse of user resources
such as a telephone number across legacy/VoIP communication devices
as well as web based terminals is essential for the seamless
integration of web based real time communication into an existing
legacy telephony or VoIP environment.
BRIEF SUMMARY OF THE INVENTION
[0006] According to the present invention a method is provided for
creating a virtual SIP user agent by use of a webRTC enabled web
browser 200. The method comprises a user logging in to a web
application server 400 via a webRTC enabled web browser 200. The
method further comprises that the web application server 400 uses
the logged on user identity to lookup an associated SIP user
identity along with a registrar server address; and that the web
application server 400 initiates a SIP registration procedure using
its IP address as the registered contact.
[0007] In connection with the present description of the invention
or preferred embodiments of the invention, the term web browser (or
webbrowser or browser) shall refer to any kind of software, by
which a user may communicate with a web application server. More
specifically this term comprises any kind of software application
for retrieving, presenting, and traversing information resources on
the World Wide Web. An information resource is identified by a
Uniform Resource Identifier (URI) and may be a web page, image,
video, or other piece of content. Hyperlinks present in resources
enable users easily to navigate their browsers to related
resources. A web browser can also be defined as an application
software or program designed to enable users to access, retrieve
and view documents and other resources on the Internet. Although
browsers are primarily intended to use the World Wide Web, they can
also be used to access information provided by web servers in
private networks or files in file systems. Important examples of
web browsers are Firefox, Google Chrome, Internet Explorer, Opera,
and Safari.
[0008] WebRTC (Web Real-Time Communication) is an API definition
being drafted by the World Wide Web Consortium (W3C), with a
mailing list created in April 2011 and jointly in the IETF with a
working group chartered in May 2011. It is also the name of
framework that was open sourced on Jun. 1, 2011, which implements
early versions of the standard and allows web browsers to conduct
real-time communication. The goal of WebRTC is to enable
applications such as voice calling, video chat and P2P file sharing
without plugins.
[0009] According to a preferred embodiment of the invention, the
method is characterized by a login using a username and password
authentication. To log in to an account, a user is typically
required to authenticate oneself with a password or other
credentials for the purposes of accounting, security, logging, and
resource management.
[0010] According to a preferred embodiment of the invention, the
method is characterized by an authentication with a single sign-on,
e.g. with a corporate entitlement system. Single sign-on (SSO) is a
property of access control of multiple related, but independent
software systems. With this property a user logs in once and gains
access to all systems without being prompted to log in again at
each of them. Conversely, Single sign-off is the property whereby a
single action of signing out terminates access to multiple software
systems. As different applications and resources support different
authentication mechanisms, single sign-on has to internally
translate to and store different credentials compared to what is
used for initial authentication.
[0011] According to a preferred embodiment of the invention, the
method is characterized in that the associated SIP user identity or
the registrar server addresses are at least partly supplied by the
user. A SIP user agent (UA) is a logical network end-point used to
create or receive SIP messages and thereby manage a SIP session. A
SIP UA can perform the role of a User Agent Client (UAC), which
sends SIP requests, and the User Agent Server (UAS), which receives
the requests and returns a SIP response. These roles of UAC and UAS
only last for the duration of a SIP transaction. A SIP phone is a
SIP user agent that provides the traditional call functions of a
telephone, such as dial, answer, reject, hold/unhold, and call
transfer. SIP phones may be implemented as a hardware device or as
a soft phone. As vendors increasingly implement SIP as a standard
telephony platform, often driven by 4G efforts, the distinction
between hardware-based and software-based SIP phones is being
blurred and SIP elements are implemented in the basic firmware
functions of many IP-capable devices.
[0012] A server that accepts REGISTER requests and places the
information it receives in those requests into the location service
for the domain it handles which registers one or more IP addresses
to a certain SIP URI, indicated by the sip: scheme, although other
protocol schemes are possible (such as tel:). More than one user
agent can register at the same URI, with the result that all
registered user agents will receive a call to the SIP URI. SIP
registrars are logical elements, and are commonly co-located with
SIP proxies.
[0013] SIP is a text-based protocol with syntax similar to that of
HTTP. There are two different types of SIP messages: requests and
responses. The first line of a request has a method, defining the
nature of the request, and a Request-URI, indicating where the
request should be sent. The first line of a response has a response
code. For SIP requests, RFC 3261 defines the following methods:
[0014] REGISTER: Used by a UA to indicate its current IP address
and the URLs for which it would like to receive calls.
[0015] INVITE: Used to establish a media session between user
agents.
[0016] ACK: Confirms reliable message exchanges.
[0017] CANCEL: Terminates a pending request.
[0018] BYE: Terminates a session between two users in a
conference.
[0019] OPTIONS: Requests information about the capabilities of a
caller, without setting up a call.
[0020] According to a preferred embodiment of the invention, the
method is characterized in that the associated SIP user identity or
the registrar server addresses are at least partly retrieved by a
user identity management system. An identity management system
refers to an information system, or to a set of technologies that
can be used for enterprise or cross-network Identity management.
Identity management (IdM) describes the management of individual
identities, their authentication, authorization, roles, and
privileges within or across system and enterprise boundaries with
the goal of increasing security and productivity while decreasing
cost, downtime, and repetitive tasks. The terms "Identity
Management" and "Access and Identity Management" (or AIM) are terms
that are frequently used interchangeably under the title of
Identity management while Identity management itself falls the
umbrella of IT Security. Identity management systems, products,
applications, and platforms are commercial Identity management
solutions implemented for enterprises and organizations.
[0021] According to a preferred embodiment of the invention, the
method is characterized in that the web application services 400
assume and maintains in the database 500 user SIP credentials 001
(e.g. SIP registrar address, E.164 number or SIP username, digest
authentication password) and propagate this information to the user
SIP SBC/Proxy/Registrar 700 via an appropriate SIP request
interface, e.g. a REGISTER message 003.
[0022] The present invention may also be implemented by a system
for using a method according to the present invention or one of its
embodiments, the system comprising a web client running on a webRTC
enabled web browser 200, a web application server 400, a SIP
registrar server and a SIP server 700.
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] FIG. 1 illustrates a preferred system configuration and/or
network architecture of a system according to the present
invention.
[0024] FIG. 2 illustrates the WebRTC authentication via SIP message
sequence according to a preferred embodiment of the invention.
[0025] FIG. 3 illustrates the SIP initiated connection to a
WebRTC/SIP destination according to a preferred embodiment of the
invention.
[0026] FIG. 4 illustrates the WebRTC initiated connection to a SIP
destination according to a preferred embodiment of the
invention.
DETAILED DESCRIPTION OF THE INVENTION
[0027] According to a preferred embodiment of the present
invention, a user logs in to the web application server 400 via the
web client interface 200. In some embodiments this may be a
username and password authentication. In other embodiments
authentication may be done with single sign-on with a corporate
entitlement system. The web application server preferably uses the
logged on user identity to lookup an associated SIP user identity
along with a registrar server address. In this embodiment this
information can be partly supplied by the user (self management).
In other embodiments of the present invention this information is
retrieved by a user identity management system.
[0028] Once the SIP user identity for the logged on user is found
the web application server 400 will preferably initiate a SIP
registration procedure using its IP address as the registered
contact. SIP users authentication and authorization methods e.g.
via REGISTER and SUBSCRIBE requests, can be used implicitly for web
based communication enablement especially if the user already owns
a SIP address/E.164 number.
[0029] So the identity of the web media client user and validation
of user accessibility options is preferably covered indirectly in
the SIP domain, simply if the web application services 400 assume
and maintains in the database 500 user SIP credentials 001 (e.g.
SIP registrar address, E.164 number or SIP username, digest
authentication password) and propagate this information to the user
SIP SBC/Proxy/Registrar 700 via the appropriate SIP request
interface (REGISTER message) 003 at user web login on a secure
session. Addressing the user is feasible through E.164 numbering
convention or SIP URI, or other valid URL identifiers like email
etc, as each individual usually is the owner of various system
accounts and identifiers.
[0030] This way the web server will preferably be registered as
another contact for the authenticated user, as long as the web
server belongs to a trusted domain to the SIP domain. Therefore a
new call received against this SIP user identity can also reach and
be handled at the user's web application enriched with WebRTC
capabilities, in parallel to other existing authorized contacts
that are registered against this SIP user identity such as IP phone
device or IP soft client or GWs (SIP Forking feature) (FIG. 3). The
user preferably has the choice to select his preferred medium for
audio or video communication: browser 200 or SIP endpoint (300) or
even a smart phone/tablet 100, as incoming traffic will preferably
reach both SIP 300 and WebRTC 100, 200 enabled clients, due to this
parallel registration and subscription on SIP services.
[0031] Once the web application server 400 receives the incoming
call it preferably extracts the media description and offers the
call to the user at the web browser 200 just as if this call is a
normal webRTC offer as defined in the respective W3C draft. From
this point on, the role of the web application server is preferably
that of a SIP user agent in the sense that it is responsible for
the handling of the communication session. Negotiation on the media
description as well as connectivity (ICE) remains a responsibility
of the web browser. Once the negotiation succeeds an RTP
communication between the web browser and the initiating device is
preferably started.
[0032] Vice versa a WebRTC session could reach this way another
VoIP 900 or PSTN telephony user 1000 and have the originator user's
SIP identifiers (names and numbers) presented to the other side as
shown in FIG. 4. Device selection may be still a user's choice, but
in addition can be system defined based on user's selected
destination: WebRTC destination 600 will preferably be receiving
WebRTC based calls, while SIP destinations 900 will preferably be
reached though SIP session establishment initiated by the web
application.
[0033] In this case, the web application server media management
services 400 work similar to a Session Board Controller or Gateway
supporting the transition from the WebRTC domain to the SIP domain.
The user may seamlessly perform SIP or webRTC calls without
experiencing any difference in the user interface.
[0034] The disclosure of the present invention focuses on the
aspect of integration methods of a pure web browser media
communication based on WebRTC standardization and existing session
based communication interfaces like SIP. Two main aspects exist
covering for the smooth interoperability with existing networks in
a trusted network environment and seamless user experience:
[0035] 1) Supporting in a WebRTC enabled communication application
400 users that already own one or more existing SIP accounts (E.164
numbers potentially as well) and
[0036] 2) Establishing a real time audio and video communication
between web applications and other VoIP or even legacy PSTN systems
through stream trans-coding mechanics.
[0037] An example architecture shown in FIG. 1 comprises basically
of a web client running on a webRTC enabled web browser 200, a web
application server 400, a SIP registrar server and a SIP server
700. In some embodiments a single server may have the role of both
the SIP server and the SIP registrar server. Also in some
embodiments the web application server may include media reception
and transmission facilities.
[0038] Voice and video communication over the web emerges as a new
real time communication technology in both a consumer as well as
enterprise communication environment (open source projects such as
Web Real Time Communication ("WebRTC")). The reuse of user
resources such as a telephone number across legacy/VoIP
communication devices as well as web based terminals is essential
for the seamless integration of web based real time communication
into an existing legacy telephony or VoIP environment.
[0039] The present invention discloses methods and procedures that
allow the reuse of a user identity such as a telephone number or a
user URL in both web based real time communication and legacy/VoIP
Communication systems.
[0040] In particular the user of a web application that offers web
based real time communication services is offered the option to
answer an incoming call against a given telephone number via a web
based client interface while this call is also offered to other
VoIP or legacy devices of this user. In addition, a call that is
initiated via a web browser towards other users (either web or VoIP
or legacy) shows a dialable user identity that can be called back.
On this topic, potential media codec incompatibilities between web
media-enabled clients and existing VoIP or legacy telephony clients
are also an important aspect to cover.
[0041] In addition due to the nature of web real time transmission,
peer to peer connectivity, video teleconference connections or
general multi-party connections can be established up to a certain
number of participants. The mesh topology and personal pc media
processing performance limitations for media stream handling.
Lastly there is no defined connection between the international
public telecommunication numbering plan E.164 and WebRTC (address
reference is purely URL defined).
[0042] This goal is preferably achieved without a need for special
network configuration such routing rules in any of the existing
communication infrastructure.
[0043] The use of web based real time communication with voice and
video has been very limited in the prior art for numerous reasons
including the lack of native support by the web browsers and the
diversity of implementation of web browser plug-ins.
Standardization activities along with prototype implementation of
the early standardization steps are ongoing but the interworking
between web application servers that offer web based real time
communication services and other telecommunication equipment such
as VoIP switch and GW have been left outside the standardization
activities up to now.
[0044] In this architecture, the web browser (via html/js client
application) has the role of a media termination endpoint while of
the role of the web server preferably is to pass on the media
description that is required prior to the initiation of a media
stream between two peers.
[0045] In overall a web application server is considered a
communication domain that may interface with other communication
domains including legacy telecommunication domains via standard or
proprietary protocols.
[0046] In this environment the users of a web based real time
communication platform can be reached from external or reach
external parties depending on the configured networking and routing
rules. The potential of reuse of resources such as a telephone
number is greatly reduced and requires configuration of networking
and routing rules.
LIST OF REFERENCE SYMBOLS USED IN THE DRAWINGS
[0047] 001 transmission of user SIP credentials (e.g. SIP registrar
address, E.164 number or SIP username, digest authentication
password), user login [0048] 002 retrieve user SIP credentials
[0049] 003 SIP request interface (Register message), SIP: register
(user SIP credentials) [0050] 004 SIP: 200 OK [0051] 005 user
registered in SIP [0052] 006 successful SIP registration [0053] 007
new peer connection media offer [0054] 008 retrieve user A SIP
credentials [0055] 009 SIP: INVITE/ SDP offer [0056] 010 SIP:
180/200 OK/ SDP Answer [0057] 011 Check media compatibility [0058]
012 Signaling message: Media Answer [0059] 013 SIP: INVITE/ SDP
offer (from A to B) [0060] 014 SIP: INVITE/ SDP offer (from A to B)
[0061] 015 SIP: INVITE/ SDP offer (from A to B) [0062] 016 Retrieve
user B data [0063] 017 new peer connection media offer [0064] 018
Signaling Message: Media Answer [0065] 019 check media
compatibility [0066] 020 SIP: 1810/200 OK/ SDP Answer [0067] 021
SIP: 1810/200 OK/ SDP Answer [0068] 022 SIP: Cancel [0069] 023
webRTC [0070] 024 SIP [0071] 025 ISDN [0072] 026 media stream
[0073] 100 smart phone or tablet, WebRTC enabled client [0074] 200
WebRTC enabled web browser, web client interface, user browser
WebRTC application, user browser B, WebRTC enabled client [0075]
300 SIP endpoint, SIP device B [0076] 400 WebRTC enabled
communication application, web application server, web application
server media management services, web media server [0077] 401
authentication service [0078] 402 data management [0079] 403 webRTC
SIP mediation service [0080] 404 webRTC service [0081] 500 database
(of user SIP credentials) [0082] 600 WebRTC destination [0083] 700
SIP server, SIP (SBC/Proxy/) registrar [0084] 800 SIP/PSTN GW
[0085] 900 VoIP telephony user, SIP destination, SIP device A
[0086] 1000 PSTN telephony user, traditional device
* * * * *