Presentation is loading. Please wait.

Presentation is loading. Please wait.

CFMX7: SMS Applications Made Easy Damon Cooper Director of Engineering, ColdFusion.

Similar presentations


Presentation on theme: "CFMX7: SMS Applications Made Easy Damon Cooper Director of Engineering, ColdFusion."— Presentation transcript:

1 CFMX7: SMS Applications Made Easy Damon Cooper Director of Engineering, ColdFusion

2 Session Overview Introduction to SMS & ColdFusion (10 min) SMS App Development & Deployment (5 min) ColdFusion Event Gateways (5 min) ColdFusion SMS Gateway (5 min) ColdFusion SMS Development Tools (5 min) Setup, Binding and Message Handling (15 min) Advanced Message Options (5 min) Delivery & “Disposition Status” Receipts Security, Authentication and Encryption Tips & Next Steps (5 min)

3 Introduction to SMS & ColdFusion  About Short Message Service (SMS): Designed for sending and receiving text messages to/from mobile phones and devices. Part of GSM cellular standard (1991) SMS usage is extensive worldwide and increasing pervasive in US: China: 550 Billion SMS messages in 2004, 1.4 Trillion by 2006. (CHINA COMMS Network) UK: 23-25 Billion SMS messages for 2004 (MDA) Used by over 70% of mobile phone users worldwide Most messages delivered in <10 seconds SMS US and Canadian carriers include: AT&T Wireless, Verizon, Sprint, Cingular, Nextel, T-Mobile, Bell Mobility, Rogers/AT&T, Telus Mobility and Microcell, etc. Secure, reliable, virtually everywhere and basically works the same regardless of handset or carrier.

4 Introduction to SMS & ColdFusion  Benefits Fully mobile: available anywhere, anytime w/store-and- forward Secure: GSM has built-in authentication and encryption Everywhere: No special hardware or software required for users Push or Pull: excellent for timely alerts, alerts with simple responses, simple textual menus, info lookup, etc  Limitations Limited message length (160 chars) Device keypad interfaces make typing lengthy messages cumbersome Response time can vary and can impact app usability and design

5 Introduction to SMS & ColdFusion  Key SMS Terminology SMSC: Short Message Service Center (carrier or aggregator). These provision SMPP accounts and interface with mobile network. SMPP: “Short Message Peer to Peer” protocol. ColdFusion uses this to talk to SMSC’s. Industry standard protocol simplifies integration of custom applications with wireless mobile networks. Widely deployed in mobile telecom industry. v3.4 is most widely in use currently but next version, v5.0 is in draft. MO: Mobile Originated. Messages sent from a device. MT: Mobile Terminated. Messages sent to a device. ESME: External Short Message Entity (your application) Aggregator: Company providing a single interface (ie SMPP account) to access multiple cellular provider networks.

6 Introduction to SMS & ColdFusion  Technical Use Case Scenarios Person  Person (2-way chat) App  Person (1-way Push) App  Person (2-way interactive, Push) Person  App (2-way interactive, Pull) App  App (2-way interactive, Push or Pull)  SMS Application Examples Airline 2-way flight change notification and rebooking SMS Banking, ABC News, UPS Tracking, American Idol Mass media & mobile apps (voting, contests, 411 lookups, customer feedback, etc) Stock & Weather Alerts (1- or 2-way Push or Pull) Any mobile GSM device (transmit GPS & telemetry, remote device monitoring, vending machines, gas pumps, even Coke cans (Coca Cola US summer contest), etc. YOUR ENTERPRISE APPS (PO approvals, critical notifications, phone directory lookup, CEO dashboard & alerts, meeting reminders, cancellations, SMS-Email bridging, etc)

7 Introduction to SMS & ColdFusion

8  SMS Basic Operation: Messages can be 160 chars (Latin) or 70 chars (non-Latin, such as Arabic and Chinese) Messages are sent from device to an SMSC SMSC interacts with mobile network to figure out user availability and location SMS uses the GSM control channel (rather than the voice channel) End user can receive an SMS whether or not a voice call is in progress - the phone need only be turned on

9 Introduction to SMS & ColdFusion  SMS Basic Operation (Cont’d): If device is off, the SMSC holds message for “Validity Period” (usually default of 72 hours) and delivers message to device when turned on If desired, message status receipts (“delivered”, “undeliverable for validity period”, etc) are sent to originator With SMS the sender generally pays some per- message fee (bulk packages usually available) Big difference between SMS and email (SPAM)

10 Introduction to SMS & ColdFusion  Building Mobile SMS-Enabled Applications SMS is compelling as a pervasive platform for many types of mobile applications, BUT Building & deploying SMS mobile-enabled apps today can be complex and costly Menu-based or simple responses Need session management Need scalable, failsafe, throttling, metering, monitoring, logging and auto-rebind capabilities

11 Introduction to SMS & ColdFusion  Building Mobile SMS-Enabled Applications ColdFusion MX 7 and SMS: Create new mobile applications or mobile- enable existing apps Build and test with integrated SMS development & testing tools Deploy on standard Java J2EE servers quickly and simply Do all this in as little as 5 minutes with ColdFusion MX 7 Enterprise-Ready: (ie AT&T Wireless Certified)

12 Introduction to SMS & ColdFusion

13 SMS App Development & Deployment Overview  Development Process: 1.Design your application 2.Develop your ColdFusion CFCs, CFM pages, and any other application elements 3.Test your application using built-in SMSC Test Server, pre- configured Test SMS Gateway instance and mobile device client simulator  Deployment Process: 1.Establish an SMPP account with SMSC provider / aggregator 2.Configure a new SMS Gateway instance to use your SMSC’s SMPP Server. Configure the gateway using the information provided by your provider 3.Test your application using the telecommunication provider’s SMSC and target mobile devices and when ready, go live!

14 ColdFusion Event Gateway Overview  ColdFusion Event Gateways: Pluggable protocol-specific elements which allow ColdFusion applications to respond and interact with the outside world Generate external events or messages from ColdFusion applications Pass along external events or messages to ColdFusion applications Some of the Gateways provided with ColdFusion MX 7: SMS Gateway XMPP/Jabber IM Gateway IBM/Lotus Sametime IM Gateway JMS Gateway Asynchronous CFML Gateway TCP/IP Socket Gateway Directory Watcher Gateway Example Gateway (with source)

15 ColdFusion Event Gateway Overview  Event Gateway Architecture Features: Published Gateway API for 3 rd parties who wish to create new ColdFusion MX 7 Gateways Multithreaded, asynchronous message and event handling and logging Gateway Type and Instance Administrative interface & API Allow Coldfusion MX 7 Gateway applications to be written using just CFCs to listen for and respond directly to external events Can be used to Gateway-enable.NET, J2EE or legacy apps Require NO Java or threading knowledge to create Gateway applications Full Gateway apps can be packaged and deployed as pure J2EE EAR/WAR files on standard J2EE servers Provides automatic “Session” and persistent “Client” variable scope management and logging facilities Highly tuned, scalable and lightweight for maximum performance Full textual menu-driven app framework included

16 ColdFusion Event Gateway Overview

17 The ColdFusion SMS Gateway  SMS Gateway Overview Establishes a two-way SMPP-over-TCP/IP connection to SMSC provider SMPP provider provides an address (telephone number or Short Code), TCP/IP connection and SMPP configuration setting information for account Must associate SMS Gateway “instances” with configuration files. Default starting CFG files in {cfusion}\gateway\config\*.cfg SMS Gateway conforms to SMPP 3.4 (most commonly deployed currently), available from SMS Forum at http://www.smsforum.net

18 The ColdFusion SMS Gateway  SMS Gateway Overview (Cont’d) ColdFusion applications can initiate and send messages (“push”) to SMS-enabled devices with the “sendGatewayMessage()” function To use sendGatewayMessage(), specifiy: Destination mobile device telephone number SMS Gateway instance ID Message and advanced message options Mobile devices send messages to a ColdFusion listener CFC by using SMS Gateway instance’s telephone number or Short Code Incoming messages include the originating device’s phone number, so listener CFCs can respond to messages sent by mobile devices

19 ColdFusion SMS Development Tools  Built-in tools SMSC Test Server Simulates the phone company or 3 rd part aggregator’s SMSC Server Started in the Administrtor Off by default on start Pre-configured SMSC Test Gateway Instance Pre-configured to talk to SMSC Test Server Not running by default Pre-configured to point to sample gateway menuing application in {cfroot}\gateway\cfc\examples\menu.cfc SMSC Test Client Device Simulates basic cell phone with SMS “chat” mode Run from Windows Start Menu or batch file Pre-configured to talk to the SMSC Test Server

20 ColdFusion SMS Development Tools  Demo

21 Setup, Binding and Message Handling  SMS Gateway Setup: Create a new SMS Gateway instance and set Config and CFC files SMS Gateway must bind to SMSC before handling messages CFG file specifies all params and other key configurables

22 Setup, Binding and Message Handling  SMS Gateway Setup: CFG file params include: CFC method to be called on incoming SMSC message. Default=“onIncomingMessage”. Outbound message throttle rate (def=100, 0=unlimited) Mode (synchronous/asynchronous) –Synchronous: wait for SMSC response. SendGatewayMessage returns messageID or empty string if error. –Asynchronous: don’t wait for SMSC response. Empty string returned. Retry behavior after specific types of errors. Bind connection EnquireLink check interval (checks if connection is OK) Number of bind attempts before giving up (def -1 = try forever) Bind retry interval. How long to wait between rebind attempts. Def=10 seconds

23 Setup, Binding and Message Handling  Logged events and exceptions go to {cfusion}\log\eventgateway.log  Inbound Message Handling Specially-handled messages: Unbind directive: SMS Gateway unbinds and restarts and attempts to rebind EnquireLink or status request: SMS Gateway responds with appropriate response Messages forwarded to your CFC can be new incoming text messages or status notifications about previously-sent messages A CFEvent structure is created & loaded with short messages text, originator, recipient, etc and passed to listener CFC method

24 Setup, Binding and Message Handling  SMS Gateway CFEvent Structure:  Example:

25 Simple “Echo” Pull SMS App /* Create a return structure that contains the message. */ retValue = structNew(); retValue.command = "submit"; retValue.destAddress = arguments.CFEVENT.originatorid; retValue.shortMessage = "Echo: " & CFEvent.Data.MESSAGE;

26 Setup, Binding and Message Handling  Sending Outbound Messages Put the command, destination and data in a structure and then either: “Return” it in response to an incoming message, OR Use the SendGatewayMessage(gatewyID, data) function Typical outbound data structure:

27 Setup, Binding and Message Handling  Slightly more evolved SMS Demo (temperature converter):

28 Sending SMS from a Web App /* Create a structure that contains the message. */ msg = structNew(); msg.command = "submit"; msg.destAddress = "5551234"; msg.shortMessage = form.SMSMessage; ret = sendGatewayMessage("SMS Menu App - 5551212", msg);

29 Setup, Binding and Message Handling  Sending SMS from a Web Page Demo:

30 Advanced Message Options  Requesting Message Disposition Status Include a RegisteredDelivery field in Data parameter of sendGatewayMessage() function or return variable of CFC listener method: 0 = (Default) Do not return delivery information 1 = Return a receipt if the message is not delivered before the time out (Validity Period) 2 = Return a receipt if the message is delivered or fails. Some providers support intermediate delivery notifications (see provider’s docs) Must use synchronous mode to get a messageID

31 Advanced Message Options  Handling Message Disposition Status Incoming message routine must handle these special messages: need to parse and unload MessageID and Status fields from “Data.Message” Format (from Appendix B of SMPP 3.4 Spec): “id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:E Text:...”

32 Advanced Message Options  Handling Message Disposition Status Can match up status MessageID with any sent MessageID and act accordingly. –If a message expired before it was delivered, you might send a new message to another person (ie emergency personnel) or take some other action. For details of the SMSC delivery receipt message structure, see Appendix B of the SMPP 3.4 specification.

33 Advanced Message Options  Requesting Message Disposition Status Sample CFEvent with SMSC Disposition Status:

34 Advanced Message Options  Security, Authentication and Encryption Voice and data (including SMS message traffic) between SMSC and mobile device is encrypted as part of the GSM standard. The mobile user's identity is authenticated first, before encrypted communication session begins. AT&T Wireless has a page that describes the various security aspects of GSM and SMS: http://www.attwireless.com/3G/TechnologyCenter/security/contr ols_station.htm The connection between CF and SMSC: The SMPP standard provides for login/bind authentication and authorization, but No inherent SMPP support encryption of message traffic. Most SMSC providers require a secure hardware or software VPN connection around the SMPP connection. The pervasiveness, mobility and security of the SMS platform paves the way for development of some very exciting business and m-commerce applications!

35 Tips & Next Steps  Get ColdFusion MX 7 and get started now!  Deployment considerations: 5-digit cross-carrier US Short-Code (like the American Idol TV show), needs to obtained via http://www.usshortcodes.com and setup SMPP aggregator/provider account (ie m-Qube, Mobileway, etc).http://www.usshortcodes.com Easy to setup, but takes 4-9 weeks, so allow lead time Short Codes come in a number of varieties: Carrier-specific (ie 4-digit AT&T Wireless Short Code) 5-digit US Short Code (http://www.usshortcodes.com) $1k/monthhttp://www.usshortcodes.com Universal Short Code (tougher to get)

36 Tips & Next Steps  Cont’d If audience on only one carrier, going carrier-specific is probably a good choice and provides lightening fast response times If audience is US mixed-carrier, US Short Code and 3rd party aggregator SMPP provider is good choice with very good response times Can have a "SIM" modem setup at an aggregator or carrier, but response times VERY slow, capacity very limited, but for very small applications and audiences, this may suffice. Also much cheaper. SMPP accounts range from $40/month for development accounts to many thousands, based on volume. US AT&T Wireless SMPP account can be had for about $500/month: http://www.attwireless.com/press/releases/2002_releases/052102.jhtml

37 CFMX7: SMS Applications Made Easy Damon Cooper Director of Engineering, ColdFusion


Download ppt "CFMX7: SMS Applications Made Easy Damon Cooper Director of Engineering, ColdFusion."

Similar presentations


Ads by Google