wireless solutions for a wired world

Subscription Services in CMX

Contents

Introduction

The most important concept to grasp is that users can subscribe to almost any Service in CMX. This works by separating what the user is subscribing to from how they start and stop their subscription. The "what" part - the content of their subscription (ringtones, logos, etc) is uploaded and managed in exactly the same way as any other CMX Service1. The "how" part - managing the lifecycle of a user's subscription, is handled by a separate Service which uses the Subscription Plugin. Incoming SMS are routed to this Service and it is then the responsibility of this Service to trigger the content Service at regular intervals on behalf of each subscriber, hence causing the content to be sent out.

Content Service Restrictions

In order to use a content Service with a subscription Service, certain restrictions apply to the allocation of order codes within the content Service. Namely, they must be numerical, begin at "0" and increment without duplication or gaps. The subscription Service maintains a counter of how far into their subscription a user is, and when sending content simply increments this counter and uses it as the order code with the content Service. If there is no content matching the current subscription index, the user receives nothing but their subscription continues.

Configuring a Subscription Service

Before a subscription Service can be used there is some initial configuration which must be carried out. Most settings can be altered once the Service is running, but some which control the fundamental nature of the Service can only be configured at creation time.

The meaning of each of the settings is explained below:

  • Subscription type: determines how which piece of content a user should be sent and according to what kind of schedule is tracked:
    • "User Content, User Schedule" is the most common. Services of this type track content on a per-user basis (so regardless of when they subscribe, every user begins their subscription with the first item of content), and users receive their content at regular intervals after the time when they subscribed;
    • "User Content, Global Schedule" is similar, except that every user receives their content at the same time regardless of when they subscribed2;
    • "Global Content, Global Schedule" means that every user receives the same content at the same time (useful for Services which depend on the absolute date rather than how long the user has been a subscriber).
  • Duration: how long (in multiples of the "interval") a subscription should last. Typically this should be left as "0" for infinite;
  • Interval: the time in months, days, hours and minutes between sending successive content to a user;
  • Allow multiple categories: this is used for special cases where a user might have more than one subscription to the same Service. In almost all instances this should be set to "No";
  • Allowed delivery failures: how many unsuccessful delivery reports can be received before a subscription is automatically terminated. This is a useful tool in preventing subscriber numbers swelling with users who are not receiving messages;
  • Additional items: the number of additional content items to send when a user first subscribes;
  • Target service: the Service from which subscription content is drawn.

Subscriptions are started and stopped in response to an incoming SMS which gets matched by an "Action" configured in the subscription Service. Actions work much like Keywords in that they try to match a word or character sequence at the start of the message text, although in the case of Actions the text has the Keyword already trimmed from it. So, if a Keyword "sub" was pointed at a subscription Service which had an Action with "start" as the word, a user would need to send "substart" in the SMS to trigger the Action in question.

Action settings are used as follows:

  • Word: the character sequence to match in an SMS to trigger the Action;
  • Action: what should happen to a subscription when the Action is triggered:
    • "StartSubscription" starts a new subscription with index 0 if the user has not already subscribed. If they are already a subscriber, this Action causes the next item of content to be sent to the user straight away;
    • "ReStartSubscription" resumes an existing subscription which has previously been stopped, or causes the next item of content to be sent to the user straight away if their subscription is currently active;
    • "StopSubscription" stops a subscription;
    • "StopAllSubscriptions" stops subscriptions on all Services for the user.
  • Default category: used in scenarios where multiple subscriptions to the same Service are enabled. Generally this should be left blank;
  • Force default: used in scenarios where multiple subscriptions to the same Service are enabled. Generally "Yes" will suffice here;
  • Auto-response: text of the SMS which will be sent to the user indicating that the Action has been triggered ("Thankyou for starting your subscription to XYZ service" for example);
  • Bill: whether the auto-response should be sent as a reverse billing SMS. Cancelling Subscriptions

To provide a simple mechanism for users to cancel every subscription they have (if they have forgotten the specific opt-out Keyword, for example), the Quit Subscriptions Plugin can be used to set up a master unsubscription Service. Typically the Keyword "stop" would be mapped to such a Service.


1 See Introduction to Content Management with CMX for more details.

2 "Global Schedule" subscription Services require manual intervention by MX Telecom Support before they can become operational. Please contact support@mxtelecom.com.