Short messaging service center mobile-originated to http internet communications
Abstract
This invention relates to the field of mobile communications networks that use the Internet. More particularly, this invention is a method and apparatus, where the apparatus is a mobile device-to-HTTP protocol gateway that serves as an interface between a mobile device and an application server on the Internet. The mobile device-to-HTTP protocol gateway enables developers to create mobile applications using standard web development tools. With reference to Fig. 1, a wireless Internet gateway (126) establishes communications with one or more relevant short message service centers (124), and the mobile device-to-HTTP protocol gateway (100) uses HTTP to post short messages transmitted from the mobile device (120) to a particular URL. The mobile device-to-HTTP protocol gateway (100) receives the return results and forwards them to the short message service center (124) for delivery to the mobile device (120).

Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
29 claims: 4 independent, 25 dependent
- 1CLAIMS What is claimed is:1. A gateway, comprising: a first communication path to accept a short message from a short message service center;a translation module to insert said short message into an HTTP protocol message;and a second communication path to transmit said HTTP protocol message to at least one URL.
- 9A method of communicating between a wireless device and an application program on an Internet Protocol server, comprising:sending a short message from said wireless device to said Internet Protocol server;routing said short message using a wireless protocol message;and conveying said short message to said Internet Protocol server using an HTTP protocol POST message.
- 20Apparatus for communicating between a wireless device and an application program on an Internet Protocol server, comprising:means for sending a short message from said wireless device to said Internet Protocol server;means for routing said short message using an SMPP protocol message;and means for conveying said short message to said Internet Protocol server using an HTTP protocol POST message.
- 29A mobile to HTTP gateway application, comprising:an SMPP relayer;a message director to process messages from said SMPP relayer;a poster collector to obtain at least one target poster;and a poster.
Independent claims4
483 paragraphs in 8 sections, as filed
0001SHORT MESSAGING SERVICE CENTER MOBILE-ORIGINATED TQ HTTP INTERNET COMMUNICATIONS
0002BACKGROUND OF THE INVENTION 1. Field of the Invention
0003This invention relates generally to communications networks. More particularly, it relates to the communication between a mobile (i.e., wireless) device and an application server via a short message service center (SMSC) and the Internet.
00042. Background of Related Art
0005Wireless communication services are in increasing demand in response to a society which is becoming increasingly mobile. Traditionally, wireless communication services include voice cellular phone and paging services in which a user can make a telephone call or send/receive a page including a numeric message indicating a telephone number over a wireless network. More recently, paging services have been expanded to offer alphanumeric paging, which allows a short text based message to be sent to and displayed at a handheld pager. However, voice cellular telephone and the paging services each require an intended subscriber to be on-line or active to receive a telephone call or transmitted paging message. In other words, these services do not typically offer the capability of storing the messages for a temporarily unavailable subscriber.
0006In the early 1990s, as a result of the growing popularity of digital wireless technology, a standard for digital wireless networks was introduced in Europe. That standard, now known as the global standard for mobiles (GSM), included a service called short messaging service (SMS). An SMS allows transmission of short messages, typically up to 160 characters, to and from communication devices, e.g., cellular telephone handsets, telephones or computers with appropriate modems. In North America, the SMS is currently implemented on digital wireless/mobile networks, such as a PCS network based on the GSM standard, code division multiple access (CDMA) and/or time division multiple access (TDMA) methods. Short message services are gaining in popularity, particularly in the United States. Short message services are advantageous over text based paging services because .of the capability of bi-directional communication. Such bidirectional communication allows, for example, notification to the originating device of the success or failure of the short message delivery. Each SMS network typically includes a short message service center (SMSC) which acts as a store-and-forward mechanism providing guaranteed delivery of short messages to a subscriber, even if the subscriber is inactive when the message was transmitted, by delivering the short messages once the subscriber becomes active. Delivery of all short messages is guaranteed regardless of whether or not the intended subscriber is "on-line" because the transmitted short message is stored within the SMS network and delivered to the intended subscriber from their assigned SMSC when the subscriber becomes available.
0007A variety of services have been introduced using SMS networks including, for example, integrated electronic mail and fax, integrated paging, interactive banking, and information services such as stock quotes and airline schedule delivery.
0008In operation, an SMSC receives a short message from any source intended to be delivered to a particular subscriber. When the intended subscriber is not available because, for example, it is turned off or is outside of the service area of the SMS network, the attempt to deliver the short message at that time will fail. In this case, the short message will be retained in the SMS network for a later delivery attempt. Thereafter, when the subscriber finally becomes available, e.g., is turned on or has moved into the service area of the SMS network, the relevant portions of the network (e.g., the mobile servicing center (MSC) and the home location register (HLR)) notify the SMSC to initiate delivery of the stored (i.e., previously failed) short messages.
0009Fig. 6 shows an exemplary structure of a SMS network 500. Although the following example is described using terms and protocols mainly as defined by the North American standard IS-41 , it will be apparent to one skilled in the art that the example is applicable to any networks that offer store-and-forward type short message service.
0010The SMS network 500 typically includes one short message service center (SMSC) 501. The SMSC 501 typically includes a storage subsystem to store short messages that had failed to be delivered. The SMSC 501 typically further includes various interfaces (not shown) to receive short messages originating from various sources and protocols, such as a Voice Mail System (VMS) 508, paging networks using, e.g., Telocator Numeric Paging Protocol (TNPP) 509, devices using the Short Message Peer-to-Peer (SMPP) protocol 510 via TCP/IP, e-mail systems using the Simple Mail Transport Protocol (SMTP) 511 , and/or devices using the Telocator Alphanumeric Protocol (TAP) 512. Some of the various sources of the short messages may be gateways to other networks.
0011The SMSC 501 may further include a gateway/interworking block (not shown) that enables the SMSC 501 to communicate with the rest of the SMS network 500, such as a Home Location Register (HLR) 503 or a Mobile Switching Center (MSC) 505, using the Signaling System No. 7 (SS7) 502. The methods and mechanism of communication in the SMS network 500 are defined by the mobile application part (MAP) layer, which uses the services of the SS7 transaction capabilities application part (TCAP) as the signaling infrastructure of the SMS network 500. The protocol for the signaling is referred to as the IS-41 protocol under the American standard as published by the Telecommunication Industry Association (TIA) or as the GSM MAP under the European standard published by European Telecommunication Standards Institute (ETSI).
0012The Home Location Register (HLR) 503 includes a database that permanently stores and manages subscriptions and service profiles of users having a subscription to the SMS network 500. Although only one HLR 503 is shown, the SMS network 500 may include two or more HLRs. The SMS network 500 also typically includes several visitor location registers (VLR) 504. A VLR 504 is a database temporarily holding information about visiting subscribers who move into its service area. Thus, a VLR 504 contains information regarding routing information for all subscribers within its service area, and informs the relevant HLR 503 of the availability and routing information regarding its subscribers. The mobile switching center (MSC) 505 obtains subscriber information from the VLR 504 to service visiting subscribers. The mobile switching center (MSC) 505 performs switching and call control functions, and receives short messages from the SMSC 501 for delivery to the appropriate mobile subscriber 507 (shown, e.g., as a cellular phone handset). It is to be understood that, although only one MSC 505 is shown, the wireless network 500 may include two or more MSCs. The base station subsystem (BSS) 506 handles the wireless communications, e<sub>t</sub>g., RF transmission and reception of voice and data traffic, to and from the mobile subscriber 507. The BSS 506 is typically composed mainly of two parts: the base transceiver station (BTS, not shown) which houses the radio transceivers that define a cell and handles the radio-link protocols with the mobile subscriber 507, and the base station controller (BSC, also not shown) which manages the radio resources, and handles radio channel set up, frequency hopping, and handoffs (or handovers as is sometimes referred as). The BSC is the interface between the MSC 505 and the subscriber 507. The subscriber 507, also sometimes referred to as a mobile station (MS), typically consists of mobile equipment (e.g., a cellular phone handset) preferably uniquely identifiable by an identifying number, e.g., mobile identification number (MIN), International mobile subscriber identification (IMSI) and/or electronic serial number (ESN), for the subscriber 507. The mobile equipment may include a storage area, e.g., a flash memory, a ROM, a RAM or the like to hold the unique identifying number within the mobile equipment. In GSM networks, a smart card, typically referred to as a subscriber identity module (SIM) is utilized to store a unique identifying number.
0013Fig. 7 shows an exemplary flow of a short message through a conventional SMS network. Although Fig. 7 shows only an example of short message delivery to a mobile subscriber, it is to be understood that a mobile subscriber or any other sources may originate a short message. The flow of a mobile subscriber originated short message would involve similar processes as the following mobile subscriber terminated short message example, and would be apparent to one of ordinary skill in the art. The SMSC 601 receives a short message intended for a subscriber
0014604 from a source of short message 605 which may be any one or more of the aforementioned sources of short messages, e.g., 508-512 of Fig. 6. Upon receiving a short message, the SMSC 601 sends a request for routing information, i.e., an SMS request (SMSREQ), to the HLR 602. The HLR 602 maintains information regarding the availability of the intended subscriber 604 and the appropriate MSC 603 that services the intended subscriber, and sends the information as routing information 608 back to the SMSC 601. The SMSC 601 forwards the short message to the appropriate MSC 603 using the routing information 608 received from the HLR 602, for example, in accordance with the short message delivery point-to-point (SMDPP) mechanism of IS-41 standard. The MSC 603 queries the VLR (not shown) for subscriber information. The VLR may perform a paging and authentication process, and sends the subscriber information to the MSC 603. The MSC 603, using the information received from the VLR, delivers the short message to the intended subscriber 604, and sends a delivery report 612 to the SMSC 601. The SMSC 601 may send the result of the delivery, i.e., the status report 613, to the source of the short message 605 if requested.
0015When the attempted delivery of the short message has failed because, for instance, the intended user was out of the service area, or had his or her communication device turned off, the MSC 603 informs the HLR 602 of the failure. The HLR 602 then turns on an SMS notification indicator flag for the subscriber, and the SMSC 601 retains the failed message for a later delivery attempt.
0016Fig. 8 shows a pending short message delivery process in a conventional short message service network after the mobile subscriber becomes available for delivery of the retained messages. In particular, in Fig. 8, when the subscriber 704 turns his or her handset on or comes within the service area, the subscriber's handset sends a registration signal 709 to the MSC 703. The registration signal 709 may or may not include authentication process. Upon receiving the registration signal 709, the MSC 703 informs the
0017HLR 702 (or the VLR 711 ) of the availability of the subscriber 704 by sending a subscriber available signal 708. Because the SMS notification flag for the subscriber is on, the HLR 702 or the VLR 703 sends an SMS notification (SMSNOT) message 705 in case of networks implementing IS-41 standard, or an equivalent notification alerting the fact that the subscriber has become available in networks implemented in accordance with other standards, to the SMSC 701 assigned to service that particular intended subscriber 704.
0018The SMSC 701 then sends a delivery request 706 to the MSC 703 via, for example, the SMDPP protocol in the IS-41 standard. The MSC 703 finally delivers the short message 710 to the subscriber 704, and sends a message delivered message 707 back to the SMSC 701 to confirm and finalize the delivery of the short message. The SMSC 701 may further send a delivery report to the source of the short message if it was requested.
0019The Wireless Application Protocol (WAP) attempts to standardize a mechanism for two-way communications. However, WAP requires that a special browser be loaded on the handset, and requires the user to enter into a dedicated 'browser mode' in order to interact with 2-way services.
0020There is a need for a standardized solution allowing short message communications between wireless devices and application servers on the Internet without the need for a specialized browser, while making use of existing communication standards utilized by standard SMSCs, e.g., SMPP.
SUMMARY OF THE INVENTION
0022In accordance with the principles of the present invention, a gateway comprises a first communication path to accept a short message from a short message service center. A translation module inserts the short message into an
0023HTTP protocol message. A second communication path transmits the HTTP protocol message to at least one URL.
0024A method of communicating between a wireless device and an application program on an Internet Protocol server in accordance with another aspect of the present invention comprises sending a short message from the wireless device to the Internet Protocol server. The short message is routed using a wireless protocol message. The short message is conveyed to the Internet Protocol server using an HTTP protocol POST message. A mobile to HTTP gateway application in accordance with yet another aspect of the present invention comprises an SMPP relayer, a message director to process messages from the SMPP relayer, a poster collector to obtain at least one target poster, and a poster.
BRIEF DESCRIPTION OF THE DRAWINGS
0026Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:
0027Fig. 1 illustrates an exemplary system adapted to push mobile originated (MO) messages to an IP (web) sever, in accordance with the principles of the present invention.
0028Fig. 2 depicts a mobile-to-HTTP gateway (MHG) as a 'black box' which is easily installed into existing systems to enable bi-directional communication between a mobile device and one or more IP servers within the parameters of standard protocol communications (e.g., SMPP and HTTP) between system elements, in accordance with the principles of the present invention.
0029Fig. 3 shows a message flow between the system elements shown in Fig. 1. Fig. 4 shows software elements of an exemplary MO-HTTP
0030Gateway (MHG) 100, in accordance with the principles of the present invention.
0031Fig. 5 shows various classes in an exemplary embodiment of a MHG 100, in accordance with the principles of the present invention.
0032Fig. 6 shows relevant portions of a conventional short message service network.
0033Fig. 7 shows a process of short message flow within a conventional short message service network.
0034Fig. 8 shows a pending message delivery process in a conventional short message service network.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
0036The present invention provides a mobile-to-HTTP protocol gateway (MHG, or "MO Gateway") which translates between standard wireless protocol commands (e.g., SMPP from an SMSC), and an application server on the Internet (i.e., a "Web Server").
0037An MHG in accordance with the principles of the present invention allows any standard 2-way SMS capable handset to interact with specialized web applications. Using an MHG, it is no longer necessary for a user to launch a phone browser in order to access the services. Moreover, an MHG provides a simpler model than WAP for developing 2-way applications.
0038The disclosed embodiment of an MO-HTTP gateway uses the SMPP protocol. However, the principles of the present invention relate equally to other 2-way messaging protocols, e.g., ReFlex for 2-way pagers.
0039The MO-HTTP gateway provides a mechanism for developers to produce 2-way wireless applications using familiar Web-based tools and methodologies. The MO-HTTP gateway hides the details of communicating with the wireless network by interacting with applications using familiar HTTP posting. By adopting SMS and SMPP for its reference implementation, the MO-HTTP gateway avoids problems common to the WAP environment. Utilizing an MHG in accordance with the principles of the present invention, a developer may create mobile applications using standard Web development tools, e.g., Java Servlets.
0040Fig. 1 illustrates an exemplary system adapted to push mobile originated (MO) messages to an IP (web) sever using standardized equipment and message protocols together with an MHG 100, in accordance with the principles of the present invention.
0041In particular, as shown in Fig. 1 , a mobile (i.e., wireless) device 120 communicates with an appropriate wireless network 122 using any appropriate wireless standard protocol. In turn, the wireless network 122 communicates with a short message service center 124 using standard IS-41 communication protocol messages.
0042Appendix A attached hereto is a document entitled "SHORT MESSAGE PEER TO PEER (SMPP) INTERFACE SPECIFICATION" describing relevant features of mobile originated communications using Short Message Peer- to-Peer Protocol (referred to herein as SMPP).
0043The SMSC 124 communicates with a wireless internet gateway 126 via SMPP protocol commands in substantial conformance with the SMPP interface specification attached hereto in Appendix A. A suitable wireless Internet gateway 126 is described in co-owned
0044U.S. Appl. No. 60/ , , filed on , 2000, entitled "Wireless Internet
0045Gateway", by Richard Smith, the entirety of which is expressly incorporated herein by reference.
0046The wireless Internet Gateway 126 communicates with a MHG 100 using Java Remote Method Invocation (RMI) technology to provide server-to- server capability.
0047The mobile to HTTP Gateway (MHG) 100 translates standard format
0048RMI protocol commands from the wireless Internet gateway 126 into HTTP protocol commands, and directs the same to an appropriate Internet protocol (IP) server (i.e., web application server) 152, 154, and/or 156 in communication with the Internet 150.
0049Fig. 2 depicts the MHG 100 as a 'black box' which is easily installed into existing systems to enable bi-directional communication between a mobile device 120 and one or more IP servers 152-156 within the parameters of standard protocol communications (e.g., SMPP and HTTP) between system elements, in accordance -with the principles of the present invention.
0050In particular, as shown in Fig. 2, the mobile to HTTP gateway (MHG) 100 preferably is bi-directional in that it generates HTTP protocol POST commands to an application program on a relevant IP server 152-156 based on mobile-originated messages, and translates responses to the same from HTTP protocol back into standard format SMPP messages for forwarding back to the relevant mobile device 120.
0051In accordance with the principles of the present invention, an HTTP protocol POST command is used by the MHG 100 to forward a request from the mobile device 120 to the relevant web IP server(s) 152-156. The HTTP protocol POST command is well known and documented in, e.g., RFC2068 and later IETF RFC's on the subject. This document is publicly available, e.g., at http://ietf.org/rfc.html. In particular, as is known within the HTTP protocol, an HTTP protocol POST command is used to request that a particular destination web IP server 152-156 accept the entity enclosed in the request (i.e., the mobile device 120) as a new subordinate of the resource identified by the Request-URI in the Request-Line. The HTTP protocol POST command is designed to allow a uniform method for various tasks, e.g., to allow annotation of existing resources, to allow posting of a message to a bulletin board, newsgroup, mailing list, or similar group of articles, to provide a block of data, such as the result of submitting a form, to a data-handling process, and/or to extend a database through an append operation. The actual function performed by the HTTP protocol POST method is determined by the particular web IP server 152-156, and is usually dependent on the Request-URI. The posted entity (i.e., the wireless device 120) is subordinate to that URI in the same way that a file is subordinate to a directory containing it, a news article is subordinate to a newsgroup to which it is posted, or a record is subordinate to a database.
0052The action performed by the HTTP protocol POST command might not result in a resource that can be identified by a URI. In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on whether or not the response includes an entity that describes the result. If a resource has been created on the origin server, the response should be 201 (Created) and contain an entity which describes the status of the request and refers to the^new resource, and a location header.
0053Responses to the HTTP protocol POST are not cachable, unless the response includes appropriate Cache-Control or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent to retrieve a cachable resource.
0054With respect to the MHG 100, the submitted HTTP protocol POST command includes mobile_num, resp_track_id and body fields. Also embedded within the HTTP protocol POST command is a CGI name/value pair providing information about the particular request from the mobile device 120.
0055A response back to the mobile device 120 originates from the relevant web IP server 152-154 synchronously in response to the received HTTP protocol POST command.
0056Particular features of the standard SMPP utilized by various aspects of the present invention include the following:
0057• Use of a registered_delivery flag.
0058• Use of an "$R" trigger in the body of every MO message indicating a source-unique tracking number for SMPP v3.3, version 3.4 provides an explicit field for a tracking number and therefore the trigger is not required. • Use of user responses contained within the stat component of a standard delivery receipt.
0059• Use of message types identified by the esm_class field.
0060Fig. 3 shows an exemplary message flow between the system elements shown in Fig. 1.
0061In particular, the following steps 1 to 12 are depicted between system elements in Fig. 3 as an example of message routing between a mobile device 120 and a relevant web IP server 152-154.
0062Step 1
0063The mobile device 120 sends a short message to a pre-defined address (e.g., 'info', or 4636). If the body of the short message is empty, or if the body contains a special string such as 'menu', then ultimately a menu would be sent by the HTTP Application on the relevant web IP server 152-156 to the mobile device 120. Other bodies may be used to, e.g., identify global commands, or provide context-sensitive information from the mobile device 120 to the HTTP application on the web IP server 152-156. Requirements for body content depend on the particular HTTP application as it exists on the particular web IP server 152- 156.
0064Step 2
0065The SMSC 124 routes the short message to an ESME (e.g., the wireless Internet gateway 126) for delivery using a standard SMPP protocol DELIVER_SM message. As disclosed, the MHG 100 utilizes the following fields of the DELIVER_SM command: service_type, source_addr, destination_addr, registered_delivery_flag, esm_class, and shortjnessage.
0066In particular, the MHG 100 utilizes the service_type parameter to indicate the SMS application service associated with the message. For instance, the service_type field may be populated with the value 'page'.
0067The source_addr is the address of the SME (e.g., mobile device 120) that originated the short message. As disclosed, the source_addr is the Mobile Identification Number (MIN) of the mobile device 120 making the request. The destination_addr is the address of the destination SME. As disclosed, the destination_addr may be assumed to be '4636' as indicated in Step 1 above. This address is used to route the request to the appropriate HTTP URL. The registered_delivery_flag indicates if an SME Acknowledgement is necessary. As disclosed, the registered_delivery_flag is set to a default value of 0, which indicates that no delivery receipt is requested. The esm_class indicates the message type and Enhanced network services.
0068The short_message field contains up to 254 octets of short message user data.
0069Thus, key fields of the DELIVER_SM command may be populated by the MHG 100 as follows: service_type: page source_addr: mobile's MIN destination_addr: 4636 registered_delivery_flag: 0 esm class 0 short nessage: $R[new ref id]$M[message]
0070The $R in the short message is optional, and is applicable for use with SMPP v3.3. The $R may be used when correlating responses from the mobile device 120 to Reply-request messages from the application program on the relevant web IP server 152-156. For consistency, the $R is preferably always present in short messages from the mobile device 120.
0071Step 3
0072When the wireless Internet gateway 126 receives the SMPP message from the SMSC 124, it creates a DELIVER_SM object. The DELIVER_SM object is forwarded by the wireless Internet gateway 126 to any relevant remote applications that are registered to receive messages on a specified ports/link ID, e.g., the MHG 100 if the MHG 100 is registered with the wireless Internet gateway 126 to receive SMPP messages. The transmission is accomplished through an RMI callback mechanism.
0073Step 4
0074The MO-HTTP Gateway (MHG) 100 receives the DELIVER_SM message object from the wireless Internet gateway 126, and formulates an HTTP protocol POST command message to a web server on the Internet 150 to convey the message content. The MHG 100 can direct the HTTP protocol POST command messages to one or to multiple URLs.
0075The particular web server to reference is determined by the included destination address, assuming that the SMPP destination address field contains the targeted number, e.g.,, '4636'. The HTTP protocol POST command message may be routed based on the SMPP port utilized.
0076As disclosed, exemplary name/values that may be utilized in the HTTP protocol POST command message sent to the web server are the mobile_num, resp_track_id, and body. The mobile_num may be the mobile identification number (min) identifying the originating mobile number of the relevant mobile device 120.
0077The resp_track_id may be the reference ID (ref id) for user acknowledgements used to track questions and related answers.
0078The body may be the payload content from the mobile device 120 included in the message body field. As embodied, by default, only SMPP messages with esm_class values of '0' and '.16' are forwarded by the wireless Internet gateway 126 to the web IP server 152-156. That is, only new mobile originated requests and/or menu responses are forwarded. If, for instance, the SMPP message type is '16', then the resp_track_id variable may contain the reference ID. On the other hand, if the message type is '0', then the reference ID is not passed to the relevant web IP server(s) 152-156.
0079Utilization of the SMPP message type and inclusion/non-inclusion of the reference ID reduces network traffic and resource requirements, and simplifies development on the web side.
0080Step 5
0081The relevant web server in the Internet 150 receives the HTTP protocol POST command information, which may be handled by the actual CGI/Servlet routine specified by the URL in Step 4.
0082The handling servlet may create sessions for each mobile device such that the current state of the mobile device may be preserved, allowing meaningful content to be transmitted. Example wireless web applications may include menu-based services, games, and information services.
0083After the servlet of the web server in the Internet 150 receives the HTTP protocol POST command, the servlet synchronously returns data through the HTTP stream back to the MHG 100. The text returned by the servlet may be delivered to the mobile device 120 as a standard SMS message. The returned data may be contained within an <SMS> and </SMS> tag-set. The <SMS> and </SMS> tags are special tags used by the MHG 100 to denote SMSC Type data. As the number and/or variety of applications increase, additional tags may be implemented.
0084As disclosed, there are several fields embedded within the <SMS> and </SMS> tags: mobilejium, resp_track_id, and body.
0085The mobilejium field includes a mobile identification number of the mobile device 120 that a relevant short message is destined for.
0086The resp rackjd field includes a unique identification number generated by the servlet. The MHG 100 returns this id to the servlet for responses. The body field includes the text to send to the desired mobile device 120. If the body field is blank, then nothing will be sent to the mobile device 120.
0087If the servlet requires a single-button user response (e.g., for a menu), then the "<RESP_TRACK_ID value- x'>" tag can be included prior to the </SMS> tag. This tells the system that a menu is required and that the specified unique tracking number should be used.
0088When the user of the mobile device 120 responds to this message, this same tracking id may be returned in the respjrackjd cgi variable.
0089For ease of description of some of the following steps, an example using the scenario described above is introduced wherein the servlet returns the following:
0090<SMS> Do you like cookies (Y/N)?
0091<RESP_TRACK_ID value="1234"> </SMS>
0092Step 6
0093After having posted its data to the web server in the Internet 150, the MHG 100 receives a response from the same connection, as described in Step 5. A standard SUBMIT_SM MT message is generated from the text received within the <SMS> tag set.
0094In particular, the SUBMITjSM message is issued by the ESME (e.g., the wireless Internet gateway 126) to submit a short message to the SMSC 124 for transmission to a specified mobile device 120. In creating a SUBMITjSM message destined for the SMSC 124, the conventional SMPP Protocol specification is followed, with the exception of the following mapping implemented between the SUBMITjSM message and data received in the <SMS> and </SMS>.
0095A registered_delivery_flag in the SUBMITjSM message informs the SMS that the ESME (wireless Internet gateway) 126 requires a notification when the message has been delivered. If the RESP_TRACK_ID is provided (i.e., contains a value), then the registeredjdelivery_flag field is set to '8' for the MHG 100 indicating 'SME Manual/User Ack requested', and a special tag of R$[track id] is included in the message body. Preferably, this same tracking id will be returned in the response message from the mobile device 120. A shortjnessage in the SUBMITjSM message is the payload containing up to 160 bytes of data that should be transmitted to the mobile device 120. An empty body indicates that no message is to be sent to the mobile. If the RESP_TRACK_ID value is set, then a special tag of "$R" concatenated with the value from the RESP_TRACK_ID and the tag "$M" must be prepended to the short message.
0096The other fields of the SUBMITjSM message are used as conventionally known and described in the SMPP Protocol.
0097Step 7
0098The SMSC 124 receives the SUBMITJSM message and delivers a short message, with manual ack request, to the mobile device 120.
0099Step 8 The mobile device 120 responds to the "Do you like cookies?" question, e.g., by pressing '9' for Yes.
0100Step 9
0101The SMSC 124 receives the response from the mobile device 120 and formulates a DELIVERJ3M message. The formulated DELIVERJ3M message is forwarded to the wireless Internet gateway 126.
0102Key parameters in the DELIVERJ3M message may be populated as follows:
0103• service_type: page • sourcejaddr: [mobile's MIN]
0104• destinationjaddr: 4636
0105• registered_delivery_flag: 0
0106• esm_class: 16
0107• shortjnessage: R1234$[Response Value]
0108The response code is shown directly after the $M value.
0109Step 10
0110The wireless Internet gateway 126 receives the DELIVER _SM message from the SMSC 124, converts the DELIVER _SM message into an object, and forwards the DELIVERjSM message to any listeners (e.g., the MHG 100). In the disclosed example, the MHG 100 may be listening to the wireless Internet gateway 126 on a specified port, and therefore receive the DELIVERjSM message from the specified port.
0111Step 11
0112The MHG 100 receives the DELIVERjSM object, and determines if the esm_class is '16'. If so, the short message is translated by the MHG 100 and forwarded to its web listeners. A URL is associated with either the SMPP link ports or the destination address through a configuration file of the MHG 100. The MHG 100 therefore formulates an HTTP protocol POST command message to the appropriate URL(s).
0113As disclosed, the HTTP protocol POST command message may contain the following name/value pairs: mobile_num=[mobile num] resp_track_id=123 body=9
0114To ease the burden of the web developer, the MHG 100 may include the response code only for messages where esm_class='16'. Thus, if the esm_class is not '16', the response code need not be included. Regardless of how the MSG 100 receives it, it need pass only the response code in the body field.
0115Step 12
0116The servlet associated with the specified URL receives the HTTP protocol POST command message from the MHG 100.
0117The servlet may retrieve a session object for the particular value of the mobilejium, and determines that it had just asked the mobile device 120 about a cookie preference.
0118The servlet may confirm that the query's tracking ID correlates to the respjrackjd value. Thus, the servlet knows that the response at hand is in response to that question. Since the body contains the content '9' (or Υ' or other suitable response), the servlet may rightfully conclude that the user of the mobile device 120 (who input the '9' response) likes cookies. A conversation or communication between the mobile device 120 and an application on one or more particular web IP servers 152-156 may continue on as described in steps 1 to 12 indefinitely.
0119Fig. 4 shows software elements of an exemplary MO-HTTP Gateway (MHG) 100, in accordance with the principles of the present invention.
0120In particular, as shown in Fig. 4, the software elements of the MHG 100 include an SMPPRelayer 402, a MessageDirector 404, a PosterCollection 406, a Poster 408, and a Servlet 410.
0121In accordance with the principles of the present invention, one or more SMPPRelayers 402 will register as listeners to specified link IDs of the wireless Internet gateway 126.
0122In message 421 shown in Fig. 4, SMPP messages are sent by the wireless Internet gateway 126 to the SMPPRelayer 402 of the MHG 100 as they are received. In message 422, the SMPPRelayer 402 forwards each message to a
0123MessageDirector 404.
0124In message 423, the MessageDirector 404 retrieves a Poster 408 from the PosterCollection 406, and then in message 424 tells the Poster 408 to process the SMPP Message. In message 425, the Poster 408 converts the SMPP Message into an HTTP protocol POST command request 425 to a specific universal resource locator (URL), and receives return results back in message 426.
0125In message 427, the Poster 408 returns the results back to the SMPPRelayer 402, so that it will be sent to the mobile device 120, as depicted in message 428.
0126Fig. 5 shows various classes in an exemplary embodiment of a MHG 100, in accordance with the principles of the present invention.
0127In particular, as shown in Fig. 5, the MHG 100 includes a MOHGateway class 502, an SMPPRelayer class 402, a MessageDirector class 404, a PosterCollection class 406, and a Poster class 408.
0128The MOHGateway class 502 defines "main()", and upon execution will create the SMPPRelayer class 402, the MessageDirector class 404, and the PosterCollection class 406, assigning references to one another as appropriate.
0129The PosterCollection class 406 accesses a standard application resource class to determine the number of Posters 408 required, as well as the desired configuration of each Poster 408. The PosterCollection class 406 creates the Posters 408 . and provides references to the Posters 408 through a getPoster(SMPPMessage msg) method.
0130The SMPPRelayer class 402, the MessageDirector class 404, the PosterCollection class 406, and the Poster 408 each receive an I Logger object for recording information.
0131While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.
APPENDIX A
SHORT MESSAGE PEER TO PEER (SMPP) INTERFACE SPECIFICATION
01341. Introduction
01351.1 Purpose
0136This document specifies a generalized interface between an SMSC and non-PLMN SMEs. Typically it specifies the interface used between the SMSC and Paging or VoiceMail systems. The command format defines a Short Message Peer to Peer Protocol (hereafter referred to as SMPP). This protocol may be implemented over a variety of underlying interfaces/communications protocols, namely X 25, or TCP/IP.
0137Using this interface, an external Short Message Entity such as a Paging or VoiceMail system may bind/ unbind to the SMSC submit , cancel, replace and query short messages. The SMSC forwards responses and short messages (e.g delivery receipts, pager messages) to the external Short Message Entity
01381.2 Scope
0139This document is intended for designers and implementers of the interface between an SMSC and SMEs (Short Message Entities).
01401.3 References
0141[1] SMPP Applications Guide Version 1 3 Aldiscon Limited [2] Technical Realisation of the Short Version 4 6 0 European Telecommunications Message Service Point to Point, Standards Institute. (ETSI) GSM 03 40
0142[3] SMPP Provisioning Interface Version 1 1 Aldiscon Limited Guide [4] SMPP Provisioning Application Version 1 1 Aldiscon Limited Guide
0143.4 Glossary
0144ACK Acknowledgement
0145AI M Application Interface Module
0146API Application Programming Interface
0147CDR Call Detail Record
0148ESME External Short Message Entity Refer to note[ 1 ]
0149M5 Message Bureau - This is typically an operator message bure?
0150MSC Mobile Switching Centre
0151MS Mobile Station - K Negative Acknowledgement
0152SME Short Message Entity
0153SMSC Short Message Service Centre
0154SMPP Short Message Peer to Peer Protocol
0155VC Virtual Connection Refer to note [2]
0156VMA VoiceMail Alert or Message Waiting Indication (MWI)
0157VPS Voice Processing System
0158Note 1 External Short Message Entity I n the context of this document this refers to such external sources and sinks, of short messages as Voice Pi ocessmg oi Message Hanό rig -.impυters It specificnl k excl udes SMEs which ai c pan o! the iniei facc to the PLMN
0159Note 2 VirU'jl Connection This iefei - to a \ n tual circuit in the λ 25 inipl eme inii n
01602. Functional overview
0161Inteiv.orking between the SMSC and ESMEs are ca'egoπsed as
0162(protocol) mess e from ESMEs to the SMSC, and (protocol) messages from SMSC to ESM Es
0163Figure 2 1 illustrates these categories which are defie in the following sections
0164<img file="WO0180534A1_D0001.tif" />
0165Figure 2-1 : SMSC & ESME Interworking using X.25
01662.1 ESMEs to SMSC
0167Subscribers to a GSM Network may receive sho". messages from ESMEs The means whereby these messages are originally generated within or are submitted to the ESME is beyond Ihe scope of this document, but the following are possible examples
0168Calls directly dialleo or diverted to a Message Bureau operator and forwarded to the SMSC
0169Messages originated from terminals at a corpt'ate customer s site
0170Voice-Mail Alerts originating for a VPS mdica: 'ig voice messages at a customer's mailbox
0171Messages that are submitted to the SMSC bv an ESME are immediately acknowledged This rjc no/v ledgmc nt inform', the ESME that the- mc-wj" submitted is a valid message (ι fields ^r set to valic values) In addition to "Message Submission<sup>"</sup>, an ESME may "Query' the SMSC for the status of previously submitted messages, 'or cancel delivery of previously submitted messages usinc the Message ID returned by the SMSC when the particular message was originally submitted
01722.2 SMSC to ESME
0173The SMSC can deliver short messages to the ESME A typical example would be the SMSC sending short messages to an MB for onward delivery as pager messages
0174In addition the SMSC may use the 'deliver short message mechanism to generate a Delivery Receipt (See SMPP Apolications guide [1] for details)
01752.3 Backward Compatibility.
0176Where changes have occurred in the Interface Specification between versions, the ' ιnterface_versιon ' provided in the "Bind" primitive is used to discriminate between version numbers for backward compatibility
01773. Interface Specification
0178The interface between the SMSC and ESME may be based on X 25, or TCP/IP For details of a particular implementation refer to tne SMPP Applications Guide [1]
0179The interface between the SMSC and the ESMEs regardless of the underlying network type will be a client- server model, in which, tne SMSC has the server role and the ESME the client role In the remainder of this document, "client ' is referred to the system that initiates a connection and "server" is referred to the system that services a connection
0180Note that this document specifies the interface at the network layer However, this interface may be implemented over the transport layer Figure 3 1 provides a pei spective on the scope of this document
0181<img file="WO0180534A1_D0002.tif" />
0182Figure 3-1 : Model of SMSC-ESME Interface
01834. Protocol Messages
0184All messages sent, either from ESME to SMSC, or SMSC to ESME, will generate immediate responses
0185As previously mentioned, a message submitted from an ESME to SMSC can gene<sup>r</sup>ate up to two responses These are an application level ' resp . and where the message was submitted to the SMSC with the registered delivery -lag set, a status report generated after the submitted short message reaches its final stale
0186Figure 4 1 depicts a possible sequence of these messages (e g for an X 25 or TCP/IP based implementation)
ESME SMSC
0188<img file="WO0180534A1_D0003.tif" />
0189Figure 4.1 Sample Message Sequence
0190For details of ESME/SMSC protocol message sequences refer to the SMPP Applications Guιde[1 ]
0191Use of Primitives
0192This section describes an overview of the mechanism for exchange of primitives between the ESME and SMSC For details for a particular network implementation, such as X 25 or TCP/IP, see the SMPP Applications guide [1 ]
01935.1 Initiation of Communication with SMSC
0194The ESME establishes communication vith the SMSC, by an implementation s ecific mechanism (see SMPP Applications guide [1])
0195Two 'virtual connections' are required One will be used for messages originating in the ESME system, and the response messages for them (e g submιt_sm, query_sm, cancel_sm etc ), while the other will be used for messages originating in the SMSC and their responses (e g delιver_sm)
0196Once a 'virtual connection' has been established, each of the two processes on the ESME should send either a Bind-Transmitter request or a Bind-Receiver request If a Bind Transmitter request is sent, the process on the SMSC that receives it will receive messages originating in the ESME system If a Bind Receiver request is sent, the process on the SMSC that receives it will forward messages to the ESME Responses will invariably be returned on the same 'virtual connection' as the corresponding request messages
0197The following diagram illustrates this
0198virtual <img file="WO0180534A1_D0004.tif" />
0199Communications - < Provider «8.X25. TCRflP
0200SMSC Application SMSC Application (bound as Transmittei) (bound as Recen ei)
0201SMSC Kernel
0202Figure 5-1 ESME/SMSC Communication 5.2 Steady State Communication with the SMSC
0203Once a connection has been established and an authenticated bind<sup>'</sup> request has been acknowledged, further requests/responses can be exchanged A resoonse will be issued for each request
02045.3 Terminating Communication with the SMSC
0205If at any time, either the ESME or the SMSC needs to terminate communications with the other it should issue an 'unbind request over the appropriate 'virtual connection This enables the receiving system to break communications in an orderly fashion For both virtual connections', the unbind request should be acknowledged by the receiving system before the virtual connection is closed
02065.4 Error Handling and Retransmission
0207On receipt of a message the receiving system will ensure that the message type is valid and then check where appropriate, the validity of the fields of the message body If the message :ype or the values of the fields are incorrect an error code indicating this will be returned in the response message to the originator A table of error and status codes can be found in Section 7 1
0208Should an error be generated by the underlying communication network or the application being used on the host machine it is the responsibility of the sender of the message lo retransmit to the destination The originator should maintain a retry count and when this limit has been reached on a single message attempt the connection should be closed The ESME should attempt to re-connect The re-connect method will be the same as the startup protocol
0209The Sequence number in the message header should be generated by the ESME This number should be incremented monotonically with each new transaction This field w,ll be preserved by the receiving system and returned in the acknowledgement message This allows for transaction mapoing and the detection of duplicate messages
02105.5 Protocol Message Types
0211The following message types are supported by the SMPP The ' command id<sup>"</sup> field of the protocol message is set to specify the particular message
0212The detaileo formats of these messages are defined m Section [6 ]
02135.5.1 ESME to SMSC
0214The followinc messages are sent from the ESME to the SMSC om nv.uKl 1 1) Description bi nd T is command is issu the I , SM E to infoi m the SMSC that th,- CSM L <img file="WO0180534A1_D0005.tif" /> is cs to act ,ι<sub>s</sub> a Scrs ci bind tjcnsmittei This commaiid is issued <img file="WO0180534A1_D0006.tif" /> the ESME to lnlorm the SMSC that thι-> ESM E wishes to act as a Client in cind This command is issued by the ESME to inform the SMSC that (Ins ESME wishes to terminate its activities subm .ι_sm This command is issued by the ESME to submit a short message to tl e SMSC oi tiansmission to a specified subscribe! suhip . multi This command is issued by the ESME to submn a shoit message to the SMSC foi tiansmission to a specified subscribe! or DiSTibuuon List oi Mult iple Recipients del ιver_sm_ι esp This command is issued by the ESM E to ac knowledge the leceipt oi a <img file="WO0180534A1_D0007.tif" /> que ~. _sm Tins command is issued by the ESME to query the status of a pieviously submitted Short Message queιy_last_ιnsgs This command is issued by the ESME to queiy the message ids of a number of messages in the system foi a subscribers ori<sup>g</sup>inating address queι y_iu->g_detaι ls Tins command is issued by the ESME to query all aspects of a pi eviously submitted Short Message cancel sm Tins command is issued by the ESME to cancel one or more outstanding short messages lor a subscπber The command mav speci fy a particulai message or all messages foi a parti-tilar soui ce and destination repi This command is issued by the F.SM L to replace an outstandin<sup>g</sup>.! shoπ message for a subscriber
0215Table 5-1 Message Types from ESME to SMSC <img file="WO0180534A1_D0008.tif" />
0216Table 5-1: Message Types from ESME to SMSC
02175.5.2 SMSC to ESME
0218The following messages are sent from the SMSC to the ESME
0219<img file="WO0180534A1_D0009.tif" /><img file="WO0180534A1_D0010.tif" />
0220Table 5-2 Message Types from SMSC to ESME <img file="WO0180534A1_D0011.tif" />
0221Table 5-2. Message Types from SMSC to ESME
02226. Message Layouts.
0223The general format of all protocol messages exchanged between the ESME and the SMSC will consist of a message header followed by a message body
02246.1 Definitions
0225In the following descriptions the following definitions will be used
0226Integer a signed value with the defined number of bytes The bytes will always be transmitted MSB first
0227C-Octet String a series of ASCII characters terminated with the NUL character
0228C-Octet String a series of ASCII characters terminated with the NUL (Decimal) character
0229The octet string should represent a sequence of decimal digits
0230C-Octet String a series of ASCII characters terminated with the NUL (Hex) character
0231The octet string should represent a sequence of hexadecimal digits
0232Octet String Series of octets which may/may not be null terminated The octets themselves can contain nulls
0233Where reference is made belovv to NULL settings of Octet-String fields this implies that the field consists of a single NUL character, i e an Octet encoded with value zero
0234Whei e reference is made to NULL settings of Integer fields this implies that the field is unused and can be set to 0
0235.2 Message Header Format
0236Element Size T\ pe Ocsei iptioπ bvtc
0237Command Length Inie-iei This field defines the total length ofthe packet including the lcmith field
0238Command II<sup>"</sup>) Inlcccr <sup>'</sup>I he field indicates the<img file="WO0180534A1_D0012.tif" /> of request to be invoked by this protocol message, e g 'κιιhιιιιl_.κi)} . 'quen_sm' etc
0239Λ request command ukntilϊei will be allocated lo each request pnmime I he following lange is leseived foi these puiposcs Oh to ITIi
0240Λ lesponsc command identifier will be allocated to each response primitive I he following range is lescned foi these puiposcs O8O OOOOOI1 toϋSOOOOOOI
0241(In geneial a response command idenlifiei will be identical to the coπcsponding request command identifier but <img file="WO0180534A1_D0013.tif" /> for details ol the aciual IDs see Section 72
0242Command Siatus I metier This field will indicate the success or failure of a lequest This field is only relev nt in the response message, so in the lequest message 11 should contain NULL A list of ciroi codes is given in Section 7 I
0243Sequence \o Imc-tei A sequence number allowing lequcsts and responses to be associated Allocation ot this reference number is lhe responsibility of the oiig atoi. who should ensure that the number is monotomcally mcieasing for each submitted request The associated 1 espouse packet must pieseπe this field
0244The lan c is 01 h to 071 FFFFFFh
0245Optional mixed A list of parameters coi responding to the Command type Message Body These fields are detailed in section 63
0246Table 6-1: Message Header Format
02476.2.1 "GENERIC_NAK" Command
0248This is a generic response to a command for which the message header is invalid
02496.2.1.1 "GENERIC_NAK" Syntax
0250Apart from setting the header fields, no other parameters are required in the data body 6.3 Message Body Formats
02516.3.1 "BIND" Operation
0252There are two variations of the Bind Command namely "bindjransmitter" and ' bιnd_receιver" The Command ID setting specifies whether the Bind is the "bιnd_transmιtter" or "bιnd_receιver ' primitive
0253The purpose of the Bind operation is to register an instance of an ESME with the SMSC system, and inform the SMSC that the sending SME wishes to use this virtual circuit for commands initiated by the SMSC To this end the Bind must provide key information within the "message" field of the protocol message
0254The password must match the SMSC administration password for the instance of the ESME
0255The system_id and system_type provide a unique identification of the interface
0256Associated with the interface is a unique default "callback address" which is configured via SMSC administration The <sup>"</sup>callback address<sup>'</sup> is employed as the default source address, in cases where the actual ESME address is not supplied
0257The interface may act as either an ESME in it's own right or as an agent for the transport of messages to or from other ESME's (See figure 6-1 )
0258In it's role as agent, the range of ESME addresses served by the interface is specified via a "regular expression<sup>'</sup> (See Note 2) This may be defined explicitly in the bind request or configured by SMSC administration
0259Note 1 For the bindjransmitter the addr on, addr_nρι and range of SME addresses (address_range) is not relevant and should be set to NULL
0260Note2 The <sup>"</sup>regular expression' in this context is a text pattern representing a range of addresses or a specific address For further detail refer to the SMPP Application Guιde[1 ]
0261<img file="WO0180534A1_D0014.tif" />
0262Figure 6-1 ESME/SME address routing to/from SMSC 6.3.1.1 "BINDJ ECEIVER" Syntax
0263These parameters are included in the <sup>"</sup>message field of the protocol message when the <sup>'</sup>command id field is "hind receiver'
0264<img file="WO0180534A1_D0015.tif" />
0265Table 6-2: bind receiver
02666.3.1.2 "BIND_RECEIVER_RESP" Syntax
0267Apart from setting the header fields the acknowledge message to a 'bιnd_receιvef requires only a single parameter
0268<img file="WO0180534A1_D0016.tif" />
0269Table 6-3 bind receiver resp 6.3.1 .3 " BI N D ΓRANS ITTER" Syntax
0270These parameters are included in the <sup>"</sup>message<sup>"</sup> field of the protocol message when the "command id ' field is "bindjransmitter"
0271The Message layout is identical to the "bind eceiver" Message Layout except that the addr on, addr_npi and the range of SME addresses(address ange) are not relevant and should be set to NULL
02726.3.1 .4 "BIND_TRANSMlTTER_RESP" Syntax
0273The Message layout is identical to the bind eceiver esp<sup>'</sup> Message Layout except that the 'command id field setting specifies "bιndjransmιtter_resp'
02746.3.2 "UNBIND" Operation.
0275The purpose of the Unbind operation is to deregister an instance of an ESME from the SMSC system
02766.3.2.1 "UNBIND" Syntax
0277Apart from setting the header fields, no other parameters are required in the data body
02786.3.2.2 "UNBIND_RESP" Syntax
0279Apart from setting the header fields, no other parameters are required in the data body
02806.3.3 "SUBMITjSM" Operation.
0281This command is issued by the ESME to submit a short message to the SMSC for transmission to a specified subscriber
0282When a real source address is provided in a registered submιt_sm request, the source address can be used as the destination address for a delivery receipt It can also be used in identif ying the message source in a CDR This source address must fall in the range of addresses associated with the bind command
0283Where the originator of messages from the ESME is the ESME itself, or where the ESME does not have a real source address, the source address fields may be defaulted to NULL, and tre source address will be taken from the SMSC administration ' callback address for the particular ESME i<sup>n</sup>stance
0284The submιt_sm operation can also be used to replace a short message w ch has previously been submitted This is achieved by setting the replace ιf_presenl lag lo 0x01 in the Int-nace The first message found in the SMSC whose source and destination match those given in the su-.τιt_sm will have it's text replaced by the text in the short_message field of the submιt_sm
02856.3.3.1 "SUB!VHT_SM" Syntax
0286These parameters are included in the message field of the protocol message when the command id ' field is "submit sm
0287<img file="WO0180534A1_D0017.tif" />
0288Table 6-4 submit sm Size
0289Field Name Type Description (bytes) destination addr Var C-Octet Destination address of this short message For Max 21 String mobile terminated messages this is the SME
0290(Decimal) address of the target subscriber
0291This variable length field may have leading spaces
0292Where not required this should be a single NULL byte esm class Integer Indication of message type
0293For the submιt_sm command this field is unused and should be set to NULL
0294For the delιver_sm commano however, this field may identify tne message as a delivery receipt protocol ID Integer GSM Protocol ID (See GSM 03 40 [2] 9 2 3 9) pπoπty lag Integer Designates the message as priority Setting priority on a message moves it to the top of the SMSC message queue for that subscriber
02950 = non-priority (default)
02961 = priority >1 =Reserved schedule_delιveryjιme 17 C-Octet The absolute date and time at which delivery of String this message must be attempted
0297The format is defined in section 7 5
0298Where not required this should be a single NULL byte valιdιty_peπod 17 C-Octet The expiration time of this message This is String specified as an absolute date and time of expiry
0299The format is defined in section 7 5
0300Where not required this should be a single NULL byte regιstered_delιveryjlag Integer Flag indicating if the message is a registered short message and thus if a Delivery Receipt is required upon the message attaining a final state 0=No receipt required (non-registered delivery) 1 =Receιpt required (registered delivery) >1 =Reserved replace_ιf_presentjlag 1 Integer Flag indicating if submitted message should replace an eyistmg message between the specified source and destination
03010=Don't Replace (default)
03021 =Replace
0303> 1 =Reserved data_codιng Integer GSM Data Coding-Scheme ( See GSM 03 40 [2] 9 2 3 10)
0304Table 6-4 submit sm <img file="WO0180534A1_D0018.tif" />
0305Table 6-4: submit sm
03066.3.3.2 "SUBMIT_SM_RESP" Syntax
0307These parameters are included within the "message" field of the protocol message when the "message t tvynpee"" f fiieelldd i iss ""ssuubbmmiιtt_ ssmm_ rr&esspn""
0308<img file="WO0180534A1_D0019.tif" />
0309Table 6-5" submit_sm_resp
03106.3.4 <sup>•</sup>SUBMIT JVILILTI" Operation
0311The SUBMITJvlULTI primitive is used to submit messages to an SME Address, a Distribution List and Multiple Recipients The Command Id of this primitive is "submιt_multι" The message field of this body is
0312<img file="WO0180534A1_D0020.tif" />
0313Table 6-6 submit multi <img file="WO0180534A1_D0021.tif" />
0314Table 6-6: submit multi
0315<img file="WO0180534A1_D0022.tif" />
0316Table 6-7: dest_address
0317<img file="WO0180534A1_D0023.tif" />
0318Table 6-3 DL Name 6.3.4.1 'SUB(VUT_MULTI_RESP" Syntax
0319These parameters are included within the ' message field ol the protocol message when the message type<sup>"</sup> field is " submιt_mυltι_resp"
0320Size
0321Field Type Description (bytes)
0322Message ID Var C-Octet Tms field contains the message ID internal to the Max 9 String SMSC It may be used at a later stage to query the
0323• -.ex) sta.us of a message, to replace a message or match the original message to a corresponαmg delivery receipt (delιver_sm) message.
0324If absent this field must contain a single NULL byte
0325The SMSC will return a value for this field
0326■ No UnSuccess Integer The number of SME addresses that were unsuccessfully submitted to the system database
0327UnSuccess SMEs Var. Max C-Octet Tne SME addresses to which submission was 4600 String unsuccessful (Table 6-10 SME_Address)
0328Table 6-9: submit_multi_resp
0329<img file="WO0180534A1_D0024.tif" />
0330Table 6-10: SME Address 6.3.5 "DELIVER_S " Operation
0331This is issued by the SI.'SC Using this command the SMSC may submit a short message to the ESME for delivery It is also used to return a delivery receipt for a message which had been submitted with the delivery receipt flag set
0332The values for destination address will depend on whether the ESME is the final destination of the short message or merely routes the message to its final recipient (e g paging messages)
0333One should note that delivery receipts are relumed to the originating SME using this command In this instance of a delιver_sm command, the esm_class field will identify the message as a delivery receipt, and the required data relating to the original short message will be given in the message text field (See SMPP Applications Guide [1] - Delivery Receipts)
03346.3.5.1 "DELIVER_SM" Syntax
0335The parameters included within the "message" field of the protocol message when the "command id" field is "delιver_sm , are the same as for " submιt_sm"
03366.3.5.2 "DELIVER_SM_RESP" Syntax
0337The parameters included within the "message ' field of the protocol message when the "command id" field is "delιver_ sm_resp" are the same as for "submit_sm_resp
6.3.6 QUERY
0339Three different types of Query of short messages are supported by the SMPP application An ESME can query the status of a message sent to a single SME Address the status of a message submitted to a single Distribution List and can query the status of a message sent to multiple recipients
03406.3.6.1 "QUERY_SM" Operation
0341This Command is issued by the ESME to query the status of a previously submitted short message
0342Where a message to be replaced was originally submitted with an individually identified SME source address the originator address in the query_sm command must match Where the original source address was defaulted to NULL (i e the oπgina'or of messages from the ESME is the ESME itself or the ESME does not ha <e a real source addi ess) then the originator address in the query_sm command should also be NULL and the source address will be taken from the SMSC administration callback address for the particular ESME instance
03436.3.6.2 "QUERY_SM" Syntax
0344These parameters are included within the "message field of the protocol message when the message type is query _sm <img file="WO0180534A1_D0025.tif" />
0345Field Type Description (bytes) orιgιnal_message_ιd Var C-Octet Message ID of the message whose state is to be Max 9 String queried
0346(Hex) This must be the Message ID allocated to the onginal short message when submitted to the SMSC by the submιt_sm command, and returned in the submιt_sm_resp message by the SMSC This variable length field may have leading spaces onginatingjon Integer Type of Number of originator
0347This is used for verification purposes, and must match that supplied in the corresponding
0348'submit_sm' request
0349(See GSM 03 40 [2] 9 1 2 5) orιgιnatιng_npι Integer Numbering Plan Identity of originator This is used for verification purposes, and must match that supplied in the corresponding submιt_sm request (See GSM 03 40 [2] 9 1 2 5) oπgιnatιng_addr Var C-Octet Address of originator Max 21 String This is used for verification purposes and must
0350(Decimal) match that supplied in the corresponding submιt_sm request
0351Table 6-1 1 query sm ■6 3 6.3 "QUERY._SM_RESP" Syntax
0352These parameters are included within the message field of the protocol message when the message type is query_ sm_ response
0353<img file="WO0180534A1_D0026.tif" />
0354Fiel d Type Description (bytes) oπgιnal_message_ιo Var C-Octet Message ID of the message whose state is being Max 9 String cueπed
0355(Hex) This must be the Message ID allocated to the original short message when submitted to the SMSC by the submι!_sm command and returned n the submιl_sm _resp message by the SMSC This variable length field may have leading spaces final date Var C-Octet Date and time when the submitted message Max 17 String reached the final state
0356For messages which have not yet reached a final state this field will contain a single NULL byte The date format is detailed in Section 7 5 message_status Integer Specifies the status of the SM See section 7 4
0357Error code Integer Where appropriate this holds a GSM error code or an SMSC error code defining the reason for failure of message delivery (See GSM 03 40 [2] 3 3) /Refer also lo section 7 3)
0358Table 6-12 query_sm_resp
03596.3.6.4 "QUERY_LAST_MSGS" Operation
0360This operation allows an ESME to query the most recent messages that are in the system for that originating source address The messages found in the system with the specific originating source address will be returned to the ESME along with some message details The maximum number of messages that can be queried is 100
NOTE:
0362If the number of messages specified is greater than 100 then the latest 100 messages will be returned for that source address
0363If the total number of messages specified is not found m the database for that source address then the total number of messages found will be returned
03646.3.6.5 'QUERY_LAST_MSGS" Syntax
0365These parameters are included within the ' message field of the protocol message when the message type i iss ""a quueerryv_ llaasstt_ mmssgαss""
0366<img file="WO0180534A1_D0027.tif" />
0367Table 6-13: queryjast_msgs
03686.3.6.6 "QUERY_LAST_ SGS_RESP" Syntax
0369These parameters are included within the "message field of the protocol message when the message type is " query_last_msgs_resp"
0370<img file="WO0180534A1_D0028.tif" />
0371Table 6-14 query last msgs resp <img file="WO0180534A1_D0029.tif" />
0372Table 6-15: message_.details
03736.3.6.7 "QgERY_MSG_DETAILS" Operation
0374This operation is used to return all the details of a specific message stored in the database for a particular message id
03756.3.6.8 "QUERY_MSG_DETAILS" Syntax
0376These parameters are included within the message field of the protocol message when the message type is "query_msg_detaιls
0377<img file="WO0180534A1_D0030.tif" />
0378Table 6-16: query_msg_details
03796.3.6.9 "QUERY_MSG_DETAILS_RESP" Syntax
0380These paiametei s are included within the "message field of the protocol message when the message type is " query_msg_details"
0381<img file="WO0180534A1_D0031.tif" />
0382Table 6-17: query_msg_detaιls_resp <img file="WO0180534A1_D0032.tif" />
0383<img file="WO0180534A1_D0033.tif" />
0384Table 6-17. query_msg_details_resp <img file="WO0180534A1_D0034.tif" />
0385Table 6-16: dest address
0386<img file="WO0180534A1_D0035.tif" />
0387Table 6-19: SME Address
0388<img file="WO0180534A1_D0036.tif" />
0389Table 6-20: DL Name
03906.3.7 "CANCEL_SM" Operation
0391This command is issued by the ESME to cancel one or more outstanding short messages The command may specify a particular message, or all messages for a particular source and destination
0392If the message ID is sel to the ID of a previously submitted message, then provided the source and destination addresses supplied in the interface match, that message will be cancelled
0393If the message ID is null all outstanding undelivered messages with the source and destination adcesses given in the interface will be cancelled for the particular interface of the AIM If the source add<sup>r</sup>ess is set to NULL in the interface the source address will be taken from the SMSC administration "ca'lback address for the particular ESME instance
0394A t . pical use of the command is to cancel outstanding undelivered VoiceMail Alert messages for a subscriber whose mailbox has just been directly accessed by the subscriber The response (cancel_sm _resρ) will indicate whether the message(s) had already been sent
03956.3.7.1 "CANCEL_SM" Syntax
0396These parameters are included within the <sup>"</sup>message' field of the protocol message when the message type is ' cancel sm'
0397<img file="WO0180534A1_D0037.tif" />
0398Table 6-21 cancel sm Field Name Type Description <img file="WO0180534A1_D0038.tif" /> source addr Var C-Octet Source address of message(s) to be cancelled Max 21 String This is used for verification purposes, and must
0399(Decimal) match that supplied in the co esponding submit _sm' request
0400This variable length field may have leading spaces dest addr ton Integer Type of number for destination (See GSM 03 40 [2] 9 1 2 5) dest. ador_npι Integer Numbering Plan Indicator for destination (See GSM 03 40 [2] 9 1 2 5) destination addr Var C-Octet Destination address of message(s) to be Max 21 String cancelled
0401(Decimal) This is used for verification purposes, and must match that supplied in the corresponding
0402'submιt_sm' request
0403This variable length field may have leading spaces
0404Where not required this should be a single NULL byte
0405Table 6-21 <sup>•</sup> cancel_sm
04066.3.7.2 "CANCEL_S _RESP" Syntax
0407Apart from setting the header fields, no other parameters are required in the data body
04086.3.8 "REPLACE_SM" Operation
0409This command is issued by the ESME to replace an outstanding short message for a subscriber
0410The message_ιd is set to the ID of a previously submitted message Where a message to be replaced was originally submitted with an individually identified SME source address, the originator address in the replace_sm command must match Where the original source address was defaulted to NULL (i e the originator of messages from the ESME is the ESME itself, or the ESME does not have a real source address) then the originator address in the replace_sm command should also be NULL, and the source address will be taken from the SMSC administration ' callback address" for the part'cular ESME instance
04116.3.8.1 "REPLACE_SM" Syntax
0412These parameleis are included within the message field of the protocol message '."hen the ' command id field is replace_sm~
0413<img file="WO0180534A1_D0039.tif" />
0414Table 6-22 replace sm <img file="WO0180534A1_D0040.tif" />
0415Field Name Type Description (bytes) valιdιty_ period 17 C-Octet The expiration time of this message This is String specified as an absolute date and time of expiry
0416Where not specified the original expiration time, if specified, will apply
0417The format is defined in section 7 5
0418Where not required this should be a single NULL byte registered delivery Inteαe' Flag indicating if the message is a registered short message and thus if a Delivery Receipt is reouired upon the message attaining a final state (See SMPP Applications Guide [1 ] - Delivery Receipts)
04190=No receipt required (non-registered delivery) 1 =Receιpt required (registered delivery) > 1 =Reserved sm_default_msg_ιd Inteαer Indicates the default short message to send, by providing an index into the table of predefined messages set up by the SMSC administrator This should be set to NULL if a text message is being sent
0420Range is 0x01 to 0x64
0421(See SMPP Applications Guide [1 ] - Default Short Message) smjength 1 Integer Length of the text of the message in bytes shor message Var Octet Up to 160 bytes of data This is the text that is Max 161 String transmitted to the mobile station
0422This text, if specified will be used to replace the existing text for the originally submitted SM
0423(See SMPP Applications Guide [1 ] - Default Short
0424Message)
0425Table 6-22: replace_sm
04266.3.8.2 "REPLACE_SM_RESP" Syntax
0427Apart from setting the header fields no other parameters are required in the data body
04286.3.9 "ENQUIREJJNK" Operation
0429This message is used to provide a confidence-check of the communication path between ESME and the SMSC On receipt of this request the SMSC will simply respond with an enquire_lmk_ resp, thus verifying that the application level connection between the SMSC and the ESME is functioning The ESME can respond by sending any valid SMPP primitive.
04306.3.9.1 "ENQUIREJJNK" Syntax
0431Apart from setting the header fields, no other parameters are required in the data body
04326.3.9.2 "ENQUIRE_LINK_RESP" Syntax
0433Apart from setting the header fields, no other parameters are required in the data body
04346.3.10 "PARAM_RETRIEVE" Operation
0435This operation is used to retrieve the value for a configurable parameter
04366.3.10.1 "PARAM_RETRIEVE" Syntax
0437These parameters are included within the "message<sup>"</sup> field of the protocol message when the message type is "param etrieve"
0438<img file="WO0180534A1_D0041.tif" />
0439Table 6-23: param_retrieve
04406.3.10.2 "PARA _RETRIEVE_RESP" Syntax
0441These parameters are included within the "message<sup>"</sup> field of the protocol message when the message type is "param_retrieve_resp".
0442<img file="WO0180534A1_D0042.tif" />
0443Table 6-24: param retri eve resp 7. System Definitions
0444The following sections define the various system codes for Command-ID s and Error Codes
0445Note' For ease of maintenance a 'C include file is available which defines the actual values for these definitions
04467.1 Error Codes
0447The following are a list of error codes that can be returned in the status field of a message
0448<img file="WO0180534A1_D0043.tif" />
0449Table 7-1 Error Codes
0450<img file="WO0180534A1_D0044.tif" />
0451Table 7-1 Error Codes 7.2 Command I.D. Values
0452The following is a list of the command ids and their associated values
0453<img file="WO0180534A1_D0045.tif" />
0454Table 7-2: Command ID Values Command ID Code Command ID Description
0455ESME..PARAM_RETRIEVE param_ retrieve Retrieve value for configurable parameter
0456ESMEJ^ARAM.RETRIEVE.RES param_ retrieve_ resp Response to
0457P param_retrieve
0458ESME NACK nack Negative Acknowledgement
0459Table 7-2: Command ID Values
04607.3 Error Codes
0461Where the message is submitted to the SMSC with the registered delivery flag set, a status report is generated after the submitted short message reaches it final state The following is a list of error codes and their associated descriptions that can be returned in (he delivery receipt, query_sm and query_msg_detaιls primitives
04627.3.1 GSM Error Codes
0463The following is a list of the GSM error codes (See GSM 03 40 [2] 3 3) and their associated descriptions
0464<img file="WO0180534A1_D0046.tif" />
0465Table 7-3: GSM Error Codes
04667.3.2 SMSC Error Codes
0467The following is a list of possible SMSC error codes
0468<img file="WO0180534A1_D0047.tif" />
0469Table 1 -4 7.4 Message States
0470The following is a list of the states that a short message may achieve
0471<img file="WO0180534A1_D0048.tif" />
0472Table 1-5: Message States
04737.5 Time Format
0474Time and Date fields are represented in a format similar to that specified in GSM 0340 [2] 9.2311 In this interface all time/date related fields will be in ASCII with the following format ' YYMMDDhhmmsstnnp" where
0475'YY' last two digits of llic yeai (00-99)
0476"MM" month (01-12)
0477DD' day (01-31)
0478',ι hour (00-23) mm' minute (00-59) s second (00-59; i tenths of second (0-9) iin Time ditfeience m quartei hours between local time (as expressed in the fust 13 bytes) and UTC (Universal Time Constant) time (00-48) r -'<sup>■</sup>>' Local lime is nn quarter hours advanced in relation to UTC <img file="WO0180534A1_D0049.tif" />
0479Local time is nn quarter hours retarded in relation to UTC time
0480Note Where responses are reported by the SMSC the local time of the SMSC will be given, and the forma: will be ' YYMMDDhhmmss' , with the same definitions as above
0481Change Log
0482Version(Old->New): 3.0 -> 3.1 Author: S.H.
0483Source of Change Reason Date
0484Sonia Fitzpatπck New functionality added 30/1 1/95
0485Location Description Ripple Effect
0486Table 7-2 New Primitives Added SMPP Application section 7 2 ESME OUERY_ALLJv1SGS, Guide [1] section 7 3 ESME_QUERYJv1SG_DETAILS, section 6 3 9 ESME SUBMITJvlULTI, section 6 1 ESME_PARAM_RETRIEVE, Added C-Octet Fixed Length String Modified Enquire Link Primitive Added new Command Id Values Added new Error Codes Added new event log names
0487Change No. 1
0488<img file="WO0180534A1_D0050.tif" />
0489Change No. 2
0490<img file="WO0180534A1_D0051.tif" />
0491Change No. 3
Contents8
59 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59
Every citation, both ways
| Document | Relation | Office | Category | Cited during |
|---|---|---|---|---|
| US8965419B2 | Cited by | United States of America | – | Applicant |
| WO02065793A1 | Cited by | World Intellectual Property Organization (WIPO) | – | International search |
| CN100337494C | Cited by | China | – | Search report |
| GB2390784B | Cited by | United Kingdom | – | Search report |
| US10686748B1 | Cited by | United States of America | – | Applicant |
| GB2390784A | Cited by | United Kingdom | – | Search report |
| AU2003273550B2 | Cited by | Australia | – | Search report |
| US8401009B1 | Cited by | United States of America | – | Applicant |
| US10110550B1 | Cited by | United States of America | – | Applicant |
| US9577966B1 | Cited by | United States of America | – | Applicant |
| US10191898B2 | Cited by | United States of America | – | Applicant |
| EP1988723A4 | Cited by | European Patent Office (EPO) | – | Examiner |
| CN102480704A | Cited by | China | – | Search report |
| US9088532B1 | Cited by | United States of America | – | Applicant |
| US11416676B2 | Cited by | United States of America | – | Applicant |
| US11502985B1 | Cited by | United States of America | – | Applicant |
| US7908397B1 | Cited by | United States of America | – | Applicant |
| EP2652640A4 | Cited by | European Patent Office (EPO) | – | Search report |
| US6119167A | Cites | United States of America | YP | International search |
| US6138158A | Cites | United States of America | YP | International search |
| US6154745A | Cites | United States of America | YP | International search |
| US6173316B1 | Cites | United States of America | YP | International search |
| US6185565B1 | Cites | United States of America | YP | International search |
10 members in 3 offices; this record represents the family
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 19810800 | United States of America | P | |
| 19810800 | United States of America | P | |
| 58846000 | United States of America | A | |
| 58846000 | United States of America | A | |
| 09588460 | – | – | – |
| 60198108 | – | – | – |
| US20000198108P | – | – | – |
| US20000588460 | – | – | – |
Members10
| Document | Office | Kind | |
|---|---|---|---|
| WO0180534A1This record | World Intellectual Property Organization (WIPO) | A1 | |
| AU5904501A | Australia | A | |
| US6891811B1 | United States of America | B1 | |
| US2006242230A1 | United States of America | A1 | |
| US7355990B2 | United States of America | B2 | |
| US2008159206A1 | United States of America | A1 | |
| US8260329B2 | United States of America | B2 | |
| US2012329491A1 | United States of America | A1 | |
| US8750183B2 | United States of America | B2 | |
| US2014256368A1 | United States of America | A1 |
6 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Non-entry into the national phaseNENP | NENP | JP | |
| Ep: pct application non-entry in european phase122 | 122 | WO | |
| Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)DFPE | DFPE | WO | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 | WO | |
| Designated statesAK | AK | WO | |
| Designated countries for regional patentsAL | AL | WO |
Numbers
- Publication
- 01/80534
- Publication, DOCDB
- 0180534
- Publication, EPODOC
- WO0180534
- Application
- 111547
- Application, DOCDB
- 0111547
- Application, EPODOC
- WO2001US11547
Titles2
- English
- SHORT MESSAGING SERVICE CENTER MOBILE-ORIGINATED TO HTTP INTERNET COMMUNICATIONS
- French
- COMMUNICATIONS DISPOSITIF MOBILE-PROTOCOLE HTTP INTERNET VIA UN CENTRE DE SERVICE DE MESSAGES COURTS
Classification
- CPC, 6
- H04L12/66
- H04W88/184
- H04L67/02
- H04L69/08
- H04L9/40
- H04W4/14
- IPC, 4
- H04L12 66
- H04L29 06
- H04L29 08
- H04W88 18
Designated states4
- Regional, 4
- Zimbabwe
- Turkmenistan
- Türkiye
- Togo