The IP multimedia subsystem (IMS) has been developed to provide a common, standardized architecture and standardized interfaces for providing IP services in a mobile networking environment. The IMS network is not dependent on the access technology and will interoperate with virtually any type of mobile communication network, including GSM, GPRS, EDGE, UMTS and cdma2000 networks. IMS uses the session initiation protocol (SIP) as the service control protocol, which allows operators to offer multiple applications simultaneously. The IMS standard is expected to speed the adoption of IP services for mobile terminals, allowing users to communicate via voice, video, or text using a single client on the mobile terminal.
Although IMS promises a richer experience to mobile subscribers, network operators are hesitant to invest in equipment to implement IMS until there are a sufficient number of subscribers with IMS capability to make the investment worthwhile. Most cellular telephones currently in use do not implement SIP and lack inherent IMS capabilities, so the pool of potential subscribers for IMS services is relatively small. Extending IMS capabilities to legacy mobile terminals that lack inherent IMS capabilities would provide a much broader market for network operators and encourage investment in IMS technology and equipment.
The present invention extends IMS services to non-SIP devices by providing a proxy to maintain a presence in the IP network on behalf of the non-SIP devices. The proxy is configured to maintain SIP user identities in the IP network for non-SIP devices and to conduct SIP transactions using those user identities on behalf of the non-SIP devices. The proxy translates text messages from the non-SIP devices into corresponding SIP transactions and conducts the corresponding SIP transactions on their behalf.
The non-SIP devices may, for example, comprise cellular phones or other mobile terminals with SMS capabilities. A cellular gateway connects the IP network with a cellular network to translate messages between SMS or MMS and SIP formats. The non-SIP devices may use SMS to send control information and/or service requests to the proxy, which are translated by the proxy into corresponding SIP transactions. Through the proxy, virtually any services offered to SIP devices in the IP network can be extended to cellular phones with SMS capability.
A SMS/MMS Proxy 50 is connected to the IMS network 30, though it may reside within the IMS network 30. SMS/MMS Proxy 50 provides a presence in the IMS network 30 for the mobile terminal 100. Mobile terminal 100 uses the short message service (SMS) or multimedia message service (MMS) to send command messages via the cellular/IMS gateway 40 to the SMS/MMS Proxy 50. The cellular/IMS gateway 40 converts the command messages into standard SIP requests and forwards the converted command messages to the SMS/MMS Proxy 50. By sending command messages to the SMS/MMS Proxy 50 through the cellular/IMS gateway 40, mobile terminal 100 can perform a wide variety of control and monitoring tasks. SMS/MMS Proxy 50 can also be used to provide services, such as presence services, to other IMS devices.
Application server 52 may store the user identities and corresponding return address in a user database 56. The user database 56 can also be used to store state information for processes initiated on behalf of the users. Using a user database 56 to store user information, however, is not mandatory. The application server 52 could be made stateless by using the return address or number of the mobile terminal 100 to establish a SIP user identity in the IMS network 30. Using the user's return address or number as the SIP user identity eliminates the need to maintain a database to associate user identities with users. One advantage of the stateless approach is that it scales easily to accommodate large numbers of users.
In this example, the first line of the SMS text message which reads “subscribe” is a command or service request. The next two lines which read “BLDG-2” and “DOOR-3” are command parameters that SMS/MMS Proxy 50 needs to execute the service request. In this example, mobile terminal 100 is instructing the SMS/MMS Proxy 50 to subscribe to an event identified by a specific device name (BLDG-2) given in the second line of the service request and event name (DOOR-3) given by the third line of the service request. The device name may comprise a SIP URI for an end device or an alias for the end device that can be used by the SMS/MMS Proxy 50 to lookup the corresponding SIP URI. In this example, BLDG-2 is the alias for Device A 60 and DOOR-3 is the name of an event monitored by sensor 64. IMS users can subscribe to the event DOOR-3 by sending a subscription request to Device A 60. Device A 60 may also monitor other events.
SMS gateway 40 receives the SMS message from the mobile terminal 100, converts the message into a standard SIP MESSAGE request, and forwards the converted message to the SMS/MMS Proxy 50 (step b). The SIP MESSAGE request is a request used in SIP to send instant messages. The SMS text message is inserted into the body of the SIP MESSAGE request and forwarded to the SMS/MMS Proxy 50. SMS/MMS Proxy 50 acknowledges the SIP MESSAGE request by sending a “200 OK” response to gateway 40 to acknowledge receipt of the SIP MESSAGE request (step c).
SIP proxy 50 extracts the text message from the SIP MESSAGE request. The extracted text message is passed to the application server 52, which interprets and processes the message. In this example, the SMS/MMS Proxy 50, acting on behalf of mobile terminal 100, uses an identity created for or assigned to the mobile terminal 100 to subscribe to the specified event using the SIP SUBSCRIBE method. The SMS/MMS Proxy 50 sends a SIP SUBSCRIBE request to Device A (step d). The user's SMS return address is recorded in the user database 56 of the SMS/MMS Proxy 50. Device A 60 sends a “200 OK” response to SMS/MMS Proxy 50 to acknowledge receipt of the SIP SUBSCRIBE request (step e), followed by an initial SIP NOTIFY request containing the current status of the event (step f). SMS/MMS Proxy 50 acknowledges the SIP NOTIFY request by sending a “200 OK” response to Device A 60 (step g). The SIP Proxy 50 then notifies mobile terminal 100 of the current state of the event by generating a text message, inserting the text message into the body of a SIP MESSAGE request, and forwarding the SIP MESSAGE request to the gateway 40 (step h). The SIP MESSAGE request contains the SMS address of the mobile terminal 100 in the destination address field of the header. Gateway 40 confirms receipt of the SIP MESSAGE request (step i), and sends an SMS text message to mobile terminal 100 containing the initial state of the event (step j).
When the event being monitored subsequently changes state (door 3 opens or closes), Device A 60 sends a SIP NOTIFY request to SMS/MMS Proxy 50 giving the state of event A to the SMS/MMS Proxy 50, which is acting as the agent of mobile terminal 100 (step k). The SMS/MMS Proxy 50 confirms receipt of the SIP NOTIFY request (step l). The SIP NOTIFY request triggers the application server 52 to generate and send a SIP MESSAGE request (step m) to gateway 40. The SMS return address for mobile terminal 100 is retrieved from the SMS/MMS Proxy's user database 56. The status information for event A is then sent as a SIP MESSAGE request to the SMS gateway 40 for transmission to the mobile terminal 100. The gateway 40 acknowledges receipt of the SIP MESSAGE request (step n). The SMS gateway 40 then encapsulates the status information in an SMS text message and sends the SMS text message to mobile terminal 100 over the cellular network 20 (step o).
Those skilled in the art will appreciate that the subscribe/notify process can be used for a wide variety of events. The SMS/MMS Proxy 50 significantly extends the potential list of subscribers by including anyone with a standard mobile terminal 100 with SMS capability.
After the presence service is established, an end user subscribes to the presence service by sending a SIP SUBSCRIBE request to the SMS/MMS Proxy 50 (step e), which is functioning as the presence agent. The SIP Proxy 50 sends a SIP 200 OK response (step f) followed by an immediate SIP NOTIFY request to provide current status information for the mobile terminal 100 (step g). End device 60 acknowledges the SIP NOTIFY request by sending a “200 OK” response to the SMS/MMS Proxy 50 (step h).
When the status of the mobile terminal 100 changes, the mobile terminal 100 generates and sends an SMS Publish request to the cellular/IMS gateway 40 containing the current status of the mobile terminal 100 (step i). The cellular/IMS gateway 40 converts the SMS message into a standard SIP MESSAGE Request and forwards the SIP MESSAGE request to the SMS/MMS Proxy 50 (step j). The SIP MESSAGE request triggers the application server 52 to generate a SIP NOTIFY request and send the SIP NOTIFY request to all subscribers (step k). The subscribers acknowledge the SIP Notify request by sending a SIP 200 OK response (step l).
Mobile terminal 100 sends a control message formatted as an SMS message to the SMS gateway 40 (step a). The control message includes control/configuration information to control the display 66 or other remote device. An example of an SMS message sent by mobile terminal 100 that can be used to update a remote display 66 connected to Device B 60 is shown below.
The first line of the message is a command indicating the action that the mobile terminal 100 wants the SMS/MMS Proxy 50 to take. In this case, the command “display” instructs the application server 52 to display a message on a designated device (LCD-1) given in the second line of the SMS text message. The message to be displayed (HELLO) is given in the third line of the SMS text message.
Gateway 40 receives the SMS text message from mobile terminal 100 and converts the SMS text message into a SIP MESSAGE request containing the control/configuration information in the message body (step b). The SIP MESSAGE request contains the entire SMS text and the return SMS address for mobile terminal 100. SMS/MMS Proxy 50 confirms receipt of the SIP MESSAGE request by sending a 200 OK response to gateway 40 (step c). The application server 52 at the SIP Proxy 50 examines the body of the SIP message and sends a second SIP message containing the control/configuration information to Device B 60 (step d). Device B confirms receipt of the SIP MESSAGE request from the SIP proxy 50 by sending a SIP 200 OK response to SMS/MMS Proxy 50 (step e). If a reply message to mobile terminal 100 is required, the SMS return address for the mobile terminal 100 is retrieved from the SMS/MMS Proxy's user database 56 and the confirmation of the control action success is sent as a SIP MESSAGE request to the SMS gateway 40 for transmission to the mobile terminal 100 (step f). SMS gateway 40 confirms receipt of the SIP MESSAGE request (step g), inserts the control confirmation into an SMS text message, and sends the SMS text message to mobile terminal 100 over the cellular network 20 (step h).
For some applications, the use of the SIP MESSAGE method to communicate information between the IMS devices 60 has significant limitations. For example, a user may want to control a digital camera to capture and send an image file back to mobile terminal 100 for display. Because SIP commonly uses UDP (User Datagram Protocol) for transport, the SIP MESSAGE method may not be able to accommodate the file size of the image. Further, the use of the SIP MESSAGE method for some types of applications may put an unnecessary traffic burden on the IMS network 30.
An alternative to the SIP MESSAGE method is to use SIP to establish an MSRP connection between SIP clients (gateway, SMS/MMS Proxy, and M2M device). MSRP accommodates unlimited size messages, and the MIME type field can be used to determine whether an SMS or MMS message is needed to transfer the response from the M2M device 60 back to the mobile terminal 100 over the cellular network 20.
Mobile terminal 100 subsequently sends an SMS control message to the gateway 40 (step f). The SMS control message may contain a request to perform some action on behalf of the mobile terminal 100 (e.g., subscribe, unsubscribe, display, etc.). Gateway 40 uses the MSRP SEND method to forward the control information to the proxy 50 (step g). The SMS/MMS Proxy 50 confirms receipt of the MSRP SEND request with an MSRP 200 OK response (step h). The SIP client at the SMS/MMS Proxy 50 passes the control information to the application server 52, which determines what action to take. In this case, the application server 52 determines that an MSRP connection to the M2M device 60 (Device B) is appropriate for the particular service request. The SMS/MMS Proxy 50 establishes an MSRP connection with the M2M device (steps i-m) in the manner as previously described. SMS/MMS Proxy 50 uses the MSRP SEND method (step n) to send control information to the M2M device 60 (Device B). The M2M device 60 confirms the MSRP SEND request by sending an MSRP 200 OK response to SMS/MMS Proxy 50 (step o) and processes the service request or other control information received from the SMS/MMS Proxy 50. If the service request requires a response from the M2M device 60, the M2M device 60 uses the MSRP SEND method (step p) to respond. It should be noted that the MSRP SEND method can be used to transfer a file, such as an image file, video file, or audio file, to SMS/MMS Proxy 50. The SMS/MMS Proxy 50 confirms the MSRP SEND request by sending an MSRP 200 OK response to the M2M device 60 (step q). When the interaction between the SMS/MMS Proxy 50 and M2M device 60 is complete, the SMS/MMS Proxy 50 closes the connection using the SIP BYE method (step r). The M2M device 60 confirms the SIP request by sending a SIP 200 OK response to SMS/MMS Proxy 50 (step s).
SMS/MMS Proxy 50 may send files or other information received from the M2M device 60 to the mobile terminal 100 via the gateway 40. For example, if SMS/MMS Proxy 50 has received an image file from the M2M device 60, the SMS/MMS Proxy 50 can send the image file to mobile terminal 100. In this case, the SMS/MMS Proxy 50 uses the MSRP SEND method to send the file or other information to gateway 40 (step t). The gateway 40 confirms the MSRP SEND request with an MSRP 200 OK response (step u). Gateway 40 encapsulates the response in an SMS or MMS message as appropriate and sends the response to the mobile terminal 100 over the cellular network 20 (step v).
The combination of a gateway 40 and SMS/MMS Proxy 50 effectively extends the benefits of the IMS network 30 to non-IMS devices 100, such as cellular phones with SMS capability. Using SMS, MMS, or other messaging applications, a mobile terminal 100 can control and configure remote M2M devices 60 and monitor complex processes for specific events using SIP subscribe/notify methods. The SMS/MMS Proxy 50 also establishes a presence on the IMS network 30 for non-IMS devices 100 so that non-IMS devices 100 can provide services to IMS devices 60 connected to the IMS network 30.
The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.
This application claims the benefit of U.S. Provisional Patent Application 60/754,763 filed Dec. 29, 2005, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60754763 | Dec 2005 | US |