`Message Service
`
`Jeff Brown, Bill Shipman, and Ron Vetter
`University of North Carolina Wilmington
`
`Although it is a widely used
`communication mechanism for cell
`phone users,SMS is far more than
`just a technology for teenage chat.
`
`C ell phones have become an
`
`integral part of the modern
`world, providing human con-
`nectivity in a way never be-
`fore possible. A recent United
`Nations report (www.cellular-news.
`com/story/25833.php) estimated that
`the total number of mobile phone sub-
`scribers in the world now exceeds 2.68
`billion. Around 80 percent of the
`world’s population has mobile phone
`coverage, with 90 percent coverage
`forecast by 2010 (www.textually.org/
`textually/archives/2006/10/013841.
`htm).
`While most cell phones are used for
`their original intent—making tele-
`phone calls wirelessly—these devices
`are also loaded with other features
`that are often little used or even
`ignored. One feature that users have
`begun to fully exploit in recent years is
`the short message service or text mes-
`saging. This basic service allows the
`exchange of short text messages be-
`tween subscribers. According to Wiki-
`pedia, the first commercial short text
`message was sent in 1992 (http://en.
`wikipedia.org/wiki/Short_message_
`service).
`Although the popularity of text
`messaging is well established in many
`countries, in others, such as the US,
`
`interest in the thumb-driven phenom-
`enon has only recently skyrocketed.
`Consider these statistics from the
`Cellular Telecommunications & Inter-
`net Association (CTIA), the interna-
`tional association for the wireless
`telecommunications industry:
`
`• In 1995, roughly 13 percent of the
`US population had cell phones; by
`June 2007, it was 80 percent.
`• In 2000, 14.4 million text mes-
`sages were sent per month; by June
`2007, the number had increased to
`28.8 billion per month, which rep-
`resents a 130 percent increase over
`June 2006.
`• In the second quarter of 2007,
`Verizon Wireless alone says it han-
`dled 28.4 billion text messages.
`
`Based on these numbers, it is
`evident that SMS messaging is becom-
`ing a widely used communication
`mechanism for cell phone users. The
`“Typical SMS Applications” side-
`bar lists the variety of uses for this
`technology.
`
`THE SMS SPECIFICATION
`SMS technology evolved out of the
`Global System for Mobile Communi-
`cations standard, an internationally
`
`106
`
`Computer
`
`accepted cell phone network specifica-
`tion the European Telecommunications
`Standards Institute created. Presently,
`the 3rd Generation Partnership Project
`maintains the SMS standard.
`SMS messages are handled via a
`short message service center that the
`cellular provider maintains for the end
`devices. The SMSC can send SMS
`messages to the end device using a
`maximum payload of 140 octets. This
`defines the upper bound of an SMS
`message to be 160 characters using
`7-bit encoding. It is possible to specify
`other schemes such as 8-bit or 16-bit
`encoding, which decreases the maxi-
`mum message length to 140 and 70
`characters, respectively.
`Text messages can also be used for
`sending binary data over the air.
`Typically, specific applications on the
`phone handle messages that contain
`binary data—for example, to down-
`load ring tones, switch on and off ani-
`mation, exchange picture messages,
`or change the look and feel of the
`handset’s graphical user interface.
`The system can segment messages
`that exceed the maximum length into
`shorter messages, but then it must use
`part of the payload for a user-defined
`header that specifies the segment
`sequence information.
`SMSCs operate in either a store-
`and-forward or a forward-and-forget
`paradigm. In the store-and-forward
`paradigm, the system resends the mes-
`sage for some period of time until it is
`successfully received. In a forward-
`and-forget paradigm, the system sends
`the message to the end device without
`assurance of receipt or an attempt to
`redeliver in the case of failure.
`The SMS protocol stack comprises
`four layers: the application layer, the
`transfer layer, the relay layer, and the
`link layer. Table 1 provides an exam-
`ple of a transfer protocol data unit.
`
`SMS CONCEPTS AND
`SYSTEM ARCHITECTURE
`To fully understand how the various
`components in the SMS system archi-
`tecture interact, it is worthwhile to first
`discuss a few SMS concepts and the role
`of several independent system entities.
`
`GTL 1017
`IPR of U.S. Patent No. 8,626,118
`
`
`
`Short codes
`A short code is an abbreviated num-
`ber (four, five, or six digits) that is used
`as an “address” for text messages.
`Individual carriers can use short codes
`that are valid only on their network or
`are interoperable across network car-
`riers (known as a common short code).
`For example, a carrier might need to
`send a text message to a subscriber
`concerning changes in policy or phone
`configuration, and it probably would
`send such a message from a short code
`only that carrier uses. On the other
`hand, common short codes can be
`used to send messages to and from
`users on multiple cellular networks.
`In the US, one entity, the CTIA
`(www. usshortcodes.com), adminis-
`ters common short codes. Content
`providers can lease a common short
`code, thereby allowing subscribers to
`text a keyword to the provider’s short
`code, and the provider can respond
`with information specific to the key-
`word used. For example, texting the
`word “movie” to short code 90947
`might result in a text message being
`returned to the sender that contains
`a list of movies showing at a local
`theater.
`Google offers a variety of interactive
`SMS applications through its short
`code 466453 (http://google.com/sms).
`
`Typical SMS Applications
`CONSUMER APPLICATIONS
`• Person-to-person messaging: (chat with friends)
`• Interactive information services: (text to get today’s weather forecast)
`• Entertainment services: (download a ring tone)
`• Location-based services: (restaurant suggestions based on handset location)
`
`CORPORATE APPLICATIONS
`• Notification and alert services: (emergency broadcast messages)
`• Managing contacts, correspondence, and appointments: (SMS
`integration with Microsoft Outlook)
`• Vehicle location: (bus tracking)
`
`CELL OPERATOR APPLICATIONS
`• Subscriber identity module updates—network operators can remotely
`update data stored on a mobile phone’s SIM card: (remotely update cus-
`tomer service profiles or address book entries)
`• WAP push—push a URL of the content to be displayed, and a browser on
`the mobile phone presents the content to the subscriber: (push a media-
`rich advertisement to a user and automatically display it within the mobile
`phone’s browser)
`
`Because short codes also have pre-
`mium billing capabilities, wireless
`subscribers can send text messages to
`short codes to access and pay for a
`variety of mobile content and services.
`For example, if a user sends a text to
`get a daily horoscope, a charge for
`the content will appear on the next
`phone bill.
`
`E-mail gateways
`In the US, most messages sent to
`applications or services are addressed
`to a short code instead of a standard
`phone number. It’s possible to offer a
`service through a cellular modem,
`which is, in effect, a cell phone hooked
`to a computer. However, cellular
`modems are quite slow and not
`
`Table 1.Transfer protocol data unit: 07917283010010F5040BC87238880900F10000993092516195800AE8329BFD4697D9EC37
`
`Octet(s)
`
`Description
`
`07
`91
`72 83 01 00 10 F5
`
`04
`0B
`C8
`72 38 88 09 00 F1
`00
`00
`99 30 92 51 61 95 80
`
`0A
`
`E8329BFD4697D9EC37
`
`Length of the SMSC information (in this case, 7 octets).
`Type-of-address of the SMSC (91 means international format of the phone number).
`Service center number (in decimal semi-octets). The length of the phone number is odd (11), so a trailing F has been
`added to form proper octets. The phone number of this service center is “+27381000015.”
`First octet of this SMS-DELIVER message.
`Address length. Length of the sender number (0B hexidecimal = 11 decimal).
`Type-of-address of the sender number.
`Sender number (decimal semi-octets), with a trailing F (“+27838890001”).
`Protocol identifier (00 = SME-to-SME protocol—implicit).
`Data coding field (00 = 7 bit, 01 = 8 bit, 10 = 16 bit, 11 = reserved).
`Time stamp (semi-octets) in order (YY, MM, DD, HH, MM, SS, TIMEZONE in relation to GMT in units of 15 minutes). So,
`0x99 0x30 0x92 0x51 0x61 0x95 0x80 means 29 Mar 1999 15:16:59 GMT+2.
`User data length: length of message. The data coding field indicated 7-bit data, so the length here is the number of septets
`(10). If the data coding field were set to indicate 8-bit data or Unicode, the length would be the number of octets (9).
`Message “hellohello,” 8-bit octets representing 7-bit data.
`
`More details can be found at www.dreamfabric.com/sms
`
`December 2007
`
`107
`
`
`
`SMS
`
`SMS
`
`SMS
`
`SMPP
`
`SMPP
`
`API
`
`SMS broker
`
`SMPP
`
`Content
`server and
`software
`applications
`
`Mobile users
`
`SMSC
`Service providers
`
`Aggregator
`
`Content provider
`
`Figure 1.SMS system architecture.Rather than communicating directly with the various
`SMSCs, content providers go through a message aggregator.The message aggregator
`uses the SMPP to maintain connections with carrier networks.
`
`intended for production environments
`requiring any significant volume.
`Most carriers provide e-mail-to-SMS
`gateways that receive e-mail messages
`and convert them to SMS messages.
`For example, an e-mail addressed to
`11235551234@mycarrier.com could
`trigger an SMS message for 1123-
`5551234 on mycarrier’s network.
`Some companies offer bulk SMS
`services and deliver their messages
`through e-mail-to-SMS gateways.
`However, not only are these e-mail
`gateways one-way and unreliable, but
`carriers also actively monitor them
`and can block them at any time. Some
`gateways automatically block mes-
`sages originating from an IP address
`when volume reaches a certain
`threshold. This could cause serious
`problems in the event of mass text
`messages being sent for emergency
`notification purposes.
`
`SMS centers
`When a user sends a text message to
`another user, the phone actually sends
`the message to the SMSC, which
`stores the message and then delivers it
`when the recipient is on the network.
`
`This is a store-and-forward operation.
`The SMSC usually has a configurable
`time limit for how long it will store the
`message, and users can usually spec-
`ify a shorter time limit if they want.
`Figure 1 depicts the general system
`architecture for sending and receiving
`SMS messages. Each service provider
`operates one or more SMSCs. Mobile
`users’ SMS messages are sent through a
`wireless link via a cell tower to the
`SMSC. The SMSC access protocols
`enable interactions between two SMSCs
`or interactions between external short-
`message entities (SMEs) and an SMSC.
`SMEs are software applications on net-
`work elements (such as a mobile hand-
`set) or hardware devices that can send
`and receive short messages. The SMS
`Forum has adopted the Short Message
`Peer-to-Peer (SMPP) protocol to enable
`interactions between external SMEs and
`service centers that the different manu-
`facturers maintain and operate.
`
`Message aggregators
`Typically, content providers do not
`communicate directly with the vari-
`ous SMSCs, but instead go through a
`broker, or message aggregator, as
`
`108
`
`Computer
`
`Figure 1 shows. An aggregator is a
`business entity that negotiates agree-
`ments with network providers to act
`as a middleman providing access to a
`cellular network for messaging ser-
`vices to third parties who have no
`direct relationship with the cellular
`network. The message aggregator uses
`the SMPP to maintain connections
`with carrier networks. Aggregators
`typically provide access to their
`servers either through SMPP or using
`custom APIs written in Java, PHP,
`Perl, and so on.
`Most aggregators will also manage
`the rental of the common short code
`for clients who do not want to deal
`directly with the CTIA. Another
`important function of the aggregator
`is to assist with provisioning of the
`short code on the various carriers.
`Before a carrier allows the use of a
`short code on its network, it requires
`a complete description of how the
`code will be used, including how sub-
`scribers will opt in and opt out of sub-
`scription services. The provisioning
`process can take eight weeks or more.
`
`Content providers
`A mobile content provider is an
`entity that provides value-added con-
`tent and applications for mobile
`devices. For example, when a mobile
`phone user sends an interactive text
`message to retrieve information, the
`content provider returns the informa-
`tion (in this case, a text message back
`to the user) through the aggregator.
`The aggregator is responsible for
`transmitting the message to the end
`user. This second transmission actu-
`ally masks two transmissions: first a
`transmission from the aggregator to
`the cellular provider, and then a trans-
`mission from the cellular provider to
`the mobile handset.
`
`BUILDING APPLICATIONS
`We have established the hardware,
`software, and network infrastructure
`necessary to build and deploy ad-
`vanced SMS applications. We have
`registered a short code and established
`a new company, Mobile Education, to
`develop two-way SMS-based applica-
`
`
`
`tions. We have formed this company
`with the expressed intent of develop-
`ing and marketing intellectual prop-
`erty that we are creating in partnership
`with the University of North Carolina
`Wilmington.
`Mobile Education (www.mymobed.
`com) currently hosts the following
`SMS-based applications for UNCW
`students:
`
`• a subscription service for daily
`campus activities and events;
`• an interactive system to request
`and receive real-time shuttle bus
`information;
`• an application that integrates with
`the student Banner system to allow
`students to request and retrieve a
`grade for a particular course;
`• an interactive service to get campus
`activity and event information,
`specifically movie dates and times
`at the campus theater; and
`• a broadcast text-message-based
`alert system for campus-originated
`emergency information.
`
`We have learned some valuable
`lessons while establishing this new
`business.
`
`Vanity code or random code
`The process of obtaining a short
`code is different from country to coun-
`try. In the US, obtaining a short code
`requires choosing between a “vanity”
`and a “random” code. Short codes that
`spell a name, such as Google = 466453
`or Hawks = 42957, are known as van-
`ity short codes. Vanity codes cost
`$1,000 per month. Random short
`codes, which might or might not spell
`a word, generally cost $500 per month.
`Being only five- or six-digit numbers,
`random short codes are still fairly easy
`to remember, so it might or might not
`be worth the extra $500 per month
`cost to get a vanity code.
`You can find out who has registered
`many of the short codes assigned in the
`US via the Common Short Code
`Administration Directory
`(www.
`usshortcodes.com) or the US Common
`Short Code WHOIS Directory (www.
`usshortcodeswhois.com).
`
`Fees and the
`provisioning process
`The fee to lease the common short
`code simply guarantees that no one
`else can use that code. A carrier must
`provision a code before the code can
`be used on its network. The provi-
`sioning process is complicated, expen-
`sive, and takes up to eight weeks.
`During the provisioning process, the
`carriers examine how their users will
`interact with the applications associ-
`ated with the short code. They are par-
`ticularly interested in applications that
`involve users subscribing to receive
`messages on a regular basis. They
`require double opt-in, which means
`that the user requests the subscription
`and then confirms. Users must be able
`to send a message with the keyword
`“stop” to indicate that they do not
`want to receive any more messages.
`
`Maintaining a common
`short code is an expensive,
`long-term commitment
`and should be
`thoroughly researched.
`
`The cost of provisioning a short
`code will generally be between $2,000
`and $4,000, including aggregator and
`carrier setup fees. The monthly fee to
`maintain service with an aggregator is
`generally between $1,000 and $1,500.
`
`Working with aggregators
`There are significant differences
`between aggregators, and you should
`look closely at more than one before
`choosing. Several companies that sell
`aggregator services do not actually
`maintain SMPP connections with car-
`rier SMSCs, but go through another
`aggregator instead.
`The custom APIs that aggregators
`provide differ widely—some require a
`constant socket connection, while oth-
`ers use XML over HTTP and do not
`rely on a constant connection. Some
`aggregators have relatively inexpen-
`sive testing programs and allow you
`to test their API on a demonstration
`
`short code. This means that you can
`send messages that come from the
`demo code, and if a message sent to
`that code starts with a special key-
`word established for you, then the
`message is routed to your server.
`However, some aggregators do not
`allow any testing with their servers
`until you have signed a contract.
`
`Message sending rates
`There are also vast differences in the
`rate at which you can send messages.
`Some plans allow only two messages
`per second, and some claim rates of
`up to 100 per second. Some aggrega-
`tors allow you to send a message to
`users knowing only their phone num-
`ber, while some require that you also
`know their service provider.
`
`Carrier rules and restrictions
`Another important aspect of com-
`mon short codes is that the mobile
`content providers who register them
`must agree to a long list of network
`operator rules and restrictions. For
`example, the following is a statement
`for text message content from a typi-
`cal short code registration agreement:
`
`is not
`The following content
`allowed: adult (swimsuit pictures
`are ok), or any unlawful, harmful,
`threatening, defamatory, obscene,
`harassing, or racially, ethically or
`otherwise objectionable content.
`Services that facilitate illegal activ-
`ity, gambling, promote violence,
`promote discrimination, promote
`illegal activities, or incorporate any
`materials that infringe or assist oth-
`ers to infringe on any copyright,
`trademark, or other intellectual
`property rights are prohibited.
`
`In many cases, network operators
`even provide lists of inappropriate
`words that cannot be used within the
`content that traverses their networks.
`They can decide to shut down your
`short code if you breach the agree-
`ment you signed to gain access
`to their network. These restrictions
`are considerably different from the
`Internet.
`
`December 2007
`
`109
`
`
`
`OOnnee mmoorree rreeaassoonn ttoo bbeeccoommee aann
`IIEEEEEE CCoommppuutteerr SSoocciieettyy mmeemmbbeerr
`
`I E E E C O M P U T E R S O C I E T Y
`I E E E C O M P U T E R S O C I E T Y
`
`e-learning campus
`e-learning campus
`
`Advance your career and improve your knowledge
`Advance your career and improve your knowledge
`with online resources
`with online resources
`
`Further your
`career or just
`increase your
`knowledge
`
`The e-Learning
`campus provides
`easy access to
`online learning
`materials to IEEE
`Computer Society
`members. These
`resources are
`either included in
`your membership
`or offered at a
`special discount
`price to members.
`
`Online Courses
`Over 1,300 technical courses available
`online for Computer Society members.
`
`IEEE Computer Society Digital Library
`The Digital Library provides decades of
`authoritative peer-reviewed research at your
`fingertips: Have online access to 25 society
`magazines and transactions, and more than
`1,700 selected conference proceedings.
`
`Books/Technical Papers
`Members can access over 500 quality online
`books and technical papers anytime they
`want them.
`
`IEEE ReadyNotes are guidebooks and tuto-
`rials that serve as a quick-start reference for
`busy computing professionals. They are
`available as an immediate PDF download.
`
`Certifications
`The CSDP (Certified Software Development
`Professional) is a professional certification
`meant for experienced software
`professionals.
`
`Brainbench exams available free for
`Computer Society members, provide solid
`measurements of skills commonly requested
`by employers. Official Brainbench
`certificates are also available at a discounted
`price.
`
`Visit http://computer.org/elearning
`for more information
`
`Policy issues
`Maintaining a common short code
`requires working very closely with an
`aggregator and being bound by the
`limitations of its policies and software.
`It’s an expensive, long-term commit-
`ment and should be thoroughly
`researched.
`
`T he short message service has
`
`emerged as one of the most pop-
`ular wireless services. SMS is far
`more than just a technology for teenage
`chat. Mobile marketing campaigns are
`already a very profitable business and
`growing rapidly. Next-generation SMS
`applications will incorporate location-
`based capabilities that are now being
`incorporated into mobile handsets.
`This will enable a new set of innova-
`tive services that are targeted and per-
`sonalized, further refining mobile
`advertising models and driving revenue
`growth for carrier operators, aggrega-
`tors, and mobile content providers. ■
`
`Jeff Brown is a professor of mathematics
`and statistics at the University of North
`Carolina Wilmington and cofounder
`of Mobile Education. Contact him at
`brownj@uncw.edu.
`
`Bill Shipman is a graduate student in
`computer science and information sys-
`tems at the University of North Carolina
`Wilmington. Contact him at wjs6797@
`uncw.edu.
`
`Ron Vetter is a professor of computer sci-
`ence at the University of North Carolina
`Wilmington and cofounder of Mobile
`Education. Contact him at vetterr@
`uncw.edu.
`
`Computer welcomes your submis-
`sions to this bimonthly column.
`For additional information, or to
`suggest topics that you would like
`to see explained, contact column
`editor Alf Weaver at weaver@cs.
`virginia.edu.