Abstract:
A cooperating system includes a web server and a communication service control server, where information of an error in a communication network is not notified until the web server makes an inquiry to the communication service control server. To solve this problem, a communication system is configured to include a session control server for controlling communication sessions from/to a plurality of terminals, an application server for communicating with the session control server, a web server for communicating with the application server, and a network for coupling the session control server, the application server and the web server. The application server is configured to transmit status related information including information on each communication session status of the plurality of terminals to the web server. The web server is configured to detect each communication session status of the plurality of terminals based on the received status related information.

Description:
CLAIM OF PRIORITY 
     The present application claims priority from Japanese patent application JP 2008-145830 filed on Jun. 3, 2008 the content of which is hereby incorporated by reference into this application. 
     BACKGROUND OF THE INVENTION 
     This invention relates to a communication system, and more particularly, to a communication system in which SIP session control is used. 
     The third generation mobile network system aims to provide various multimedia services of high quality and high speed. The multimedia services include voice, data, video and the like. The 3rd Generation Partnership Project (3GPP) has been promoting standardization of an “All IP based mobile communication network” to provide a multimedia service using an internet protocol (IP) technique on a packet switching network. 
     A session control system in the All IP based mobile communication network is called an IP multimedia subsystem (IMS). The IMS has been used in the session control technique in the next generation network (NGN). 
     A session initiation protocol (SIP) is used as a session control protocol (For example, see IETF RFC3261, “SIP: Session Initiation Protocol §4”). The SIP is a protocol for performing session control of the IP multimedia communication specified for internet engineering task force (IETF). 
     A voice over IP (VoIP) is a representative service using the SIP. The VoIP is a technique which transmits/receives voice information on the IP network. The VoIP communication using the SIP requires a setting of a virtual speech path (a session) between communication devices which transmit/receive voice information. Voice data which is IP packetized is transferred through the set virtual speech path. In the VoIP communication, the SIP controls initiation, maintaining and termination of sessions between the communication devices. 
     Media information such as attributes of the voice data is determined at the session initiation. The media information is notified using a session description protocol (SDP) included in a SIP message. The SDP describes various pieces of session information (an IP address, a port number, a media type, for example). 
     Further, an application programming interface (API) is being considered for being able to use a communication service provided by a provider from a Web service provided by a third party. 
     The Parlay Group is a group that specifies an open API which does not depend on a network or a vendor. The Parlay Group is planning to use “Parlay-X” as the open API. “Parlay-X” specifies APIs for the purposes of the usage in a Web service environment, and the Web service of which usage is not limited to an implemented language. The “Parlay-X” provides Web developers with abstracted communication APIs. 
     The APIs specified in the “Parlay-X” include, for example, 3rd party call control (3PCC) which provides a two-party speech service by initiating from a Web application side. (For example, see 5th Draft ES 202 504-2 Parlay X 3.0, “Part 2: Third Party Call”, [online], August 2007). 
     The Parlay Group cooperates with the European telecommunications standard institute (ETSI) and the 3 rd  generation partnership project (3GPP). The “Parlay-X” is published by the three groups and defines a standard open interface; however, how the “Parlay-X” is implemented is not specified. 
     SUMMARY OF THE INVENTION 
     In the “Parlay-X”, usage of APIs for each service is specified. A request message (including session initiation, session termination and call information query) to a communication system from a Web application server and a response to the message are specified for the APIs to be used for the 3PCC. 
     However, ways for implementation such as transmitting intervals for the request message and the response message are not specified. Accordingly, in a case where the communication is terminated while the 3PCC service is provided, a way to notify that a server which provides with the Web application terminates the communication from the communication system is needed. For example, although when the communication is terminated, the termination cannot be notified to the communication system to the Web server. Thus, even though the communication is terminated, communication network resources are consumed more than necessary or billing mistakes occur because the Web server cannot detect the termination of the communication. 
     The object of this invention is to provide a method for a Web server to detect termination of communication sessions. 
     A representative aspect of this invention is as follows. That is, there is provided a communication system comprising: a session control server for controlling communication sessions from/to a plurality of terminals, an application server for communicating with the session control server, a Web server for communicating with the application server, and a network for coupling the session control server, the application server and the Web server. The application server is configured to transmit status related information including information on each communication session status of the plurality of terminals to the Web server. The Web server is configured to detect each communication session status of the plurality of terminals based on the received status related information. 
     According to an embodiment of this invention, a Web server is able to detect termination of communication sessions on a communication system side. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention can be appreciated by the description which follows in conjunction with the following figures, wherein: 
         FIG. 1  is a configuration diagram of a communication network according to a first embodiment of this invention; 
         FIG. 2  is a block diagram for showing a configuration example of a Web server according to the first embodiment of this invention; 
         FIG. 3  is an explanation diagram for showing a configuration example of a session information table in the Web server according to the first embodiment of this invention; 
         FIG. 4  is a block diagram for showing a configuration example of a SIP application server according to the first embodiment of this invention; 
         FIG. 5  is an explanation diagram for showing a configuration example of a session information table in the SIP application server according to the first embodiment of this invention; 
         FIG. 6  is a block diagram for showing a configuration example of a SIP server according to the first embodiment of this invention; 
         FIG. 7  is an explanation diagram for showing a configuration example of a session status management table in the SIP server according to the first embodiment of this invention; 
         FIG. 8  is a sequence diagram for showing a process of initiating a general 3PCC service according to the first embodiment of this invention; 
         FIG. 9  is a sequence diagram for showing a process of checking communication session status performed when a 3PCC service is continued after initiating a communication session between terminals according to the first embodiment of this invention; 
         FIG. 10  is a flowchart of a session timer notification routine according to the first embodiment of this invention; 
         FIG. 11  is a sequence diagram for showing a process when an error occurs during the initiation of the 3PCC service according to the first embodiment of this invention; 
         FIG. 12  is a configuration diagram of a Web server according to a second embodiment of this invention; 
         FIG. 13  is a configuration diagram of a SIP application server according to the second embodiment of this invention; 
         FIG. 14  is an explanation diagram for showing a configuration example of a session information table in the SIP application server according to the second embodiment of this invention; 
         FIG. 15  is a sequence diagram for showing a process of checking communication session status performed when the 3PCC service is continued after initiating the 3PCC service according to the second embodiment of this invention; 
         FIG. 16  is a sequence diagram for showing a process when an error occurs during the initiation of the 3PCC service according to the second embodiment of this invention; 
         FIG. 17  is a configuration diagram of a communication network according to a third embodiment of this invention; 
         FIG. 18  is a block diagram for showing a configuration example of a presence server according to the third embodiment of this invention; 
         FIG. 19  is an explanation diagram for showing a configuration example of a watcher information table in the presence server according to the third embodiment of this invention; 
         FIG. 20  is a block diagram for showing a configuration example of a Web server according to the third embodiment of this invention; 
         FIG. 21  is an explanation diagram for showing a configuration example of a SIP AS information table in the Web server according to the third embodiment of this invention; 
         FIG. 22  is a sequence diagram for showing a process of checking communication session status performed when the 3PCC service is continued after initiating the 3PCC service and a process when an error occurs during the initiation of the 3PCC service according to the third embodiment of this invention; and 
         FIG. 23  is a sequence diagram for showing a process of checking communication session status performed when the 3PCC service is continued after initiating the 3PCC service and a process when an error occurs during the initiation of the 3PCC service according to the third embodiment of this invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A first embodiment of this invention is described with reference to the drawings. 
     As a representative example, a detailed description of a communication method using 3rd party call control (3PCC) is given. 
       FIG. 1  is a configuration diagram of a communication network according to the first embodiment of this invention. 
     A network according to this embodiment includes IP network N 1  and access networks N 2 A, N 2 B and N 2 C (access network N 2 ). 
       FIG. 1  shows fixed terminals  7 A to  7 D as an example for terminals  7  which are user equipment (UE). Hereinafter, when the terminals  7  are separately described, an additional character, “A”, “B”, “C” or “D” is added to the numerical reference. Each of the terminals  7  are described as, for example, a “terminal  7 A” and a “terminal  7 B”. Other elements are described in the similar way. 
     The IP network N 1  and the access network N 2  are connected via access gateway apparatuses (AGWs)  6  ( 6 A,  6 B and  6 C). The IP network N 1  and the access network N 2  may be connected by other communication apparatuses such as a router, instead of the AGWs  6 . Each AGW  6  transfers IP packets transmitted/received between the terminals  7  and the IP network N 1 . The IP network N 1  at least comprises one SIP server  1 . 
     A Web server  2  comprises a user interface function for initiating a 3PCC service, a function necessary for initiating the 3PCC service and a mutual communication function between the Web server  2  and a SIP application server  3 . 
     The SIP application server  3  comprises a function for controlling execution of an IMS application (a SIP application). 
     Note that  FIG. 1  shows one SIP server  1 , one Web server  2 , and one SIP application server  3  as an example. However, a plurality of these servers may be installed in the communication network in a case where this invention is implemented. 
       FIG. 2  is a block diagram for showing a configuration example of a Web server according to the first embodiment of this invention. 
     The Web server  2  comprises interfaces (IFs)  21  ( 21 A and  21 B) which accommodate lines  22  ( 22 A and  22 B), a CPU  24 , a memory  25  and a database (DB)  26 . Each element is connected by a bus  23 . 
     The memory  25  stores a program  28  which executes protocol processing and a program  29  which executes the mutual connection function between the Web server  2  and the SIP application server  3 . Note that the memory  25  may store IMS further additional programs. 
     The CPU  24  is a processor which executes the programs stored in the memory  25 . In descriptions hereinafter, the processes the Web server  2  execute are actually performed by the CPU  24  by executing any one of the programs stored in the memory  25 . 
     The program  28  which executes the protocol processing includes a program (SOAP control module  2801 ) and a program (user interface control module  2802 ). The SOAP control module  2801  provides a function to transmit/receive signals between the Web server  2  and the SIP application server  3 . The user interface control module  2802  provides a function to transmit/receive signals between the terminals  7  and the Web server  2 . 
     The program  29  which executes the mutual connection function includes a processing program  27  which performs timer reception and a session information table  230  in which information for each session is stored. Note that the database  26  may include the session information table  230 . 
     The Web server  2  includes the timer reception processing program  27  and the session information table  230 . Accordingly, the Web server  2  can control a transmission period of a call information query request by using a time value received from the SIP application server  3 . Details will be described later with reference to  FIGS. 8 to 11 . 
       FIG. 3  is an explanation diagram for showing a configuration example of the session information table  230  in the Web server  2  according to the first embodiment of this invention. 
     In a case where the Web server  2  receives a message transmitted from the SIP application server  3 , the Web server  2  checks the session information table  230  and updates the session information table  230  based on information included in the message. 
     The session information table  230  at least includes a Parlay-X call session identifier  231 , a SIP AS IP address  234 , a 3PCC identifier  235 , and a timer  237 . 
     The Parlay-X call session identifier  231  holds an identifier for uniquely identifying the communication session between the Web server  2  and the SIP application server  3 . This Parlay-X call session identifier  231  is the same one as a Parlay-X call session identifier  211  in  FIG. 5  which will be described later. 
     The SIP AS IP address  234  holds an identifier for identifying the SIP application server  3  corresponding to the Parlay-X call Session Identifier  231 . 
     The 3PCC identifier  235  holds an identifier for identifying a communication session (between the SIP application server  3  and the terminals  7 ) connected through the 3PCC service provided by the SIP application server  3 . This is the same one as the 3PCC identifier which will be described with reference to  FIG. 5  later. 
     The timer  237  holds a transmission period (a timer value) of a call information query request that the Web server  2  transmits to the SIP application server  3 . 
     The session information table  230  includes the timer value  237 . Accordingly, the Web server  2  can quickly detect termination of the communication session or the end of the communication between terminals. 
       FIG. 4  is a block diagram for showing a configuration example of a SIP application server  3  according to the first embodiment of this invention. 
     The SIP application server  3  comprises interfaces (IFs)  31  ( 31 A and  31 B) which accommodate lines  32  ( 32 A and  32 B), a CPU  34 , a memory  35  and a database (DB)  36 . Each element is connected by a bus  33 . 
     The memory  35  stores a program  38  (SIP protocol control module  3801 , HTTP protocol control module  3802 , and SOAP control module  3803 ) which executes protocol processing, a program  39  (a SIP user agent control processing module  3901 , 3PCC control processing module  3902 ) which executes processing to achieve the 3PCC server, a program (a session timer notification routine  370 ) which executes timer notification processing, a session information table  210  in which information for each session is stored, and a processing program  40  which performs protocol translation (SOAP-SIP). Note that the memory  35  may store further additional programs. 
     The CPU  34  is a processor which executes the programs stored in the memory  35 . In descriptions hereinafter, the processes executed by the SIP application server  3  are actually performed by the CPU  34  by executing any one of the programs stored in the memory  35 . 
     The program  38  which executes protocol processing includes a program (the SIP protocol control module  3801 ) for providing a function for transmitting/receiving signals between the SIP application server  3  and the SIP server  1 , and a program (the HTTP protocol control  3802 , and the SOAP control module  3803 ) for providing a function for transmitting/receiving signals between the SIP application server  3  and the Web server  2 . 
     The program  39  which executes processing to providing the 3PCC server includes the program  3901  which performs the SIP user agent processing and the program  3902  which performs 3PCC control. 
     The program  3902  which performs 3PCC control is a program for controlling communication between more than two terminals. For example, the program  3902  holds association information of the communication session between the terminal  7 A and the SIP application server  3 , and the communication session between the terminal  7 B and the SIP application server  3  in order to make possible communication between the terminal  7 A and the terminal  7 B through the 3PCC control processing. Furthermore, the session timer notification routine  370 , the session information table  210  used for storing the information on the each session and the processing program which performs the protocol translation (SOAP-SIP) are included. Note that the database  36  may include the session information table  210 . 
     The SIP application server  3  includes the session timer notification routine  370  and the session information table  210 . Accordingly, the SIP application server  3  can notify the Web server  2  of the transmission period (a timer value) of the call information query request. 
       FIG. 5  is an explanation diagram for showing a configuration example of a session information table  210  in the SIP application server  3  according to the first embodiment of this invention. 
     In a case where the SIP application server  3  receives a message transmitted from the SIP server  1 , the SIP application server  3  checks the session information table  210  and updates the session information table  210  based on information included in the message. 
     The session information table  210  at least includes a Parlay-X call Session Identifier  211 , a Web server IP address  212 , a 3PCC identifier  213 , a timer T 1   214 , a timer T 2   215 , status  216  and a timer T 3   217 . 
     The Parlay-X call session identifier  211  holds an identifier for uniquely identifying the communication session between the Web server  2  and the SIP application server  3 . The identifier is generated when the SIP application server  3  receives a request for a SIP session initiation from the Web server  2  and the identifier is held in the Parlay-X call Session Identifier  211 . The detail will be described later with reference to  FIG. 8 . 
     The Web server IP address  212  holds an identifier for identifying the Web server  2  corresponding to the Parlay-X call Session Identifier  211 . 
     The 3PCC identifier  213  holds an identifier for identifying a communication session (between the SIP application server  3  and the terminals  7 ) connected through the 3PCC service provided by the SIP application server  3 . The identifier is generated when the SIP application server  3  initiates a SIP session and is held in the 3PCC identifier  213 . The detail will be described later with reference to  FIG. 8 . 
     The timer T 1   214  and the timer T 2   215  hold transmission periods (timer values) of messages inquiring about communication session status to each terminal. Note that although two-party communication is assumed in this embodiment, the number of timers increases according to the number of connected communication terminals in a case where more than two parties are communicating. 
     The status  216  holds communication session status. Note that the status includes session initiating, busy, terminating, participating in a three-party communications and logging out. 
     The timer T 3   217  holds a transmission period (a timer value) of the call information query request that the Web server  2  transmits to the SIP application server  3 . The timer T 3   217  is obtained by a method (see  FIG. 10 ) which will be described later and held in the session information table  210 . 
     The session information table  210  includes the timer T 3   217 . Accordingly, the SIP application server  3  can notify the Web server  2  of the transmission period of the call information query request. Thus, the Web server  2  can quickly detect termination of the communication session. 
       FIG. 6  is a block diagram for showing a configuration example of the SIP server  1  according to the first embodiment of this invention. 
     The SIP server  1  includes interfaces (IFs)  11  ( 11 A and  11 B) which accommodate lines  12  ( 12 A and  12 B), a CPU  14 , a memory  15  and a database (DB)  16 . Each element is connected by a bus  13 . 
     The memory  15  at least holds a SIP server function  17 , a session status management table  270  and a SIP protocol control program  19  which executes protocol processing. Note that the memory  15  may store further additional programs. 
     The CPU  14  is a processor which executes the programs stored in the memory  15 . In descriptions hereinafter, the processes the SIP server  1  execute are actually performed by the CPU  14  by executing any one of the programs stored in the memory  15 . 
       FIG. 7  is an explanation diagram for showing a configuration example of a session status management table  270  stored in the SIP server  1  according to the first embodiment of this invention. 
     The SIP server  1  holds the session timer between the SIP application server  3  and the terminals  7 . 
     The session status management table  270  at least includes association information of a To header  271 , a From header  272 , a call ID  273 , a timer T  274  and status  275  which are all included in a SIP message. 
     The SIP server  1  holds the session status management table  270 . Accordingly, the SIP server  1  is able to store the transmission period (the timer value) of transmitting/receiving a message for checking whether the communication between the SIP application server  3  and the terminals  7  is normally performed. Therefore, the termination of the communication session can be detected when the value of the timer T 1  expires without receiving the message from the terminal  7 A, for example. Note that in the first embodiment, the SIP application server  3  detects the termination of the communication session. The case of the SIP server  1  detecting the termination of the communication session will be described in a third embodiment. 
       FIG. 8  is a sequence diagram for showing a process of initiating a general 3PCC service according to the first embodiment of this invention. The message transmitted/received between the Web server  2  and the SIP application server  3  is specified by the Parlay-X. Note that in  FIG. 8 , the SIP application server  3  is shown in two separate ways to make the operation inside the SIP application server  3  easier to understand. The subsequent sequence diagrams are shown in the similar way. 
     A message (for example, an HTTP message) is transmitted/received between the terminal  7 A and the Web server  2 . The message requesting for the initiation of the 3PCC service is transmitted from the Web server  2  to the terminal  7 A (S 1 ). The message includes an identifier of the terminal  7 A and an identifier of a terminal (the terminal  7 B for this case) of the connection destination. Note that the 3PCC service is provided by the 3PCC control module  3902 , the SIP User Agent control module  3901  and the SIP protocol control module  3801 . 
     The Web server  2  receiving the message transmits a message (make Call Session Request) for requesting the session initiation to the SIP application server  3  (S 2 ). The message includes the identifier of the terminal  7 A, the identifier of the terminal  7 B and an identifier of the Web server  2 . 
     The SIP application server  3  which received the message for requesting the session initiation initiates the 3PCC service (S 3 ). 
     In addition, the SIP application server  3  generates an identifier for uniquely identifying the communication session between the Web server  2  and the SIP application server  3 , and searches for an entry from the Parlay-X call Session Identifier  211  in the session information table  210  using the generated identifier as a search key. In a case where the searched entry is not found, the SIP application server  3  generates a new entry  210 - 1  and registers the generated identifier in the Parlay-X call Session Identifier  211  of the generated entry  210 - 1 . In a case where the searched entry is found, the SIP application server  3  notifies the Web server  2  of an error. 
     Moreover, the SIP application server  3  registers the identifier of the Web server  2  included in the received message for requesting the session initiation in the Web server IP address  212  of the entry  210 - 1 . 
     Furthermore, the SIP application server  3  generates an identifier for identifying a communication session connected through the 3PCC service and registers the generated identifier in the 3PCC identifier  213  of the entry  210 - 1 . 
     The SIP application server  3  generates a new entry and transmits a response message (make Call Session Response) to the Web server  2  after registering each identifier in the generated entry (S 4 ). 
     After initiating the 3PCC service, the SIP application server transmits/receives a message for initiating a communication session between the SIP server  1  and the terminal  7 A (S 5  to S 10 ) and checks whether the terminal  7 A is available to communicate. In addition, the SIP application server  3  transmits/receives a message for initiating a communication session between the SIP server  1  and the terminal  7 B (S 11  to S 16 ) and checks if the terminal  7 B is available to communicate. 
     In a case where the terminal  7 A and the terminal  7 B are both determined to be available to communicate, the SIP application server  3  transmits to terminal  7 A media information necessary for communicating with the terminal  7 B (S 17  to S 22 ). The communication between the terminal  7 A and the terminal  7 B is possible through the above-described processes (S 23 ). 
     When the communication is possible, the SIP application server  3  determines a transmission period (T 1  and T 2 ) of a message (INVITE) for checking communication session status to the terminals  7 . The message is for checking whether the communication session status of the terminals connected through the 3PCC service is normal. Moreover, the transmission period T 1  is a transmission period (see  FIG. 9 ) of a message for checking the communication session status between the SIP application server  3  and the terminal  7 A. The transmission period T 2  is a transmission period (see  FIG. 9 ) of a message for checking the communication session status between the SIP application server  3  and the terminal  7 B. 
     The transmission periods (T 1  and T 2 ) of the message for checking the communication session status are determined by using procedure specified in IETF RFC4028. The procedure specified in IETF RFC4028 makes possible periodical update of the communication session by using SIP INVITE or SIP UPDATE.  FIG. 9  shows an example of a sequence diagram for the periodical update of the communication session by using the SIP INVITE. 
     More specifically, in a case where communication sessions are initiated between the terminals  7  and the SIP application server  3 , the transmission periods (T 1  and T 2 ) of the message (INVITE) for checking the communication session status by transmitting/receiving the smallest value of the period and the like of updating the communication session. Note that the transmission periods T 1  and T 2  may have different values. 
     With the transmission periods of the transmission periods T 1  and T 2 , whether the communication session status is normal can be checked by transmitting/receiving the SIP message between the SIP application server  3  and the terminal  7 . Note that the message transmitted/received for periodically checking the communication session status is normal between the SIP application server  3  and the terminal  7  and may be often called a keep alive message. 
     After the transmission periods T 1  and T 2  are determined, the SIP application server  3  searches for an entry from the session information table  210  using the 3PCC identifier  213  as a search key, and sets the timer value T 1   214  and the timer value T 2   215  of the searched entry. Moreover, the SIP application server  3  sets “busy” in the status  216  of the searched entry. 
     The Web server  2  transmits a call information query request (get Call Session Information Request) for checking the communication session status to the SIP application server  3  (S 71 ). The SIP application server  3  which received the call information query request transmits a response message (get Call Session Information Response) including the communication session status to the Web server  2  (S 72 ). Accordingly, the Web server  2  can detect the communication session status. 
     The message specified by the Parlay X is transmitted in S 71  and S 72 . In this embodiment, the message is transmitted at least once after the communication session is initiated between the terminals. Note that the message may be transmitted before the communication session is initiated. 
       FIG. 9  is a sequence diagram for showing a process of checking communication session status performed when the 3PCC service is continued after initiating the communication session between terminals according to the first embodiment of this invention. 
     S 31  to S 36  and S 51  and S 56  in  FIG. 9  show transmission/reception of the message (keep alive message) for checking the communication session status of the terminal  7 A. S 37  to S 42  and S 57  to S 62  in  FIG. 9  show transmission/reception of the message (keep alive message) for checking the communication session status of the terminal  7 B. 
     In addition, the timer T 1   214  shows the transmission period (the interval between the S 31  and S 51 ) of the keep alive message between the SIP application server  3  and the terminal  7 A. Similarly, the timer T 2  ( 215 ) shows the transmission period (the interval between the S 37  and S 57 ) of the keep alive message between the SIP application server  3  and the terminal  7 B. Note that the sequence (S 31  to S 62 ) shows a process generally performed when the 3PCC service monitors the communication session status. 
     The processes of S 1  to S 23  are the same as that of  FIG. 8 . However, information included in the message transmitted/received between the Web server  2  and the SIP application server  3  differ because the timer T 3   217  of the session information table  210  and the timer  237  of the session information table  230  are added. The difference will be described. 
     After the timer T 1   214  and the timer T 2   215  are determined, the SIP application server  3  initiates the session timer notification routine  370  to obtain the timer T 3   217  using the timer T 1   214  and the timer T 2   215  of the session information table  210  (S 26 ). Hereinafter, the session timer notification routine  370  is described with reference to  FIG. 10 . 
       FIG. 10  is a flowchart of a session timer notification routine  370  according to the first embodiment of this invention. 
     The SIP application server  3  checks the timer T 1   214  and the timer T 2   215  of the session information table  210  ( 371 ) to obtain the session timer ( 372 ). More specifically, the SIP application server  3  compares the timer T 1   214  and the timer T 2   215  and determines a value smaller than the timer value as a session timer. Accordingly, the Web server  2  then is able to inquire of the SIP application server  3  about the communication session status based on the obtained session timer. Note that the obtained session timer is preferably a comparable value as the timers T 1  and T 2  so that communication load caused by the query request from the Web server  2  to the SIP application server  3  can be suppressed. 
     After the session time is obtained, the SIP application server  3  searches for an entry from the session information table  210  using the 3PCC identifier  213  as a search key ( 373 ). In a case where the searched entry is found, the SIP application server  3  registers the obtained session timer in the timer T 3   217  of the searched entry ( 374  and S 27 ) and ends the routine. In a case where the searched entry is not found, the SIP application server  3  ends the routine. 
     The sequence diagram is again described by returning to  FIG. 9 . 
     The Web server  2  transmits the call information query request (get Call Session Information Request) to the SIP application server  3  (S 71 ). Note that S 71  is the same one as the message transmitted in S 24  in  FIG. 8 . 
     The SIP application server  3  which received the call information query request searches for a entry from the session information table  210  using the Parlay X call Session Identifier  211  included in the call information query request as a search key, and reads the status  216  and the timer T 3   217  from the searched entry. 
     In a case where the timer T 3   217  is not set to the searched entry, the SIP application server  3  transmits the response message (get Call Session Information Response) including the communication session status to the Web server  2  (S 72 ). 
     In a case where the timer T 3   217  is set to the searched entry, the SIP application server  3  transmits the response message (get Call Session Information Response) including the read communication session status and the timer T 3   217  to the Web server  2  (S 72 ). 
     In a case where the Web server  2  receives the response message, the Web server  2  searches for an entry from the session information table  230  using the Parlay X call Session Identifier  231  included in the response message as a search key, and reads the searched entry. In a case where the searched entry is not found, the Web server  2  generates a new entry and registers the Parlay X Session Identifier  231 , the SIP AS IP address  234 , the 3PCC identifier  235 , and the timer  237  based on the communication session status and the timer T 3   217  included in the received response message. In a case where the searched entry is found, the Web server  2  registers the timer T 3   217  included in the received response message in the timer  237  of the searched entry. 
     With the above-described processes, the Web server  2  is able to periodically transmit the call information query request (get Call Session Information Request) to the SIP application server  3  based on the value registered in the timer  237 . Consequently, the Web server  2  can quickly detect communication errors such as termination of the communication session. 
       FIG. 11  is a sequence diagram for showing a process when an error occurs during the initiation of the 3PCC service according to the first embodiment of this invention. 
     The initiation process of the 3PCC service and the check process of the communication session status performed when the 3PCC service is continued are similar to those of  FIGS. 8 and 9 . Here, it is assumed that the communication session of the terminal  7 A is terminated with some reason. 
     The SIP application server  3  is not able to receive the keep alive message transmitted/received in the period (T 1 ) between the SIP application server  3  and the terminal  7 A. Consequently, the SIP application server  3  determines the communication session status as terminated because the SIP application server  3  did not receive a response to the message (INVITE) (S 51  and S 52 ) for a certain period of time. The SIP application server  3  searches for an entry from the session information table  210  using the 3PCC identifier  213  as a search key and updates the status  216  of the searched entry to “terminated” (S 77 ). 
     The Web server  2  transmits the call information query request (get Call Session Information Request) in a period of the timer  237  to the SIP application server  3  (S 78 ). 
     The SIP application server  3  which received the call information query request searches for an entry from the session information table  210  using the Parlay X call Session Identifier  211  included in the call information query request as a search key and reads the status  216  and the timer T 3   217  from the searched entry. The SIP application server  3  transmits a response message (get Call Session Information Response) including the status  216  (“terminated” for this case) and the timer T 3   217  to the Web server  2  (S 79 ). 
     The Web server  2  which received the response message including the status  216  (“terminated” for this case) checks the status  216  (“terminated”) included in the response message. In this case, the Web server  2  determines that the communication session is terminated because the status  216  is “terminated”. The Web server  2  transmits a request (end Call Session Request) for terminating the 3PCC service to the SIP application server  3 . 
     The SIP application server  3  which received the request for terminating the 3PCC service transmits a response message (end Call Session Response) to the Web server  2  (S 81 ) and performs the termination process of the communication session (S 82  and S 83 ). Moreover, the SIP application server  3  deletes the entry of status  216  being “terminated” from the session information table  210  after an expiration of a certain time from the termination process of the communication session. 
     The Web server  2  periodically transmits a call status query request to the SIP application server  3  using the timer value (the T 3  in this embodiment) notified by the SIP application server  3 . Accordingly, the Web server  2  is able to quickly detect a failure of the communication session. 
     Next, a second embodiment is described with reference to the drawings. In the first embodiment, the SIP application server  3  notified a timer value which is a period inquiring the communication session status. Meanwhile, in the second embodiment, a Web server  2  requests a SIP application server  3  for the communication session status. 
     The Web server  2  requests the communication session status. Accordingly, the SIP application server  3  is able to notify the Web server  2  that the communication session status between terminals is being “terminated”. 
     A communication network in the second embodiment is same as that of the first embodiment. Accordingly, the description is omitted (see  FIG. 1 ). Hereinafter, only differences between the first and the second embodiments are described. 
       FIG. 12  is a configuration diagram of the Web server  2  according to the second embodiment of this invention 
     In the second embodiment, a memory  25  includes a processing program  200  for inquiring presence information, instead of the timer reception processing program  27 . 
     The Web server  2  includes the presence information query function  200 . Accordingly, the Web server  2  is able to request the SIP application server  3  for notification of the presence information. Note that in the second embodiment, the presence information query function  200  is initiated after the initiation of a 3PCC service. 
       FIG. 13  is a configuration diagram of the SIP application server  3  according to the second embodiment of this invention. 
     In the second embodiment, a memory  35  includes a processing program  300  for performing presence information notification, instead of the session timer notification routine  370 . 
     The SIP application server  3  includes the presence information notification function  300 . Accordingly, the SIP application server  3  is able to notify the Web server  2  of the presence information to which the communication session status is added. 
       FIG. 14  is an explanation diagram for showing a configuration example of a session information table  210  in the SIP application server  3  according to the second embodiment of this invention. 
     The session information table  210  includes a monitor  218  showing whether the SIP application server  3  is monitoring communication session status, instead of the timer T 3   217 . Note that in a case where the monitor  218  is set to be “on” and the communication session status is changed to “terminated” from “busy”, the SIP application server  3  notifies the Web server of termination of the communication session using the presence information notification function  300 . 
     Next, a 3PCC service initiation sequence in the second embodiment is described with reference to  FIGS. 15 and 16 . Hereinafter, among the procedures shown in  FIGS. 15 and 16 , the description of the same procedures as those of shown in  FIGS. 8 ,  9  and  11  are omitted. 
       FIG. 15  is a sequence diagram for showing a process of checking communication session status performed when the 3PCC service is continued after initiating the 3PCC service according to the second embodiment of this invention. 
     The Web server  2  transmits the call information query request (get Call Session Information Request) for checking the communication session status to the SIP application server  3  (S 71 ). 
     The SIP application server  3  which received the call information query request searches for an entry from the session information table  210  using the Parlay X call Session Identifier  211  included in the call information query request as a search key, and reads the status  216  from the searched entry. The SIP application server  3  transmits a response message (get Call Session Information Response) including the status  216  to the Web server  2  (S 72 ). 
     Note that the processes of S 71 , S 27 , S 72  and S 31  to S 62  are same as those of the first embodiment. A message (keep alive message) for checking the communication session status between the SIP application server  3  and a terminal  7 A is transmitted/received at the period of the timer T 1 . A message (keep alive message) for checking the communication session status between the SIP application server  3  and a terminal  7 B is transmitted/received at the period of the timer T 2 . 
     The Web server  2  which received a response message (S 72 ) checks that the status  216  included in the response message is “busy” and transmits a request (subscribe Presence Request) for notifying the communication session status to the SIP application server  3  (S 101 ). 
     The SIP application server  3  which received the request searches for an entry from the session information table  210  using the Parlay X call Session Identifier  211  as a search key. The SIP application server  3  transmits the response message (subscribe Presence Response) to the Web server  2  after updating the monitor status  218  of the searched entry to “on” (S 102 ). 
       FIG. 16  is a sequence diagram for showing a process when an error occurs during the initiation of the 3PCC service according to the second embodiment of this invention. 
     The processes of S 31  to S 52  and S 77  are same as those of the first embodiment. Here, it is assumed that an error is occurred in the terminal A. 
     In S 77 , the SIP application server  3  searches for an entry from the session information table  210  using the 3PCC identifier  213  as a search key because the keep alive message is not received. The SIP application server  3  updates the status  216  of the searched entry to “terminated”. Moreover, the monitor  218  of the searched entry is checked. In a case where the monitor  218  of the searched entry is “on”, the SIP application server  3  transmits the Web server  2  of the message (notify Subscription Request) for notifying that the communication session is terminated (S 103 ). 
     The Web server  2  which received the message transmits the response message (notify Subscription Response) including a request for terminating the 3PCC service to the SIP application server  3  (S 104 ). Then a session termination process is performed (see S 80  to S 83  in  FIG. 11 ). 
     According to the second embodiment, the SIP application server  3  can quickly detect the change in the status  216  of the session information table  210  from “busy” to “terminated” because the Web server  2  includes the presence information query function  200 . In addition, the SIP application server  3  determines that the communication session is terminated and notifies the Web server  2  of the termination of the communication session. Consequently, the Web server  2  can quickly detect the termination of the communication session. 
     Next, a third embodiment of this invention is described with reference to the drawings. 
       FIG. 17  is a configuration diagram of a communication network according to a third embodiment of this invention. 
     In the third embodiment, a presence server  4  is connected to a network N 1 . Moreover, in the third embodiment, the presence server  4  at least includes a watcher function. The watcher function is a function for monitoring status of specified terminals. 
       FIG. 18  is a block diagram for showing a configuration example of the presence server  4  according to the third embodiment of this invention. 
     The presence server  4  comprises interfaces (IFs)  41  ( 41 A and  41 B) which accommodate lines  42  ( 42 A and  42 B), a CPU  44 , a memory  45  and a database (DB)  46 . Each element is connected by a bus  43 . 
     The CPU  44  is a processor for executing programs stored in the memory  45 . The memory  45  stores a program for performing presence notification (not shown), a processing program necessary for storing presence information (a watcher function  49 , for example) and a table (a watcher information table  280 ). 
       FIG. 19  is an explanation diagram for showing a configuration example of the watcher information table  280  in the presence server  4  according to the third embodiment of this invention. 
     The watcher information table  280  at least includes association information of presentity  281 , a watcher  282  and status  283 . The presentity shows an entity providing the presence information. 
     The presence server  4  includes the watcher information table  280 . Accordingly, the presence server  4  can detect the communication session status of terminals. Consequently, the presence server  4  can determine that the communication session is terminated and notify the Web server  2  of the termination of the communication session. Hereinafter, only differences between the second and the third embodiments are described. 
       FIG. 20  is a block diagram for showing a configuration example of the Web server  2  according to the third embodiment of this invention. 
     In the third embodiment, a memory  25  includes a SIP AS information table  240 . 
       FIG. 21  is an explanation diagram for showing a configuration example of the SIP AS information table  240  in the Web server  2  according to the third embodiment of this invention. 
     The SIP AS information table  240  includes information on a 3PCC call Session Identifier  241  and a presence server  242  which corresponds to the 3PCC call Session Identifier  241 . Accordingly, the Web server  2  can obtain information on which communication session the presence server  4  holds. 
     The Web server  2  includes the SIP AS information table  240 . Accordingly, the Web server  2  can associate the status of the presence server  4  with the 3PCC session. Consequently, the Web server  2  can obtain the communication session status based on the information transmitted from the presence server  4 . 
     Next, a sequence when an error occurs at the initiation of the 3PCC service in the third embodiment is described with reference to  FIGS. 22 and 23 . Hereinafter, among the procedures shown in  FIGS. 22 and 23 , the description of the same procedures as those of shown in  FIGS. 8 ,  9  and  11  are omitted. 
       FIGS. 22 and 23  are sequence diagrams for showing a process of checking status of a communication session performed when the 3PCC service is continued after initiating the 3PCC service, and a process when an error occurs during the initiation of the 3PCC service according to the third embodiment of this invention. 
     The Web server  2  transmits a request (subscribe Presence Request) for notifying communication session status to the presence server  4  (S 121 ) when the Web server  2  finds the communication session status “busy” (S 72 ). Here, the Web server  2  searches for an entry from the SIP AS information table  240  using the 3PCC call Session Identifier  241  as a search key. In a case where the searched entry is not found, the Web server  2  generates a new entry and registers an identifier of the presence server  4 . In a case where the searched entry is found, the Web server  2  updates the information on the searched entry. 
     The presence server  4  which received the request transmits a response (subscribe Presence Response) to the request to the Web server  2  (S 122 ). 
     Subsequently, the presence server  4  transmits a request (SUBSCRIBE) for notifying presence information including communication session status, a terminal  7 A and a terminal  7 B to a SIP server  1  (S 131 ). The SIP server  1  which received the notification request for the presence information transmits a response (200 OK) to the notification request for the presence information (S 132 ). 
     Here, it is assumed that the SIP server  1  detects termination of the communication session of, for example, the terminal  7 A by the keep alive message (S 134 ). In this case, the SIP server  1  notifies the presence server  4  of the presence information (NOTIFY) including the termination of the communication session of the terminal  7 A (S 135 ). 
     The presence server  4  which received the notification transmits a response to the notification of the presence information to the SIP server  1  ( 200 , S 136 ). The presence server  4  transmits a notification message (notify Subscription Request) including the presence information of the terminal  7 A to the Web server  2  (S 123 ). 
     The Web server  2  performs session termination after transmitting the response (notify Subscription Response) to the notification message to the presence server  4  (S 124 ). 
     According to the third embodiment, the Web server  2  associates the presence server  4  with an identifier of the communication session during initiation. Accordingly, the Web server  2  can manage the associated presence server  4  and the identifier of the communication session during initiation. Consequently, the Web server  2  can quickly detect the change in the communication session status from “busy” to “terminated”. 
     In addition, load on the SIP application server  3  can be reduced by comprising the presence server  4  as compared to the second embodiment. Moreover, costs can be reduced using the current presence server without adding a new presence notification function to the SIP application server  3 . 
     While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.