Abstract:
A session initiation protocol (SIP) terminal, a method and system for reporting status thereof, and an SIP server are provided. The present invention relates to the field of communications, and is capable of enabling the SIP terminal to initiatively report status information to the SIP server, thereby ensuring a normal connection of an SIP call. The method includes: detecting whether status of the SIP terminal changes; generating status reporting information when the status of the SIP terminal changes; and sending current status of the SIP terminal to the SIP server in the form of the status reporting information. The present invention is mainly applied to the SIP technology.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The application is a continuation of International Application No. PCT/CN2009/070173, filed on Jan. 16, 2009, which claims a priority to the Chinese Patent Application No. 200810127054.9, filed on Jun. 19, 2008, which is incorporated herein by reference in its entirety. 
       FIELD OF THE TECHNOLOGY 
       [0002]    The present invention relates to the field of communications, and more particularly to an SIP terminal, a method and system for reporting status thereof, and an SIP server. 
       BACKGROUND 
       [0003]    Session initiation protocol (SIP) has drawn great attention in the field of telecommunications, and more and more telecom-equipment providers propose solutions based on SIP in researching and developing the SIP technology. As a result, SIP terminals in diversified forms also emerge accordingly, such as SIP integrated access device (SIP IAD), SIP phone, SIP softphone, and SIP mobile phone. 
         [0004]    A communication network architecture established based on SIP includes equipments such as SIP terminals and SIP servers. The SIP servers may establish session processes with other users for the SIP terminals according to the status of the SIP terminals recorded thereon. 
         [0005]    In the conventional art, according to the specification of the SIP, an SIP user or SIP server obtains status information of an SIP terminal of a designated SIP user by subscribing to a session status of the SIP user. In the SIP, the SIP user or SIP server sends subscription to the status information of a certain SIP terminal through a Subscribe message, and after receiving the Subscribe message, the SIP terminal sends its own status information to the SIP user or SIP server through a Notify message. 
         [0006]    In the implementation of the present invention, the inventor discovers that, in the conventional art, the current SIP only supports utilizing the Subscribe/Notify messages to subscribe to the session status of the SIP terminal, i.e., only the status information of the SIP terminal in the process from the SIP session to the end of the session is obtained by using the technical solutions of the conventional art. When the user is offhook, the SIP terminal does not initiate a call, i.e., no session is generated, so that the SIP user or SIP server still may not obtain the status information of the designated SIP terminal. 
       SUMMARY 
       [0007]    On the one hand, embodiments of the present invention provide a session initiation protocol (SIP) terminal and a method for reporting status of the SIP terminal, so that the SIP terminal is enabled to initiatively report status information to the SIP server, thereby ensuring a normal connection of an SIP call. 
         [0008]    The method for reporting status of an SIP terminal according to an embodiment of the present invention employs the following technical solution. 
         [0009]    A method for reporting status of an SIP terminal includes the following steps. 
         [0010]    It is detected whether the status of the SIP terminal changes. 
         [0011]    Status reporting information is generated when the status of the SIP terminal changes. 
         [0012]    Current status of the SIP terminal is sent to an SIP server in the form of the status reporting information. 
         [0013]    An SIP terminal capable of initiatively reporting its own status information to the SIP server is also provided in an embodiment of the present invention. 
         [0014]    The SIP terminal according to the embodiment of the present invention employs the following technical solution. 
         [0015]    An SIP terminal includes a detecting unit, an information generating unit, and a transceiver unit. 
         [0016]    The detecting unit is adapted to detect whether status of the SIP terminal changes. 
         [0017]    The information generating unit is adapted to generate status reporting information when the status of the SIP terminal changes. 
         [0018]    The transceiver unit is adapted to send current status of the SIP terminal to an SIP server in the form of the status reporting information. 
         [0019]    On the other hand, embodiments of the present invention provide a method for processing reported status of an SIP terminal and an SIP server so as to accurately provide the SIP terminal with a call connection. 
         [0020]    The method of processing reported status of an SIP terminal according to an embodiment of the present invention includes the following steps. 
         [0021]    A status reporting information reported by the SIP terminal is received. 
         [0022]    The status of the SIP terminal is updated according to the status reporting information. 
         [0023]    The SIP server according to an embodiment of the present invention includes a receiving unit and a status updating unit. 
         [0024]    The receiving unit is adapted to receive status reporting information reported by the SIP terminal. 
         [0025]    The status updating unit is adapted to update status of the SIP terminal according to the status reporting information. 
         [0026]    In the embodiment of the present invention, the SIP terminal is capable of generating the status reporting information according to a received status change signal, and sending its own status information to the SIP server. Therefore, the SIP server may accurately obtain the current status of the SIP terminal, and provide the SIP terminal with a call connection service. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]      FIG. 1  is a schematic view of a system of reporting status of an SIP terminal according to a first embodiment of the present invention; 
           [0028]      FIG. 2  is a flow chart of a method for reporting status of an SIP terminal according to a second embodiment of the present invention; 
           [0029]      FIG. 3  is a flow chart of developing an immediate hotline service by using a method for reporting status of an SIP terminal according to a third embodiment of the present invention; 
           [0030]      FIG. 4  is a flow chart of developing a call forwarding service by using a method for reporting status of an SIP terminal according to a fourth embodiment of the present invention; 
           [0031]      FIG. 5  is a structural view of an SIP terminal according to a fifth embodiment of the present invention; 
           [0032]      FIG. 6  is a schematic view of an information generating unit in the SIP terminal according to the fifth embodiment of the present invention; 
           [0033]      FIG. 7  is a flow chart of a method for processing reported status of an SIP terminal according to a sixth embodiment of the present invention; and 
           [0034]      FIG. 8  is a structural view of an SIP server according to a seventh embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0035]    In order to solve the problem in the conventional art that, before the SIP terminal establishes a call, the SIP server may not accurately obtain the status information of the SIP terminal, thereby making the SIP server unable to accurately provide the SIP terminal with a connection, an embodiment of the present invention provides a system for reporting status of an SIP terminal. In the system, the SIP terminal initiatively reports its own status information to the SIP server. The embodiments of the present invention are further illustrated in detail below with the accompanying drawings. It should be understood that, the detailed description of the implementation herein is for illustration only, instead of limiting the present invention. 
       Embodiment 1  
       [0036]    Referring to  FIG. 1 , a system for reporting status of an SIP terminal according to a first embodiment of the present invention includes an SIP server  101  and an SIP terminal  102 . The SIP terminal  102  is adapted to generate and send status reporting information of its own status change to the SIP server  101 . The SIP server  101  is adapted to update a status record of the SIP terminal  102  according to the status reporting information, and send a status reporting response message to the SIP terminal  102 . 
         [0037]    The status of the SIP terminal includes, for example, offhook, onhook, flashhook, and call forwarding (FWD) status. The implementation of the system according to the embodiment of the present invention is described below with  FIG. 2 . 
       Embodiment 2  
       [0038]    Referring to  FIG. 2 , a method for reporting status of an SIP terminal according to a second embodiment of the present invention includes the following steps. 
         [0039]    Step  201 : It is detected whether the status of the SIP terminal changes. 
         [0040]    In this step, the SIP terminal continuously detects the operation of the user on the SIP terminal to detect whether the status of the SIP terminal changes. For example, if it is detected by the SIP terminal that the user is offhook, a status change signal obtained by the SIP terminal is an offhook signal, and the status thereof after change is an offhook status, and if it is detected by the SIP terminal that the user is onbook, a status change signal obtained by the SIP terminal is an onhook signal, and the status thereof after change is onhook status. The process of the SIP terminal detecting other status changes is similar. 
         [0041]    Step  202 : Status reporting information is generated when the status of the SIP terminal changes. 
         [0042]    In the embodiment of the present invention, a certain event bearer message body in an INFO message in the SIP is extended to bear the status information of the SIP terminal. Here, the event bearer message body is supplementary service call control (SSCC). 
         [0043]    In a specific application, at first, it is required that the current status of the SIP terminal is converted into a corresponding SIP event according to the status change signal received by the SIP terminal. The SIP events respectively corresponding to the offhook status, the onhook status, the flashhook status, and the FWD status are an offhook event, an onhook event, a flashhook event, and an FWD event. Then, the event bearer message body in the INFO message is adapted to bear the SIP event to obtain the status reporting message. In this embodiment, only several application forms of the embodiment of the present invention are listed, and other status changes of the SIP terminal may also be reported in the manner of the embodiment of the present invention. 
         [0044]    In view of the above process, the SIP event may be defined in the following manner by extending the INFO message:
       Event=“event=”“offhook”|“onhook”|“flashhook”|token.       
 
         [0046]    For example, to indicate a flashhook event, the INFO message of the status reporting message is expressed as follows:
       Content-Type: application/sscc   Content-Length:   Event=flashhook       
 
         [0050]    In the above, Content-Type represents the type of the event, and in this embodiment, this byte is filled by application/sscc; Content-Length represents the length of the message body, and this byte is filled according to the length of the specific message body; and Event represents the name of the event. 
         [0051]    It should be noted that, in the embodiment of the present invention, only a part related to the event bearer message body of the content of the INFO message is listed, and the other part of the INFO message conforms to the SIP. 
         [0052]    Step  203 : After the status reporting information is generated in Step  202 , current status of the SIP terminal is sent to an SIP server in the form of the status reporting information. 
         [0053]    After the SIP server receives the status reporting message, the method of the embodiment of the present invention further includes the following step. 
         [0054]    Step  204 : The SIP server updates and stores the current status of the SIP terminal according to the status reporting information and sends a status reporting response message to the SIP terminal, and the SIP terminal receives the status reporting response message. 
         [0055]    A variety of services are realized through the method according to the embodiment of the present invention, such as immediate hotline service, delay hotline service, registering service on busy, FWD service, and IP conference service. The immediate hotline service and the FWD service are respectively taken as an example below to illustrate the implementation of the method according to the embodiment of the present invention. 
       Embodiment 3  
       [0056]    An immediate hotline service is realized by the method of the embodiment of the present invention. 
         [0057]    It is assumed that a user A of the SIP terminal registers an immediate hotline service on the SIP server, and a destination number called by the user after offhook is required to be 01062120000. As shown in  FIG. 3 , the specific process is as follows. 
         [0058]    Step  301 : Tt is detected whether status of the SIP terminal changes. 
         [0059]    Step  302 : After the user A is offhook, an INFO message is generated accordingly when it is detected that the status of the SIP terminal changes. The format of the INFO message is as follows:
       Content-Type: application/sscc   Content-Length:   Event=offhook       
 
         [0063]    In this embodiment, only a part of the content of the INFO message is listed, the part of the content of the INFO message is related to the event bearer message body, and the other part of the INFO message conforms to the SIP. 
         [0064]    Step  303 : The SIP terminal sends the INFO message to the SIP server. 
         [0065]    Step  304 : On receiving the INFO message, the SIP server updates the status of the SIP terminal into the offhook status, detects that the user A registers the immediate hotline service, and establishes a call session of the user A with the destination number. 
         [0066]    Step  305 : The SIP server sends the status reporting message  200  to the SIP terminal. 
       Embodiment 4  
       [0067]    An FWD service is realized by the method of the embodiment of the present invention. 
         [0068]    As shown in  FIG. 4 , it is assumed that a user B of the SIP terminal registers an FWD service on the SIP server, i.e., when the user A is calling the user B or the user A is in session with the user B, the user B may call a user C by pressing an FWD key on the SIP terminal thereof, and the number of the user C is 01062120000. 
         [0069]    Step  401 : When the user A is calling the user B, the user B discovers that the caller is the user A, and thus initiates the FWD service to transfer the call from the user A to the user C during the ringing of the user B, or initiates the FWD service when the user A is in session with the user B, operates the FWD key on the SIP terminal thereof, and dials the number 01062120000 of the user C so as to transfer the call from the user A to the user C. 
         [0070]    Step  402 : When it is detected that the status of the user B changes, the SIP terminal generates an INFO message according to the status that the user B initiates the FWD service, and the format of the INFO message is as follows:
       Content-Type: application/sscc   Content-Length:   Event=FWD   Digit=01062120000       
 
         [0075]    In the above, Digit represents the number of the user C. 
         [0076]    In addition, the status that the user B initiates the FWD service may also be reported to the SIP server through two INFO messages. The following manner may be adopted, in which one INFO message reports the FWD event, and the other INFO message reports the number of the user C.
       Content-Type: application/sscc   Content-Length:   Event=FWD   Content-Type: application/sscc   Content-Length:   Digit=01062120000       
 
         [0083]    Step  403 : The INFO message is sent to the SIP server, and the number of the user C is carried in the INFO message. 
         [0084]    Step  404 : The SIP server transfers the call from the user A to the user C according to the INFO message, and establishes a call of the user A with the user C. 
         [0085]    Step  405 : The SIP server sends a status reporting response message  200  to the user A. 
         [0086]    Similar to the implementation of the fourth embodiment, services such as a three-party conference may also be realized. It should be noted that, only the flows of realizing an immediate hotline service and an FWD service through the method of the present invention are described herein, and the implementation of other services is similar to that of the above two types of services. 
         [0087]    Furthermore, an SIP terminal is provided in a fifth embodiment of the present invention. 
       Embodiment 5  
       [0088]    Referring to  FIG. 5 , the SIP terminal includes a detecting unit  501 , an information generating unit  502 , and a transceiver unit  503 . The detecting unit  501  is adapted to detect whether status of the SIP terminal changes. The information generating unit  502  is adapted to generate status reporting information when the status of the SIP terminal changes. The transceiver unit  503  is adapted to send current status of the SIP terminal to an SIP server in the form of the status reporting information. 
         [0089]    Referring to  FIG. 6 , the information generating unit  502  includes a converting module  511  and an information generating module  512 . The converting module  511  is adapted to convert the current status of the SIP terminal into a corresponding SIP event. The information generating module  512  is adapted to utilize an event carrier message body in an INFO message to carry the SIP event so as to obtain a status reporting message. 
         [0090]    Further, in order to ensure the success of the status updating of the SIP terminal, the transceiver unit  503  is further adapted to receive a status reporting response message sent by the SIP server. 
         [0091]    Corresponding to the method of reporting status of an SIP terminal provided in the second to the fourth embodiment, a method of processing reported status of an SIP terminal is further provided in a sixth embodiment of the present invention. 
       Embodiment 6  
       [0092]    As shown in  FIG. 7 , the method of processing reported status of an SIP terminal according to the sixth embodiment includes the following steps. 
         [0093]    Step  701 : The SIP server receives status reporting information reported by the SIP terminal. 
         [0094]    The format of the status reporting information is the same as that in the second to the fifth embodiment, and the details will not be described herein again. 
         [0095]    Step  702 : The SIP server updates status of the SIP terminal according to the status reporting information. In particular, the SIP server parses the status reporting message, obtains status information of the SIP terminal, and modifies current status of the SIP terminal into status corresponding to the status information. 
         [0096]    In this manner, the SIP server accurately acquires the current status of the SIP terminal, and provides the SIP terminal with a call connection service. 
         [0097]    In addition, corresponding to the sixth embodiment of the present invention, an SIP server is further provided in a seventh embodiment of the present invention. 
       Embodiment 7  
       [0098]    Referring to  FIG. 8 , the SIP server of this embodiment includes a receiving unit  801  and a status updating unit  802 . The receiving unit  801  is adapted to receive status reporting information reported by the SIP terminal. The status updating unit  802  is adapted to update status of the SIP terminal according to the status reporting information. 
         [0099]    Further, the status updating unit  802  includes a parsing module  811  and a modifying module  812 . The parsing module  811  is adapted to parse the status reporting message to obtain status information of the SIP terminal. The modifying module  812  is adapted to modify current status of the SIP terminal into status corresponding to the status information. 
         [0100]    In view of the above, the SIP terminal is capable of generating the status reporting information according to a received status change signal, and sending its own status information to the SIP server. Therefore, the SIP server may accurately obtain the current status of the SIP terminal, and provide the SIP terminal with a call connection service. In addition, the support to immediate hotline, relay hotline, and other services may be realized by using the embodiments of the present invention. 
         [0101]    In the embodiments of the present invention, the SIP terminal may be equipment such as an SIP software terminal, SIP phone, or SIP IAD. 
         [0102]    Those of ordinary skill in the art should understand that all or a part of the steps of the method according to the embodiments of the present invention may be implemented by relevant hardware under the instruction of a program. The program may be stored in a computer readable storage medium, such as a ROM/RAM, a magnetic disk, or an optical disk. 
         [0103]    Finally, it should be understood that the above embodiments are only used to explain, but not to limit the technical solution of the present invention. In despite of the detailed description of the present invention with referring to above preferred embodiments, it should be understood that various modifications, changes or equivalent replacements can be made by those skilled in the art without departing from the spirit and scope of the present invention and covered in the claims of the present invention.