1. Field of the Invention
The present invention relates to SIP servers, terminal devices, subscriber information management devices, and communication control methods, and more particularly to a SIP server, a terminal device, a subscriber information management device, and a communication control method for making a connection achievable even if a SIP request is received in a state in which a communication channel has not been established and Registration has not been completed.
2. Description of the Related Art
SIP (Session Initial Protocol) is known as one of the protocols used in a radio access network of a mobile communication network (for example, see J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, and E. Shooler, “SIP: session initiation protocol,” RFC 3261, Internet Engineering Task Force, June 2002). Conventionally, in a terminal device to be served by a communication service using the SIP, a connection control of SIP has been implemented on condition that establishment of a communication channel for transmitting data and Registration by SIP is always performed. In other words, there is no connection control method when a communication channel and Registration which are necessary for receiving a SIP request are not established. There is a need for the present method such as in an environment in which there are many users relative to a network equipment and therefore radio communication resources need to be more efficient to maintain a communication channel.
In addition, general “Registration”, which is defined also in 3GPP, is a procedure in which a SIP server queries a subscriber information management device which manages a location information and the SIP server is notified of a current location of a subscriber.
As described above, when both a communication channel and Registration have not been established, a method for notifying a terminal device that a SIP request is being sent and a process for establishing a transaction after notification are needed. In this case, a function to prompt establishment of a communication channel and Registration in sequence, and a function to synchronously control states of a communication channel and Registration are needed. Thus, synchronous control of establishments is required to be performed in a way in which a process of establishing a communication channel is performed before a Registration process and then both of them are made established. The reason why the synchronous control of establishments is performed in this way is that a SIP request cannot be delivered to a terminal device when either a communication channel or Registration has not been established.
In addition, by a notification of a state of the terminal device to the network side, an acceptance or rejection of establishment of a transaction can be controlled according to a state of the terminal device. The present invention is devised to solve the problems of the conventional art described above, and an object of the present invention is to provide a SIP server, a terminal device, a subscriber information management device, and a communication control method which can receive a SIP request from a calling party and establish a transaction when both a communication channel for reception and Registration of a called terminal device have not been established.
A SIP server according to claim 1 of the present invention is a SIP server for providing a communication service to a terminal device in a state in which a communication channel has been established and a state in which a SIP transaction has been established, and comprises a message obtaining means for obtaining a request message by SIP from a calling terminal device (for example, a SIP INVITE message in step S0 of
According to claim 2 of the present invention, the SIP server according to claim 1 further comprises an identification information storing means for storing identification information to uniquely identify the request message from the called terminal device, wherein a request message corresponding to identification information stored in the identification information storing means is sent to said called terminal device after the state is changed to a state in which said communication channel has been established and said SIP transaction has been established. In the SIP server, a transaction identifier for uniquely identifying a transaction that is requested by the request message or SIP INVITE is managed. When the SIP server receives a SIP INVITE message including a transaction identifier (such as Call-ID) (step SO in
According to claim 3 of the present invention, the SIP server according to claim 1 further comprises a Registration wait timer which is started when the control signal is sent, wherein the SIP transaction establishment process is terminated when the Registration wait timer expires. Thus, the calling terminal device which sent the request message can be notified that the SIP transaction establishment process is aborted when the Registration wait timer expires.
A SIP server according to claim 4 of the present invention continues an incoming process corresponding to an identifier if the identifier for identifying an application started by a terminal device is contained in a response message obtained from the terminal device, and performs a process to abort the incoming process if a reason why a communication channel establishment process and the Registration process are not performed is contained in the response message. When an application identifier is contained in a response message responding to a reception of a short message, the SIP server recognizes that an instruction of the short message is accepted by the terminal device and then continues the incoming process. On the other hand, when a response message containing a reason of non-response is sent back (step S16′ in
A terminal device according to claim 5 of the present invention is a terminal device for receiving provision of a communication service in a state in which a communication channel has been established and a state in which a SIP transaction has been established, and comprises a control signal obtaining means for obtaining a control signal for prompting establishment of a communication channel and a Registration process, a communication channel establishment processing means for performing the communication channel establishment process in response to acquisition of the control signal, and a Registration processing means for performing the Registration process after the communication channel is established by the communication channel establishment processing means. By configuring the terminal device in this manner, when there is a request from the calling terminal, a control signal can be obtained to perform the establishment of the communication channel and the Registration process, and a transaction can be established.
According to claim 6 of the present invention, a terminal device according to claim 5 further comprises a determining means for determining whether or not the device can perform the communication channel establishment process and the Registration process when the control signal obtaining means obtained the control signal, wherein the communication channel establishment process by the communication channel establishment means and said Registration process by the Registration processing means are performed only if it is determined that these process can be performed. By configuring the terminal device in this manner, a communication channel establishment process and a Registration process can be performed after whether an operation corresponding to an instruction of a short message in accordance with a capability of the terminal device or service race conditions is allowed or not is determined.
According to claim 7 of the present invention, the terminal device according to claim 6 further comprises a response message sending means for sending a response message containing an identifier for identifying an application started by the device if said determining means determines that said communication channel establishment process and said Registration process can be performed, and for sending a response message containing a reason why the communication channel establishment process and the Registration process are not to be performed if the communication channel establishment process and the Registration process are not to be performed. By performing a process in this manner, it is allowed that a reception process corresponding to an application identifier is continued, or, in accordance with a reason of non-response, a reception process is aborted instantly, a Registration wait timer is reset to be stopped, and a calling terminal device which has sent a SIP request is notified of a reason why the transaction establishment process is aborted.
According to claim 8 of the present invention, the terminal device according to claim 5 further comprises a canceling means for canceling the state in which the communication channel has been established when the state in which the SIP transaction has been established is cancelled. By synchronously controlling a state in which a SIP transaction is established and a state in which a communication channel is established, radio resources can be utilized effectively.
A subscriber information management device according to claim 9 of the present invention comprises a flag storing means for storing a flag which indicates that a communication channel has been established and a flag which indicates that a SIP transaction has been established, an incoming request flag storing means for storing an incoming request flag which indicates that there is an incoming request when a request message by SIP from another device is obtained in a case where such a flag has been stored in the flag storing means, and a notifying means for notifying the another device in response to establishment of the communication channel and said SIP transaction in a case where the incoming request flag is set. The incoming request flag is controlled by the subscriber information management device in a way in which the incoming request flag is set (the incoming request flag=YES) while a Registration process is being performed, and the incoming request flag is unset (the incoming request flag=NO) when all processes are completed, so that the incoming request flag can be set when the request is received, and the incoming request flag can be unset when all of a sending of the short message, establishment of the communication channel, and the Registration process are completed. Then, an operation in a case where another request is received while an incoming request flag is set depends on a tolerance of a service or a capability of a terminal device or network. For example, in a case where prioritizes a first request of a first call and provides a service which cannot tolerate a plurality of transactions, while an incoming request flag is set, a busy response is sent even if a request of a second call is received. A SIP server which received this busy response can send a busy message to a terminal device that originates the request of the second call instead of sending a short message.
A communication control method according to claim 10 of the present invention is a communication control method for providing a communication service to a terminal device in a state in which a communication channel has been established and a state in which a SIP transaction has been established, and comprises a message obtaining step for obtaining a request message by SIP from a calling terminal device in a state in which the communication channel has not been established and a state in which the SIP transaction has not been established, a control signal sending step for sending a control signal for prompting establishment of the communication channel and Registration process to a called terminal device in response to acquisition of the request message in the message obtaining step, a communication channel establishment processing step for performing a process for establishing the communication channel after the control signal is sent in the control signal sending step, and a SIP transaction establishment processing step for performing a process for establishing a SIP transaction after the communication channel establishment process is performed by the communication channel establishment processing step. By performing processes in this manner, when there is a request from the calling terminal device, the control signal can be sent to prompt the establishment of the communication channel and the Registration process, and the transaction can be established.
As described above, the present invention has an advantage that radio resources for maintaining a communication channel can be used efficiently such as in an environment in which there are many users relative to a network equipment and therefore radio communication resources need to be more efficient, by synchronously controlling a communication channel establishment process and a Registration process by SIP in a way in which a SIP request from the calling terminal is received and a transaction is established when in a state in which both the communication channel for reception and the Registration of a called terminal device have not been established.
Embodiments of the present invention will be described below with references to the drawings. In figures referred to in the following descriptions, equivalent portions through figures are denoted by the same reference numeral.
(System Configuration Example)
As shown in
The subscriber information management device 3 is, for example, an HLR (Home Location Register) or an HSS (Home Subscriber Server). As shown in
Since subscriber information such as whether or not a communication channel is established or whether or not a Registration process is performed is registered in the subscriber information management device 3 in this way, registered subscriber information is inquired from the SIP server 1A. A general computer in which a CPU, a ROM, a RAM, an interface, and so on are connected via a bus is used as the subscriber information management device 3, and the above each function is realized by them.
As shown in
(Example Operation)
In this example, the terminal device 2B of the user B is assumed to be in a state in which both a communication channel and a Registration have not been established. Under this condition, for establishing a VoIP transaction with the user B, a SIP INVITE message is sent from the calling terminal device 2A of the user A to the terminal device 2B of the user B (step SO). The SIP server 1A which has received this SIP INVITE message stores a transaction identifier (such as a Call-ID) of the INVITE message (step S1). Then, the SIP server 1A queries the subscriber information terminal device 3 for information of called terminal device (hereinafter referred to as a “query about called terminal information”) to detect a SIP server that will be a forwarding destination of the INVITE message (step S2). In response to this query, the subscriber information management device 3 checks the called terminal information (step S3).
However, even if this query is performed, the SIP message cannot be received since a communication channel has not been established, and a SIP server to which the SIP INVITE is forwarded cannot be detected since the Registration process has not been performed. In other words, though a current location of the called terminal and a Registration state are checked at the subscriber information management device 3, it is not ready to perform an incoming process by INVITE since the terminal device 2B of the user B is in a state in which Registration has not been completed.
Then, the subscriber information management device 3 sets an incoming request flag (the incoming request flag=YES) to indicate that it asks an incoming on the terminal device 2B (step S4). The subscriber information management device 3 then sends a response to the SIP server 1A and notifies it that the incoming request flag is set (step S5). In the present example, the SIP server 1A which received this response determines that it will perform an SMS-Push request toward the called terminal device 2B (step S6). SMS-Push is a scheme to send a short message from server side without a request from a receiving client. In other words, a SIP server determines whether or not it instructs to send a short message based on a result of a query about called terminal information. An address of the called terminal device 2B is specified to the SMS-Push request.
In a case where the SMS-Push request is performed, incoming control by a SIP INVITE request is on hold until communication channel establishment and a Registration process of a called party are completed. For this reason, the SIP server 1A starts a Registration wait timer and manages progress of the Registration process while holding an INVITE process (step S7). Further, using SMS-Push technology, the SIP server 1A instructs the controller 4 about a short message (hereinafter called an “SM”) send request for prompting establishment of a communication channel and Registration (step S8). In this SM send request, an address of the terminal device 2B is specified so that this request becomes a request for establishing a VOIP transaction. The controller 4 which received the SM send request generates an SM (step S9) and sends it toward the terminal device 2B (step S10). The SMS gateway 5 which received this SM forwards it to the terminal device 2B (step S11).
The terminal device 2B checks a state of the terminal device when receiving this SM (step S12). In this example, race conditions with other communication services is checked. Then, if the communication service competes with others, an identifier of the communication service or application is included in an SM incoming response and sent (step S13). For example, in a case where an imode (R) service is already provided to the terminal device 2B, the terminal device 2B starts an application for VOIP if it is in an environment in which establishment of another communication channel and a Registration process can be performed in sequence. Then, an identifier of the started VOIP application is added to the SM incoming response (step S13). Whether an application of the terminal device 2B can be started or not, a selection of an application to be started, and an operation after an application is started are determined by an instruction included in the SM.
On the other hand, a reason of non-response is added to the SM incoming response if the terminal device 2B cannot start the VoIP application (step S13). For example, depending on a capability of the terminal device, it is assumed that the VoIP service cannot be used while imode (R) service is provided, and if so, the reason of non-response is added to the SM incoming response. The SM incoming response which is sent form the terminal device 2B goes through the SMS gateway 5 as it is, and goes through the controller 4 as an SM response (step S14), and is sent back to the SIP server 1A (step S15). The SIP server 1A which received this SM response checks its content (step S16).
If a reason of non-response is added to the SM incoming response as a result of checking, the SIP server 1A aborts the INVITE message sending process that has been held, and notifies the calling terminal device 2A (see
In the present example, it is assumed that the terminal device 2B can perform a VOIP response and therefore a VOIP application identifier is added to the SM incoming response. In this case, a communication channel establishment request is sent from the terminal device 2B to the controller 4 (step S17), and a communication channel establishment process is performed (step S18). Then, a REGISTER message is sent from the terminal device 2B to the controller 4 (step S19), and a Registration process is performed (step S20). In the present example, it is assumed that the communication channel has not been established. If there is a communication channel already established, an establishment state of the communication channel is checked by the terminal device (step S12′), and step S17 and subsequent communication channel establishment process is not performed.
The subscriber information management device 3 unsets the incoming request flag (the incoming request flag=NO) (step S21) at the same time that Registration process is completed, and sends a Registration completion notification to the SIP server 1A (step S22). The server 1A which received this notification stops the Registration wait timer (step S23), and sends back a reception acknowledge response (step S24).
Then, the SIP server 1A checks which INVITE process that has been held should be resumed for which incoming call, that is, binding of transactions (step S25). In this example, since the transaction identification of the INVITE message is stored at step S1, a bound transaction can be identified. Upon identifying such transaction, the SIP server 1A resumes the INVITE process which has been held, and sends INVITE message containing the transaction identifier (step S26). This INVITE message is sent to the terminal device 2B of the user B through the SIP server 1B (step S27). The terminal device 2B which received this INVITE message sends 2000K signal and so on, and then it can start a VOIP service or the like between it and the terminal device 2A. In the example operation described above, though an SM which can be sent immediately from a state in which a communication channel has not been established is used, other control signals may be used. That is to say, instead of a short message send submission (SMS-Push), a dedicated signal for prompting communication channel establishment and Registration process may be predefined and transmitted.
(Control of other Calls Using an Incoming Request Flag)
As described above, in the present system, by controlling the incoming request flag at the subscriber information management device 3, the incoming request flag is set (the incoming request flag=YES) while a Registration process is being performed, and the incoming request flag is unset (the incoming request flag=NO) when all processes are completed. In other words, in the subscriber information management device 3 of the present system, the incoming request flag is set when a request for query about called terminal information is received from a SIP server which received an INVITE message (the SIP server 1A in the above example), and the incoming request flag is unset when all of a sending of SM, a communication channel establishment process, and a Registration process are completed.
Then, an operation in a case where another SIP INVITE message is received while the incoming request flag is set (the incoming request flag=YES) depends on a tolerance of a service or a capability of a terminal device or network. For example, in a case where prioritizes a first INVITE message of a first call and provides a service which cannot tolerate a plurality of transactions, while the incoming request flag is set, the subscriber information management device 3 sends a busy response message in response to a request for query about called terminal information from a SIP server even if an INVITE message of a second call is received. The SIP server which received this busy response message sends a busy response message to an originator of the INVITE message of the second call instead of sending an SM.
Therefore, as shown in
(Abortion of Registration Process)
When the Registration wait timer which is started at step S7 in
(Release of Registration and Communication Channel)
Incidentally, for the purpose of effective use of resources, the system may be designed to release a Registration and a communication channel at the same time when an application which runs over a transaction established by INVITE is terminated. This operation can be realized by a general transaction releasing procedure, for example, by a mechanism which proceeds to a releasing procedure to release a Registration and a communication channel by a trigger such as a SIP BYE. On the other hand, if the purpose is to shorten a time for transferring a subsequent SIP request to a called terminal, or if it is obvious that another transaction is established subsequently, releasing of a Registration and a communication channel is not required to be synchronized with the time when the application is terminated (such as when end of call).
(Conclusion)
The present system has a function to establish a communication channel and perform Registration using a terminal device, a SIP server, and a subscriber information management device. The terminal device performs communication channel establishment and Registration in sequence upon receiving a short message containing an incoming request instruction. A state of establishment or non-establishment of a communication channel can be controlled among the terminal device and each device on network side by a conventional scheme, and the terminal device and each device on network side synchronize a state of establishment of the communication channel and a state of the Registration process. In other words, when a short message is received by the terminal device, the Registration process is performed in a state in which the communication channel has been established.
By the way, if an available communication channel is already established when the short message is received, the existing communication channel can be used without establishment of a new communication channel by the terminal device. In this case, the terminal device checks whether or not an available communication channel is already established, and establishes a new communication channel and then performs Registration if necessary. A procedure for releasing and establishing a communication channel and Registration itself is the same as a procedure of the conventional scheme.
(Communication Control Method)
In the system described above, a communication channel as will be described below is employed. That is, a communication control method for providing a communication service in a state in which a communication channel has been established and a SIP transaction has been established is employed, and the method comprises a message obtaining step for obtaining a request message by SIP from a calling terminal device in a state in which the communication channel has not been established and a state in which the SIP transaction has not been established (corresponding to step SO in
By performing processes in this manner, when there is a request from the calling terminal, the control signal can be sent to prompt the establishment of a communication channel and a Registration process, a transaction can be established. In other words, radio resources for maintaining a communication channel can be used efficiently by synchronously controlling the communication channel establishment process and the Registration process by SIP in a way in which a SIP request is received and a transaction is established when in a state in which both the communication channel for reception and the Registration of the called terminal device have not been established.
The present invention is applied to a case where synchronously controls a communication channel establishment process and a Registration process by SIP.
Number | Date | Country | Kind |
---|---|---|---|
2005-200753 | Jul 2005 | JP | national |