SlideShare a Scribd company logo
1 of 44
Integrating SMS Messaging with your Rails Application ,[object Object],[object Object],[object Object]
Why SMS? ,[object Object],[object Object],[object Object],[object Object],SERVER  IS  DOWN SPARKS ARE UP
Popular Applications to Send SMS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overview: One Way Messaging ,[object Object],Black Box of Your application &  gateway & other Party at A1A Beach front Ave Mobile Terminated (MT)
Overview: Two Way Messaging Black Box of Your application &  gateway & other Mobile Originated (MO) or Inbound  ROCK MO Respond with "ROCK" for  Free party tix MT
Simplest approach: SMS as email
Pros and Cons of sending SMS through email ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pros and Cons of sending SMS through email ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Giant Black Box Explained: SMSCs, SMS Gateways, Service Providers ,[object Object]
SMS Centers (SMSC) SMSC SMSC SMSC
GSM Modem Super App GSM Modem (Cell Phone) SMSC AT Commands
GSM Modem APIs and Applications ,[object Object],[object Object]
GSM Modem LoDown ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Talk directly to all SMS Centers SMSC SMSC SMSC Awesome App
Mission Impossible: Coding for each SMSC ,[object Object],[object Object],Don’t do this unless  you are me!
SMS Gateway translates SMSC protocols SMSC SMSC SMSC Rockstar App SMS Gateway
SMS Gateways ,[object Object],[object Object],[object Object]
Pay the middleman! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SMS Gateway: Sending Outbound (MT) ,[object Object],[object Object],[object Object],[object Object]
Ruby Outbound (MT) message with HTTPS ,[object Object],[object Object],[object Object],[object Object]
Choosing an API (if you have a choice) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SMS Gateway: Two way messaging and MOs ,[object Object],[object Object],[object Object],[object Object],[object Object],/^OPT(*[-_]?*)OUT|STOP|END|QUIT| UNSUBSCRIBE|EXIT|HALT| FUCK(*[-_]?*)OFF|REMOVE|CANCEL)/i
Two way messaging: Pull ,[object Object]
Two way messaging: Push ,[object Object]
Do I need a short code? ,[object Object],[object Object],[object Object],[object Object]
Shared (Rented) Versus Dedicated Short Codes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Chewing on a Cactus ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sms gateway service providers(connection aggregators) will help with this process or you can go directly through the CSCA in the US
Opt out concerns ,[object Object],[object Object],[object Object],[object Object]
Choosing a Service Provider ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Developer Integration Concerns
Save message information ,[object Object],[object Object],[object Object]
Inside the SMS ORM: Check out SMS ON RAILS Draft Message Delivery By Date PhoneNumber Number WhiteList? DoNotSend? Outbound Status Time Sent Service Provider UID PhoneCarrier Name Email gateway Sender/User Username Password Favorite beer
Outbound Status: Produce and Consume ,[object Object],[object Object],Controller Action Producer Cron/Background  Task Consumer NOT_PROCESSED SUCCESS
Locking and Delivering: Outbound Status ,[object Object],[object Object],NOT_PROCESSED PROCESSING SUCCESS FAILED
Bulk Message Delivery  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Bulk Message Delivery Tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sanitize Phone Numbers ,[object Object],[object Object],Your database without data integrity
Sanitize Phone Numbers ,[object Object],[object Object],My database runs on flowers
Outbound Attributes: White List and Opt Out ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],smsi
SMS Gateway Service Providers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Useful References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SMS On Rails Engine: SMS in minutes ,[object Object],Demo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions? Yo Dawg, I heard you like Rails Apps so I put an SMS Rails App in your Rails App so you can SMS yourself to be awesome
Photos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

Consultorio de Tarot Blanca
Consultorio de Tarot BlancaConsultorio de Tarot Blanca
Consultorio de Tarot BlancaBlanca Tarot
 
Video Marketing Tips from A to Z with Judy B handouts
Video Marketing Tips from A to Z with Judy B handoutsVideo Marketing Tips from A to Z with Judy B handouts
Video Marketing Tips from A to Z with Judy B handoutsbrandvines
 
OLLI mediarepresentation 24th
OLLI mediarepresentation 24thOLLI mediarepresentation 24th
OLLI mediarepresentation 24thRichard Beach
 
올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장cho hyun jong
 
Math trick kel 1 1
Math trick kel 1 1Math trick kel 1 1
Math trick kel 1 1Galih Praz
 
Strategies for Using LinkedIn
Strategies for Using LinkedInStrategies for Using LinkedIn
Strategies for Using LinkedInpdhill
 
Cacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tuCacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tuHong Hanh Nguyen
 
Mike Watkins Design - Portfolio Sample
Mike Watkins Design - Portfolio SampleMike Watkins Design - Portfolio Sample
Mike Watkins Design - Portfolio Samplemikewatkinsdesign
 
Creating Connections 5 Questions
Creating  Connections   5  QuestionsCreating  Connections   5  Questions
Creating Connections 5 Questionsbrandvines
 
Den attraktiva gymnasieskolan
Den attraktiva gymnasieskolanDen attraktiva gymnasieskolan
Den attraktiva gymnasieskolanHanna Metsis
 
Black hole kel 1 1
Black hole kel 1 1Black hole kel 1 1
Black hole kel 1 1Galih Praz
 
Ek 1552 S Eng
Ek 1552 S EngEk 1552 S Eng
Ek 1552 S Engcipresu
 
Raport anual Habitat for Humanity Cluj 2008
Raport anual Habitat for Humanity Cluj 2008Raport anual Habitat for Humanity Cluj 2008
Raport anual Habitat for Humanity Cluj 2008guestb0f8dab
 
Penman - Our PR Process
Penman - Our PR ProcessPenman - Our PR Process
Penman - Our PR Processpdhill
 

Viewers also liked (19)

Consultorio de Tarot Blanca
Consultorio de Tarot BlancaConsultorio de Tarot Blanca
Consultorio de Tarot Blanca
 
Smoking jaclyn sweeney
Smoking jaclyn sweeneySmoking jaclyn sweeney
Smoking jaclyn sweeney
 
Video Marketing Tips from A to Z with Judy B handouts
Video Marketing Tips from A to Z with Judy B handoutsVideo Marketing Tips from A to Z with Judy B handouts
Video Marketing Tips from A to Z with Judy B handouts
 
OLLI mediarepresentation 24th
OLLI mediarepresentation 24thOLLI mediarepresentation 24th
OLLI mediarepresentation 24th
 
올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장
 
Math trick kel 1 1
Math trick kel 1 1Math trick kel 1 1
Math trick kel 1 1
 
Strategies for Using LinkedIn
Strategies for Using LinkedInStrategies for Using LinkedIn
Strategies for Using LinkedIn
 
Cacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tuCacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tu
 
mediator
mediatormediator
mediator
 
Mike Watkins Design - Portfolio Sample
Mike Watkins Design - Portfolio SampleMike Watkins Design - Portfolio Sample
Mike Watkins Design - Portfolio Sample
 
Choose Michigan
Choose MichiganChoose Michigan
Choose Michigan
 
Creating Connections 5 Questions
Creating  Connections   5  QuestionsCreating  Connections   5  Questions
Creating Connections 5 Questions
 
Den attraktiva gymnasieskolan
Den attraktiva gymnasieskolanDen attraktiva gymnasieskolan
Den attraktiva gymnasieskolan
 
Black hole kel 1 1
Black hole kel 1 1Black hole kel 1 1
Black hole kel 1 1
 
Swt J Face 1/3
Swt J Face 1/3Swt J Face 1/3
Swt J Face 1/3
 
Ek 1552 S Eng
Ek 1552 S EngEk 1552 S Eng
Ek 1552 S Eng
 
Raport anual Habitat for Humanity Cluj 2008
Raport anual Habitat for Humanity Cluj 2008Raport anual Habitat for Humanity Cluj 2008
Raport anual Habitat for Humanity Cluj 2008
 
Math magic
Math magicMath magic
Math magic
 
Penman - Our PR Process
Penman - Our PR ProcessPenman - Our PR Process
Penman - Our PR Process
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

RailsConf2009 Integrating SMS with your Rails App

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. Overview: Two Way Messaging Black Box of Your application & gateway & other Mobile Originated (MO) or Inbound ROCK MO Respond with "ROCK" for Free party tix MT
  • 7.
  • 8.
  • 9.
  • 10. SMS Centers (SMSC) SMSC SMSC SMSC
  • 11. GSM Modem Super App GSM Modem (Cell Phone) SMSC AT Commands
  • 12.
  • 13.
  • 14. Talk directly to all SMS Centers SMSC SMSC SMSC Awesome App
  • 15.
  • 16. SMS Gateway translates SMSC protocols SMSC SMSC SMSC Rockstar App SMS Gateway
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 31.
  • 32. Inside the SMS ORM: Check out SMS ON RAILS Draft Message Delivery By Date PhoneNumber Number WhiteList? DoNotSend? Outbound Status Time Sent Service Provider UID PhoneCarrier Name Email gateway Sender/User Username Password Favorite beer
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. Questions? Yo Dawg, I heard you like Rails Apps so I put an SMS Rails App in your Rails App so you can SMS yourself to be awesome
  • 44.