The present invention relates to a method and device for processing an SMS (Short Message Service) through an IMS (IP Multimedia Subsystem) network and, more particularly, to a method and device for processing the SMS at an IP-SM-GW (Internet Protocol-Short Message-GateWay) which is one of ASs (Application Servers) for processing SMS over IP in the IMS network.
The IP-SM-GW performs processing of a transmitting or receiving procedure of SMS, using MSISDN (Mobile Station International ISDN Number) information received through the register of a third party from an S-CSCF (Serving Call Session Control Function), SMS over IP capability information received through notification about the register to the S-CSCF, and the like.
Referring to
The S-CSCF manages a session status of UE, stores subscriber information of UE delivered from HSS, and may perform subscriber authentication in connection with the HSS. In case of a single IRS (Implicit Register Set) subscriber, the S-CSCF causes no problem of SMS delivery even in a prior art. However, in case of a shared IRS subscriber, a certain problem may be caused when determining UE to which SMS should be delivered.
Referring to
Moreover, according to a prior art, there is no countermeasure against data loss when any problem occurs in the IP-SM-GW.
The present invention is proposed to solve the above-discussed issues and to provide a method and device capable of delivering an SMS to intended UE in case of a shared IRS (Implicitly Registered id Set) subscriber in the IMS, namely in case there are UEs which share the same public ID and have different private IDs. Also, the present invention is to provide a method and device allowing restoration in response to data loss due to a problem of the IP-SM-GW.
According to an embodiment of the present invention, a method for processing SMS at an IP-SM-GW (Internet Protocol-Short Message-GateWay) in an IMS network includes step of obtaining user information from an S-CSCF (Serving Call Session Control Function) and an HSS (Home Subscriber Server), and step of notifying an SMS reception destination to the S-CSCF by using GRUU (Globally Routable User Agent URI) or +sip.instance parameter based on the user information.
According to another embodiment of the present invention, an IP-SM-GW (Internet Protocol-Short Message-GateWay) device for processing SMS in an IMS network includes a control unit configured to obtain user information from an S-CSCF (Serving Call Session Control Function) and an HSS (Home Subscriber Server), and to notify an SMS reception destination to the S-CSCF by using GRUU (Globally Routable User Agent URI) or +sip.instance parameter based on the user information.
According to the present invention, it is possible to exactly deliver an SMS to intended UE even in case of a shared IRS (Implicitly Registered id Set) subscriber in the IMS, namely in case there are UEs which share the same public ID and have different private IDs. Additionally, according to the present invention, it is possible to restore lost data even in case any problem occurs in the IP-SM-GW.
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same reference numerals denote the same elements. Additionally, well known functions or structures may not be described or illustrated in detail to avoid obscuring the subject matter of the present invention.
Here, the IP-SM-GW 335 is connected with an SMS-GMSC/SMS-IWMSC 320 through an E/Gd interface. Further, the SMS-GMSC/SMS-IWMSC 320 is connected with an SC (Service Center) 330 in a typical manner and then may be connected with an SME 305 that forms a communication endpoint to which an SMS message can be delivered.
Additionally, the communication system structure 300 may include an OCS 330 connected with the IP-SM-GW 335 through an Ro interface, a CGF/CDF 315 connected with the IP-SM-GW 335 through an Rf gateway, and an HSS 325 connected with the SMS-GMSC/SMS-IWMSC 320, the IP-SM-GW 335 and the IMS core 340 through respective interfaces Cx, Sh and C′.
The IP-SM-GW 335 may perform various functions, including a function associated with protocol interworking, for an IP-based SMS delivery between the UE 345 and the SC 310. Such functions may include access to the SMS-GMSC/SMS-IWMSC 320 using MAP (Mobile Application Part) protocol established through SS7 (Signaling System 7). The IP-SM-GW 335 appears as MSC or SGSN (Serving Gateway Service Node) in the SMS-GMSC/SMS-IWMSC 320, using the E or Gd interface. Additional functionality offered by the IP-SM-GW 335 provides access to the SMS-GMSC/SMS-IWMSC 320 using the MAP protocol established through SS7 and thereby can enable the IP-SM-GW 335 to appear as MSC or SGSN in the SMS-GMSC/SMS-IWMSC 320, using the E or Gd interface. Also, the IP-SM-GW 335 may perform a function to communicate with the UE 345 using IMS messaging as transport while maintaining the format and functionality of an SMS message.
Further, the IP-SM-GW 335 may perform a function to obtain associated information (knowledge) between an MSISDN (Mobile Station International Subscriber Directory Number) and an IP (Internet Protocol) address of UE. Also, the IP-SM-GW 335 performs a function to act as an application server with regard to the IMS.
Referring to
Here, the UE_A 401 manages Private User Identity, MSISDN_A, IMPI_A and IMPU_C, and Contact_A. At this time, Contact_A includes Contact header, and this Contact header may contain +sip.instance parameter of the UE_A 401.
First of all, at step 410, the IP-SM-GW 405 collects Private User Identity, Contact header, etc. of UE from the S-CSCF 404 through the register of a third party. At this time, Private User Identity and Contact header received from the S-CSCF 404 are what are delivered to the S-CSCF 404 through the P-CSCF 402 and the I-CSCF 403 from the UE_A 401.
Then, at step 420, the IP-SM-GW 405 collects C-MSISDN regarding Private User Identity from the HSS 406 through the Sh interface. Namely, the IP-SM-GW 405 receives identities of UE from the UE 401 and the HSS 406 and stores them.
Further, at step 430, the IP-SM-GW 405 collects GRUU of each Public User Identity from the S-CSCF 404 through notification (or subscription) according to the register. The GRUU (Globally Routable User agent URI) denotes a unique user agent identifier which is routable globally. For call routing to a specific UA (User Agent) instance, some applications of SIP (Session Initiation Protocol) require constructing and distributing URI which can be used by somebody on the Internet. Here, URI routed to a specific UA instance is referred to as GRUU. This GRUU is classified into public GRUU and temporary GRUU. The public GRUU is always unchanged regardless of registration refreshed, and is created when a value of “gr” URI parameter of AOR (Address Of Record) is inputted as an instance ID. At this time, a “gr” value of the public GRUU may be set using a +sip.instance parameter value of UE or formed on the basis of +sip.instance parameter. The temporary GRUU should be created newly when the registration is refreshed, and also should be managed accumulatively during a registration period.
Steps 410 to 430 correspond to a register procedure for SMS transmission. The IP-SM-GW 405 may receive information associated with the UE 401 from the S-CSCF 404 and the HSS 406 through a register procedure. As a result, the IP-SM-GW 405 can obtain GRUU or +sip.instance parameter of UE through a register procedure.
At step 440, the IP-SM-GW 405 transmits Private User Identity, Contact header, C-MSISDN, and GRUU of each Public User Identity to the HSS 406 through the Sh interface. The HSS 406 receives them and stores them as Repository data. This is for restoration in case of data loss due to a problem of the IP-SM-GW.
Although a register procedure for UE_A only is described exemplarily in
Referring to
Here, the UE_A 506 has Private User Identity, MSISDN_A, IMPI_A and IMPU_C, and Contact header of Contact_A. Also, the UE_B 507 has Private User Identity, MSISDN_B, IMPI_B and IMPU_C, and Contact header of Contact_B. Since the UE_A 506 and the UE_B 507 have the same Public ID, IMPU_C, the S-CSCF may have a problem of deciding which UE is a target to which the SMS should be delivered.
In an embodiment for solving the above problem, GRUU obtained at step 430 of
In another embodiment for solving the above problem, +sip.instance parameter may be used in case of no GRUU. Namely, in case Contact information of recipient MSISDN contains +sip.instance parameter, SMS is delivered by setting this as a +sip-instance value in Accept-Contact header. Therefore, it is possible to tell exact target UE in the SMS reception procedure.
Referring to
Meanwhile, at 530, Contact information of MSISDN contains +sip.instance parameter and this is set as a +sip-instance value in Accept-Contact header (+sip.instance=“INSTANCEID_A”) such that the message can be received to the UE_A 506.
In case the UE_A 506 and the UE_B 507 have the same Public ID as discussed above, GRUU which is a unique identifier of the UE_A 506 is further used or +sip.instance parameter is set as a +sip-instance value in Accept-Contact header for SMS delivery. Therefore, the S-CSCF can clearly determine which UE is a target to which the SMS should be delivered.
Referring to
Here, the UE_A 606 has Private User Identity, MSISDN_A, IMPI_A and IMPU_C, and Contact header of Contact_A. Also, the UE_B 607 has Private User Identity, MSISDN_B, IMPI_B and IMPU_C, and Contact header of Contact_B.
Since the UE_A 606 and the UE_B 607 have the same Public ID in this embodiment shown in
Meanwhile,
In case of data loss due to any unexpected problem, the IP-SM-GW 603 can restore data by bringing Repository data stored in the HSS 608 at step 440 in
As discussed above, even in case any problem occurs, the IP-SM-GW 603 can restore lost data.
First of all, at step 710, a control unit may control user information to be obtained from an S-CSCF (Serving Call Session Control Function) and an HSS (Home Subscriber Server). At this time, collected from the S-CSCF through a third party register are Private User Identity, Contact header, etc. of UE. Additionally, collected from the HSS through the Sh interface is C-MSISDN regarding Private User Identity. Further, the IP-SM-GW collects GRUU of each Public User Identity from the S-CSCF through notification according to the register.
Then, at step 720, the control unit determines whether to use GRUU or use +sip.instance parameter. If it is determined at step 720 to use GRUU, the control unit may set Request-URI of SMS as GRUU at step 730. Otherwise, if it is determined at step 720 to use +sip.instance parameter, the control unit may set +sip.instance parameter as a +sip-instance value in Accept-Contact header.
Further, at step 750, the control unit notifies the SMS reception destination to the S-CSCF.
As discussed above, by using a unique identifier GRUU or setting +sip.instance parameter as a +sip-instance value in Accept-Contact header and then delivering SMS, the S-CSCF can clearly determine which UE is the destination of SMS delivery.
At step 810, like step 710, the control unit may control user information to be obtained from the S-CSCF (Serving Call Session Control Function) and the HSS (Home Subscriber Server).
Then, at step 820, the control unit controls the user information to be transmitted to the HSS. Further, at step 830, the control unit determines whether the user information is lost or not. In case of no data loss, step 850 is performed. If the user information is lost, the control unit controls the user information to be received from the HSS at step 840.
Through the above process, lost data can be restored even in case any problem occurs in the IP-SM-GW 603.
Thereafter, steps 850 to 880 are identical to steps 720 to 750 in
Referring to
It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer usable or computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer usable or computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions that are executed on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
And each block of the flowchart illustrations may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
The term “unit”, as used herein, may refer to a software or hardware component or device, such as a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), which performs certain tasks. A unit may be configured to reside on an addressable storage medium and configured to execute on one or more processors. Thus, a module or unit may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules/units may be combined into fewer components and modules/units or further separated into additional components and modules.
While this invention has been particularly shown and described with reference to an exemplary embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of this invention as defined by the appended claims.
| Number | Date | Country | Kind |
|---|---|---|---|
| 10-2012-0150951 | Dec 2012 | KR | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/KR2013/011785 | 12/18/2013 | WO | 00 |