SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
a
BEST PRACTICES FOR DEBUGGING YOUR
TWILIO APPS
CARTER RABASA, PRODUCT MANAGER
ABOUT THE TALK
CARTER RABASA | @CRTR0
40 minutes
100-level
REST API + SDK + Webhooks
ABOUT ME
CARTER RABASA | @CRTR0
Product Manager, API Tools
carter@twilio.com
crtr0
crtr0
ABOUT THE API TOOLS TEAM
CARTER RABASA | @CRTR0
PROTOTYPE TEST PROD MONITORBUILD DEBUG
API EXPLORER TWIML BINS DEBUGGER
REQ INSP
INSPECTOR
TRIGGERS
Overview Twilio’s Platform Architecture
Common REST API Issues
Common SDK Issues
Common Webhook Issues
CARTER RABASA | @CRTR0
AGENDA
CARTER RABASA | @CRTR0
OVERVIEW OF TWILIO’S ARCHITECTURE
TELECOM
SDK
HANDSET
SERVER
SIP/SMPP
HTTP
WEB SOCKET
WEB RTC
VOICE &
SMS INTER
CARTER RABASA | @CRTR0
THE INTERNET
DNS
NETWORK
CACHING
PROXIES
TIMEOUTS
URLS
SECURITY
SUPPORT
CARTER RABASA | @CRTR0
DEBUGGING
Software is easy to debug if you treat it like anything else.
If you have what you think is a bad light bulb, but when you
put a new bulb in the socket it doesn’t work, you’d
conclude the problem was in the socket, not the bulb.”
DEBUGGING CAN BE EASY“
- Dave Winer
COMMON REST
CARTER RABASA | @CRTR0
FLOW OF REST API REQUESTS
INTERNET
SERVER
M
AKES
HTTP
REQ
UEST
TO
SEND
AN
SM
S
TW
ILIO
AUTHENTICATES
THE
REQ
UEST
TW
ILIO
VALIDATES
THE
PARAM
ETERS
PASSED
TW
ILIO
PASSES
M
ESSAGE
TO
SM
S
CARRIER
CARRIER
DELIVERS
SM
S
TO
END
USER’S
HANDSET
CARTER RABASA | @CRTR0
BREAKDOWN OF REST API ERRORS
4xx
43%
401
57%
5/1/2016 - 5/15/2016
3B REST API CALLS
CARTER RABASA | @CRTR0
LETS DIVE IN
Code: Send an SMS
Check Out the API Explorer
COMMON CLIENT
CARTER RABASA | @CRTR0
FLOW OF SDK REQUESTS
CLIENT
ASKS
SERVER
FO
R
A
IP
M
ESSAGING
TO
KEN
CLIENT
INITIALIZES
IP
M
ESSAGING
SDK
W
ITH
TO
KEN
INTERNET
CLIENT
INVO
KES
IP
M
ESSAGING
SDK
M
ETHO
D
TW
ILIO
EVALUATES
JW
T
TO
KEN
TW
ILIO
EXECUTES
IP
M
ESSAGE
M
ETHO
D
CARTER RABASA | @CRTR0
LETS DIVE IN
Code: Twilio IP Chat
COMMON
WEBHOOK ISSUES
CARTER RABASA | @CRTR0
FLOW OF A WEBHOOK REQUEST
INTERNET
PHO
NE
CALLIS
M
AKE
TO
A
TW
ILIO
NUM
BER
CARRIER
PASSES
THE
PHO
NE
CALLTO
TW
ILIOTW
ILIO
LO
O
KS
UP
THE
VO
ICE
W
EBHO
O
K
URL
SERVER
RESPO
NDS
W
ITH
TW
IM
LINSTRUCTIO
NS
TW
ILIO
M
AKES
AN
HTTP
REQ
UEST
TO
THE
W
EBHO
O
K
URL
TW
ILIO
PARSES
AND
EXECUTES
THE
TW
IM
L
CARTER RABASA | @CRTR0
BREAKDOWN OF WEBHOOK ISSUES
other
16%
12300
6%
12200
14%
15003
17%
11200
48%
11200 - Webhook retrieval failure
15003 - Call Progress failure
12200 - Schema Validation Warning
12300 - Invalid Content Type
1/1/2016 - 5/15/2016
220M ERRORS
CARTER RABASA | @CRTR0
LETS DIVE IN
Code: Receive a Phone Call
Check out: Debugger & TwiML Bins
REST API
Catch errors and log them.
CARTER RABASA | @CRTR0
BEST PRACTICES FOR BUILDING
CLIENT SDK
Tokens! Log even more.
WEBHOOKS
Use helper libs and respond as quickly as possible.
Unit test and load test.
Set fallback handlers, consider TwiML Bins if possible.
BREAK THE PROBLEM DOWN
Mock out different components until you isolate the problem.
CARTER RABASA | @CRTR0
BEST PRACTICES FOR DEBUGGING
CHECK FOR INTERNET/NETWORK ISSUES
Check your proxies and HTTP logs.
CHECK STATUS PAGE, DEBUGGER AND LOGS
Check status.twilio.com
Check the Debugger
Check Voice and SMS logs
CARTER RABASA | @CRTR0
TOOLS TO USE WHEN DEBUGGING
CARTER RABASA | @CRTR0
TOOLS TO USE WHEN DEBUGGING
CARTER RABASA | @CRTR0
TOOLS TO USE WHEN DEBUGGING
CARTER RABASA | @CRTR0
TOOLS TO USE WHEN DEBUGGING
CARTER RABASA | @CRTR0
CARTER RABASA CARTER@TWILIO.
CRTR0
CRTR0

Weitere ähnliche Inhalte

Was ist angesagt?

Final Twilio Under the Radar 2009 Cloud
Final Twilio Under the Radar 2009 CloudFinal Twilio Under the Radar 2009 Cloud
Final Twilio Under the Radar 2009 Cloud
Dealmaker Media
 

Was ist angesagt? (20)

Twilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
Twilio Signal 2016 Robots-IoT-Watson-Cognitive + TwilioTwilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
Twilio Signal 2016 Robots-IoT-Watson-Cognitive + Twilio
 
What Can You Do With Twilio
What Can You Do With TwilioWhat Can You Do With Twilio
What Can You Do With Twilio
 
Twilio Product Overview
Twilio Product OverviewTwilio Product Overview
Twilio Product Overview
 
TWILIO SMS Introduction
TWILIO SMS IntroductionTWILIO SMS Introduction
TWILIO SMS Introduction
 
Twilio Signal 2016 Serverless Contact Center
Twilio Signal 2016 Serverless Contact CenterTwilio Signal 2016 Serverless Contact Center
Twilio Signal 2016 Serverless Contact Center
 
Smarter SIP Trunks: 6 Ways You Can Save Time and Get More Features
Smarter SIP Trunks: 6 Ways You Can Save Time and Get More FeaturesSmarter SIP Trunks: 6 Ways You Can Save Time and Get More Features
Smarter SIP Trunks: 6 Ways You Can Save Time and Get More Features
 
Twilio Signal 2016 Using Add-ons
Twilio Signal 2016 Using Add-onsTwilio Signal 2016 Using Add-ons
Twilio Signal 2016 Using Add-ons
 
Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14Twiliobot at Google Wave Meetup 2009-09-14
Twiliobot at Google Wave Meetup 2009-09-14
 
AWS Customer Presentation - Twilio
AWS Customer Presentation - TwilioAWS Customer Presentation - Twilio
AWS Customer Presentation - Twilio
 
Open Source Software Business Model
Open Source Software Business Model Open Source Software Business Model
Open Source Software Business Model
 
Twilio using Groovy Grails
Twilio using Groovy GrailsTwilio using Groovy Grails
Twilio using Groovy Grails
 
Twilio Signal 2016 Taking Your SMS App Global
Twilio Signal 2016 Taking Your SMS App GlobalTwilio Signal 2016 Taking Your SMS App Global
Twilio Signal 2016 Taking Your SMS App Global
 
Twilio API: Build SMS Text Message Into Web Apps
Twilio API: Build SMS Text Message Into Web AppsTwilio API: Build SMS Text Message Into Web Apps
Twilio API: Build SMS Text Message Into Web Apps
 
Final Twilio Under the Radar 2009 Cloud
Final Twilio Under the Radar 2009 CloudFinal Twilio Under the Radar 2009 Cloud
Final Twilio Under the Radar 2009 Cloud
 
KazooCon 2014 - Control Cellular Service via APIs
KazooCon 2014 - Control Cellular Service via APIsKazooCon 2014 - Control Cellular Service via APIs
KazooCon 2014 - Control Cellular Service via APIs
 
Programmable Video Fundamentals
Programmable Video FundamentalsProgrammable Video Fundamentals
Programmable Video Fundamentals
 
Twilio
TwilioTwilio
Twilio
 
Building a Great Web API - Evan Cooke - QCON 2011
Building a Great Web API - Evan Cooke - QCON 2011Building a Great Web API - Evan Cooke - QCON 2011
Building a Great Web API - Evan Cooke - QCON 2011
 
Identity, Authentication, and Programmable Telecoms
Identity, Authentication, and Programmable TelecomsIdentity, Authentication, and Programmable Telecoms
Identity, Authentication, and Programmable Telecoms
 
Twilio Presentation
Twilio PresentationTwilio Presentation
Twilio Presentation
 

Ähnlich wie Twilio Signal 2016 Best Practices for Debugging Twilio Apps

Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Kai Wähner
 
Event Streaming in the Telco Industry with Apache Kafka® and Confluent
Event Streaming in the Telco Industry with Apache Kafka® and ConfluentEvent Streaming in the Telco Industry with Apache Kafka® and Confluent
Event Streaming in the Telco Industry with Apache Kafka® and Confluent
confluent
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
Luis Lopez
 

Ähnlich wie Twilio Signal 2016 Best Practices for Debugging Twilio Apps (20)

Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTCKamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
 
AWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup EconomyAWS Stripe Meetup - Powering UK Startup Economy
AWS Stripe Meetup - Powering UK Startup Economy
 
Stranger Things: The Forces that Disrupt Netflix
Stranger Things: The Forces that Disrupt NetflixStranger Things: The Forces that Disrupt Netflix
Stranger Things: The Forces that Disrupt Netflix
 
Hacking websockets
Hacking websocketsHacking websockets
Hacking websockets
 
Smart networking with service meshes
Smart networking with service meshes  Smart networking with service meshes
Smart networking with service meshes
 
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
 
Event Streaming in the Telco Industry with Apache Kafka® and Confluent
Event Streaming in the Telco Industry with Apache Kafka® and ConfluentEvent Streaming in the Telco Industry with Apache Kafka® and Confluent
Event Streaming in the Telco Industry with Apache Kafka® and Confluent
 
Introduction to RPKI
Introduction to RPKIIntroduction to RPKI
Introduction to RPKI
 
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
AWS Cloud Day Prague 2023 - Serverless tRPC - API protocol for modern TypeScr...
 
5 ip security urpf
5 ip security urpf5 ip security urpf
5 ip security urpf
 
Cloud computing for libraries an introduction
Cloud computing for libraries an introductionCloud computing for libraries an introduction
Cloud computing for libraries an introduction
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
 
5 ip security asa-partb
5 ip security asa-partb5 ip security asa-partb
5 ip security asa-partb
 
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web WorldAsterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
 
FIWARE Global Summit - Connecting to LoRa networks: Practical Demo
FIWARE Global Summit - Connecting to LoRa networks: Practical DemoFIWARE Global Summit - Connecting to LoRa networks: Practical Demo
FIWARE Global Summit - Connecting to LoRa networks: Practical Demo
 
WebRTC Videobroadcasting
WebRTC VideobroadcastingWebRTC Videobroadcasting
WebRTC Videobroadcasting
 
apidays LIVE LONDON - The Service Management Ecosystem: unification of techno...
apidays LIVE LONDON - The Service Management Ecosystem: unification of techno...apidays LIVE LONDON - The Service Management Ecosystem: unification of techno...
apidays LIVE LONDON - The Service Management Ecosystem: unification of techno...
 
Access Management with Aruba ClearPass
Access Management with Aruba ClearPassAccess Management with Aruba ClearPass
Access Management with Aruba ClearPass
 
Experiences from Incorporating Sign Language in Customer Interactions
Experiences from Incorporating Sign Language in Customer InteractionsExperiences from Incorporating Sign Language in Customer Interactions
Experiences from Incorporating Sign Language in Customer Interactions
 
Experiences from incorporating sign language in customer interactions
Experiences from incorporating sign language in customer interactionsExperiences from incorporating sign language in customer interactions
Experiences from incorporating sign language in customer interactions
 

Mehr von Twilio Inc

Mehr von Twilio Inc (20)

Salesforce’s Andy Kung on the Power of CRM Integrations
 Salesforce’s Andy Kung on the Power of CRM Integrations Salesforce’s Andy Kung on the Power of CRM Integrations
Salesforce’s Andy Kung on the Power of CRM Integrations
 
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call CenterAll Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
All Web Leads’ Lorena Lauv on How to Scale a Virtual Call Center
 
Why Mobile Messaging Works?
Why Mobile Messaging Works?Why Mobile Messaging Works?
Why Mobile Messaging Works?
 
Understand How Consumers Use Messaging
Understand How Consumers Use MessagingUnderstand How Consumers Use Messaging
Understand How Consumers Use Messaging
 
How To Track Calls Using Twilio?
How To Track Calls Using Twilio?How To Track Calls Using Twilio?
How To Track Calls Using Twilio?
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
Twilio Signal 2016 Technical Blogging
Twilio Signal 2016 Technical Blogging Twilio Signal 2016 Technical Blogging
Twilio Signal 2016 Technical Blogging
 
Twilio Signal 2016 Leading An Open Hardware Revolution
Twilio Signal 2016 Leading An Open Hardware RevolutionTwilio Signal 2016 Leading An Open Hardware Revolution
Twilio Signal 2016 Leading An Open Hardware Revolution
 
Twilio Signal 2016 IoT Using LittleBits and Twilio SMS
Twilio Signal 2016 IoT Using LittleBits and Twilio SMSTwilio Signal 2016 IoT Using LittleBits and Twilio SMS
Twilio Signal 2016 IoT Using LittleBits and Twilio SMS
 
Twilio Signal 2016 Chaos Patterns
Twilio Signal 2016 Chaos PatternsTwilio Signal 2016 Chaos Patterns
Twilio Signal 2016 Chaos Patterns
 
Twilio Signal 2016 How to Impact Non-profits
Twilio Signal 2016 How to Impact Non-profits Twilio Signal 2016 How to Impact Non-profits
Twilio Signal 2016 How to Impact Non-profits
 
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTCTwilio Signal 2016 Bringing P2P to the Masses with WebRTC
Twilio Signal 2016 Bringing P2P to the Masses with WebRTC
 
Twilio Signal 2016 Listing Services and Lead Generation
Twilio Signal 2016 Listing Services and Lead GenerationTwilio Signal 2016 Listing Services and Lead Generation
Twilio Signal 2016 Listing Services and Lead Generation
 
Twilio Signal 2016 Bots
Twilio Signal 2016 BotsTwilio Signal 2016 Bots
Twilio Signal 2016 Bots
 
Twilio Signal 2016 Omni-channel Routing Bots
Twilio Signal 2016 Omni-channel Routing BotsTwilio Signal 2016 Omni-channel Routing Bots
Twilio Signal 2016 Omni-channel Routing Bots
 
Twilio Signal 2016 New Documentation
Twilio Signal 2016 New DocumentationTwilio Signal 2016 New Documentation
Twilio Signal 2016 New Documentation
 
Twilio Signal 2016 How to Build Next Generation Speech Analytics
Twilio Signal 2016 How to Build Next Generation Speech AnalyticsTwilio Signal 2016 How to Build Next Generation Speech Analytics
Twilio Signal 2016 How to Build Next Generation Speech Analytics
 
Twilio Signal 2016 Designing Multi-party Call Flows
Twilio Signal 2016 Designing Multi-party Call FlowsTwilio Signal 2016 Designing Multi-party Call Flows
Twilio Signal 2016 Designing Multi-party Call Flows
 
Twilio Signal 2016 Career Development for Developers
Twilio Signal 2016 Career Development for DevelopersTwilio Signal 2016 Career Development for Developers
Twilio Signal 2016 Career Development for Developers
 
Twilio Signal 2016 Building Cognitive Bots
Twilio Signal 2016 Building Cognitive BotsTwilio Signal 2016 Building Cognitive Bots
Twilio Signal 2016 Building Cognitive Bots
 

Kürzlich hochgeladen

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Kürzlich hochgeladen (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Twilio Signal 2016 Best Practices for Debugging Twilio Apps

  • 1. a BEST PRACTICES FOR DEBUGGING YOUR TWILIO APPS CARTER RABASA, PRODUCT MANAGER
  • 2. ABOUT THE TALK CARTER RABASA | @CRTR0 40 minutes 100-level REST API + SDK + Webhooks
  • 3. ABOUT ME CARTER RABASA | @CRTR0 Product Manager, API Tools carter@twilio.com crtr0 crtr0
  • 4. ABOUT THE API TOOLS TEAM CARTER RABASA | @CRTR0 PROTOTYPE TEST PROD MONITORBUILD DEBUG API EXPLORER TWIML BINS DEBUGGER REQ INSP INSPECTOR TRIGGERS
  • 5. Overview Twilio’s Platform Architecture Common REST API Issues Common SDK Issues Common Webhook Issues CARTER RABASA | @CRTR0 AGENDA
  • 6. CARTER RABASA | @CRTR0 OVERVIEW OF TWILIO’S ARCHITECTURE TELECOM SDK HANDSET SERVER SIP/SMPP HTTP WEB SOCKET WEB RTC VOICE & SMS INTER
  • 7. CARTER RABASA | @CRTR0 THE INTERNET DNS NETWORK CACHING PROXIES TIMEOUTS URLS SECURITY SUPPORT
  • 8. CARTER RABASA | @CRTR0 DEBUGGING Software is easy to debug if you treat it like anything else. If you have what you think is a bad light bulb, but when you put a new bulb in the socket it doesn’t work, you’d conclude the problem was in the socket, not the bulb.” DEBUGGING CAN BE EASY“ - Dave Winer
  • 10. CARTER RABASA | @CRTR0 FLOW OF REST API REQUESTS INTERNET SERVER M AKES HTTP REQ UEST TO SEND AN SM S TW ILIO AUTHENTICATES THE REQ UEST TW ILIO VALIDATES THE PARAM ETERS PASSED TW ILIO PASSES M ESSAGE TO SM S CARRIER CARRIER DELIVERS SM S TO END USER’S HANDSET
  • 11. CARTER RABASA | @CRTR0 BREAKDOWN OF REST API ERRORS 4xx 43% 401 57% 5/1/2016 - 5/15/2016 3B REST API CALLS
  • 12. CARTER RABASA | @CRTR0 LETS DIVE IN Code: Send an SMS Check Out the API Explorer
  • 14. CARTER RABASA | @CRTR0 FLOW OF SDK REQUESTS CLIENT ASKS SERVER FO R A IP M ESSAGING TO KEN CLIENT INITIALIZES IP M ESSAGING SDK W ITH TO KEN INTERNET CLIENT INVO KES IP M ESSAGING SDK M ETHO D TW ILIO EVALUATES JW T TO KEN TW ILIO EXECUTES IP M ESSAGE M ETHO D
  • 15. CARTER RABASA | @CRTR0 LETS DIVE IN Code: Twilio IP Chat
  • 17. CARTER RABASA | @CRTR0 FLOW OF A WEBHOOK REQUEST INTERNET PHO NE CALLIS M AKE TO A TW ILIO NUM BER CARRIER PASSES THE PHO NE CALLTO TW ILIOTW ILIO LO O KS UP THE VO ICE W EBHO O K URL SERVER RESPO NDS W ITH TW IM LINSTRUCTIO NS TW ILIO M AKES AN HTTP REQ UEST TO THE W EBHO O K URL TW ILIO PARSES AND EXECUTES THE TW IM L
  • 18. CARTER RABASA | @CRTR0 BREAKDOWN OF WEBHOOK ISSUES other 16% 12300 6% 12200 14% 15003 17% 11200 48% 11200 - Webhook retrieval failure 15003 - Call Progress failure 12200 - Schema Validation Warning 12300 - Invalid Content Type 1/1/2016 - 5/15/2016 220M ERRORS
  • 19. CARTER RABASA | @CRTR0 LETS DIVE IN Code: Receive a Phone Call Check out: Debugger & TwiML Bins
  • 20. REST API Catch errors and log them. CARTER RABASA | @CRTR0 BEST PRACTICES FOR BUILDING CLIENT SDK Tokens! Log even more. WEBHOOKS Use helper libs and respond as quickly as possible. Unit test and load test. Set fallback handlers, consider TwiML Bins if possible.
  • 21. BREAK THE PROBLEM DOWN Mock out different components until you isolate the problem. CARTER RABASA | @CRTR0 BEST PRACTICES FOR DEBUGGING CHECK FOR INTERNET/NETWORK ISSUES Check your proxies and HTTP logs. CHECK STATUS PAGE, DEBUGGER AND LOGS Check status.twilio.com Check the Debugger Check Voice and SMS logs
  • 22. CARTER RABASA | @CRTR0 TOOLS TO USE WHEN DEBUGGING
  • 23. CARTER RABASA | @CRTR0 TOOLS TO USE WHEN DEBUGGING
  • 24. CARTER RABASA | @CRTR0 TOOLS TO USE WHEN DEBUGGING
  • 25. CARTER RABASA | @CRTR0 TOOLS TO USE WHEN DEBUGGING
  • 26. CARTER RABASA | @CRTR0 CARTER RABASA CARTER@TWILIO. CRTR0 CRTR0