WO2010020740A1 - Telecommunication services apparatus and method - Google Patents
Telecommunication services apparatus and method Download PDFInfo
- Publication number
- WO2010020740A1 WO2010020740A1 PCT/GB2009/001525 GB2009001525W WO2010020740A1 WO 2010020740 A1 WO2010020740 A1 WO 2010020740A1 GB 2009001525 W GB2009001525 W GB 2009001525W WO 2010020740 A1 WO2010020740 A1 WO 2010020740A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- service
- message
- subscriber
- configuration
- text message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42136—Administration or customisation of services
- H04M3/42153—Administration or customisation of services by subscriber
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42382—Text-based messaging services in telephone networks such as PSTN/ISDN, e.g. User-to-User Signalling or Short Message Service for fixed networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
Definitions
- This invention relates to a telecommunications services apparatus for use with a mobile telecommunications system, such as a mobile telephone system.
- the invention is particularly concerned with the provision of advanced text messaging services, e.g. text message archiving, diversion to email, etc., for text message recipients.
- Text messaging is one of the two main means of mobile communication used by subscribers of mobile telephone networks, the other being voice.
- Simple text messages can be of up to 160 characters in length and are known as short messages, though the standards allow longer messages by concatenation.
- Interconnection between many networks has permitted short message transmission between subscribers of different networks, and in some cases also between networks of differing technologies, such as Global System for Mobile communications (GSM) and Code- Division Multiple Access (CDMA), and this interconnectivity has led to the widespread adoption of 'texting' as a popular means of communication.
- GSM Global System for Mobile communications
- CDMA Code- Division Multiple Access
- SMS Short Message Service
- MAP Mobile Application Protocol
- MMS Mobile Multimedia Messaging Services
- IMS IP Multimedia Subsystem
- EP 1 474 934 [1] describes a technique that allows mobile terminated messages to be routed via service apparatus in the recipient's home network for the purpose of providing services to the recipient, fraud prevention or for influencing inter-network charging.
- This technique is now known as SMS Home Routing. Without SMS Home Routing, there is no common point in a recipient's network through which all text messages sent to the recipient will pass. Thus there is no single point in the recipient's network where advanced SMS services could be applied.
- WO 2005/048617 [2] introduces a technique that provides for storage of text messages at an element in a recipient's home network for mobile terminated messages, for the purposes of providing services to the recipient.
- EP 1 408 705 [3] describes a technique for allowing text message recipients to control aspects of message delivery and processing such as mobile terminated message services and routing to email.
- EP 1 815 697 [4] describes mobile terminated service applications including an SMS Divert service provided for a message addressee and controlled using stored configuration information.
- EP 1 185 119 [5] describes methods of providing natural language processing and interpretation of text message content for the purpose of analysing and responding to message content.
- SQL Structured Query Language
- the GSM standards define several terms in relation to the control of subscriber services, including
- provisioning i.e. the management of service configuration and settings by the user and/or the operator.
- GSM Standards define the provisioning terms Registration, Erasure, Activation, Deactivation and Interrogation for the various possible interactions between the user and the settings of a supplementary service, typically controlled using Unstructured Supplementary Service Data (USSD) commands. Collectively these may be referred to as Provisioning settings.
- USSD Unstructured Supplementary Service Data
- Provisioning settings need in some cases to be configurable both by the operator (service provider) and the subscriber (end user / customer).
- the subscriber's changes may need to be effected in real time.
- subscription settings that are changeable by a subscriber via an automated service are typically buffered up and batch processed. This can cause significant delays in the provision of service changes.
- Service settings that can be immediately configured by subscribers currently are confined to those that are standardised as 'Supplementary Services', which largely comprise voice services. There are no standardised supplementary services defined for text messaging.
- a further problem with current systems that allow subscribers to configure aspects of their services themselves is that such configuration information can typically only be entered either via a web page, which prevents convenient access from the majority of phones while mobile, or by USSD.
- USSD entry is confined to controlling settings that are stored in subscriber's Home Location Register (HLR), and such settings are not amenable to being changed by a web interface. Furthermore, USSD-controllable settings in the HLR are confined to those already defined for voice services in standardised supplementary services. Current systems therefore do not provide a great deal of flexibility for operators to provide new and differentiating services that subscribers can easily control.
- HLR Home Location Register
- a further issue with offering service-configuration capability to mobile users is a need for need for any such capability to be implemented so far as possible without requiring significant changes to existing provisioning systems operated by a network. This is because any changes to a network's core elements carry a risk to the operator's business, and as such operator's tend to prefer to avoid modifying their network's basic architecture.
- an apparatus for providing a text message processing service for a subscriber of a telecommunications network comprising: a database having information regarding the provision of the service for the subscriber stored therein; a configuration processor element operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor element operable to receive a text message addressed to the subscriber, e.g. an SMS message, an MMS message, or an IMS message, to access the information stored in the database for the subscriber, and to process the text message to provide the service based on the information stored in the database.
- a text message addressed to the subscriber e.g. an SMS message, an MMS message, or an IMS message
- subscribers of the service are readily able to provision the service by simply sending a normal text message with configuration instructions from their own handsets.
- the apparatus may be configured such that the service processor element is operable to access the information stored in the database in response to all text messages addressed to the subscriber being received in the apparatus.
- the configuration processor may be configured to modify the database immediately (i.e. as soon as practical, e.g. within a time period selected from the list comprising 120, 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, and 1 minutes) after receiving the configuration message, thus providing the subscriber with near-real time control of the provisioning of the service.
- the configuration processor element may be operable to send a text message to the subscriber to confirm that information stored in the database has been modified based on the content of a configuration text message sent by the subscriber. This may be done immediately (i.e. as soon as practical, e.g. within a time period selected from the list comprising 12O 5 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, and 1 minutes) after the database is modified.
- a time period selected from the list comprising 12O 5 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, and 1 minutes
- the apparatus may comprise at least one further service processor element, e.g. to provide a level of redundancy and / or load sharing.
- the apparatus may be configured such that one of the further service processor elements) is used instead of the first-mentioned service processor element in the event of a failure of the first-mentioned service processor element.
- the apparatus may be configured such that different text messages addressed to the subscriber, and/or text messages addressed to different subscribers, are directed to different ones of the first-mentioned service processor element and the at least one further service processor element for load distribution.
- Text messages having a common characteristic e.g. messages forming a single larger message, may be directed to the same service processor element
- the apparatus may comprise at least one further configuration processor element, e.g. again to provide a level of redundancy and / or load sharing.
- the apparatus may be configured such that one of the further configuration processor elements) is used instead of the first-mentioned configuration processor element in the event of a failure of the first-mentioned configuration processor element.
- the apparatus may be configured such that different configuration text messages are directed to different ones of the first-mentioned configuration processor element and the at least one further configuration processor element for load distribution.
- the configuration processor element and the service processor element may be provided in a single network element configured to provide the functionality of both these elements. (In the case of multiple service processor elements and multiple configuration processor elements, these may be respectively provided by a series of single network elements each configured to provide the functionality of one of each type of element.)
- the apparatus may comprise an input message storage element for storing text messages sent to the subscriber until after the text message processing service has been provided. This can help avoid loss of messages. For example, in the event of a failure to complete the provision of the service, the apparatus may retry at a later time using the stored message.
- the apparatus may also comprises an output message storage element for storing text messages after the text message processing service has been provided.
- the text message processing service may comprise multiple processing steps, and the apparatus may comprise a progress storage element for storing a record of which processing steps have been completed for a text message addressed to the subscriber. This can help avoid unnecessary duplication of aspects of the text message processing in the event some steps are successfully completed but some steps fail to be complete and so are re-tried.
- the apparatus may further comprise an internet interface through which subscribers may access and/or modify the information stored in the database regarding the provision of the service for them.
- the text message processing service in some embodiments may be at least one of a text message processing service selected from the group comprising: an advert service, an archive service, an Out-of-Office reply service, a blacklisting service, a blocking service, a copy service for copying the content of the message to an alternative destination, a divert service, a twin service for copying the message to at least one other handset, and a white-listing service.
- a text message processing service selected from the group comprising: an advert service, an archive service, an Out-of-Office reply service, a blacklisting service, a blocking service, a copy service for copying the content of the message to an alternative destination, a divert service, a twin service for copying the message to at least one other handset, and a white-listing service.
- the configuration message processor may comprise a natural-language interpreter such the configuration message processor is operable to interpret the contents of configuration messages regardless of their syntax.
- the configuration message processor may be operable to respond to a configuration message sent by the subscriber by sending a reply text message to the subscriber, and to receive a further configuration message from the subscriber in response to the reply text message, thereby establishing a text message configuration dialogue comprising a plurality of configuration messages from the subscriber, and wherein the information in the database is modified by the configuration message processor based on the combined content of the plurality of configuration messages.
- a method for providing a text message processing service for a subscriber of a telecommunications network comprising: receiving a configuration text message from the subscriber and modifying information stored in a database regarding the provision of the service for the subscriber based on the content of the configuration text message; and subsequently receiving a text message addressed to the subscriber, accessing the information stored in the database for the subscriber, and processing the text message to provide the service based on the information stored in the database.
- a text message router operable to receive a mobile terminated message addressed to an intended recipient, a message application processing means operable to implement one or more message-related services on behalf of said recipient, and a configuration data store operable to store information relating to said message-related services, wherein according to characteristics of the message, a message application processing means processes a message according to stored configuration data relating to said recipient who is subscribed to that service.
- a subscriber may make changes to his service configuration by text message, such that as soon as the subscriber receives confirmation of the configuration change, subsequent messages sent to that subscriber will be subject to the changed configuration.
- a subscriber may make changes to his service configuration via the web, such that as soon as the subscriber receives confirmation of the configuration change, subsequent messages sent to that subscriber will be subject to the changed configuration.
- a message may be stored in an input store prior to service processing, the input store either comprising the sender's SMSC, or an input store in the advanced services node (where the term "advanced service” node may be used to refer collectively to elements of a network providing functionality in accordance with embodiments of the invention, as described further below).
- the use of input store means the message can be retried, either until the message application processing means acknowledges to the store that message processing has been completed or until the message expires.
- the reason for having an input store is to ensure that the advanced services node can take responsibility for the delivery of a message and for all associated services.
- the input store allows messages and services to be retried as necessary to ensure their success if possible.
- a message that is to be delivered as a result of successful message processing is stored in an output store, such that acknowledgement of storage in the output store allows the message to be removed from the input store.
- the system is able to survive any single point failure of an apparatus or communication link such that service can still be provided.
- the system is able to survive any single point failure of an apparatus or communication link such that configuration data is not lost.
- the apparatus may be scaled to suit capacity requirements by adding text message routers and/or message application processors and / or configuration message processors.
- service configuration messages comprising natural language commands may be used to configure the subscriber's services.
- a service configuration dialogue comprising one or more text messages may be used to configure the subscriber's services.
- the apparatus may preferably be implemented without requiring that subscriber data is stored on the message application processors.
- Figure 1 schematically shows elements of a network architecture according to an embodiment of the invention
- Figure 2 schematically shows elements of a network architecture according to another embodiment of the invention.
- Figure 3 schematically shows a signalling diagram for providing a copy-to- email text service in accordance with an embodiment of the invention.
- Figure 1 schematically shows elements of a network architecture for providing an advanced text message service according to an embodiment of the invention.
- the advanced text message service is a copy-to-email service provided by the network for its subscribers.
- the network providing the service will be referred to here as the home network for the recipient of the service.
- the service in this example is optional in that some subscribers of the network may benefit from the advanced service while others may not.
- Telephone handset 10 in Figure 1 schematically represents a user who is a subscriber of the advanced service (e.g. because he has chosen to pay extra for the service), while telephone handset 13 in Figure 1 schematically represents a user who is not a subscriber of the advanced service.
- all users of the network may be provided with the service, e.g. because it is a "free" service provided to all users by the network operator.
- the home network of user 10 (and user 13) schematically shown in Figure 1 comprises various elements, as now described.
- the network includes a Short Message Service Centre (SMSC) 20.
- SMSC Short Message Service Centre
- MO Mobile Originated
- a SMS intelligent peripheral (IP) 26 This provides the function of what might be termed a configuration message processor, as described further below.
- the SMS IP 26 is arranged to receive and process certain text messages (referred to here as configuration messages) from the SMSC 20.
- the SMS IP 26 is communicatively coupled to a database 28.
- the database stores various operational data relating to the advanced service, e.g.
- the network also includes a home location register (HLR) 22, SMS router 24 and associated SMS service control point (SCP) 23. These are arranged to provide a "home routing" functionality for text messages sent to users of the home network.
- HLR home location register
- SCP SMS service control point
- the HLR is patched to pass routing information requests received from SMSC 21 (representing an SMSC in a message sender's network) to SMS router 24 in the manner described in EP 1 474 934 [1], thus causing mobile terminated messages addressed to the subscriber to be delivered to the SMS Router 24.
- the SMS Router 24 is coupled to a service processor 29.
- the service processor is responsible for managing the application of the advanced service.
- the service processor 29 is communicatively coupled to (i.e. able to access / query) the database 28.
- the service processor 29 is coupled to a conventional email gateway 27 for sending, if required, an email containing a message passed from the service processor to a specified email address, schematically indicated in Figure 1 by a computer 9, via an email interface (IfF), in accordance with known techniques.
- a conventional email gateway 27 for sending, if required, an email containing a message passed from the service processor to a specified email address, schematically indicated in Figure 1 by a computer 9, via an email interface (IfF), in accordance with known techniques.
- a telephone handset 11 schematically representing a sender of an SMS text message 14.
- the SMS message 14 from sender 11 is in the first instance routed to an SMSC 21 in the sender's own home network in the usual way.
- the sender 11 is not on the same network as the network providing the advanced text service. In other cases, however, the sender might also be on the same network as that providing the service. In this case SMSC 21 and SMSC 20 in Figure 1 could be the same network element.
- ASN advanced service node
- a configuration mode the user 10 of the home network is able to configure / provision the advanced service (i.e. to activate / deactivate the service, specify an email address to copy received text messages to, etc.) by sending a conventional SMS message to a specified destination address.
- the SMS message contains appropriate configuration information, and may thus be referred to as a configuration message.
- a second mode namely a service provision mode
- text messages for the user 10 are received in the network and are processed to provide the advanced service in accordance with the way in which the service has been configured by the user 10 (e.g. in accordance with whether or not the service has been activated, and if so, to what email address to copy messages).
- the user 10 may send a configuration text message via the Mobile Originated text handling apparatus of his home network, represented by SMSC 20 in Figure 1, to a pre-specified address for sending configuration messages to the service.
- configuration messages would be addressed to a short code or service number, indicating to the SMSC 20 that the message is to be delivered to the ASN apparatus, and in particular in this example to the message application processor shown in Figure 1 as the SMS EP 26.
- the SMS D? 26 interprets the content of the text message and makes appropriate changes to the database 28.
- the configuration message sent by the user 10 might contain the text "copy to xyz@123.com". This is interpreted by the SMS D?
- SMS IP 26 as a request for subsequently received text messages for user 10 to be copied to an email address xyz@123.com.
- the interpretation may be achieved on the basis of the user 10 following a predefined syntax for particular configuration tasks.
- the SMS IP 26 may provide for natural language interpretation in accordance with known techniques to establish the configuration action required by the message content.
- the SMS IP may simply note that an email address is contained in the message (e.g. based on the presence of an "@" character), and take that to mean messages are to be copied to that address, regardless of the remaining content of the message.
- the SMS EP 26 thus updates the database 28 to reflect the new configuration state.
- the SMS EP 26 may instruct modification of the database 28 so that the field representing a "copy-to" email address for the user 10 is updated to that specified in the configuration message.
- This database update may be performed in accordance with known database management techniques.
- the SMS IP 26 may identify that the configuration message relates to the user 10 from the field in the message received from the SMSC 20 representing the calling line identifier (CLI) of user 10.
- CLI calling line identifier
- a configuration change requested by a user in an SMS message sent to a destination address associated with the SMS IP 26 (and routed to the SMS IP 26 via the SMSC 20 in accordance with conventional SMS routing techniques) results in a change to data stored in the attached database 28.
- a new record may be created in the database 28, or an existing data record may be modified.
- the configuration change in the data base may in some examples be confirmed to the sender when complete, e.g. using a separate text message sent from the SMS IP 26 to the user
- Home Routing techniques known in the art and provided by the patched HLR 22 and SMS Router 24 are then used to ensure that messages for user 10 are delivered to SMS Router 24.
- the HLR 22 may be patched so that the conventional request for routing information (SRI_SM) signal sent by the sender's SMSC 21 to the HLR 22 associated with the user 10 (who may also be referred to as the recipient) is forwarded to the SMS Router 24.
- SRI_SM conventional request for routing information
- the SMS Router 24 may then respond to the to the SRI_SM signal with an SRI_SM Result signal indicating its own address, such that the SMSC 21 forwards the text message to the SMS Router 24.
- Messages to non-advanced service subscribers, such as user 13, may be delivered directly to the destination subscriber in the usual way. This could be achieved, for example, by the HLR 22 responding to SRI_SM requests associated with non-advanced service subscribers (e.g. as determined from service level information in the HLR), or by the HLR 22 forwarding all SRI_SM signals on to the SMS Router, leaving the SMS Router 24 to respond to all SRI_SM signals, including those for non-advanced service subscribers.
- the SMS Router may respond with normal routing information for the non-advanced service subscriber 13 such that the SMSC 21 routes the message directly (indicated in Figure 1 by a solid line between SMSC 21 and user 13). Alternatively, the SMS Router may still respond with its own address for the non-advanced service subscribers and route the message on to the user itself (indicated in Figure 1 by dotted line from SMR Router 24 to user 13).
- Messages determined to be for advanced services subscribers are routed by the SMS Router 24 to the service processor 29.
- the service processor 29 queries the database 28 to determine the configuration status for the intended recipient user to determine, e.g., if the user 10 has activated his copy-to-email service, and if so what email address should the text message be copied to.
- the service processor 29 may then provide the advanced service accordingly.
- the service processor 29 may route the text message content to the email gateway 27 with instructions to deliver the message in an email to the specified copy-to address stored in the database 28 for the recipient of the message being processed (here user 10).
- the SMS Router 24 may also route the SMS message to the user 10 in the usual way, as indicated in Figure 1 by the arrow from SMS Router 24 to user 10.
- FIG 2 schematically shows elements of a network architecture for providing an advanced text message service according to another embodiment of the invention.
- Many of the elements of Figure 2 are similar to and will be understood from the correspondingly numbered elements in Figure 1, and the embodiment operates in broadly the same way.
- the overall functionality of the single SMS IP of Figure 1 is provided by a plurality of separate SMS IPs 26 operating in parallel, e.g. with different SMS IPs dealing with different messages to provide for redundancy / load sharing.
- the SMS IPs in Figure 2 are arranged to handle both configuration messages (as in the Figure 1 embodiment) and traffic messages for the advanced services subscribers (i.e. messages sent to advanced service subscribers which are to be processed for providing the advanced service).
- the SMS IPs 26 in Figure 2 also provide the processing functionality of the service processor 29 of Figure 1, i.e. each SMS IP comprises both a configuration processor element and a service processor element, which in practice might, for example, be a suitably programmed single processor element.
- a message distributor 25 passes traffic messages from the SMS Router 24 to a selected one of the SMS IPs 26, and also provides an interface between the respective SMS Ps and the email gateway 27.
- configuration messages may be sent by the user 10 to update the database 28 (via one of the SMS IPs selected by the SMSC 20, e.g. randomly, or based on the CLI of the user 10, or characteristics of the message, or current loading etc.) to ensure the advanced service is provisioned in accordance with his wishes.
- a subscriber might send a configuration message to activate, deactivate, change the copy-to email address, set whether he also wishes to receive the message sent to him as a conventional text message, etc., in the same way as described above for the embodiment shown in Figure 1.
- Traffic messages e.g. an SMS text message 14 from sender 11 to user (recipient) 10 may be routed to the SMS Router 24 shown in Figure 2 in the same way as corresponding messages are sent to the SMS Router 24 shown in the Figure 1 embodiment.
- the SMS Router 24 then passes the messages to message distributor 25.
- Message distributor 25 selects one of the SMS IPs to forward the message to (e.g.
- SMS IP may then apply the advanced service as appropriate with reference to the database 28 contents.
- the SMS IP 26 will extract the recipient's specified email address from the database, and instruct the message distributor to pass the message to the email gateway 27 (or send the delivery request directly to the gateway itself), for onward email delivery in accordance with known techniques text-to-email techniques.
- the Figure 1 embodiment differs from the Figure 2 embodiment in that in Figure 1 traffic messages sent from senders 11 to advanced services subscriber recipients / users 10 are processed by a separate service processor 29, rather than by one of the SMS IPs 26 of Figure 2 providing both a service processing function and a configuration processing function.
- the SMS IP 26 (or the multiple SMS IPs if redundancy / load sharing is provided) is responsible for configuration message handling only.
- the database 28 is accessed by both the SMS IP(s) 26 for configuration changes and the service processor(s) 29 for traffic message handling.
- the SMS IP(s) 26 and the service processor(s) 29 can each be better optimised for their specific tasks and throughput requirements.
- an SMS IP can be optimised for handling configuration queries, for example using natural language text processing capability for interpretation of user requests and a relatively low message rate, whilst a service processor may be optimised for message handling at a high traffic rate.
- Configuration changes may be positively acknowledged to the sender of the configuration message (i.e. the advanced service subscriber) using a separate confirmation text message sent after configuration changes have been completed and secured to the database. Once the sender of the configuration message has received this confirmation message, he can be confident that subsequent messages sent to him will be handled using the new configuration.
- Traffic messages that are to be acted upon by the advanced services node in order to apply the advanced service may be stored both on the way in and the way out of the system.
- the input store may comprise a storage function provided as part of the advanced services node architecture.
- the storage function may be implemented in the message distribution function provided by the message distributor 25 in Figure 2, or in the service processor 29 shown in Figure 1.
- An output store may be implemented in the outgoing path of the SMS Router 24.
- messages might not be removed from an input store (e.g. in a message distributor or service processor) until all relevant aspects of the subscribed advanced service(s) (e.g. copy to email) are completed, and corresponding output messages are safely stored in the output store (e.g. in the SMS Router). This can help ensure that messages are not dropped and services are completed properly.
- some operations may occur more than once, e.g. following the established GSM principles of retrying.
- all permanent configuration data may be stored in the database, so that regardless of whether configuration changes are carried out by text message or via the optional web interface (www I/F), completion of the database update indicates that the user can be notified that the configuration change is active.
- a message processing means e.g. an SMS IP as in Figure 2 or a service processor as in Figure 1
- the current configuration data is read from the database. This can assist in ensuring consistent behaviour regardless of which message processing platform is used, and which configuration route is used.
- SMS IPs may be chosen by the message distributor according to characteristics of the message, so that for example all segments of a concatenated message may normally be processed by the same SMS IP (except in a failure scenario). This ensures that services that may require access to message content can be supported.
- SMS IPs are preferably arranged in pairs and handle both configuration messages and traffic messages, each pair comprising an active and a standby member SMS IP.
- Each member SMS IP connects to a separate instance of the database, which may run on the same server as the associated SMS IPs, or on a separate server.
- These two instances of the database associated with the active and standby SMS IPs are configured to replicate data between themselves. Any changes made to one database are thus automatically reflected after a short time delay on the other database.
- the database replication may be achieved using standard database techniques.
- the SMS IPs may be connected to one or more members of a database cluster comprising a number of servers operating a database in an industry standard cluster configuration (schematically indicated in Figures 1 and 2 as replicated database blocks 28).
- Clustering is a more secure arrangement than replication and in some examples is capable of providing appropriately high throughput with 99.999% availability, which might typically be desired for telecom systems, even when built using commodity server hardware.
- it may be appropriate for the SMS IPs not to be paired, but to be operate as a set of peers that can be arbitrarily scaled to meet throughput requirements.
- SMS IPs 26 may still be decided algorithmically by a message distributor based on characteristics of the message, so that except in the case of a failure, all segments of a concatenated message can be processed by the same SMS IP. Redundant links from the SMS IPs 26 to the clustered database 28 can help to allow reliable access to the configuration data.
- a traffic message e.g. from sender 11, arriving at the advanced services node architecture is received in the first instance by SMS Router 24.
- the SMS Router 24 queries the SMS SCP 23 to confirm whether the intended recipient is an advanced services subscriber; if not, then the message is delivered normally to the "ordinary" service subscriber (e.g. user 13 in Figure 2). Otherwise the message is passed to the message distributor 25.
- the message is directed by the message distributor 25 to a particular SMS IP pair according to characteristics of the message. For example digits from the originator number (i.e. based on the CLI associated with the SMS message 14 sent from user 11) may be used to segment traffic across SMS IP pairs, such that all segments of a concatenated message will be directed to the same pair. As an example, where there are three SMS IP pairs, the sent SMS message 14 (i.e. the traffic message) could be delivered to a particular one of the three pairs according to whether the last 2 digits of the originator number were in the ranges 00 to 33, 34 to 66, or 61 to 99.
- the routing algorithm may be arranged to .distribute traffic approximately uniformly across a configurable number of SMS IP pairs.
- the message is delivered to the active SMS IP in the pair if it is accessible. If delivery to the active SMS IP is not possible, for example due to a link failure, then the message is delivered to the standby SMS IP in the pair instead. At this stage in this example, the SMS IP does not acknowledge the message back to the message distributor.
- the steady state service behaviour can be consistent regardless of whether the active or standby SMS IP is used. (There is a possibility that transient inconsistency might occur in the event of a failure of a link or other relevant network component at the same time that a configuration change or database replication was occurring.)
- the selected SMS IP retrieves service configuration information for the addressed recipient of the SMS message 14 (e.g. user 10 in this example) by making a query to the database 28, e.g. in accordance with conventional database access techniques.
- the database returns a fixed length record comprising a number of bytes, and the format of the record is predefined to represent the activation status and settings for a range of available services.
- An example definition is shown in Table 1. The data returned from the database can then be interpreted by the SMS IP to determine which if any subscriber services are to be applied to the message, and how those messages should be applied.
- Service Octet This field contains service flags for the recipient Flags String services.
- the following bits are allocated, and have the following meanings:
- Bits 15..0 are reserved for future expansion.
- Away Time This field contains the Away time and date.
- Away Octet 140 Up to 140 octets of an away message, encoded as per Message String the Away DCS.
- an SMS copy-to-email service allows a recipient to copy his received messages to a configured email address. If this service is configured (with an email address) and active (the enabled flag is set in the data structure), then the SMS IP will generate two output messages which will be sent via the message distributor. The first will be delivered to the SMS Router store, which will forward the message on to its original destination, the second will be sent to the email gateway 27, along with the desired email address, where it will also preferably be stored pending delivery, hi some examples, once the SMS Router has acknowledged safe receipt / storage of the message from the message distributor, only then will the SMS IP acknowledge the original message back to the message distributor, thus allowing it to be deleted from the input store in the message distributor. If the message distributor does not receive an acknowledgement from the active SMS IP 5 e.g. within a pre-specified timeout period, then it will store the message and retry to the standby SMS IP.
- the SMS IP Once the message has been successfully processed by the SMS IP, indicated by positive acknowledgement to the message distributor, or once the message has been stored by the message distributor in order to permit a retry, the message is positively acknowledged back to the sending SMSC, and at this point the advanced services node has taken over responsibility for delivery of the message. If the sender of the message has requested a delivery receipt, then the SMSC will generate it at this point. If the SMS IP negatively acknowledges the message distributor with a permanent error, then the message distributor does not store the message and no retry will be attempted, hi this case a permanent error is returned to the SMSC.
- the message distributor 25 of Figure 2 may be an SMPP (Short Message Peer to Peer) router and connections to the SMS IPs 26 may use the industry-standard SMPP protocol.
- One of the functions of the SMPP router is conversion of the message format into a protocol suitable for transmission to TCP/IP hosts.
- the SMS IPs preferably connect into the system in the same way as traditional SMS Hosts, and SMPP is a popular protocol for this purpose.
- the SMPP Router may also provide connections to other types of SMS Host as well as SMS IPs. hi an alternative embodiment, the SMPP router functionality could by subsumed into the SMS Router(s) 24.
- the message distributor 25 may place the message into its own store so that it can retry later, either to the SMS IP first tried, or another.
- the service processor 29 is connected to one or more members of the database cluster 28, comprising a number of servers operating a database in an industry standard cluster configuration. Redundant links from the service processor to the clustered database may be provided to allow reliable access to the configuration data.
- a traffic message arriving at the advanced services node is received in the first instance by the SMS Router 24 in accordance with known home-routing techniques.
- the SMS Router 24 queries an SMS SCP 23 to confirm the recipient is an advanced services subscriber; if not, the message is delivered normally to an ordinary service subscriber (e.g. user 13). Otherwise the message is passed to the service processor 29.
- Multiple service processors may be provided for redundancy or to increase traffic capacity / provide load sharing. Because subscriber configuration data is held on a replicated database behind the service processors, the steady state service behaviour should be consistent regardless of which service processor is used in the case there are multiple service processors. Where there are multiple service processors, the SMS Router may be responsible for selecting which one to use, e.g. in a manner similar to the way the message distributor in Figure 2 might select an SMS IP to use.
- the (selected) service processor retrieves the service configuration information that relates to the addressed recipient by making a query to the database.
- the database returns a fixed length record comprising a number of bytes, and the format of the record is predefined to represent the activation status and settings for a range of available services, e.g. again as shown in Table 1.
- the data returned from the database can then be interpreted by the service processor to determine which if any subscriber services are to be applied to the message.
- the embodiments shown in Figures 1 and 2 operate in accordance with the same general principles, except that functions of the advances services node, most notably the processing for providing the advanced service, are performed by different network elements.
- Figure 3 schematically shows a signalling ladder diagram for providing a copy-to- email service in the network of Figure 1 according to an embodiment of the invention. Elements of the network are shown along the top of the figure.
- the first step (working down the ladder diagram) shown in Figure 3 is a "MAP: MTJForwardSM" signal from the SMSC 21 of the sending user 13 to the SMS Router 24. As described above, this is established in accordance with known home routing techniques.
- the message in mobile terminated (MT) format
- the service processor 29 in this example is then responsible for routing the content of the message for onward delivery as a conventional text message, and for delivery as an email.
- Signalling associated with delivery to the recipient as a text message is schematically shown in Figure 3 within the dashed box marked "TO MOBILE”.
- Signalling associated with delivery to an email address for the recipient is schematically shown in Figure 3 within the dashed box marked "TO EMAIL”.
- the service processor 29 returns the MT message to the SMS Router 24.
- the SMS Router 24 acknowledges receipt with an "MT Message ack" signal back to the service processor 29.
- the SMS Router then instigates delivery of the MT message to the recipient 10 with a "Map: MTJForwardSM” signal, and in due course, receives a "Map: MT_ForwardSM ack" signal back. This concludes the signalling for the delivery of the message as a conventional SMS message to the recipient's handset 10.
- the service processor 29 queries the database 28 to obtain the relevant information, i.e. confirmation the intended recipient has the service activated, and the destination email address (not shown in Figure 3). The service processor 29 then passes the message to the email gateway as a "DeliverSM” signal. The email gateway 27 acknowledges receipt with a "DeliverSM ack” signal, and proceeds to deliver the email ("SMPT: Deliver email” signal).
- SMPT Deliver email
- the service processor 29 returns the "MT Message ack" signal back to the SMS router 24, which instigates an acknowledgment of receipt of the text message from the original sender with a "MAP: MT_ForwardSM ack” signal routed back through the sender's SMSC 21.
- SMS Router 24 may also send the message to the service processor 29 for processing at the same time as routing the SMS message onwards for conventional SMS delivery (i.e. instead of sending the MT message to the service processor 29 and then receiving it back again for onward delivery).
- Examples of the types of advanced service(s) that may be provided for the B- party (i.e. recipient subscribers for the advanced services) on a network scale in accordance with embodiments of the present invention may include the following:
- Advert - Subscribers can earn credit by receiving advertising
- Block - A recipient can block message types that he does not wish to receive, for example flash messages, or messages with no CLI
- the HLR 22 may indicate subscribers of the advanced service (e.g. through a level of service field) and the subscriber list details in the database 28, there may be small time windows where the HLR's records do not exactly align with the advanced service node's records. This may cause messages for subscribers that are registered in the HLR as advanced service subscribers to be routed to the advanced services node when they are not registered in the advanced services node as advanced service subscribers.
- a lookup to the SMS Service Control Point 23 by the SMS Router 24 may be used to check that the specified recipient of a message is an advanced services subscriber that is registered in the advanced services node (i.e.
- the message in the database 28), so that in the transient situation described, if the recipient is not registered in the SMS-SCP 23, then the message can be delivered transparently to the recipient user.
- the message may be sent to the message distributor 25 ( Figure 2) / service processor 29 ( Figure 1) as described above.
- advanced services may be implemented on behalf of the recipient, i.e. the B-party. This may result in one or more output messages being generated by the message processing means.
- These may include, for example, one or more of an onward delivery of an SMS message to the intended recipient 12, a message delivery to email via an email gateway, e.g., for archiving or storage purposes, a message delivery to an alternative or an additional mobile number, e.g., for forwarding or copying purposes, and delivery of a message to the sender, e.g., in an Out-of-Office type application.
- Various other applications are possible, including message blocking, white, lists, black lists, time-dependent delivery, insertion of adverts, diversion, language translation content filtering etc.
- services may be implemented on behalf of the A- party, and/or the B party and/or a C-party (e.g. a diverted-to number).
- all such services may be implemented by the same message processing means, with multiple lookups to a shared database for obtaining the subscriber configuration data relating to each respective party.
- mandatory and non-mandatory aspects of recipient services may be distinguished.
- a typical service may comprise at least one 'mandatory' aspect and zero or more 'non-mandatory' aspects. Failure to complete all of the mandatory aspects of a recipient service may cause the message to be negatively acknowledged by the message processing means, causing the message to be resubmitted to the message processing means from an input store, e.g. in an SMS Router, and hence causing the entire recipient service to be retried. This may cause some aspects of the service to be duplicated.
- an archive service that onward delivers a message to its original recipient as its mandatory part, and also copies the message to an email address as its non-mandatory part
- a temporary failure of the onward message delivery would cause a retry of the whole service.
- the email could therefore be delivered multiple times until the onward delivery successfully completes once. Failure of the email part would not cause a service retry because it is designated as non-mandatory (or 'best- effort'), and so the onward delivery would not be unnecessarily replicated.
- the whole service is preferably retried until all mandatory aspects complete successfully in the same retry.
- more complex service logic with memory could be embodied such that some or all of the described duplications could be avoided.
- the service logic could be configured to maintain a record of which aspects of a service had completed successfully, and would not duplicate them when retrying other aspects of the service. This records could be kept in a memory storage, either in the message processing means (e.g. service processor 29 in Figure 1, or SMS IPs 26 in Figure 2), or an attached database, for storing service outcomes, and a correlation means for recognising when a message arriving at the message processing means is a duplicate (i.e. a retry) of a message previously seen.
- the message processing means e.g. service processor 29 in Figure 1, or SMS IPs 26 in Figure 2
- an attached database for storing service outcomes
- a correlation means for recognising when a message arriving at the message processing means is a duplicate (i.e. a retry) of a message previously seen.
- known methods may be used involving a message-reference field and address information present in the message header, as are used by handsets to detect duplicate MT messages, hi all cases, a message expiry period is implemented in the store so that unsuccessful delivery attempts are time limited.
- the SMS IPs may in some examples be programmable, e.g., using a known text processing language such as TITLE (RTM), examples of which are described in co- pending patent UK patent application number GB 0713692.2.
- TITLE TITLE
- Acknowledgement of messages by the SMS IP may be under TITLE application control.
- a negative acknowledgement may result in the entire service set being retried from the message distributor store, which could cause any service that did already complete successfully to be repeated.
- message deliveries may either be duplicated or abandoned under the control of the TITLE application.
- More complex embodiments are possible that provide records for which services have been successfully applied to which messages, thereby allowing duplication to be avoided, however the increased complexity of this approach may not be justified. (GSM already sets a precedent for message duplication in certain failure scenarios, and it is not uncommon to receive a message twice.)
- inventions of which can provide a robust and scalable architecture for the provision of advanced services to text messaging subscribers.
- the above-described architectures can permit subscriber configuration of a range of services to be conducted on demand either by text message or in some cases via the internet, without delay in activating the requested service settings.
- the system can offers resilience to single-point failures, security of data storage and arbitrary scalability, which are normally features only found in closed data-processing environments, and combines these features with an end-user configuration capability so that for the first time telecom operators have the possibility to quickly roll out flexible and differentiating text message services to customers.
- the network elements in Figures 1 and 2 are schematically shown as comprising various functional blocks, some of which are conventional network elements. It will be appreciated, however, that these elements are shown separately largely for ease of explanation, and in a practical implementation of an embodiment of the invention, the above-described functionality of various ones of these elements may be provided by physically separate network elements, or by a single network element providing the functionality of multiple ones of the functional blocks shown in Figures 1 and/or 2. Generally, the above-described functionality may be provided by one or more suitably programmed general purpose computers, or by application specific apparatus, as is generally conventional in telecommunications networks.
- the apparatus comprises a database storing information regarding the provision of the service for the subscriber; a configuration processor operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor operable to receive a text message addressed to the subscriber, to access the information stored in the database for the subscriber, and to process the text message to provide the service in a manner dependent on the information stored in the database.
- a subscriber can readily configure the manner in which the service is provided, e.g. by enabling or disabling the service, and setting operational parameters for the service, using a conventional text message sent from his telephone handset. This provides the subscriber with flexible near real-time control of the service.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
An apparatus for providing a text message processing service, e.g. a copy-to- email service, for a subscriber of a telecommunications network is described. The apparatus comprises a database storing information regarding the provision of the service for the subscriber; a configuration processor operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor operable to receive a text message addressed to the subscriber, to access the information stored in the database for the subscriber, and to process the text message to provide the service in a manner dependent on the information stored in the database. Thus a subscriber can readily configure the manner in which the service is provided, e.g. by enabling or disabling the service, and setting operational parameters for the service, using a conventional text message sent from his telephone handset. This provides the subscriber with flexible near real-time control of the service.
Description
TELECOMMUNICATION SERVICES APPARATUS AND METHOD
BACKGROUND ART
This invention relates to a telecommunications services apparatus for use with a mobile telecommunications system, such as a mobile telephone system. The invention is particularly concerned with the provision of advanced text messaging services, e.g. text message archiving, diversion to email, etc., for text message recipients.
Text messaging is one of the two main means of mobile communication used by subscribers of mobile telephone networks, the other being voice. Simple text messages can be of up to 160 characters in length and are known as short messages, though the standards allow longer messages by concatenation. Interconnection between many networks has permitted short message transmission between subscribers of different networks, and in some cases also between networks of differing technologies, such as Global System for Mobile communications (GSM) and Code- Division Multiple Access (CDMA), and this interconnectivity has led to the widespread adoption of 'texting' as a popular means of communication. GSM is well defined and specified by international standards, which define the functional blocks and the signalling messages that pass between them.
In the case of GSM networks, messaging services are supported by the Short Message Service (SMS). SMS defines signalling messages within the Mobile Application Protocol (MAP) for transferring a short message in a mobile originated (MO) mode between an originating mobile handset and a Short Message Service Centre (SMSC) in the originating mobile handset's network, and in a mobile terminated (MT) mode between the SMSC in the originator's home network and a destination mobile handset (via appropriate network routing elements). Comparable messaging technologies exist for other mobile network architectures, and next generation messaging systems for mobile networks (e.g. Multimedia Messaging
Services (MMS) and IP Multimedia Subsystem (IMS)) have been introduced. Collectively these are referred to as text messaging services, whether running a second generation (2G) network, an enhanced second generation network (2.5G), or a third generation network (3G). The terms 'short message' and 'text message' can be used interchangeably when referring to SMS.
EP 1 474 934 [1] describes a technique that allows mobile terminated messages to be routed via service apparatus in the recipient's home network for the purpose of providing services to the recipient, fraud prevention or for influencing inter-network charging. This technique is now known as SMS Home Routing. Without SMS Home Routing, there is no common point in a recipient's network through which all text messages sent to the recipient will pass. Thus there is no single point in the recipient's network where advanced SMS services could be applied.
Whereas traditional text messaging architectures only provide for message storage (e.g. when the recipient's handset is unavailable) in the sender's network, WO 2005/048617 [2], introduces a technique that provides for storage of text messages at an element in a recipient's home network for mobile terminated messages, for the purposes of providing services to the recipient.
EP 1 408 705 [3] describes a technique for allowing text message recipients to control aspects of message delivery and processing such as mobile terminated message services and routing to email.
EP 1 815 697 [4] describes mobile terminated service applications including an SMS Divert service provided for a message addressee and controlled using stored configuration information.
EP 1 185 119 [5] describes methods of providing natural language processing and interpretation of text message content for the purpose of analysing and responding to message content.
Techniques for reliable storage of data are well-known in the industry and are implemented by a number of commercial database systems. These use known techniques including transaction journaling, record locking and disk redundancy to ensure that in most failure scenarios, data can be held securely. Such database systems
may be designed to operate on redundant hardware and distributed sites to provide resilience against failures.
A commonly used language for querying or modifying the contents of such a database is the Structured Query Language (SQL). SQL statements provide a standardised interface between platforms that require database access.
The GSM standards define several terms in relation to the control of subscriber services, including
• Registration - Setting up the facility for a service
• Erasure - removal of registration
• Activation - putting a registered service into an active state, possibly including the definition of parameter values or options
• Deactivation - putting a registered service into an inactive state
• Interrogation - querying a service to determine its status
Collectively these operations can be referred to as provisioning, i.e. the management of service configuration and settings by the user and/or the operator.
GSM Standards define the provisioning terms Registration, Erasure, Activation, Deactivation and Interrogation for the various possible interactions between the user and the settings of a supplementary service, typically controlled using Unstructured Supplementary Service Data (USSD) commands. Collectively these may be referred to as Provisioning settings.
Provisioning settings need in some cases to be configurable both by the operator (service provider) and the subscriber (end user / customer). The subscriber's changes may need to be effected in real time. In current systems, subscription settings that are changeable by a subscriber via an automated service are typically buffered up and batch processed. This can cause significant delays in the provision of service changes. Service settings that can be immediately configured by subscribers currently are confined to those that are standardised as 'Supplementary Services', which largely comprise voice services. There are no standardised supplementary services defined for text messaging.
A further problem with current systems that allow subscribers to configure aspects of their services themselves is that such configuration information can typically only be entered either via a web page, which prevents convenient access from the majority of phones while mobile, or by USSD. USSD entry is confined to controlling settings that are stored in subscriber's Home Location Register (HLR), and such settings are not amenable to being changed by a web interface. Furthermore, USSD-controllable settings in the HLR are confined to those already defined for voice services in standardised supplementary services. Current systems therefore do not provide a great deal of flexibility for operators to provide new and differentiating services that subscribers can easily control.
A further issue with offering service-configuration capability to mobile users is a need for need for any such capability to be implemented so far as possible without requiring significant changes to existing provisioning systems operated by a network. This is because any changes to a network's core elements carry a risk to the operator's business, and as such operator's tend to prefer to avoid modifying their network's basic architecture.
There is therefore a need for network architectures for providing advanced services to text message recipients which solve the above-noted problems, and which provides a robust scalable architecture for mobile terminated services that are readily configurable by subscribers of the network.
SUMMARY OF THE INVENTION
According to a first aspect of the invention there is provided an apparatus for providing a text message processing service for a subscriber of a telecommunications network, the apparatus comprising: a database having information regarding the provision of the service for the subscriber stored therein; a configuration processor element operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor element operable to receive a text message addressed to the subscriber, e.g. an SMS message, an MMS message, or an IMS message, to access the information stored in the database for the subscriber, and to process the text message to provide the service based on the information stored in the database.
Thus subscribers of the service are readily able to provision the service by simply sending a normal text message with configuration instructions from their own handsets.
The apparatus may be configured such that the service processor element is operable to access the information stored in the database in response to all text messages addressed to the subscriber being received in the apparatus.
The configuration processor may be configured to modify the database immediately (i.e. as soon as practical, e.g. within a time period selected from the list comprising 120, 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, and 1 minutes) after receiving the configuration message, thus providing the subscriber with near-real time control of the provisioning of the service.
The configuration processor element may be operable to send a text message to the subscriber to confirm that information stored in the database has been modified based on the content of a configuration text message sent by the subscriber. This may be done immediately (i.e. as soon as practical, e.g. within a time period selected from the list comprising 12O5 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, and 1 minutes) after the database is modified. Thus the subscriber is readily, and potentially in near real-time, made aware of changes to the provisioning of the service that he has requested.
The apparatus may comprise at least one further service processor element, e.g. to provide a level of redundancy and / or load sharing.
For example, the apparatus may be configured such that one of the further service processor elements) is used instead of the first-mentioned service processor element in the event of a failure of the first-mentioned service processor element.
Furthermore, the apparatus may be configured such that different text messages addressed to the subscriber, and/or text messages addressed to different subscribers, are directed to different ones of the first-mentioned service processor element and the at least one further service processor element for load distribution. Text messages having a common characteristic, e.g. messages forming a single larger message, may be directed to the same service processor element
The apparatus may comprise at least one further configuration processor element, e.g. again to provide a level of redundancy and / or load sharing.
For example, the apparatus may be configured such that one of the further configuration processor elements) is used instead of the first-mentioned configuration processor element in the event of a failure of the first-mentioned configuration processor element.
Furthermore, the apparatus may be configured such that different configuration text messages are directed to different ones of the first-mentioned configuration processor element and the at least one further configuration processor element for load distribution.
The configuration processor element and the service processor element may be provided in a single network element configured to provide the functionality of both these elements. (In the case of multiple service processor elements and multiple configuration processor elements, these may be respectively provided by a series of single network elements each configured to provide the functionality of one of each type of element.)
The apparatus may comprise an input message storage element for storing text messages sent to the subscriber until after the text message processing service has been provided. This can help avoid loss of messages. For example, in the event of a failure to complete the provision of the service, the apparatus may retry at a later time using the stored message. The apparatus may also comprises an output message storage element for storing text messages after the text message processing service has been provided.
The text message processing service may comprise multiple processing steps, and the apparatus may comprise a progress storage element for storing a record of which processing steps have been completed for a text message addressed to the subscriber.
This can help avoid unnecessary duplication of aspects of the text message processing in the event some steps are successfully completed but some steps fail to be complete and so are re-tried.
The apparatus may further comprise an internet interface through which subscribers may access and/or modify the information stored in the database regarding the provision of the service for them.
The text message processing service in some embodiments may be at least one of a text message processing service selected from the group comprising: an advert service, an archive service, an Out-of-Office reply service, a blacklisting service, a blocking service, a copy service for copying the content of the message to an alternative destination, a divert service, a twin service for copying the message to at least one other handset, and a white-listing service.
The configuration message processor may comprise a natural-language interpreter such the configuration message processor is operable to interpret the contents of configuration messages regardless of their syntax.
The configuration message processor may be operable to respond to a configuration message sent by the subscriber by sending a reply text message to the subscriber, and to receive a further configuration message from the subscriber in response to the reply text message, thereby establishing a text message configuration dialogue comprising a plurality of configuration messages from the subscriber, and wherein the information in the database is modified by the configuration message processor based on the combined content of the plurality of configuration messages.
According to a second aspect of the invention there is provided a method for providing a text message processing service for a subscriber of a telecommunications network, the method comprising: receiving a configuration text message from the subscriber and modifying information stored in a database regarding the provision of the service for the subscriber based on the content of the configuration text message; and subsequently receiving a text message addressed to the subscriber, accessing the information stored in the database for the subscriber, and processing the text message to provide the service based on the information stored in the database.
Thus according to embodiments of the invention there may be provided a text message router operable to receive a mobile terminated message addressed to an intended
recipient, a message application processing means operable to implement one or more message-related services on behalf of said recipient, and a configuration data store operable to store information relating to said message-related services, wherein according to characteristics of the message, a message application processing means processes a message according to stored configuration data relating to said recipient who is subscribed to that service.
According to other embodiments of the invention, a subscriber may make changes to his service configuration by text message, such that as soon as the subscriber receives confirmation of the configuration change, subsequent messages sent to that subscriber will be subject to the changed configuration.
According to other embodiments of the invention, a subscriber may make changes to his service configuration via the web, such that as soon as the subscriber receives confirmation of the configuration change, subsequent messages sent to that subscriber will be subject to the changed configuration.
According to other embodiments of the invention, a message may be stored in an input store prior to service processing, the input store either comprising the sender's SMSC, or an input store in the advanced services node (where the term "advanced service" node may be used to refer collectively to elements of a network providing functionality in accordance with embodiments of the invention, as described further below). The use of input store means the message can be retried, either until the message application processing means acknowledges to the store that message processing has been completed or until the message expires. The reason for having an input store is to ensure that the advanced services node can take responsibility for the delivery of a message and for all associated services. The input store allows messages and services to be retried as necessary to ensure their success if possible.
According to other embodiments of the invention, a message that is to be delivered as a result of successful message processing is stored in an output store, such that acknowledgement of storage in the output store allows the message to be removed from the input store.
According to other embodiments of the invention, the system is able to survive any single point failure of an apparatus or communication link such that service can still be provided.
According to other embodiments of the invention, the system is able to survive any single point failure of an apparatus or communication link such that configuration data is not lost.
According to other embodiments of the invention, the apparatus may be scaled to suit capacity requirements by adding text message routers and/or message application processors and / or configuration message processors.
According to other embodiments of the invention, service configuration messages comprising natural language commands may be used to configure the subscriber's services.
According to other embodiments of the invention, a service configuration dialogue comprising one or more text messages may be used to configure the subscriber's services.
According to other embodiments of the invention, the apparatus may preferably be implemented without requiring that subscriber data is stored on the message application processors.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the invention and to show how the same may be carried into effect reference is now made by way of example to the accompanying drawings in which:
Figure 1 schematically shows elements of a network architecture according to an embodiment of the invention;
Figure 2 schematically shows elements of a network architecture according to another embodiment of the invention; and
Figure 3 schematically shows a signalling diagram for providing a copy-to- email text service in accordance with an embodiment of the invention.
DETAILED DESCRIPTION
Figure 1 schematically shows elements of a network architecture for providing an advanced text message service according to an embodiment of the invention. In this example it will be assumed the advanced text message service is a copy-to-email service provided by the network for its subscribers. The network providing the service will be referred to here as the home network for the recipient of the service. The service in this example is optional in that some subscribers of the network may benefit from the advanced service while others may not. Telephone handset 10 in Figure 1 schematically represents a user who is a subscriber of the advanced service (e.g. because he has chosen to pay extra for the service), while telephone handset 13 in Figure 1 schematically represents a user who is not a subscriber of the advanced service. In other examples, all users of the network may be provided with the service, e.g. because it is a "free" service provided to all users by the network operator.
The home network of user 10 (and user 13) schematically shown in Figure 1 comprises various elements, as now described.
The network includes a Short Message Service Centre (SMSC) 20. This represents the conventional Mobile Originated (MO) format text message handling apparatus of the home network. Various conventional aspects of the SMSC 20, e.g. its connection to a home location register (HLR) in the home network, are not shown in Figure 1 for simplicity. Also shown in Figure 1 is a SMS intelligent peripheral (IP) 26. This provides the function of what might be termed a configuration message processor, as described further below. The SMS IP 26 is arranged to receive and process certain text messages (referred to here as configuration messages) from the SMSC 20. The SMS IP 26 is communicatively coupled to a database 28. The database stores various operational data relating to the advanced service, e.g. a listing of users having the service activated, and data needed to provided the service, e.g. in the case of the copy-to-email service of this example, appropriate email addresses for the users who are subscribers of the service. In this example, the database 28 may also be accessed via an internet connection / interface (www I/F).
The network also includes a home location register (HLR) 22, SMS router 24 and associated SMS service control point (SCP) 23. These are arranged to provide a "home routing" functionality for text messages sent to users of the home network. Thus the HLR is patched to pass routing information requests received from SMSC 21 (representing an SMSC in a message sender's network) to SMS router 24 in the manner described in EP 1 474 934 [1], thus causing mobile terminated messages addressed to the subscriber to be delivered to the SMS Router 24. The SMS Router 24 is coupled to a service processor 29. The service processor is responsible for managing the application of the advanced service. The service processor 29 is communicatively coupled to (i.e. able to access / query) the database 28. The service processor 29 is coupled to a conventional email gateway 27 for sending, if required, an email containing a message passed from the service processor to a specified email address, schematically indicated in Figure 1 by a computer 9, via an email interface (IfF), in accordance with known techniques.
Also shown in Figure 1 is a telephone handset 11 schematically representing a sender of an SMS text message 14. The SMS message 14 from sender 11 is in the first instance routed to an SMSC 21 in the sender's own home network in the usual way. In this example it is assumed the sender 11 is not on the same network as the network providing the advanced text service. In other cases, however, the sender might also be on the same network as that providing the service. In this case SMSC 21 and SMSC 20 in Figure 1 could be the same network element.
Elements of the home network which are collectively responsible for providing the advanced service may be collectively referred to as an advanced service node (ASN). Thus in the example shown in Figure 1, the SMS IP 26, database 28, service processor 29 and email gateway 27 may be collectively referred to as an ASN.
There are two main aspects / modes of operation for embodiments of the invention such as that shown in Figure 1.
In a first mode, namely a configuration mode, the user 10 of the home network is able to configure / provision the advanced service (i.e. to activate / deactivate the service, specify an email address to copy received text messages to, etc.) by sending a conventional SMS message to a specified destination address. The SMS message
contains appropriate configuration information, and may thus be referred to as a configuration message.
In a second mode, namely a service provision mode, text messages for the user 10 are received in the network and are processed to provide the advanced service in accordance with the way in which the service has been configured by the user 10 (e.g. in accordance with whether or not the service has been activated, and if so, to what email address to copy messages).
Thus the user 10 may send a configuration text message via the Mobile Originated text handling apparatus of his home network, represented by SMSC 20 in Figure 1, to a pre-specified address for sending configuration messages to the service. Typically configuration messages would be addressed to a short code or service number, indicating to the SMSC 20 that the message is to be delivered to the ASN apparatus, and in particular in this example to the message application processor shown in Figure 1 as the SMS EP 26. The SMS D? 26 interprets the content of the text message and makes appropriate changes to the database 28. For example, the configuration message sent by the user 10 might contain the text "copy to xyz@123.com". This is interpreted by the SMS D? 26 as a request for subsequently received text messages for user 10 to be copied to an email address xyz@123.com. The interpretation may be achieved on the basis of the user 10 following a predefined syntax for particular configuration tasks. Alternatively, the SMS IP 26 may provide for natural language interpretation in accordance with known techniques to establish the configuration action required by the message content. E.g. the SMS IP may simply note that an email address is contained in the message (e.g. based on the presence of an "@" character), and take that to mean messages are to be copied to that address, regardless of the remaining content of the message.
The SMS EP 26 thus updates the database 28 to reflect the new configuration state. For example, the SMS EP 26 may instruct modification of the database 28 so that the field representing a "copy-to" email address for the user 10 is updated to that specified in the configuration message. This database update may be performed in accordance with known database management techniques. (The SMS IP 26 may identify that the configuration message relates to the user 10 from the field in the message received from the SMSC 20 representing the calling line identifier (CLI) of user 10.)
Thus a configuration change requested by a user in an SMS message sent to a destination address associated with the SMS IP 26 (and routed to the SMS IP 26 via the SMSC 20 in accordance with conventional SMS routing techniques) results in a change to data stored in the attached database 28. A new record may be created in the database 28, or an existing data record may be modified. The configuration change in the data base may in some examples be confirmed to the sender when complete, e.g. using a separate text message sent from the SMS IP 26 to the user 10.
A message sender 11, who may be a subscriber of any network, may send a text message addressed to user 10 in the usual way, i.e. via SMSC 21 in the sender's network. Home Routing techniques known in the art and provided by the patched HLR 22 and SMS Router 24 are then used to ensure that messages for user 10 are delivered to SMS Router 24. For example, the HLR 22 may be patched so that the conventional request for routing information (SRI_SM) signal sent by the sender's SMSC 21 to the HLR 22 associated with the user 10 (who may also be referred to as the recipient) is forwarded to the SMS Router 24. The SMS Router 24 may then respond to the to the SRI_SM signal with an SRI_SM Result signal indicating its own address, such that the SMSC 21 forwards the text message to the SMS Router 24. Messages to non-advanced service subscribers, such as user 13, may be delivered directly to the destination subscriber in the usual way. This could be achieved, for example, by the HLR 22 responding to SRI_SM requests associated with non-advanced service subscribers (e.g. as determined from service level information in the HLR), or by the HLR 22 forwarding all SRI_SM signals on to the SMS Router, leaving the SMS Router 24 to respond to all SRI_SM signals, including those for non-advanced service subscribers. The SMS Router may respond with normal routing information for the non-advanced service subscriber 13 such that the SMSC 21 routes the message directly (indicated in Figure 1 by a solid line between SMSC 21 and user 13). Alternatively, the SMS Router may still respond with its own address for the non-advanced service subscribers and route the message on to the user itself (indicated in Figure 1 by dotted line from SMR Router 24 to user 13).
Messages determined to be for advanced services subscribers are routed by the SMS Router 24 to the service processor 29. The service processor 29 queries the database 28 to determine the configuration status for the intended recipient user to determine, e.g.,
if the user 10 has activated his copy-to-email service, and if so what email address should the text message be copied to. The service processor 29 may then provide the advanced service accordingly. E.g. the service processor 29 may route the text message content to the email gateway 27 with instructions to deliver the message in an email to the specified copy-to address stored in the database 28 for the recipient of the message being processed (here user 10). The SMS Router 24 may also route the SMS message to the user 10 in the usual way, as indicated in Figure 1 by the arrow from SMS Router 24 to user 10.
Figure 2 schematically shows elements of a network architecture for providing an advanced text message service according to another embodiment of the invention. Many of the elements of Figure 2 are similar to and will be understood from the correspondingly numbered elements in Figure 1, and the embodiment operates in broadly the same way. However, in the Figure 2 embodiment, the overall functionality of the single SMS IP of Figure 1 is provided by a plurality of separate SMS IPs 26 operating in parallel, e.g. with different SMS IPs dealing with different messages to provide for redundancy / load sharing. Furthermore, the SMS IPs in Figure 2 are arranged to handle both configuration messages (as in the Figure 1 embodiment) and traffic messages for the advanced services subscribers (i.e. messages sent to advanced service subscribers which are to be processed for providing the advanced service). That is to say, the SMS IPs 26 in Figure 2 also provide the processing functionality of the service processor 29 of Figure 1, i.e. each SMS IP comprises both a configuration processor element and a service processor element, which in practice might, for example, be a suitably programmed single processor element. In this embodiment a message distributor 25 passes traffic messages from the SMS Router 24 to a selected one of the SMS IPs 26, and also provides an interface between the respective SMS Ps and the email gateway 27. Thus configuration messages may be sent by the user 10 to update the database 28 (via one of the SMS IPs selected by the SMSC 20, e.g. randomly, or based on the CLI of the user 10, or characteristics of the message, or current loading etc.) to ensure the advanced service is provisioned in accordance with his wishes. For example, a subscriber might send a configuration message to activate, deactivate, change the copy-to email address, set whether he also wishes to receive the message sent to him as a conventional text message, etc., in the same way as described above for the embodiment shown in Figure 1.
Traffic messages, e.g. an SMS text message 14 from sender 11 to user (recipient) 10 may be routed to the SMS Router 24 shown in Figure 2 in the same way as corresponding messages are sent to the SMS Router 24 shown in the Figure 1 embodiment. The SMS Router 24 then passes the messages to message distributor 25. Message distributor 25 selects one of the SMS IPs to forward the message to (e.g. randomly, or based on the CLI of the sender or telephone number of the recipient, or characteristics of the message, or current loading etc.) and passes the message on. The selected SMS IP may then apply the advanced service as appropriate with reference to the database 28 contents. E.g. if the "copy-to-email" service is indicated in the database 28 as being activated for the specified recipient of the text message, the SMS IP 26 will extract the recipient's specified email address from the database, and instruct the message distributor to pass the message to the email gateway 27 (or send the delivery request directly to the gateway itself), for onward email delivery in accordance with known techniques text-to-email techniques.
Thus the Figure 1 embodiment differs from the Figure 2 embodiment in that in Figure 1 traffic messages sent from senders 11 to advanced services subscriber recipients / users 10 are processed by a separate service processor 29, rather than by one of the SMS IPs 26 of Figure 2 providing both a service processing function and a configuration processing function. In the Figure 1 embodiment, the SMS IP 26 (or the multiple SMS IPs if redundancy / load sharing is provided) is responsible for configuration message handling only. The database 28 is accessed by both the SMS IP(s) 26 for configuration changes and the service processor(s) 29 for traffic message handling. In this way, the SMS IP(s) 26 and the service processor(s) 29 can each be better optimised for their specific tasks and throughput requirements. For example, an SMS IP can be optimised for handling configuration queries, for example using natural language text processing capability for interpretation of user requests and a relatively low message rate, whilst a service processor may be optimised for message handling at a high traffic rate.
Features of some embodiments of the invention are as follows:
1. Configuration changes may be positively acknowledged to the sender of the configuration message (i.e. the advanced service subscriber) using a separate confirmation text message sent after configuration changes have been completed and
secured to the database. Once the sender of the configuration message has received this confirmation message, he can be confident that subsequent messages sent to him will be handled using the new configuration.
2. Traffic messages that are to be acted upon by the advanced services node in order to apply the advanced service may be stored both on the way in and the way out of the system. The input store may comprise a storage function provided as part of the advanced services node architecture. For example, the storage function may be implemented in the message distribution function provided by the message distributor 25 in Figure 2, or in the service processor 29 shown in Figure 1.
3. An output store may be implemented in the outgoing path of the SMS Router 24. In some embodiments messages might not be removed from an input store (e.g. in a message distributor or service processor) until all relevant aspects of the subscribed advanced service(s) (e.g. copy to email) are completed, and corresponding output messages are safely stored in the output store (e.g. in the SMS Router). This can help ensure that messages are not dropped and services are completed properly. In some scenarios, some operations may occur more than once, e.g. following the established GSM principles of retrying.
4. In some embodiments, all permanent configuration data may be stored in the database, so that regardless of whether configuration changes are carried out by text message or via the optional web interface (www I/F), completion of the database update indicates that the user can be notified that the configuration change is active. For traffic messages processed by a message processing means (e.g. an SMS IP as in Figure 2 or a service processor as in Figure 1), the current configuration data is read from the database. This can assist in ensuring consistent behaviour regardless of which message processing platform is used, and which configuration route is used.
5. Under some circumstances, the capabilities of an SMS IP may be required for processing certain traffic messages, even when utilising the architecture model of Figure 1. In this case these traffic messages may be directed to an SMS IP, e.g. via the service processor 29.
6. In cases where multiple SMS IPs are provided to process traffic messages (e.g. as in Figure 2), SMS IPs may be chosen by the message distributor according to characteristics of the message, so that for example all segments of a concatenated message may normally be processed by the same SMS IP (except in a failure scenario). This ensures that services that may require access to message content can be supported.
Having described the general operation of the embodiments of the invention shown in Figures 1 and 2, aspects of these specific embodiments are now be described in more detail. Many comments made in respect of any one or other of these example embodiments, will also be applicable to the other.
In the embodiment illustrated by Figure 2, SMS IPs are preferably arranged in pairs and handle both configuration messages and traffic messages, each pair comprising an active and a standby member SMS IP. Each member SMS IP connects to a separate instance of the database, which may run on the same server as the associated SMS IPs, or on a separate server. These two instances of the database associated with the active and standby SMS IPs are configured to replicate data between themselves. Any changes made to one database are thus automatically reflected after a short time delay on the other database. The database replication may be achieved using standard database techniques.
The SMS IPs may be connected to one or more members of a database cluster comprising a number of servers operating a database in an industry standard cluster configuration (schematically indicated in Figures 1 and 2 as replicated database blocks 28). Clustering is a more secure arrangement than replication and in some examples is capable of providing appropriately high throughput with 99.999% availability, which might typically be desired for telecom systems, even when built using commodity server hardware. In this arrangement, it may be appropriate for the SMS IPs not to be paired, but to be operate as a set of peers that can be arbitrarily scaled to meet throughput requirements. First choice selection of an SMS D? may still be decided algorithmically by a message distributor based on characteristics of the message, so that except in the case of a failure, all segments of a concatenated message can be processed by the same SMS IP. Redundant links from the SMS IPs 26 to the clustered database 28 can help to allow reliable access to the configuration data.
A traffic message, e.g. from sender 11, arriving at the advanced services node architecture is received in the first instance by SMS Router 24. The SMS Router 24 queries the SMS SCP 23 to confirm whether the intended recipient is an advanced services subscriber; if not, then the message is delivered normally to the "ordinary" service subscriber (e.g. user 13 in Figure 2). Otherwise the message is passed to the message distributor 25.
The message is directed by the message distributor 25 to a particular SMS IP pair according to characteristics of the message. For example digits from the originator number (i.e. based on the CLI associated with the SMS message 14 sent from user 11) may be used to segment traffic across SMS IP pairs, such that all segments of a concatenated message will be directed to the same pair. As an example, where there are three SMS IP pairs, the sent SMS message 14 (i.e. the traffic message) could be delivered to a particular one of the three pairs according to whether the last 2 digits of the originator number were in the ranges 00 to 33, 34 to 66, or 61 to 99. The routing algorithm may be arranged to .distribute traffic approximately uniformly across a configurable number of SMS IP pairs.
Once an SMS IP pair is selected, then the message is delivered to the active SMS IP in the pair if it is accessible. If delivery to the active SMS IP is not possible, for example due to a link failure, then the message is delivered to the standby SMS IP in the pair instead. At this stage in this example, the SMS IP does not acknowledge the message back to the message distributor.
Because the subscriber configuration data is held on a replicated / clustered database 28 behind both the active and standby SMS IPs, the steady state service behaviour can be consistent regardless of whether the active or standby SMS IP is used. (There is a possibility that transient inconsistency might occur in the event of a failure of a link or other relevant network component at the same time that a configuration change or database replication was occurring.)
The selected SMS IP retrieves service configuration information for the addressed recipient of the SMS message 14 (e.g. user 10 in this example) by making a query to the database 28, e.g. in accordance with conventional database access techniques. In an example embodiment, the database returns a fixed length record comprising a number of
bytes, and the format of the record is predefined to represent the activation status and settings for a range of available services. An example definition is shown in Table 1. The data returned from the database can then be interpreted by the SMS IP to determine which if any subscriber services are to be applied to the message, and how those messages should be applied.
Table 1
Service Octet This field contains service flags for the recipient Flags String services. The following bits are allocated, and have the following meanings:
Bits 15..0 are reserved for future expansion.
Away Time This field contains the Away time and date. Time
Away Integer The length (octets) of the Away message Length
Away Integer Data coding scheme for the Away message, as per DCS TS23.038.
As an example, an SMS copy-to-email service allows a recipient to copy his received messages to a configured email address. If this service is configured (with an email address) and active (the enabled flag is set in the data structure), then the SMS IP will generate two output messages which will be sent via the message distributor. The first will be delivered to the SMS Router store, which will forward the message on to its original destination, the second will be sent to the email gateway 27, along with the desired email address, where it will also preferably be stored pending delivery, hi some examples, once the SMS Router has acknowledged safe receipt / storage of the message from the message distributor, only then will the SMS IP acknowledge the original message back to the message distributor, thus allowing it to be deleted from the input store in the message distributor. If the message distributor does not receive an
acknowledgement from the active SMS IP5 e.g. within a pre-specified timeout period, then it will store the message and retry to the standby SMS IP.
Once the message has been successfully processed by the SMS IP, indicated by positive acknowledgement to the message distributor, or once the message has been stored by the message distributor in order to permit a retry, the message is positively acknowledged back to the sending SMSC, and at this point the advanced services node has taken over responsibility for delivery of the message. If the sender of the message has requested a delivery receipt, then the SMSC will generate it at this point. If the SMS IP negatively acknowledges the message distributor with a permanent error, then the message distributor does not store the message and no retry will be attempted, hi this case a permanent error is returned to the SMSC.
In an embodiment, the message distributor 25 of Figure 2 may be an SMPP (Short Message Peer to Peer) router and connections to the SMS IPs 26 may use the industry-standard SMPP protocol. One of the functions of the SMPP router is conversion of the message format into a protocol suitable for transmission to TCP/IP hosts. The SMS IPs preferably connect into the system in the same way as traditional SMS Hosts, and SMPP is a popular protocol for this purpose. The SMPP Router may also provide connections to other types of SMS Host as well as SMS IPs. hi an alternative embodiment, the SMPP router functionality could by subsumed into the SMS Router(s) 24.
In the case of failure of the first attempt at sending a message to the SMS IP (e.g. the SMS IP does not respond within a timeout, or negatively acknowledges the message indicating a temporary failure to complete aspects of the advanced service it provides), then the message distributor 25 may place the message into its own store so that it can retry later, either to the SMS IP first tried, or another. hi the embodiment shown in Figure 1, the service processor 29 is connected to one or more members of the database cluster 28, comprising a number of servers operating a database in an industry standard cluster configuration. Redundant links from the service processor to the clustered database may be provided to allow reliable access to the configuration data.
Referring now to Figure I5 a traffic message arriving at the advanced services node is received in the first instance by the SMS Router 24 in accordance with known home-routing techniques. The SMS Router 24 queries an SMS SCP 23 to confirm the recipient is an advanced services subscriber; if not, the message is delivered normally to an ordinary service subscriber (e.g. user 13). Otherwise the message is passed to the service processor 29. Multiple service processors may be provided for redundancy or to increase traffic capacity / provide load sharing. Because subscriber configuration data is held on a replicated database behind the service processors, the steady state service behaviour should be consistent regardless of which service processor is used in the case there are multiple service processors. Where there are multiple service processors, the SMS Router may be responsible for selecting which one to use, e.g. in a manner similar to the way the message distributor in Figure 2 might select an SMS IP to use.
The (selected) service processor retrieves the service configuration information that relates to the addressed recipient by making a query to the database. In an example embodiment the database returns a fixed length record comprising a number of bytes, and the format of the record is predefined to represent the activation status and settings for a range of available services, e.g. again as shown in Table 1. The data returned from the database can then be interpreted by the service processor to determine which if any subscriber services are to be applied to the message. Thus the embodiments shown in Figures 1 and 2 operate in accordance with the same general principles, except that functions of the advances services node, most notably the processing for providing the advanced service, are performed by different network elements.
Figure 3 schematically shows a signalling ladder diagram for providing a copy-to- email service in the network of Figure 1 according to an embodiment of the invention. Elements of the network are shown along the top of the figure.
The first step (working down the ladder diagram) shown in Figure 3 is a "MAP: MTJForwardSM" signal from the SMSC 21 of the sending user 13 to the SMS Router 24. As described above, this is established in accordance with known home routing techniques. In a second step, the message (in mobile terminated (MT) format) is sent from the SMS Router 24 to the service processor 29. The service processor 29 in this example is then responsible for routing the content of the message for onward delivery as
a conventional text message, and for delivery as an email. Signalling associated with delivery to the recipient as a text message is schematically shown in Figure 3 within the dashed box marked "TO MOBILE". Signalling associated with delivery to an email address for the recipient is schematically shown in Figure 3 within the dashed box marked "TO EMAIL".
To deliver the message as a conventional SMS message to the recipient's handset 10, the service processor 29 returns the MT message to the SMS Router 24. The SMS Router 24 acknowledges receipt with an "MT Message ack" signal back to the service processor 29. The SMS Router then instigates delivery of the MT message to the recipient 10 with a "Map: MTJForwardSM" signal, and in due course, receives a "Map: MT_ForwardSM ack" signal back. This concludes the signalling for the delivery of the message as a conventional SMS message to the recipient's handset 10.
To deliver the message as an email, the service processor 29 queries the database 28 to obtain the relevant information, i.e. confirmation the intended recipient has the service activated, and the destination email address (not shown in Figure 3). The service processor 29 then passes the message to the email gateway as a "DeliverSM" signal. The email gateway 27 acknowledges receipt with a "DeliverSM ack" signal, and proceeds to deliver the email ("SMPT: Deliver email" signal).
As shown towards the bottom of Figure 3, the service processor 29 returns the "MT Message ack" signal back to the SMS router 24, which instigates an acknowledgment of receipt of the text message from the original sender with a "MAP: MT_ForwardSM ack" signal routed back through the sender's SMSC 21.
It will be appreciated that in other examples, signalling in accordance with other embodiments of the invention could be performed in a different way. E.g. the email delivery steps could be performed before, or in parallel with the conventional SMS message delivery steps. The SMS Router 24 may also send the message to the service processor 29 for processing at the same time as routing the SMS message onwards for conventional SMS delivery (i.e. instead of sending the MT message to the service processor 29 and then receiving it back again for onward delivery).
Examples of the types of advanced service(s) that may be provided for the B- party (i.e. recipient subscribers for the advanced services) on a network scale in accordance with embodiments of the present invention may include the following:
• Advert - Subscribers can earn credit by receiving advertising
• Archive - Subscribers' received messages are stored in a database
• Away - A configurable Out-of-Ofiϊce message is sent once to each sender who sends a message to the recipient while the service is active
• Blacklist - A recipient can block messages from senders from whom he does not wish to receive messages
• Block - A recipient can block message types that he does not wish to receive, for example flash messages, or messages with no CLI
• Copy - An email (or other format, e.g. fax, of text-to-voice audio file) copy is sent to a specified address for received text messages
• Divert - Received messages are forwarded to an alternative number on the same network
• Twin - Messages are copied to a twinned handset
• Whitelist - A recipient receives messages only from a trusted list of senders
In some examples, e.g. due to sequential provisioning of the HLR 22 indicating subscribers of the advanced service (e.g. through a level of service field) and the subscriber list details in the database 28, there may be small time windows where the HLR's records do not exactly align with the advanced service node's records. This may cause messages for subscribers that are registered in the HLR as advanced service subscribers to be routed to the advanced services node when they are not registered in the advanced services node as advanced service subscribers. A lookup to the SMS Service Control Point 23 by the SMS Router 24 may be used to check that the specified recipient of a message is an advanced services subscriber that is registered in the advanced services node (i.e. in the database 28), so that in the transient situation described, if the recipient is not registered in the SMS-SCP 23, then the message can be delivered transparently to the
recipient user. In the normal case where the recipient is registered, the message may be sent to the message distributor 25 (Figure 2) / service processor 29 (Figure 1) as described above.
In one embodiment, advanced services may be implemented on behalf of the recipient, i.e. the B-party. This may result in one or more output messages being generated by the message processing means. These may include, for example, one or more of an onward delivery of an SMS message to the intended recipient 12, a message delivery to email via an email gateway, e.g., for archiving or storage purposes, a message delivery to an alternative or an additional mobile number, e.g., for forwarding or copying purposes, and delivery of a message to the sender, e.g., in an Out-of-Office type application. Various other applications are possible, including message blocking, white, lists, black lists, time-dependent delivery, insertion of adverts, diversion, language translation content filtering etc..
In alternative embodiments, services may be implemented on behalf of the A- party, and/or the B party and/or a C-party (e.g. a diverted-to number). In an embodiment, all such services may be implemented by the same message processing means, with multiple lookups to a shared database for obtaining the subscriber configuration data relating to each respective party.
In some embodiments of the invention, mandatory and non-mandatory aspects of recipient services may be distinguished. Thus a typical service may comprise at least one 'mandatory' aspect and zero or more 'non-mandatory' aspects. Failure to complete all of the mandatory aspects of a recipient service may cause the message to be negatively acknowledged by the message processing means, causing the message to be resubmitted to the message processing means from an input store, e.g. in an SMS Router, and hence causing the entire recipient service to be retried. This may cause some aspects of the service to be duplicated. For example, with an archive service that onward delivers a message to its original recipient as its mandatory part, and also copies the message to an email address as its non-mandatory part, a temporary failure of the onward message delivery would cause a retry of the whole service. The email could therefore be delivered multiple times until the onward delivery successfully completes once. Failure of the email part would not cause a service retry because it is designated as non-mandatory (or 'best-
effort'), and so the onward delivery would not be unnecessarily replicated. If a service has multiple mandatory aspects, then the whole service is preferably retried until all mandatory aspects complete successfully in the same retry.
In an alternative embodiment, more complex service logic with memory could be embodied such that some or all of the described duplications could be avoided. The service logic could be configured to maintain a record of which aspects of a service had completed successfully, and would not duplicate them when retrying other aspects of the service. This records could be kept in a memory storage, either in the message processing means (e.g. service processor 29 in Figure 1, or SMS IPs 26 in Figure 2), or an attached database, for storing service outcomes, and a correlation means for recognising when a message arriving at the message processing means is a duplicate (i.e. a retry) of a message previously seen. For correlation purposes, known methods may be used involving a message-reference field and address information present in the message header, as are used by handsets to detect duplicate MT messages, hi all cases, a message expiry period is implemented in the store so that unsuccessful delivery attempts are time limited.
The SMS IPs may in some examples be programmable, e.g., using a known text processing language such as TITLE (RTM), examples of which are described in co- pending patent UK patent application number GB 0713692.2. This allows text message services and/or configuration services to be quickly developed to apply natural language processing. Acknowledgement of messages by the SMS IP may be under TITLE application control. This allows an application programmer to determine how service interactions between multiple active services should be handled. For example, if a subscriber has ARCHIVE (to email) and TWIN (to another handset) enabled at the same time, the application must decide whether to positively or negatively acknowledge the completion of processing back to a message distributor (Figure 2 embodiment) in the event that one service succeeds and the other service temporarily fails. A negative acknowledgement may result in the entire service set being retried from the message distributor store, which could cause any service that did already complete successfully to be repeated. Hence in such a failure scenario, message deliveries may either be duplicated or abandoned under the control of the TITLE application. More complex embodiments
are possible that provide records for which services have been successfully applied to which messages, thereby allowing duplication to be avoided, however the increased complexity of this approach may not be justified. (GSM already sets a precedent for message duplication in certain failure scenarios, and it is not uncommon to receive a message twice.)
Variations on the described examples above are possible without departing from the scope of the invention, embodiments of which can provide a robust and scalable architecture for the provision of advanced services to text messaging subscribers. The above-described architectures can permit subscriber configuration of a range of services to be conducted on demand either by text message or in some cases via the internet, without delay in activating the requested service settings. The system can offers resilience to single-point failures, security of data storage and arbitrary scalability, which are normally features only found in closed data-processing environments, and combines these features with an end-user configuration capability so that for the first time telecom operators have the possibility to quickly roll out flexible and differentiating text message services to customers.
The network elements in Figures 1 and 2 are schematically shown as comprising various functional blocks, some of which are conventional network elements. It will be appreciated, however, that these elements are shown separately largely for ease of explanation, and in a practical implementation of an embodiment of the invention, the above-described functionality of various ones of these elements may be provided by physically separate network elements, or by a single network element providing the functionality of multiple ones of the functional blocks shown in Figures 1 and/or 2. Generally, the above-described functionality may be provided by one or more suitably programmed general purpose computers, or by application specific apparatus, as is generally conventional in telecommunications networks.
In so far as the embodiments) of the invention described above may be implemented, at least in part, using software controlled processing apparatus, it will be appreciated that a computer program providing such software control and a storage medium by which such a computer program is stored are envisaged as aspects of the invention.
Thus there has been described an apparatus for providing a text message processing service, e.g. a copy-to-email service, for a subscriber of a telecommunications network is described. The apparatus comprises a database storing information regarding the provision of the service for the subscriber; a configuration processor operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor operable to receive a text message addressed to the subscriber, to access the information stored in the database for the subscriber, and to process the text message to provide the service in a manner dependent on the information stored in the database. Thus a subscriber can readily configure the manner in which the service is provided, e.g. by enabling or disabling the service, and setting operational parameters for the service, using a conventional text message sent from his telephone handset. This provides the subscriber with flexible near real-time control of the service.
REFERENCES
[1] EP 1 474 934 (Intellprop Limited)
[2] WO 2005/048617 (Intellprop Limited)
[3] EP 1 408 705 (Telsis Holdings Limited)
[4] EP 1 815 697 (Intellprop Limited)
[5] EP 1 185 119 (Intellprop Limited)
[6] GB 0713692
Claims
1. An apparatus for providing a text message processing service for a subscriber of a telecommunications network, the apparatus comprising: a database having information regarding the provision of the service for the subscriber stored therein; a configuration processor element operable to receive a configuration text message from the subscriber, and to modify the information in the database based on the content of the configuration text message; and a service processor element operable to receive a text message addressed to the subscriber, to access the information stored in the database for the subscriber, and to process the text message to provide the service based on the information stored in the database..
2. An apparatus according to claim 1, wherein the apparatus is configured such that the service processor element is operable to access the information stored in the database for all text messages addressed to the subscriber received in the apparatus.
3. An apparatus according to claim 1 or 2, wherein the configuration processor is operable to modify the information in the database after receiving a configuration text message from the subscriber so as to provide the user with near real-time control of the text message processing service.
4. An apparatus according to any of claims 1 to 3, wherein the configuration processor element is operable to send a text message to the subscriber to confirm that the information stored in the database has been modified based on the content of a configuration text message sent by the subscriber.
5. An apparatus according to claim 4, wherein the configuration processor element is operable to send the text message to the subscriber so as to provide the user with near real-time confirmation modification to the database.
6. An apparatus according to any of claims 1 to 5, further comprising an internet interface through which the subscriber may access and/or modify the information stored in the database.
7. An apparatus according to any of claims 1 to 6, wherein the text message addressed to the subscriber is an SMS message, an MMS message, or an IMS message.
8. An apparatus according to any of claims 1 to 7, wherein the configuration message is an SMS message, an MMS message, or an IMS message.
9. An apparatus according to any of claims 1 to 8, further comprising at least one further service processor element.
10. An apparatus according to claim 9, wherein the apparatus is configured such that the at least one further service processor element is used in place of the first-mentioned service processor element in the event of a failure of the first-mentioned service processor element.
11. An apparatus according to claim 9 or 10, wherein the apparatus is configured such that text messages addressed to the subscriber and/or text messages addressed to different subscribers are directed to different ones of the first-mentioned service processor element and the at least one further service processor element for load distribution.
12. An apparatus according to claim 11, wherein the apparatus is configured such that text messages having a common characteristic are directed to the same service processor element.
13. An apparatus according to any of claims 1 to 12, further comprising at least one further configuration processor element.
14. An apparatus according to claim 13 , wherein the apparatus is configured such that the at least one further configuration processor element is used in place of the first- mentioned configuration processor element in the event of a failure of the first-mentioned configuration processor element.
15. An apparatus according to claim 13 or 14, wherein the apparatus is configured such that configuration text messages are directed to different ones of the first-mentioned configuration processor element and the at least one further configuration processor element for load distribution.
16. An apparatus according to any of claims 1 to 15, wherein the configuration processor element and the service processor element are provided in a single network element.
17. An apparatus according to any of claims 1 to 16, wherein the apparatus comprises an input message storage element for storing text messages sent to the subscriber until after the text message processing service has been provided.
18. An apparatus according to any of claim 1 to 17, wherein the apparatus comprises an output message storage element for storing text messages after the text message processing service has been provided.
19. An apparatus according to any of claims 1 to 18, wherein the text message processing service comprises multiple processing steps, and the apparatus comprises a progress storage element for storing a record of which processing steps have been completed for a text message addressed to the subscriber.
20. An apparatus according to any of claims 1 to 19, wherein the text message processing service comprises at least one of a text message processing service selected from the group comprising: an advert service, an archive service, an Out-of-Office reply service, a blacklisting service, a blocking service, a copy service for copying the content of the message to an alternative destination,, a divert service, a twin service for copying the message to at least one other handset, and a white-listing service.
21. An apparatus according to any of claims 1 to 20, wherein the configuration message processor comprises a natural-language interpreter such the configuration message processor is operable to interpret the contents of configuration messages regardless of their syntax.
22. An apparatus according to any of claims 1 to 21, wherein the configuration message processor is operable to respond to the configuration message sent by the subscriber by sending a reply text message to the subscriber, and to receive a further configuration message from the subscriber in response to the reply text message, thereby establishing a text message configuration dialogue comprising a plurality of configuration messages from the subscriber, and wherein the information in the database is modified by the configuration message processor based on the combined content of the plurality of configuration messages.
23. A method for providing a text message processing service for a subscriber of a telecommunications network, the method comprising: receiving a configuration text message from the subscriber and modifying information stored in a database regarding the provision of the service for the subscriber based on the content of the configuration text message; and subsequently receiving a text message addressed to the subscriber, accessing the information stored in the database for the subscriber, and processing the text message to provide the service based on the information stored in the database.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB0815089.8 | 2008-08-18 | ||
| GB0815089A GB2463636A (en) | 2008-08-18 | 2008-08-18 | Configuring telecommunications text message sevices using SMS configuration text message from subscriber |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010020740A1 true WO2010020740A1 (en) | 2010-02-25 |
Family
ID=39812222
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/GB2009/001525 Ceased WO2010020740A1 (en) | 2008-08-18 | 2009-06-18 | Telecommunication services apparatus and method |
Country Status (2)
| Country | Link |
|---|---|
| GB (1) | GB2463636A (en) |
| WO (1) | WO2010020740A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011138721A1 (en) * | 2010-05-03 | 2011-11-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method and network node for sending a message to a plurality of devices of a user |
| WO2011158033A1 (en) * | 2010-06-18 | 2011-12-22 | Intellprop Limited | Communications services apparatus and method |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997033421A1 (en) * | 1996-03-06 | 1997-09-12 | Bell Communications Research, Inc. | Personal communications internetworking |
| WO1999027726A1 (en) * | 1997-11-20 | 1999-06-03 | Ericsson Inc. | Selective acceptance of short message service (sms) messages in a cellular telephone network |
| EP1255414A2 (en) * | 2001-05-04 | 2002-11-06 | Comverse Ltd | Automatic SMS reply and handling |
| EP1781004A1 (en) * | 2004-08-23 | 2007-05-02 | Huawei Technologies Co., Ltd. | A method for implementing an automatic answering service of short message in mobile network |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FI109636B (en) * | 1999-09-21 | 2002-09-13 | Sonera Oyj | Dissemination of short message in a telecommunication system |
| GB0128721D0 (en) * | 2001-11-30 | 2002-01-23 | Intellprop Ltd | Telecommunications services apparatus |
| RU2253949C1 (en) * | 2003-10-28 | 2005-06-10 | Смоловик Сергей Николаевич | Method for recording, storing and exchanging information via cell communications network |
| GB0418119D0 (en) * | 2004-08-13 | 2004-09-15 | Telsis Holdings Ltd | Telecommunications services apparatus and method |
| GB0425905D0 (en) * | 2004-11-25 | 2004-12-29 | Intellprop Ltd | Telecommunications services apparatus and method |
| GB0606209D0 (en) * | 2006-03-28 | 2006-05-10 | Orange Personal Comm Serv Ltd | Method and apparatus for provisioning network services |
-
2008
- 2008-08-18 GB GB0815089A patent/GB2463636A/en not_active Withdrawn
-
2009
- 2009-06-18 WO PCT/GB2009/001525 patent/WO2010020740A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997033421A1 (en) * | 1996-03-06 | 1997-09-12 | Bell Communications Research, Inc. | Personal communications internetworking |
| WO1999027726A1 (en) * | 1997-11-20 | 1999-06-03 | Ericsson Inc. | Selective acceptance of short message service (sms) messages in a cellular telephone network |
| EP1255414A2 (en) * | 2001-05-04 | 2002-11-06 | Comverse Ltd | Automatic SMS reply and handling |
| EP1781004A1 (en) * | 2004-08-23 | 2007-05-02 | Huawei Technologies Co., Ltd. | A method for implementing an automatic answering service of short message in mobile network |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011138721A1 (en) * | 2010-05-03 | 2011-11-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method and network node for sending a message to a plurality of devices of a user |
| WO2011158033A1 (en) * | 2010-06-18 | 2011-12-22 | Intellprop Limited | Communications services apparatus and method |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2463636A (en) | 2010-03-24 |
| GB0815089D0 (en) | 2008-09-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8005493B2 (en) | Messaging system and method | |
| JP5246332B2 (en) | Enhanced messaging platform | |
| US8195836B2 (en) | System for translation and communication of messaging protocols into a common protocol | |
| AU2005308619B2 (en) | Telecommunications services apparatus and methods | |
| EP2394450B1 (en) | A messaging system | |
| EP2151133B1 (en) | Loop detection/prevention for sms messages | |
| WO2005053207A2 (en) | System and method for group messaging and content distribution in short message service | |
| KR20140066765A (en) | Control archiving of text messages | |
| CN101156384B (en) | Method and system for limiting multimedia message forwarding times by multimedia message center | |
| WO2010020740A1 (en) | Telecommunication services apparatus and method | |
| US8204523B1 (en) | Cost effective notifications with delivery guarantee | |
| EP1865731B1 (en) | A method for realizing short message called service and a short message process system | |
| US9509646B1 (en) | Inter-carrier communications for multimedia-message delivery | |
| WO2010067343A1 (en) | Subscriber provisioning method and system | |
| WO2010075890A1 (en) | Handling of delivery reports for messages having a one-to-many or many-to-one relationship | |
| CN102740252B (en) | Implement method and device for value added service | |
| HK1119342A (en) | Method for routing sms messages using an intelligent routing node | |
| HK1138715B (en) | Loop detection/prevention for sms messages | |
| IE20070354U1 (en) | Loop detection/prevention for sms messages | |
| HK1096808B (en) | Method for routing sms messages using an intelligent routing node | |
| IES84271Y1 (en) | A messaging system and method | |
| IE20040693U1 (en) | A messaging system and method | |
| GB2457430A (en) | Mobile terminated format text message processing to allow archiving etc | |
| WO2009078001A1 (en) | Prediction of mobile subscriber's location |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09784619 Country of ref document: EP Kind code of ref document: A1 |
|
| DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09784619 Country of ref document: EP Kind code of ref document: A1 |