Abstract: The present invention relates to a method and system to enable web page (individual small offices, medium and large enterprises - all having their own web pages) with media facilities using Internet Protocol (IP) such as voice, video, various types of conferences and new PSTN connectivity techniques for communicating on the web between users that allows voice and/or video sessions and conferences.
FIELD OF THE INVENTION
The present invention relates to a method and system to enable web page (individuals, small offices, medium and large enterprises - all having their own web pages) with media facilities using Internet Protocol (IP) such as voice, video, various types of conferences and new PSTN connectivity techniques for communicating on the web between users that allows voice and/or video sessions and conferences.
BACKGROUND OF THE INVENTION AND PRIOR ART
The Internet has brought about many exciting communications capabilities for consumers. There are, however, needs and solutions for consumers (on-line Web Page users/surfers) to have collaborative communications, voice and/or data interaction with a business or its service Customer Premise Equipment (CPE) by utilizing information derived while browsing a Web Page. Customer Premise Equipment (CPE) is defined herein as equipment located at customer location (Calling or Called Party) which provides quality voice and voice and/or data capability for the user. Examples of these devices include, but are not limited to, telephones, personal computers (PC), multimedia PC, multimedia cable television, cellular phones, Call Center equipment, etc. A "Call Center" is defined herein as Customer Premise Equipment (CPE) where agents (more than one agent) both receive and provide bidirectional voice and/or Internet Protocol (IP) data between a Calling Person and a Called Party (an advertiser's agent).
The Called Party may be a Web Page Internet advertiser, in which case the advertiser service Call Center is coupled to a Local Service Access Provider (LSAP) for transmission of voice and/or voice and data to the Web Page user (Calling Party). An LSAP (Local Service Access Provider) is defined herein as a telephone system that couples all of the CPE in a local area to each other internally and to external systems such as the PSTN. The LSAP provides local access to all of its coupled CPE customers. No toll charges apply on calls between these CPE customers connected to the same LSAP. Toll charges apply on calls connected from an LSAP to the PSTN which switches these calls to another LSAP. For purposes of discussion within this application, the PSTN is defined herein as that part of the government regulated telephone network that couples one LSAP with another different LSAP.
Toll-free 1-800 calling is an example of calls made over the existing PSTN by telephone users. For example, calls made to airlines using the traditional 1-800 calling services are routed over the PSTN. This network is regulated by both federal (FCC) and state (PUC) government regulatory bodies. These regulations have added access charges, interstate, intrastate, and 800 settlement charges, to name a few costs associated therewith.
Currently without the use of the Internet, callers dial a toll-free 800 number and the charges are billed to the 1-800 business customer and not to the Calling Party. Thus, the routing of such call is via the regulated PSTN. When the call arrives at a typical service CPE Call Center, numerous directory menus and voice prompts delay the actual conversation with an agent. This, of course, creates aggravation for the Calling Party. Further, billing charges for the call to the advertiser (Called Party) starts at the beginning of receipt of the automated directory and prompts (answer), not the actual voice conversation with the Called Party agent.
This implementation does not allow for implementation of call handling functionality in the network to reduce costs and/or provide caller convenience. The government regulations present telephone network planners with very little room for design when attempting to be competitive. The present PSTN is also difficult to adapt to new, evolving technology such as the Internet Protocols (IP).
The related prior art and distinguishing features are explained hereunder, for example United States Patent application number US6973091 which relates to a system and method of bypassing the regulated portion of the Public Switching Telephone Network (PSTN)
A system and method of bypassing the regulated portion of the Public Switching Telephone Network (PSTN) to establish carrier-grade voice transmissions and/or IP data communications between an Internet Calling Person having a first telephone and a first PC coupled to a first Local Service Access Provider (LSAP) and an Internet Called Party having a second telephone and a second PC coupled to a second different Local Service Access Provider (LSAP).
Wherein the above cited document relates to the ubiquity of the Internet Web Page for information and the ubiquity of the telephone for quality voice communications and in particular a method of converging these two entities with a capability of connecting a Web Page user (Calling Party) and the Called Party (Web Page advertiser or single party subscriber) via a Managed Voice-over-Internet Protocol Network (MVoIP) that provides carrier-grade voice quality, and performance equal to the existing Public Switched Telephone Network (PSTN).
In cited invention user needs to enter certain information as name, address, phone number, age, language preference, and other product-related information as requested through Web Page navigation custom-made for the particle customer business to establish call and limitation of this invention is whenever call is made the internet goes off- hook and user is not able to receive any kind of data through internet or web page. This invention mainly concentrates on Web page to PSTN call using MVoIP.
The present invention mainly concentrates on a method and system to enable web page (individuals, small offices, medium and large enterprises - all having their own web pages) with media facilities using Internet Protocol (IP) such as voice, video, various types of conferences and new PSTN connectivity techniques and user need not to provide any information to make a call. In aforesaid example user make a call using "call me" button on web Page. When user press that button, pop-up window will appears where user needs to enter certain information and send it to call center agents for confirmation and waits for the dial tone to come back. We believe that our current invention does not require any kind of information and users need not to wait for dial tone to come back.
OBJECTS OF THE INVENTION
The primary object of the present invention is to provide a method to enable web page with media facilities using Internet Protocol (IP) for communicating on the web between users that allows voice and/or video sessions and conferences.
Yet another object of the present invention is to provide a novel method for communication on the web that enables voice and/or video sessions and conferences
between web page to web page, web page to a soft client application, web page to PSTN through a personal phone gateway (PPG), soft client to web page, soft client to PSTN through PPG, PSTN to web page through PPG, PSTN to soft client through PPG, and PSTN to PSTN through PPGs.
Still another object of the present invention is to provide novel methods for Joining sessions, Conferencing by joining sessions serially, meet-me conferencing from web pages, joining two conferences, and enabling individual clients to have server capabilities.
Still another object of the present invention is to provide a system to achieve the aforementioned objects.
STATEMENT OF THE INVENTION
Accordingly, the present invention provides for a method for enabling web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said method comprising steps of; logging into target webpage by the user(s) that enables downloading of a predefined component automatically from webserver; signing automatically into media switch using the downloaded component; initiating sessions through the web page interface by clicking on an image or UI which internally communicates with media switch to establish call between the users; and exchanging media sessions between the users A and B by sending control messages using the media switch to communicate on the web, and also provides for A system to enable web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said system comprises media switch to facilitate for establishment and tearing down of media sessions; Integrated Communication Server (ICS) to switch the media; web server to provide automatically web page components; and personal phone gateways (PPGs) interfaced between PSTN exchange and computer.
BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS
Further characteristics and advantages of the present invention will become apparent from a reading of the following detailed description given while referring to the annexed drawings in which:
Figure 1 shows Web page to web page calling by using components
Figure 2 shows Web to soft client (and vice versa) call
Figure 3 shows Web to PSTN (and vice versa) call through PPG
Figure 4 shows PSTN to PSTN through Web components
Figure 5 shows sessions on group address, Support Sessions on Internet
Figure 6 shows anonymous session
Figure 7 shows Hotlines for customer care for devices
Figure 8 shows The Functional Diagram of the Call Processor (media switch)
Figure 9 shows block diagram of call processor application
Figure 10 shows Snapshot of major data structures/objects at the CP
Figure 11 shows Reflector Table
Figure 12 shows The Relation between Call/conference objects and Terminal Objects
Figure 13 shows An Example of Call and Conference Database at CP
Figure 14 shows Call between Client-1 and Client-2 established through Media Switch
DETAILED DESCRIPTION OF THE INVENTION
The primary embodiment of the present invention is a method for enabling web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said method comprising steps of logging into target webpage by the user(s) that enables downloading of a predefined component automatically from webserver; signing automatically into media switch using the downloaded component; initiating sessions through the web page interface by clicking on an image or UI which internally communicates with media switch to establish call between the users; and exchanging media sessions between the users A and B by sending control messages using the media switch to communicate on the web.
In yet another embodiment of the present invention the user is either registered or unregistered or anonymous for a service and session receiver is either an individual or part of group of individuals sought by session initiator.
In still another embodiment of the present invention the session initiator is either anonymous user or a registered user.
In still another embodiment of the present invention the predefined component is either activex component or flash component.
In still another embodiment of the present invention the media sessions are selected from a group comprising text, voice, video, conferences and combinations thereof.
In still another embodiment of the present invention the method enables communication between webpage to webpage, where both the users A and B are logged into system through webpages.
In still another embodiment of the present invention the method enables communication between web page to a soft client application, where the user A logged in through webpage and user B logged into system through soft client applications.
In still another embodiment of the present invention the soft client application is either voice chat or video chat application.
In still another embodiment of the present invention the method enables communication between user A logged into system through webpage and user B logged into system through web based application component that interfaces with personal phone gateway (PPG).
In still another embodiment of the present invention the component has predefined code to provide interface with the external hardware through the PPG drivers, wherein said PPG drivers are installed along with the web component or separately.
In still another embodiment of the present invention the PPG is software driver along with a hardware card installed on the computer of the user, and said PPG is interfaced between PSTN exchange and the computer.
In still another embodiment of the present invention the method establishes communication between PSTN to PSTN through internet and webpages where user A and B components both are connected to PSTN exchanges through a PPG.
In still another embodiment of the present invention the method comprises acts of logging into Media Switch (MS) by both the users A and B; dialing into user A or user B component by telephone user with a security code or PIN and thereafter dialing telephone number; placing the call on the dialed number by the user B or user A
In still another embodiment of the present invention the component has predefined code to provide interface with the external hardware through the PPG drivers, wherein said PPG drivers are installed along with the web component or separately.
In still another embodiment of the present invention the method provides communication between the users selected from a group comprising one-to-one, one-to-group, many-to- one and many-to-many.
In still another embodiment of the present invention the media switch in one-to-group communication identifies free person amongst group and place the call to him and also identifies the person amongst the group who received least amount of calls till a particular time.
In still another embodiment of the present invention the method enables consumer product and/or equipment and/or device with hotlines to communicate automatically with their customer care centers by picking up handset attached to the device without dialing the required phone numbers, said method comprising acts of logging into media switch automatically by connecting the consumer product and/or equipment and/or device to IP network with a built in ID; and picking up telephone attached to the device or equipment to establish a call onto a support person using the media switch
Another important embodiment of the present invention is a system to enable web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said system comprises media switch to facilitate for establishment and tearing down of media sessions; Integrated Communication Server (ICS) to switch the media; web server to provide automatically web page components; and personal phone gateways (PPGs) interfaced between PSTN exchange and computer.
In still another embodiment of the present invention Control Switch along with the web server and Integrated communication server enables different activities selected from a group comprising Sessions from PSTN to PSTN through Web with PPG; Sessions handling from anonymous users from web pages; supports Anonymous sessions, initiating sessions on group address, Support Sessions on Internet, Meet-me conferencing through Web, soft client or PSTN, individual sessions, conference sessions, and conference sessions through session joining; handles "hunting" for support/help lines/group numbers; load balancing amongst the people who are on group members; enables a registered user to receive sessions requested for multiple IDs to a single ID; and Session forward, Session pick up, return sessions in case of a user's unavailability, and do not disturb for web page clients.
In still another embodiment of the present invention the system enables consumer product and/or equipment and/or device with hotlines to communicate automatically with their customer care centers by picking up handset attached to the device without dialing the required phone numbers.
In still another embodiment of the present invention the media switch consisting plurality of servers comprising Call Processor, Voice Mail Server, Conference Server, Presence Server, and Chat Server.
In still another embodiment of the present invention the media sessions are selected from a group comprising text, voice, video, conferences and combinations thereof.
The present invention proposes a novel approach that enables any web page (individuals, small offices, medium and large enterprises - all having their own web pages) with media facilities using Internet Protocol (IP) such as voice, video, various types of conferences and new PSTN connectivity techniques.
Novel methods are also proposed for communicating on the web that enables calls or sessions (throughout the specification a "call" or a "session" means voice and/or video sessions and conferences with multiple parties if applicable, and call processor interchangeably referred as media switch) from
i) a web page to web page(Fig 1),
ii) web page to a soft client application(Fig 2),
iii) web page to PSTN through a personal phone gateway (PPG) (Fig 3),
iv) soft client to web page(Fig 2),
v) soft client to PSTN through PPG(Fig 2),
vi) PSTN to web page through PPG (Fig 3),
vii) PSTN to soft client through PPG,
viii) PSTN to PSTN through PPGs (Fig 4);
wherein the user may be registered or unregistered (anonymous) for a service and the session receiver can be an individual or be part of group of individuals sought by the session initiator.
Novel methods are also proposed for Joining sessions, Conferencing by joining sessions serially, meet-me conferencing from web pages, joining two conferences, and enabling individual clients to have server capabilities.
Novel ideas/applications are presented hereunder.
A. The user will be able to initiate/operate on sessions through a web page interface by clicking on an image or UI which internally communicates with the component.
• Media sessions are established from web pages, without the user installing a new application. (Fig 1)
• Any individual can have a web page enabled with this facility/component so that he/she can receive an incoming session request wherever he/she is logged in from. The session initiator can be anonymous or a registered user. (Fig 6)
• AnonS - Anonymous sessions is a powerful feature. In many applications a user would like to use this feature for example, "Online trading". Here the parties remain unknown to each other. They will use randomly generated ID (Fig 6). Further, a user can be identified with IP number through which his/her computer is connected. By using intermediate servers for voice traffic such as ICS, the IP addresses remain unknown to both the parties, thus building a completely "secure and anonymous" ID.
• GroupS - The sessions can be initiated on a 'group' address - That is to say that an address can be thought of as a group of addresses such as helplinel@esqube.com to helpline20@esqube.com. The session should connect a user from a web page to any available support staff (helplines 1 to 20) in the domain esqube.com. (Fig 5)
• SuSi - Support Sessions on Internet: Enabling one of the session partners to help the other by (a) opening a web page, and (b) executing a command (for example, regedit, ipconFig, etc.) directly on the terminal of the user ~ who is interacting through the web page, and (c) push files, and (d) pull files. (Fig 5)
• The help/support staff can guide a user (who is connecting through the web page) by taking the full control of the user's terminal using applications such as 'Microsoft Corporation Remote Desktop' protocol. This facility can be provided if the parties are logged in through web pages or soft clients.
• Any application can be embedded with this component which enables the application to provide media sessions.
• Few mail clients and email providers support emails with HTML content. A user can embed the component in emails (with HTML content), say as a part of his email signature, and send it. The email recipient/reader can click the component and initiate a session to which the component points to.
• New versions of the web page components would be automatically available from a web server when there is a new version. (User doesn't have to install or initiate upgradations).
• The component is downloaded only once on to a system unless otherwise the version is different or if the file is deleted from the system.
• Media chat rooms where user(s) remain anonymous and interact(s) with many people through web.
• Media conferencing through Web (P2P, server based) amongst known people unlike in 11.
• A registered user can know the online status of his buddies when he logs in from his web page. Also, a registered user can get all his contacts' information by opening a web page (without logging in) and initiate a session from that web page to any of his contacts (who may be logged in from a web page or soft client); this facility/service may be termed as 'roaming address book'.
• MMConf - Meet-me conferencing through Web, soft client or PSTN. A user can initiate conference sessions on the web page which will instruct the Control Switch to invite listed participants who can be on a web page or soft client or PSTN or cellular phones. In a Meet Me conference, there can be 'listeners' who are passive users in the conference. Since the Media Switch selects the 'active' n-participants and mixes (if necessary) their stream to send it to all participants, there is no limit on the number of people in the conference.
• All registered clients can be in more than one call/conference.
• Establishing media session from documents and emails links. Here the links can be provided on PDF or MS Doc files through a picture/icon/simple links. By clicking the link one can invoke all the functionalities as stated earlier similar to the action done by clicking a link/icon/button on a web page. Thus through documents also the audio and video realtime calls can be made.
• Using a gadget USBPhone (it is a USB adapter with RJ-11), we can make and receive calls on a normal telephone. (The call is still a PC-PC call).
B. Control Switch along with the web server and ICS enables the following:
1. Sessions from PSTN to PSTN through Web with PPG.(Fig 4)
2. Control Switch handles sessions from anonymous users from web pages. The same Control Switch supports AnonS, Groups, Susi, MMConf, individual
sessions, conference sessions, and conference sessions through session joining. Control Switch handles "hunting" for support/help lines/group numbers.
3. Control Switch load balances amongst the people who are on group members.
4. Aliasing: Control Switch enables a registered user to receive sessions requested for multiple IDs to a single ID.
5. Session forward, Session pick up, return sessions in case of a user's unavailability, and do not disturb for web page clients.
C. Novel Conferencing method
Session Joining: Two 1-1 sessions can be joined by a client and it is converted to 3 party conferences. The same phenomenon can be continued by a series of Session joins to form a conference with arbitrary number of clients.
D. Enabling any consumer product/equipment/device with hotlines to their customer
care centers. A device will be connected to the Internet port or connected to PPG. The device will also have a handset. By picking up the handset the user will start a session to customer care center of the device (Fig 7).
E. Providing Voicemail service to the clients. The Voicemail servers are going to be
distributed and any user who wishes to use the service will be allocated the nearest server. The novelty is in the architecture and allocation of nearest servers.
The detailed explanation of aforementioned features will be explained hereunder with the help of drawings.
Now referring to figure 1, this requires that the two users, A & B, are logged into this IMCE services webpage provided by any service provider. Then the activex/flash component would be downloaded automatically from the webserver and they login to Media Switch (MS). The two users A and B are browsing the internet after logging in. Then one of the users, when he clicks an icon/button/picture/link associated with the other user on the web page, the activex/flash component would be downloaded automatically from the webserver and ask for login/will invoke already logged in activex component. This component automatically signs into the Media Switch (Appendix on CP) with the login ID that was used already for logon to the server (if not logged in earlier). From the icon/button/picture/link the "To" address would be taken and MS will be contacted for placing a call. MS acts as an exchange and a call will be initiated. The audio/video packets are exchanged between A & B directly or with will be exchanged via the ICS in some cases. Users have the control to switch on/off video and teardown the call. In this case both users are not necessarily having the component visible on their computers. The component will be active in the background and it will get activated by user clicking and starting the call/session or through MS which contacts the "To" addressee when a call is initiated. In this scenario both the users A & B may be complete strangers to each other. User A or B should be logged in to the MS if he/she wants to receive the calls. For only making calls one need not be logged in. Note that the component is downloaded only once and the users need not download it again.
Now referring to figure 2, This is similar to the scenario 1 explained in figure 1. However the difference is, without loss of generality user B is not logged into the system through web but uses a client like vqube/yahoo voice chat application. The User B's identity will be known to user A. All the other aspects of the call/session remain the same. User B will always be logged into the MS and is visible. User A need not be logged in always, he/she can login only when required to call the User B.
Now referring to figure 3, which is similar to the scenario 1 as explained in figure 1. However the difference is, without loss of generality user B is not logged into the system through a web based application component that interfaces with the PPG. The component has the necessary code to provide interface with the external hardware through the PPG driver. PPG drivers are installed along with the web component or separately.
The PPG is actually software driver along with a hardware card installed on the computer of User B. The PPG on one end connects to a PSTN exchange (telephone exchange) and on the other end connects to the PC since it is inserted into the mother board. In the diagram we have shown that a PPG talks to a telephone, this is indeed through a
telephone exchange. The user B will be logged into the MS with the help of webserver and the component downloaded from the webserver.
The User B's identity will be known to user A. The identity contains two parts in this case, first part is for identifying with the MS and the second part is the phone number (including the STD/Area code). When User A clicks on the icon/button/picture/link, a call between User A and the telephone (of the provided number) via User B component is established. All the other aspects of the call/session remain the same. User B will always be logged into the MS and is visible. User A need not be logged in always, he/she can login only when required to call the User B
Now referring to figure 4, This is similar to the scenario 3 as explained in figure 3. However the difference is, without loss of generality Users A & B components both are connected to PSTN exchanges through a PPG. Both are logged in to MS with their identity. Any telephone user may dial into User A (or User B) component, with a security code or PIN and then dial a telephone number. The User B (or User A) will in turn place the call on the telephone number. The User A (or User B) may call is not logged into the system through a web based application component that interfaces with the PPG. The component has the necessary code to provide interface with the external hardware through the PPG driver. PPG drivers are installed along with the web component or separately. All the other aspects of the call/session remain the same. Users A and B will always be logged into the MS and is visible. This will enable telephone to telephone calls via Internet and through webpages.
Now referring to figure 5, this is similar to the scenario 2 as explained in figure 2. Further User B is not a single entity but a group of personnel (on the right side of the Fig. 5). They are called as support persons. These support persons are denitrified, without loss of generality, as support-1, support-2, etc. The identity can be anything else if required like individual IDs too. The User B's general identity will be known to user A. That is all the support persons will be logged on to MS through the "Group-A.com" web page and are known to the visitors of "Group-A.com" as simply "support" not as individual "support- 1" or "support-2", etc. When a visitor clicks icon/button/picture/link on the "Group-
A.com" webpage, a call will be placed through the component downloaded from the webserver onto the visitor's computer and later it logs into MS and then places a call to the any "support" personnel of "Group-A.com" company. The algorithm in MS will findout who is free amongst all the support personnel at that moment as well as who has received least amount of calls till then. Then MS will connect the visitor to that "support" person, say "support-x". Next the call happens as it was explained in Scenario 1 and Scenario 2 as explained earlier between the visitor and the person "support-x". All the other aspects of the call/session remain the same. User B will always be logged into the MS and is visible. Visitor need not be logged in always, he/she can login only when required to call the support personnel.
Note: Without loss of generality support persons may login to the system using a client like vqube/yahoo voice chat application as shown in Fig. 2.
Now referring to figure 6, this is similar to the Scenario 1 of figure 1. However the difference is, without loss of generality User A and B may use a simple ID that is anonymous. These IDs are known to the webserver and will not reveal any information about the users. User A may have logged into the MS with an ID User-A on right side (which may or may not reveal the identity of the person). The anonymous visitor may use any random characters and place a call to User-A. Visitor first logs into MS through the component and places an "anonymous" call top User-A by clicking icon/button/picture/link on the "domain.com" webpage. enerated the logged into the system through web but uses a client like vqube/yahoo voice chat application. The User A's identity may or may not be visible to the visitor. All the other aspects of the call/session remain the same. User A will always be logged into the MS and is visible. Visitor need not be logged in always, he/she can login only when required to call the User A.
Note: Without loss of generality User A may login to the system using a client like vqube/yahoo voice chat application as shown in Fig. 2.
Now referring to figure 7, this is similar to the scenario 5 illustrated in figure no 5. The only difference is that the visitor web page is replaced by Equipment or a Device. The Equipment may be a very sophisticated printer and is connected to the network. Or it can be a medical instrument like MRI scanner. The only condition is that the "Equipment" is connected to the IP network. There will be a hard telephone connected to the Equipment. The "Equipment" will automatically log in to MS as soon as it is connected to the IP network with a built in ID. As soon as a person picks up the telephone, the call will be placed on to a support person with the help of the MS (and ICSif necessary). The load balancing and hunting for free support person will be as explained in Scenario 5.
The design, functionality and responsibilities of call process also called as media switch is explained hereunder with reference to figure and examples.
The Call Processor is the central exchange server. All the servers and the clients in the set-up contact the Call Processor for any request. The main functionality of the server is to maintain the logins, call information, list of servers like Reflectors and VMS, and to keep the set-up working. The set-up consists of these components:
1. Reflector
2. VQube Clients
3. Voice Mail Server (VMS)
4. PSTN Gateway
5. ICS
6. BCS
The Call Processor handles all control messages with these components. These control messages are sent on TCP connection. The Call Processor does not handle the voice data. The Call Processor maintains a central database of all the calls and conferences. The CP is made up of many objects. Each object caters to a particular function or the database. The major blocks are shown in Figure 8. CP is made up of multitude of objects. These objects are unique and they help in maintaining the states of the calls/conferences/the entities. This also helps in keeping all the regarding different tasks, users' information together in one place. These objects are:
1. Login Object - This maintains the information of a User.
2. Call Object - This maintains the information of a Call.
3. Reflector Object - This maintains the information of the conference servers (called as Reflector).
4. Terminal Object ~ This maintains the information of the terminal from where a user is logged and ina particular call. Basically this holds the IP number, Ports for voice streams, etc.
5. VMS Object ~ This maintains the information of the voice mail server.
6. VoIP Messages Object - Even the messages that are exchanged between various entities of the VQube VoIP application (CP - Vqube Client, etc.) are also viewed as an object. Some of the functionalities that are specific to messages are in this object.
7. Profile - Profiles holds the services subscribed by a user. This is useful to control the subscription, license, PBX functionalities, currency, etc.
8. PBX Structure - This holds the data about the PBX settings of a user.
Functions of the CP
CP has many tasks. We list out some of the important tasks here and briefly explain the significance of the task.
1. SignUP: When a user wants to start using VQube VoIP solution the she requires a login account name to identify. The login names should always be like an Email. Validity of the Email provided by the user is not checked at present. The user can create an account using the VQube application or can be added to our system through the console of the CP.
2. Signln: Once a user has an account, she can login using the login ID and the password.
3. Create/Delete Profiles: These are GUI options provided for an administrator to add/delete a user account.
4. Change IP: This is another GUI facility where in the administrator can change the IP numbers of the ICS and BCS.
5. Details: A GUI facility wherein we can see users who are currently loggedin; the current calls; and the number of Reflectors that are attached to this CP.
6. AddHelpLines: With this GUI button, an administrator can set the number of leased lines for the WebHelp Calls for leasing out CTT.
7. Allocating VMS: An account in the VMS is created as soon as a user as the person signs up. A nearest VMS may be allocated.
8. BookingConference: A MeetMe conference can be booked by a client with a password and the client gets back a code.
9. Call/Conf/VMS/Chat (related tasks): The remaining tasks are covered by various other documents with the sequence diagrams.
10. HelpLine Calls/Web Calls: The detailed design and the techniques are dealt in CTT related documents.
A Brief Overview of CP Design
The CP has to handle all the control messages; CP acts as a central point which controls all the servers and clients. Control messages are exchanged only through CP so that whole system state information is available with CP. As no voice data is handled by CP there are no UDP connections exist for CP with clients or other servers. CP essentially will have to have a network interface module and an exchange engine, which handles all the requests from clients for the services. The examples of services are One-One Call, conference (multiparty call), voice mail, meet me conference, connection to PSTN telephones and hard clients (Handsets).
The core of the called as CP engine - refers to the Message Processing Object as mentioned earlier and we use "CP Engine" for the sake of brevity - does all the switching and facility CP Engine jobs for the clients. The first level of simplified block diagram is as shown in Fig. 11 below. The CP is responsible for handling messages from clients and Reflector, VMS, BCS, ICS, on TCP.
CP Engine maintains complete centralized database about calls and conferences that are in progress at any instance as shown in figure 9. It also maintains centralized database of all Reflectors and their Clients. It is responsible for setting up of Call / Conference. The network interface block connects to the LAN/Internet through TCP. All TCP connections terminate in this block. The TCP connections are identified on the basis of IP number and port numbers. This is implemented using windows 'Winsock' network support. The messages come to the MFC Call Processor dialog class and it has the 'windoproc' message handling API provided by the MFC.
The data structures and databases are expanded as shown in the figure 10 at some instant of time. The data structures we refer here can also be some objects, which do some specific operations on the data they are holding. Examples of such objects are Call objects, Reflector database objects and Terminal objects. The CP Engine object identifies all the control messages and it maintains a list of LoginObjects with respect to the clients and servers.
The clients and servers will have to register with the CP when they become active and this connection will last through the life of the clients or servers as the case may be. CP Engine in the LoginObject list maintains this login connection. During the login, CP builds the mapping between Emails, DN numbers and IP numbers, and Sockets.
The CP has many databases in the form of height balanced binary search RB trees for providing the necessary mapping from one form of address and information representation to other. For example Call Tree, which is expanded and shown in figure 12 shows that it has the mapping from call/conf to some 'data'. This data is nothing but the pointer to the corresponding call object, which includes for example, reflectors, Clients, and its terminals. By using the client login pointer one can get the client-reflector registration mappings and is updated whenever a client registers for the first time or when a client tries to register to a new reflector. All the trees are maintained as a height balanced binary search tree to optimize search time.
The reflector table shown in figure 11 is another database of reflector objects that has the information about the reflectors registered with the CP, its TCP connection, and the clients that are presently in conference and getting served by that reflector. It is shown in figure 13.
An important list of objects that is maintained by CP is Login object list. Each TCP connection (client to CP, VMS to CP, reflector to CP) is unique and the details of which is stored in Login objects. All the transactions on that particular connection are done through the Login object in this list. For all call/conferences a client is currently in has single TCP connection, the data/handle to which is stored in the Login Object. If a client is in two calls then the there would be two 'terminal' objects corresponding to those two calls listed in the respective call objects. Each terminal will have a pointer to the same Login object of the client however, UDP voice ports are different. Thus there can be many terminals belonging to the same client, depending on the number of calls.
The design of CP allows for multiple calls from the same client. However, this feature is not enabled fully at the VQube client application. Thus the diagrams shown in this document always shows Login object in general even for the terminal object. The Call Object actually contains a pointer to the terminal object of a client which in turn has a pointer to the Login Object. We show only the Login Object in this document.
The other list of object is call/conference object. If it is a call then it will have information about called and calling parties and in case of conference the call object will have a linked list of terminals in the conference connected using the Login objects (terminals) as shown in figure 7.
The VMS object of figure 12 has the terminals corresponding to clients, which are served with voice mail facility and the VMS server terminal. At present there is only one VMS in the setup but in future it will have the list of voice mail servers that are connected to CP and the clients assigned to it. All the VMS related switching and decoding of messages are done in this object. This object builds the communication between a client and the VMS server.
An Example of Call and Conference structure in CP
Figure 13 shows the configuration of databases with seven clients in different calls and/or conferences. The top left block shows how the Client Login objects are arranged in different balanced RB trees. The Rl, R2 and R3 represent the reflectors to which the clients are registered. The bottom left block shows the terminal list T1 represents terminal corresponding to client 1, since the terminals are stored in the call objects. There are some terminals repeated because those clients are in multiple calls or conferences. The link at the right hand side of the terminal list shows how the terminals in a conference are connected.
The top right block shows the reflector table where in the database of reflectors and their corresponding clients are shown. For example Reflector 1 has three entries Client 1 and Client 2 in a conference Conf 1, and Client 1 in another conference Conf 2. The other client 3 in conference Conf 2 is maintained in the database of reflector 2. The bottom right block represents the reflectors and clients in a conference Conf 2. The multicast address MC^ and MC^, which are used for reflector - reflector multicasting
and reflector - client multicasting are shown here. There are only two clients in this conference and are attached to different reflectors.
Media Switch responsibilities
Media switch consists of multiple servers including Call Processor, Voice Mail Server, Conference Server, Presence Server, and Chat Server.
• Clients' can be any one of: PC-software, Hardware, Web browser. PPG is always connected to any of these clients.
• Media switch's responsibilities:
o Making and breaking sessions between clients as shown in figure 14. Clients can make calls to other clients, conferences of text, voice or video, sharing of resources like desktop and applications, leave voicemails to other clients in these sessions, o Creating 'dummy' sessions for anonymous clients.
o Sessions can be established between any clients including registered clients,
registered and anonymous clients, and anonymous clients themselves, o Incase of a call placed on a group address, Media Switch hunts for a free line registered under the group address; load balances and establishes calls between the clients.
o Provides presence information of all the client's buddies, o Handles the booking of MeetMe conference by clients.
o Allocates resources required for MeetMe conference, like conference servers, ICS.
o The conference server has the intelligence of selecting at most 'n' parties who are actively involved in the conference. These streams are (mixed, if required) distributed to the other participants of the conference, o Participants can join themselves into the MeetMe conference or the Media Switch
calls them and joins to the conference, o All PBX related features like call forward, auto callback, do not disturb mode etc o Allocating nearest Voicemail server for a client during the session, o Handling multiple sessions from the same client from different locations.
Differences between Mvoip and Present Invention Solution
MVoip Ours
Managed IP Network Unmanaged Internet
Calls always go thru PSTN gateway/PSTN switch All types of calls PC-PC, PC-PSTN (thru PPG), PSTN-PSTN (thru PPG). PSTN comes into picture only if one client uses PPG
information collected and profile stored at the server Completely anonymous for making calls
Calls require Servers Servers are not mandatory for calls. We use media switch for this purpose
Enable web to web direct calls
The media switch has also associated components called Reflector, VMS, etc., as shown for many other facilities.
Load Balancing enabled for multiple lines with the same 'calling name'.
We intelligently select a subset of members when there is a conference, dynamically and in realtime.
Web based n-party conference calls.
An instrument having an Internet connection can make a call directly to the support person.
All media included (voice, video, text, remote applications, scribbling pad, emoticons)
We claim:
1. A method for enabling web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said method comprising steps of:
i. logging into target webpage by the user(s) that enables downloading of a predefined component automatically from webserver;
ii. signing automatically into media switch using the downloaded component;
iii. initiating sessions through the web page interface by clicking on an image or UI which internally communicates with media switch to establish call between the users; and
iv. exchanging media sessions between the users A and B by sending control messages using the media switch to communicate on the web.
2. The method as claimed in claim 1, wherein the user is either registered or unregistered or anonymous for a service and session receiver is either an individual or part of group of individuals sought by session initiator.
3. the method as claimed in claim 2, wherein the session initiator is either anonymous user or a registered user.
4. The method as claimed in claim 1, wherein the predefined component is either activex component or flash component.
5. The method as claimed in claim 1, wherein the media sessions are selected from a group comprising text, voice, video, conferences and combinations thereof.
6. The method as claimed in claim 1, wherein the method enables communication between webpage to webpage, where both the users A and B are logged into system through webpages.
7. The method as claimed in claim 1, wherein the method enables communication between web page to a soft client application, where the user A logged in through webpage and user B logged into system through soft client applications.
8. The method as claimed in claim 7, wherein the soft client application is either voice chat or video chat application.
9. The method as claimed in claim 1, wherein the method enables communication between user A logged into system through webpage and user B logged into system through web based application component that interfaces with personal phone gateway (PPG).
10. The method as claimed in claim 9, wherein the component has predefined code to provide interface with the external hardware through the PPG drivers, wherein said PPG drivers are installed along with the web component or separately.
11. The method as claimed in claim 9, wherein the PPG is software driver along with a hardware card installed on the computer of the user, and said PPG is interfaced between PSTN exchange and the computer.
12. The method as claimed in claim 1, wherein the method establishes communication between PSTN to PSTN through internet and webpages where user A and B components both are connected to PSTN exchanges through a PPG.
13. The method as claimed in claim 12, wherein the method comprises acts of:
i. logging into Media Switch (MS) by both the users A and B;
ii. dialing into user A or user B component by telephone user with a security code or PIN and thereafter dialing telephone number;
iii. placing the call on the dialed number by the user B or user A
14. The method as claimed in claim 12, wherein the component has predefined code to provide interface with the external hardware through the PPG drivers, wherein said PPG drivers are installed along with the web component or separately.
15. The method as claimed in claim 1, wherein the method provides communication between the users selected from a group comprising one-to-one, one-to-group, many- to-one and many-to-many.
16. The method as claimed in claims 1 and 15, wherein the media switch in one-to-group communication identifies free person amongst group and place the call to him and also identifies the person amongst the group who received least amount of calls till a particular time.
17. The method as claimed in claim 1, wherein the method enables consumer product and/or equipment and/or device with hotlines to communicate automatically with
their customer care centers by picking up handset attached to the device without dialing the required phone numbers, said method comprising acts of:
i. logging into media switch automatically by connecting the consumer product and/or equipment and/or device to IP network with a built in ID;
ii. picking up telephone attached to the device or equipment to establish a call onto a support person using the media switch
18. A system to enable web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables call and media sessions, said system comprises:
i. media switch to facilitate for establishment and tearing down of media sessions;
ii. Integrated Communication Server (ICS) to switch the media;
iii. web server to provide automatically web page components; and
iv. personal phone gateways (PPGs) interfaced between PSTN exchange and computer.
19. The system as claimed in claim 18, wherein Control Switch along with the web server and Integrated communication server enables different activities selected from a group comprising
i. Sessions from PSTN to PSTN through Web with PPG;
ii. Sessions handling from anonymous users from web pages;
iii. supports Anonymous sessions, initiating sessions on group address, Support Sessions on Internet, Meet-me conferencing through Web, soft client or PSTN, individual sessions, conference sessions, and conference sessions through session joining;
iv. handles "hunting" for support/help lines/group numbers;
v. load balancing amongst the people who are on group members;
vi. enables a registered user to receive sessions requested for multiple IDs to a single ID; and
vii. Session forward, Session pick up, return sessions in case of a user's unavailability, and do not disturb for web page clients.
20. The system as claimed in claim 18, wherein the system enables consumer product and/or equipment and/or device with hotlines to communicate automatically with their customer care centers by picking up handset attached to the device without dialing the required phone numbers.
21. The system as claimed in claim 18, wherein the media switch consisting plurality of servers comprising Call Processor, Voice Mail Server, Conference Server, Presence Server, and Chat Server.
22. The system as claimed in claim 18, wherein the media sessions are selected from a group comprising text, voice, video, conferences and combinations thereof.
23. A method and system to enable web page with media facilities using Internet Protocol (IP) for communicating on the web between users A and B that enables media sessions is substantially as herein above described in the specification with reference to the accompanying drawings and examples.
| # | Name | Date |
|---|---|---|
| 1 | 1291-che-2007-form 5.pdf | 2011-09-03 |
| 2 | 1291-che-2007-form 3.pdf | 2011-09-03 |
| 3 | 1291-che-2007-form 26.pdf | 2011-09-03 |
| 4 | 1291-che-2007-form 1.pdf | 2011-09-03 |
| 5 | 1291-che-2007-drawings.pdf | 2011-09-03 |
| 6 | 1291-che-2007-correspondnece-others.pdf | 2011-09-03 |
| 6 | 1291-che-2007-description(provisional).pdf | 2011-09-03 |
| 7 | 1291-che-2007-correspondnece-others.pdf | 2011-09-03 |
| 7 | 1291-che-2007-description(provisional).pdf | 2011-09-03 |
| 8 | 1291-che-2007-claims.pdf | 2011-09-03 |
| 8 | 1291-che-2007-drawings.pdf | 2011-09-03 |
| 9 | 1291-che-2007-abstract.pdf | 2011-09-03 |
| 9 | 1291-che-2007-form 1.pdf | 2011-09-03 |
| 10 | 1291-che-2007-form 26.pdf | 2011-09-03 |
| 10 | 1291-che-2007 description (complete).pdf | 2011-09-03 |
| 11 | 1291-CHE-2007 CORRESPONDENCE OTHERS.pdf | 2012-03-28 |
| 12 | 1291-CHE-2007 CLAIMS.pdf | 2012-03-28 |