SlideShare une entreprise Scribd logo
1  sur  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]

Contenu connexe

En vedette

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
brandvines
 
올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장올챙이 확장으로 살펴보는 이클립스 확장
올챙이 확장으로 살펴보는 이클립스 확장
cho hyun jong
 
Cacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tuCacdangbai cau tao nguyen tu
Cacdangbai cau tao nguyen tu
Hong Hanh Nguyen
 
Penman - Our PR Process
Penman - Our PR ProcessPenman - Our PR Process
Penman - Our PR Process
pdhill
 

En vedette (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
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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.