404 - Page Not Found
20 | 21 |Oops! Looks like you've wandered into uncharted territory.
22 |The page you're looking for doesn't exist or has been moved.
23 | 24 | 29 |├── img ├── api_logo.webp ├── aws_logo.webp ├── favicon.webp ├── java_logo.webp ├── python_logo.webp ├── steven_platt.webp ├── twilio_logo.webp ├── twitter_logo.webp └── screenshots │ ├── blog_page.png │ ├── about_page.png │ ├── page_speed.png │ ├── resume_page.png │ ├── blog_post_page.png │ ├── mobile_layout.png │ ├── portfolio_page.png │ ├── research_page.png │ ├── mobile_about_page.png │ └── mobile_blog_page.png ├── examples └── telecomsteve │ ├── img │ ├── gemeni.jpg │ ├── gemini.webp │ ├── yoptio.png │ ├── api_logo.webp │ ├── aws_logo.webp │ ├── favicon.webp │ ├── gcp_logo.jpg │ ├── stackdyno.png │ ├── java_logo.webp │ ├── python_logo.webp │ ├── twilio_logo.webp │ ├── telecomsteve.webp │ └── twitter_logo.webp │ ├── sidenav.html │ ├── 404.html │ ├── index.html │ ├── portfolio.html │ ├── resume.html │ └── publications.html ├── sidenav.html ├── LICENSE ├── 404.html ├── .devcontainer ├── devcontainer.json └── Dockerfile ├── index.html ├── blog.html ├── blog-posts └── post-04-27-2021.html ├── .github └── workflows │ └── ci.yml ├── js └── nav-loader.js ├── .gitignore ├── Makefile ├── resume.html ├── portfolio.html ├── README.md ├── css └── stylesheet.css └── research.html /img/api_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/api_logo.webp -------------------------------------------------------------------------------- /img/aws_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/aws_logo.webp -------------------------------------------------------------------------------- /img/favicon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/favicon.webp -------------------------------------------------------------------------------- /img/java_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/java_logo.webp -------------------------------------------------------------------------------- /img/python_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/python_logo.webp -------------------------------------------------------------------------------- /img/steven_platt.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/steven_platt.webp -------------------------------------------------------------------------------- /img/twilio_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/twilio_logo.webp -------------------------------------------------------------------------------- /img/twitter_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/twitter_logo.webp -------------------------------------------------------------------------------- /img/screenshots/blog_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/blog_page.png -------------------------------------------------------------------------------- /img/screenshots/about_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/about_page.png -------------------------------------------------------------------------------- /img/screenshots/page_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/page_speed.png -------------------------------------------------------------------------------- /img/screenshots/resume_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/resume_page.png -------------------------------------------------------------------------------- /img/screenshots/blog_post_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/blog_post_page.png -------------------------------------------------------------------------------- /img/screenshots/mobile_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/mobile_layout.png -------------------------------------------------------------------------------- /img/screenshots/portfolio_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/portfolio_page.png -------------------------------------------------------------------------------- /img/screenshots/research_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/research_page.png -------------------------------------------------------------------------------- /examples/telecomsteve/img/gemeni.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/gemeni.jpg -------------------------------------------------------------------------------- /examples/telecomsteve/img/gemini.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/gemini.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/yoptio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/yoptio.png -------------------------------------------------------------------------------- /img/screenshots/mobile_about_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/mobile_about_page.png -------------------------------------------------------------------------------- /img/screenshots/mobile_blog_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/img/screenshots/mobile_blog_page.png -------------------------------------------------------------------------------- /examples/telecomsteve/img/api_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/api_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/aws_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/aws_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/favicon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/favicon.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/gcp_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/gcp_logo.jpg -------------------------------------------------------------------------------- /examples/telecomsteve/img/stackdyno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/stackdyno.png -------------------------------------------------------------------------------- /examples/telecomsteve/img/java_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/java_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/python_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/python_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/twilio_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/twilio_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/telecomsteve.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/telecomsteve.webp -------------------------------------------------------------------------------- /examples/telecomsteve/img/twitter_logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenplatt/ResearchEng-Portfolio/HEAD/examples/telecomsteve/img/twitter_logo.webp -------------------------------------------------------------------------------- /examples/telecomsteve/sidenav.html: -------------------------------------------------------------------------------- 1 | 2 |
7 | 8 |Oops! Looks like you've wandered into uncharted territory.
22 |The page you're looking for doesn't exist or has been moved.
23 | 24 | 29 |
19 | Oops! Looks like you've wandered into uncharted territory.
21 |The page you're looking for doesn't exist or has been moved.
22 | 23 | 28 |The occasional technology musing as well as research in progress.
Apr 27 2021
23 | How to deploy a static website to Amazon S3 24 |Jun 7 2020
27 | Placeholder 28 |Jan 2 2020
31 | Placeholder 32 |
19 | These instructions also cover enabling SSL and redirecting the apex domain
Dec 30 2021: Steven Platt
Using Amazon S3 storage is cost effective and reliable way to serve a static website without having to worry web server software. 23 | Unfortunately, navigating the many AWS services and corresponding tutorials means that the required information is often not all in one place. 24 | This article will walk through the steps required to launch an S3-based static website end-to-end and is split into four parts: 25 |
26 |27 |
35 |
Backend research engineer and developer. Member IEEE.
19 |Email: steven@ieee.org, San Francisco, California, US
20 |Doctoral Researcher, Barcelona, Spain, 2018-current
43 |Systems Engineer II - Global Office Expansion, San Francisco, US, 2014-2017
51 |Network Engineer - Infrastructure Operations, San Francisco, US, 2012-2014
60 |Information Technology Analyst II, Peoria, US, 2007-2012
67 |A selection of my cloud native and backend systems programming.
19 | 20 |Telecomsteve is a flat file portfolio website template designed to be lightweight, easy to maintain, and run directly from within Amazon S3. 25 | Amazon Route53 is used for domain routing combined with Amazon Cloudfront for CDN compression and caching. 26 | With no scripting, external fonts or libraries, the site receives a score of 100/100 from Google Page Speed Index for both desktop and mobile.
27 | 28 | 29 |
32 | A compact and resource-light blockchain designed to run on the OpenWRT WiFi router platform. 40 | Written in the Python, the blockchain uses Python Flask to deliver its API interface which includes functions for managing network peers, issuing blocks, and running network consesus.
41 | 42 | 43 |
46 | A simulator to recreate the mobility and tower association of a device in a 5G network. 54 | The system uses random walk behavior and monte carlo sampling to show connection behavior across 10,000 simulations.
55 | 56 |
59 | During periods of early growth, Twitter deployed a number of isolated and non-standard phone systems that had become expensive and difficult to support. 67 | To manage the complexity, Twitter hired me to unify its networks and migrate them to cloud deployment. 68 | 69 | The result was a fully virtualized phone network, combined with a Twilio Cloud SIP trunking. 70 | This new design reduced recurring carrier costs 72%. 71 |
72 | 73 | 74 |
77 | A selection of my infrastructure and full-stack projects.
19 | 20 | 35 | 36 |Yoptio is an RSS reader with additional AI features baked-in. Beyond basic feed parsing, Yoptio uses AI to support article narration, article summaries, as well as a personalized daily podcast built from users' personal Yoptio activity and feeds. 41 | I build Yoptio from the ground up; UI, back-end, as well as testing and deployment-chain automations. 42 | Yoptio runs within Google Cloud and uses Google Vertex and Gemini AI to power it's AI features. 43 |
44 | 45 | 46 |
49 | During periods of early growth, Twitter deployed a number of isolated and non-standard phone systems that had become expensive and difficult to support. 57 | To manage the complexity, Twitter hired me to unify its networks and migrate them to cloud deployment. 58 | 59 | The result was fully virtualized VoIP infrastructure, combined with a Twilio Cloud SIP trunking. 60 | This new design reduced Twitter's carrier costs 72%. 61 |
62 | 63 | 64 |
67 | A simulator to recreate the mobility and tower association of a device in a 5G network. 75 | The system uses random walk behavior and monte carlo sampling to show connection behavior across 10,000 simulations.
76 | 77 |
80 | Email: steven@telecomsteve.com, San Francisco, California, USA
19 |Lead Platform Engineer, Remote, USA, 2021-2024
37 |Doctoral Researcher, Barcelona, Spain, 2018-2021
46 |Systems Engineer II - Global Office Expansion, San Francisco, US, 2014-2017
54 |Network Engineer - Infrastructure Operations, San Francisco, US, 2012-2014
63 |Information Technology Analyst II, Peoria, US, 2007-2012
70 |My research focuses are blockchain protocols and decentralized coordination (Web3).
19 | 20 |IEEE P2677.11™ - Standard for Blockchain-based Omnidirectional Pandemic/epidemic Surveillance: Access to Telecommunications Data, Project Lead, 2020-2022.
24 |IEEE P2872™ - Standard for Interoperable and Secure Wireless Local Area Network (WLAN) Infrastructure and Architecture, Voting Member, 2020-2022.
25 |S Platt, B Demirel, M Oliver. IEEE 4th 5G World Forum (5GWF), 424-429, 2021.
31 |Traditionally, resource management and capacity allocation has been controlled network-side in cellular deployment. 32 | As autonomicity has been added to network design, machine learning technologies have largely followed this paradigm, 33 | benefiting from the higher compute capacity and informational context available at the network core. 34 | However, when these network services are disaggregated or decentralized, models that rely on assumed levels of network or information availability may no longer function reliably. 35 | This paper presents an inverted view of the resource management paradigm; 36 | one in which the client device executes a learning algorithm and manages its own mobility under a scenario where the networks and their corresponding data underneath are not being centrally managed.
37 | 38 |S Platt, L Sanabria-Russo, M Oliver. Sensors 2020, 20, 5281.
42 |Virtual Network Functions allow the effective separation between hardware and network functionality, a strong paradigm shift from previously tightly integrated monolithic, vendor, and technology dependent deployments. 43 | In this virtualized paradigm, all aspects of network operations can be made to deploy on demand, dynamically scale, as well as be shared and interworked in ways that mirror behaviors of general cloud computing. 44 | To date, although seeing rising demand, distributed ledger technology remains largely incompatible in such elastic deployments, by its nature as functioning as an immutable record store. 45 | This work focuses on the structural incompatibility of current blockchain designs and proposes a novel, temporal blockchain design built atop federated byzantine agreement, which has the ability to dynamically scale and be packaged as a Virtual Network Function (VNF) for the 5G Core.
46 | 47 |S Platt, M Oliver. IEEE Globecom Workshops (GC Wkshps), 1-5, 2019.
51 |Distributed consensus mechanisms have been widely researched and made popular with a number of blockchain-based token applications, such as Bitcoin, and Ethereum. 52 | Although these general-purpose platforms have matured for scale and security, they are designed for human incentive and continue to require currency reward and contract functions that are not requisite in machine communications. 53 | Redes Chain is a custom designed blockchain, built to support fully decentralized self-organization in wireless networks - without a cryptocurrency or contract dependency.
54 | 55 |S Platt, M Oliver. IEEE 5th World Forum on Internet of Things (WF-IoT), 402-407, 2019.
59 |While direct allocation of spectrum and evolved medium access protocols provide a base for ubiquitous wireless connectivity, the existing TCP/IP and OSI models were designed for wired networks and do not address open interconnection of air interfaces. 60 | Without an interconnection model for the air interface, existing network designs continue to tie wireless medium access to that of the backhaul provider for ownership of access and identity trust, resulting in limitations on functionality and coverage. 61 | In this paper, we propose a novel solution to access ownership and identity trust by extending the TCP network standard, under a new model we propose, named TCP-Air which integrates distributed ledger technologies directly at the air interface. 62 | Further, we present two use cases of the TCP-Air model, demonstrating applications not feasible under existing permissioned-access network designs.
63 | 64 |S Platt. M.Sc. Thesis, Barcelona School of Telecommunications and Engineering, Polytechnic University of Catalonia, Barcelona, Spain, 2018.
68 |In recent years, network function virtualization and a software defined focus has allowed networks to become flexible and extensible in ways not possible previously. 69 | Although network modeling tools such as NS-2, NS-3, and OMNet++ have been extended with modules and code to support the absolute latest wireless protocols and medium access standards - there has been a growing gap in simulation of the layers above medium access which recent 5G use cases are designed to support. 70 | In this thesis, I measure the qualitative performance of application layer modeling in vehicle networks, taking the cooperative maneuver use case presented under "Project 5GCar" to design and simulate an autonomous merge algorithm using the VSimRTI network simulation stack.
71 | 72 |"Blockchain for Decentralized 5G Public Utility Overlay Networks", 77 | 3rd Workshop on 5G Technologies for First Responder and Tactical Networks, New York, US, December 2020.
78 | 79 |"Towards Blockchain for Decentralized Self-Organizing Wireless Networks", 80 | IEEE Globecom, Workshop on Blockchain in Telecommunications, Hawaii, US, December 2019.
81 | 82 |"A Distributed Ledger-Enabled Interworking Model for the Wireless Air Interface", 83 | IEEE 5th World Forum on the Internet of Things, Limerick, Ireland, April 2019.
84 | 85 |"Enterprise SIP Trunking, Lessons Learned", 86 | Enterprise Connect Conference, Orlando, US, March 2017.
87 | 88 |"Enterprise SIP Trunking", 89 | Twilio Signal Conference, San Francisco, US, May 2016.
90 | 91 |My research focuses are blockchain protocols and decentralized coordination (Web3).
19 | 20 |S Platt. Manning Publications Co. 2024.
25 |Peer-to-Peer Web Applications takes you beyond toy examples and basic tutorials to build a complete peer-to-peer web app from start to finish. 26 | Chapter-by-chapter, you'll iterate and improve on "Code Radio", a music streaming service that runs entirely on user's machines. 27 | As you go, you'll learn how to create web client applications that connect directly to other clients without the need for a central server. 28 | Add new features like client-side storage and compute, peer-to-peer connections, and use PublicKey and Zero-Knowledge cryptography to set up authentication and certify updates. 29 | Once your app is built and upgraded, you'll begin to explore the blockchain. 30 | You'll implement a payment feature using different blockchain offerings, comparing and contrasting their ecosystems and workflows. 31 | By the time you're done tinkering, your Code Radio app will be a complex, commercial grade application with a polished user experience and absolutely no centralized server!
32 | 33 |S Platt. PhD Thesis, Universitat Pompeu Fabra, Barcelona, Spain, 2021.
39 |This thesis undertakes an investigation into the fit and utility of blockchain technologies within cellular networks. 40 | The core of this writing is a new 5G core network blockchain designed to be compatible with, and paired as storage for 3GPP-compliant virtual network functions. 41 | Compatibility of the blockchain design is delivered by inheriting a number of behaviors from wireless network operation, including a CSMA/CD mechanism of congestion control; a first for a blockchain design. 42 | At the carrier level, a deployment model compatible with ETSI General Autonomous Network Architecture is presented to enable decentralized service overlays. 43 | At the network edge, a novel model of transition learning allows fluid roaming of user-equipment across network boundaries. 44 | At the conclusion, the theory is combined, to reveal a model of decentralized overlays, which at the user equipment, functions in a manner similar to FM radio. 45 | A network channel radio of sorts for decentralized cellular access.
46 | 47 |S Platt. M.Sc. Thesis, Barcelona School of Telecommunications and Engineering, Polytechnic University of Catalonia, Barcelona, Spain, 2018.
51 |In recent years, network function virtualization and a software defined focus has allowed networks to become flexible and extensible in ways not possible previously. 52 | Although network modeling tools such as NS-2, NS-3, and OMNet++ have been extended with modules and code to support the absolute latest wireless protocols and medium access standards - there has been a growing gap in simulation of the layers above medium access which recent 5G use cases are designed to support. 53 | In this thesis, I measure the qualitative performance of application layer modeling in vehicle networks, taking the cooperative maneuver use case presented under "Project 5GCar" to design and simulate an autonomous merge algorithm using the VSimRTI network simulation stack.
54 | 55 |S Platt, B Demirel, M Oliver. IEEE 4th 5G World Forum (5GWF), 424-429, 2021.
61 |Traditionally, resource management and capacity allocation has been controlled network-side in cellular deployment. 62 | As autonomicity has been added to network design, machine learning technologies have largely followed this paradigm, 63 | benefiting from the higher compute capacity and informational context available at the network core. 64 | However, when these network services are disaggregated or decentralized, models that rely on assumed levels of network or information availability may no longer function reliably. 65 | This paper presents an inverted view of the resource management paradigm; 66 | one in which the client device executes a learning algorithm and manages its own mobility under a scenario where the networks and their corresponding data underneath are not being centrally managed.
67 | 68 |S Platt, L Sanabria-Russo, M Oliver. Sensors 2020, 20, 5281.
72 |Virtual Network Functions allow the effective separation between hardware and network functionality, a strong paradigm shift from previously tightly integrated monolithic, vendor, and technology dependent deployments. 73 | In this virtualized paradigm, all aspects of network operations can be made to deploy on demand, dynamically scale, as well as be shared and interworked in ways that mirror behaviors of general cloud computing. 74 | To date, although seeing rising demand, distributed ledger technology remains largely incompatible in such elastic deployments, by its nature as functioning as an immutable record store. 75 | This work focuses on the structural incompatibility of current blockchain designs and proposes a novel, temporal blockchain design built atop federated byzantine agreement, which has the ability to dynamically scale and be packaged as a Virtual Network Function (VNF) for the 5G Core.
76 | 77 |S Platt, M Oliver. IEEE Globecom Workshops (GC Wkshps), 1-5, 2019.
81 |Distributed consensus mechanisms have been widely researched and made popular with a number of blockchain-based token applications, such as Bitcoin, and Ethereum. 82 | Although these general-purpose platforms have matured for scale and security, they are designed for human incentive and continue to require currency reward and contract functions that are not requisite in machine communications. 83 | Redes Chain is a custom designed blockchain, built to support fully decentralized self-organization in wireless networks - without a cryptocurrency or contract dependency.
84 | 85 |S Platt, M Oliver. IEEE 5th World Forum on Internet of Things (WF-IoT), 402-407, 2019.
89 |While direct allocation of spectrum and evolved medium access protocols provide a base for ubiquitous wireless connectivity, the existing TCP/IP and OSI models were designed for wired networks and do not address open interconnection of air interfaces. 90 | Without an interconnection model for the air interface, existing network designs continue to tie wireless medium access to that of the backhaul provider for ownership of access and identity trust, resulting in limitations on functionality and coverage. 91 | In this paper, we propose a novel solution to access ownership and identity trust by extending the TCP network standard, under a new model we propose, named TCP-Air which integrates distributed ledger technologies directly at the air interface. 92 | Further, we present two use cases of the TCP-Air model, demonstrating applications not feasible under existing permissioned-access network designs.
93 | 94 |IEEE P2677.11™ - Standard for Blockchain-based Omnidirectional Pandemic/epidemic Surveillance: Access to Telecommunications Data, Project Lead, 2020-2022.
98 |IEEE P2872™ - Standard for Interoperable and Secure Wireless Local Area Network (WLAN) Infrastructure and Architecture, Voting Member, 2020-2022.
99 |"Blockchain for Decentralized 5G Public Utility Overlay Networks", 104 | 3rd Workshop on 5G Technologies for First Responder and Tactical Networks, New York, US, December 2020.
105 | 106 |"Towards Blockchain for Decentralized Self-Organizing Wireless Networks", 107 | IEEE Globecom, Workshop on Blockchain in Telecommunications, Hawaii, US, December 2019.
108 | 109 |"A Distributed Ledger-Enabled Interworking Model for the Wireless Air Interface", 110 | IEEE 5th World Forum on the Internet of Things, Limerick, Ireland, April 2019.
111 | 112 |"Enterprise SIP Trunking, Lessons Learned", 113 | Enterprise Connect Conference, Orlando, US, March 2017.
114 | 115 |"Enterprise SIP Trunking", 116 | Twilio Signal Conference, San Francisco, US, May 2016. (Watch on Youtube)
117 | 118 |