twilio signal 2016 build your own cloud enterprise voip

29
a BUILD YOUR OWN CLOUD ENTERPRISE VOIP USING TWILIO SIP TRUNKING

Upload: twilio-inc

Post on 10-Jan-2017

55 views

Category:

Software


0 download

TRANSCRIPT

a

BUILD YOUR OWN CLOUDENTERPRISE VOIP USING TWILIO SIP TRUNKING

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 |

YOU HAVE BECOME THE

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

ADMINISTERING TRUNKS IN THE TWILIO

STEVEN PLATT |

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

VIEWING USAGE IN THE TWILIO PORTAL

STEVEN PLATT |

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)

YOUR NAME | TWITTER

EMERGENCY SERVICES: 911 & 112

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

VIRTUALIZED

YOUR NAME | TWITTER

TWITTER: REMOTE DEPLOY & SHORETEL UC

VIRTUALIZED

YOUR NAME | TWITTER

TWITTER: REMOTE DEPLOY & SHORETEL UC

VIRTUALIZED

YOUR NAME | TWITTER

TWITTER: REMOTE DEPLOY & SHORETEL UC

VIRTUALIZED

YOUR NAME | TWITTER

TWITTER: REMOTE DEPLOY & SHORETEL UC

TWILIO SIP TRUNKING

YOUR NAME | TWITTER

TWITTER: REMOTE DEPLOY & SHORETEL UC

TWILIO SIP TRUNKING

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

ANY QUESTIONS?

STEVEN PLATT @STEVENPLATT