twilio signal 2016 build your own cloud enterprise voip
TRANSCRIPT
STEVEN PLATT |
ABOUT ME
Steven Platt
Engineer on the Systems Engineering team at Twitter and is architect of the companies global phone network.
10 years experience in Network Engineering, Unified Communications, and Distributed Systems.
THE STRUGGLE: VOIP Y U NO SCALING?!
TRADITIONAL TELECOM CARRIERS DO NOT SCALE
Regulation & Market Availability
Location Dependence
Hardware Incompatibility
Expensive
Long Lead Time for Delivery
STEVEN PLATT |
AGENDA
STEVEN PLATT |
Decoupling Services
Twilio SIP Trunk Deployment
Routing and Performance
Emergency Services
Case Study: Twitter
DECOUPLING SERVICES
Framework for scaling adaptable networks
Vendor agnostic
On demand services
Customizable, not Custom (modular)
Scales in depth and breadth
STEVEN PLATT |
AGENDA
STEVEN PLATT |
Decoupling Services
Twilio SIP Trunk Deployment
Routing and Performance
Emergency Services
Case Study: Twitter
POST /TRUNKSCURL -XPOST HTTPS://TRUNKING.TWILIO.COM/V1/TRUNKS \ -D "FRIENDLYNAME=SIPISAWESOME" \ -U '{TWILIO ACCOUNT SID}:{TWILIO AUTH TOKEN}’
POST /TRUNKS/{TRUNK SID}/CREDENTIALLISTSCURL -XPOST HTTPS://TRUNKING.TWILIO.COM/V1/TRUNKS/{TRUNK SID}/CREDENTIALLISTS \ -D "CREDENTIALLISTSID=XXX" \ -U '{TWILIO ACCOUNT SID}:{TWILIO AUTH TOKEN}’
POST /TRUNKS/{TRUNK SID}/IPACCESSCONTROLLISTSCURL -XPOST HTTPS://TRUNKING.TWILIO.COM/V1/TRUNKS/{TRUNK SID}/IPACCESSCONTROLLISTS \ -D "IPACCESSCONTROLLISTSID=XXX" \ -U '{TWILIO ACCOUNT SID}:{TWILIO AUTH TOKEN}'
Use a unique trunk for each office location, granular reporting & control
< CODE SAMPLE >
</ CODE SAMPLE >
BUILDING YOUR
STEVEN PLATT |
YOUR NAME | TWITTER
POST /TRUNKS/{TRUNK SID}/PHONENUMBERS
CURL -XPOST HTTPS://TRUNKING.TWILIO.COM/V1/TRUNKS/{TRUNK SID}/PHONENUMBERS \ -D "PHONENUMBERSID=XXX" \
-D "PHONENUMBERSID=XXX" \-D "PHONENUMBERSID=XXX" \-D "PHONENUMBERSID=XXX" \
-U '{TWILIO ACCOUNT SID}:{TWILIO AUTH TOKEN}'
Provision numbers in bulk for office phone service deployments
< CODE SAMPLE >
</ CODE SAMPLE >
NUMBER PROVISI
YOUR NAME | TWITTER
GET ONE MONTH USAGE - INBOUND CALLS$ CURL -G HTTPS://API.TWILIO.COM/2010-04-01/ACCOUNTS/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/USAGE/RECORDS.JSON \ -D "CATEGORY=CALLS-INBOUND" \ -D "STARTDATE=2012-09-01" \ -D "ENDDATE=2012-09-30" \ -U 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:{{ AUTH_TOKEN }}’
GET ONE MONTH USAGE - OUTBOUND CALLS$ CURL -G HTTPS://API.TWILIO.COM/2010-04-01/ACCOUNTS/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/USAGE/RECORDS.JSON \ -D "CATEGORY=CALLS-OUTBOUND" \ -D "STARTDATE=2012-09-01" \ -D "ENDDATE=2012-09-30" \ -U 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:{{ AUTH_TOKEN }}'
Get call volume, cost, and, other usage reporting with Twilio’s Elastic SIP Trunking “Usage” API’s
< CODE SAMPLE >
</ CODE SAMPLE >
SIP TRUNKIN
AGENDA
STEVEN PLATT |
Decoupling Services
Twilio SIP Trunk Deployment
Routing and Performance
Emergency Services
Case Study: Twitter
DIAL PLANNING
Order numbers in continuous blocks
Specify allowed ranges to avoid system extension overlap
Dial full e.164 format to simplify digit manipulation and location dependance
Use least cost routing to terminate calls to Twilio POP closest to destination
[2‐9]11|011XXX.T|[2‐9]XXXXXXXXX|[2‐9]XX.T
STEVEN PLATT |
ROUTING & FAILOVER
Geolocate network egress to closest Twilio POP
Avoid ‘hair pinning' calls in Hub & Spoke networks
Round trip time must not exceed 300ms
Use DNS SRV to allow failover Twilio side
_sip._udp.amersip.company.com 86400 IN SRV 20 1 5060 amer-proxy-west.company.com
_sip._udp.amersip.company.com 86400 IN SRV 30 1 5060 amer-proxy-east.company.com
STEVEN PLATT |
AGENDA
STEVEN PLATT |
Decoupling Services
Twilio SIP Trunk Deployment
Routing and Performance
Emergency Services
Case Study: Twitter
YOUR NAME | TWITTER
EMERGENCY SERVICES: 911 & 112
Cloud providers waive emergency call liability
Local termination may be required
Emergency services are highly regulated
US has e911 regulation requiring desk location tracking in some states
e112 regulation is pending in Europe
Developing markets often use manual PSAP routing (operators)
AGENDA
STEVEN PLATT |
Decoupling Services
Twilio SIP Trunk Deployment
Routing and Performance
Emergency Services
Case Study: Twitter
YOUR NAME | TWITTER
TWITTER: REMOTE DEPLOY & SHORETEL UC
Direct PSAP routing outside US
e911 support in United States
Intrado ‘911Enable’ for desk location tracking in regulated US states
Call back numbers on all devices
EMERGENCY LOCATION
YOUR NAME | TWITTER
A BETTER UC CLOUD: POWERED BY TWILIO
DEPLOYMENT SUMMARY
FASTER REMOTE
DEPLOYMENT
WIDER COVERAGE
LOWER TOTAL COST
FULLY VIRTUAL
LOCATION INDEPENDENT
EMERGENCY SERVICES
SUPPORTED
_________________________
__________
TWILIO SIP TRUNKING