The present invention relates to a system and method for providing an SIP (Session Initiation Protocol) based conference service; and, more particularly, to a system and method for providing an SIP based conference service, which improves user convenience by simplifying creation of a conference session and participation in the conference session.
This work was supported by the IT R&D program of MIC/IITA. [2007-P10-28, Standards Development for MOIP Applications and VoIP interworking]
The SIP is an application-layer signaling protocol which allows intellectual terminals communicating on the Internet to identify and locate with each other and defines procedures for creating, modifying, and terminating multimedia communications sessions therebetween.
Similarly to the HTTP (Hyper Text Transfer Protocol), the SIP works in a transaction processing manner. When a client sends a service request message to a server, the server performs a process in response to the message and sends a response message to the client. Each User communicating by using the SIP uses as an identifier the URI (Uniform Resource Identifier) having a similar form to an email address.
When a conference service, which is a multiparty session, is provided using the SIP, an SIP conference server performs signaling function and a media server mixes voice data received from all terminals to deliver the mixed voice data to the terminals.
To provide the SIP based conference service, an ID of a conference host terminal for use in a conference session (hereinafter, referred to as a “conference host ID”), which differs from an URI of the conference host terminal (hereinafter, referred to as a “conference host URI”), is issued via the DTMF (Dual-tone Multi-frequency) signaling, a web interface, the XCAP (Extensible Markup Language Configuration Access Protocol), or other method than using the SIP. Then, a conference host notifies the conference host ID to conference participants desired to participate in the conference session.
Further, the conference participants use an ID issued to the conference session (hereinafter, referred to as a “conference ID”) to participate in the SIP based conference session which is created by the conference host using the conference host ID.
However, in order to avoid duplication of the conference host ID, the conventional conference host ID is issued in a form of an alpha-numeric random string. Therefore, it is difficult for the conference host to memorize and input the conference host ID.
Further, the conference participants desired to participate in the conference session created using the alpha-numeric random string conference host ID need to be informed the conference ID of the conference session.
In view of the above, the present invention provides a system and method for providing an SIP based conference service, which improves user convenience by simplifying creation of a conference session and participation in the conference session.
In accordance with an aspect of the present invention, there is provided a system for providing a session initiation protocol based conference service, the system including:
a conference host terminal that produces requests to setup a call using identification information, to make a registration of participants to be invited to a conference session using a conference identifier, and to initiate the conference session using the conference identifier;
a plurality of conference participant terminals as the participants that participate in the conference session; and
a conference server having the identification information, the server:
In accordance with another aspect of the present invention, there is provided a method for providing a session initiation protocol based conference service between a conference host terminal and a plurality of conference participant terminals via a conference server, the method including:
requesting from the conference host terminal, to the conference server, to setup a call between the conference host terminal and the conference server, using identification information of the conference server;
issuing, in the conference server, a conference identifier to a conference session to be created in response to the request;
sending from the conference host terminal to the conference server a request to register participant information on participants to be invited to the conference session, using the conference identifier;
registering the participant information in the conference server;
requesting from the conference host terminal to the conference server to initiate the conference session, using the conference identifier;
sending to each of the conference participant terminals corresponding to the registered participant information a message to invite the conference participant terminal to the conference session, the message containing the conference identifier; and
creating the conference session with conference participant terminals which have sent to the conference server acknowledgement messages in response to the message to invite the participant terminal.
In accordance with the present invention, the conference host can make the conference session created without memorizing the alpha-numeric random string conference host ID. Further, by using the conference host URI in place of the conference host ID, the conference participants can participate in the conference session without knowing the conference ID. Therefore, user convenience can be improved.
The objects and features of the present invention will become apparent from the following description of embodiments, given in conjunction with the accompanying drawings, in which:
Hereinafter, a system and method for providing an SIP based conference service in accordance with embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Referring to
The conference host terminal 100 and the conference participant terminals 150 are general SIP terminals, and each terminal may support only six methods or messages INVITE, ACK, BYE, REGISTER, OPTION, and CANCEL among SIP signals defined in RFC (Request for Comments) 3261. According to the present invention, in order to provide a multifunctional conference service to the terminals supporting only the above-described basic methods, the temporary conference ID is issued. Details will be described below.
The SIP standard and RFC 3261 have already been disclosed to be easily applicable to those skilled in the art, and thus description therefor will be omitted.
Each of the conference host terminal 100 and the conference participant terminals 150 inserts to a request message an extension header field, e.g., the Require or Supported header field, having identification information (i.e., information on the request message), and then sends the request message to the conference server 130.
The conference server 130 has a message process unit 112 for processing the received request message based on the identification information of the extension header field therein and sending a response message, e.g., a 2xx or 3xx message, in response to the request message; an ID (identifier) issue unit 114 for issuing a temporary conference ID in response to a first INVITE message to setup a call from the conference host terminal 100; a participant registration unit 116 for registering to a database 120 participant information, which is information on participants of a conference session, received from the conference host terminal 100 via a REGISTER message; and a conference session control unit 118 for creating the conference session after the participants are registered.
Data structure stored in the database 120 includes a conference host URI field, a temporary conference ID field, a temporary conference ID valid time field, and a participant information field.
When receiving from the conference host terminal 100 a second INVITE message to initiate a conference session in which the temporary conference ID is used, the conference session control unit 118 sends third INVITE messages to invite the participants to the conference session, each third INVITE message containing the temporary conference ID, to the conference participant terminals 150 corresponding to the participant information. And then, the conference session control unit 118 creates the conference session with conference participant terminals 150 which have sent acknowledgements to the third INVITE messages.
After that, if the conference session control unit 118 receives a fourth INVITE message to participate in the conference session, in which the conference host URI is used, from a conference participant terminal 150 which has not accepted a call (has not sent the acknowledgement message) at the time of the initiation of the conference session, the conference session control unit 118 sends the temporary conference ID to the conference participant terminal 150. When receiving a fifth INVITE message to participate in the conference session, in which the To field is set as the temporary conference ID, from the conference participant terminal 150 which has not accepted the call at the time of the initiation of the conference session, the conference session control unit 118 allows that conference participant terminal 150 to participate in the conference session.
Further, the conference session control unit 118 terminates the conference session based on the temporary conference ID valid time stored in the database 120.
Procedures, performed in a conference service provision system having the above-described configuration, for issuing a temporary conference ID, creating a conference session using the issued temporary conference ID, and participating in the conference session will be described with reference to
Referring to
The conference host terminal 100 sends a first INVITE message to setup a call to the conference server 130 (step S202). Here, the first INVITE message has an extension header, e.g., the Require header, in which identification information is set to inform the conference server 130 that the message is to request an issue of a temporary conference ID. The From header of the first INVITE message is set to a conference host URI, and both the To header and the Request-URI field thereof are set to a conference server URI.
The message process unit 112 determines, based on the extension header and the Request-URI field of the first INVITE message, whether the first INVITE message is to request the issue of the temporary conference ID which is necessary for initiating a conference session. That is, if the first INVITE message has the extension header and the Request-URI field thereof is set to the conference server URI, the message process unit 112 determines that the first INVITE message is to request the issue of the temporary conference ID.
The ID issue unit 114 issues and maps the temporary conference ID with the conference host URI in the first INVITE message. Further, the ID issue unit 114 sets a valid time of the temporary conference ID, and then stores the conference host URI, the temporary conference ID, and the valid time in respective corresponding fields of the database 120 (step S204). The temporary conference ID stored in the database 120 is deleted when the valid time thereof expires.
The ID issue unit 114 sends a 3xx response message to the conference host terminal 100 in response to the first INVITE message (step S206). The Contact header of the 3xx response message includes the issued temporary conference ID, and the Supported header, which is the extension header, includes identification information to notify that the temporary conference ID is sent via the 3xx response message.
The conference host terminal 100 sends an acknowledgement message in response to the 3xx response message (step S208). After that, the conference host terminal 100 sends a REGISTER message having participant information stored in the memory thereof to the conference server 130 (step S210). The Contact header of the REGISTER message includes the participant information, and the extension header thereof includes identification information to notify that the participant information is sent for a registration procedure of a conference service. The From header of the REGISTER message is set to a conference host URI, and the To header thereof is set to the temporary conference ID.
The message process unit 112 determines, based on the identification information of the extension header, whether the REGISTER message is to register participants. If it is determined that the REGISTER message is to register the participants, the participant registration unit 116 stores the participant information in the REGISTER message in the database 120 (step S212), and then sends a 200 response message to the conference host terminal 100 to notify that the participants are registered (step S214).
In response to the 200 response message, the conference host terminal 100 sends to the conference server 130 a second INVITE message to initiate the conference session to which the temporary conference ID is issued (step S216). The second INVITE message includes the temporary conference ID.
In response to the second INVITE message, the conference session control unit 118 checks the validity of the temporary conference ID in the second INVITE message, i.e., determines whether the temporary conference ID exists in the database 120. When it is determined that the temporary conference ID is valid, the conference session control unit 118 sends, using the participant information stored in the database 120, third INVITE messages to invite the participants to the conference session to the conference participant terminals 150 (step S218). After that, the conference session between the conference host terminal 100 and the conference participant terminals 150 is created (step S220). Each of the third INVITE messages sent to the conference participant terminals 150 includes the temporary conference ID.
As described above, in accordance with the present invention, the temporary conference ID is issued and the participant information is registered by using message exchanges between the conference host terminal 100 and the conference server 130, and then the conference session is created by sending to the conference participant terminals 150 messages to invite the participants to the conference session. Therefore, the alpha-numeric random string conference host ID needs not to be memorized by the conference host or known to the conference participants to create the conference session.
Hereinafter, a non-participant denotes a participant who has not accepted a call between the conference server 130 and the conference participant terminal 150 thereof when a conference session is created.
If the non-participant has information on a missed call, i.e., the temporary conference ID sent by the conference server 130 when the conference session is created, the non-participant can participate in the conference session by sending to the conference server 130 a fourth INVITE message to participate in the conference session, in which the To field is set as the temporary conference ID, via the non-participant terminal 150.
Meanwhile, if the non-participant does not have information on the missed call, as shown in
Here, the Request-URI field of the fifth INVITE message sent by the non-participant terminal 150 is set to the conference server URI, and, the To header and the From header thereof are respectively set to the conference host URI and the non-participant URI.
Further, the fifth INVITE message sent by the non-participant terminal 150 includes an extension header to notify that the non-participant terminal 150 desires to participate in the conference session.
The conference session control unit 118 determines, based on the extension header of the fifth INVITE message, that the fifth INVITE message is to participate in the conference session, and sends a 3xx response message to the non-participant terminal 150 in response to the fifth INVITE message (step S302).
Here, the Contact header of the 3xx response message includes the temporary conference ID.
In response to the 3xx response message, the non-participant terminal 150 sends an ACK message to the conference server 130 to notify the reception of the 3xx response message (step S304). After that, the non-participant terminal 150 sends the fourth INVITE message to the conference server 130 using the temporary conference ID in the 3xx response message (step S306). Accordingly, the non-participant terminal 150 can participate in the conference session.
As described above, in accordance with the present invention, the conference host can make the conference session created or register the participants without using the alpha-numeric random string conference host ID. Also, even if the conference participants do not know the conference host ID, the conference participants can participate in the conference session only by inputting the conference host URI.
Further, call setup request operation to participate in the already created conference session can be mapped with a single button of the non-participant terminal, thereby improving user convenience.
While the invention has been shown and described with respect to the embodiments, it will be understood by those skilled in the art that various changes and modification may be made without departing from the scope of the invention as defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2007-0045983 | May 2007 | KR | national |