Introduction to VoIP and the Cloud - The Essential Concepts
Duration: 4 Days
Course Background
The aim of this course is to introduce technologists, service providers and developers to Voice Over IP (VoIP) and Cloud Computing and the potential that comes from combining these two technologies together. The course explains the technologies and protocols underpinning VoIP as well as the technologies and protocols underpinning Cloud Computing (using OpenStack as a particular instance of a Cloud Computing Framework). The course is organised around a workshop format consisting of instructor presentations and breakout dicussion and research groups.
Course Prerequisites and Target Audience
This course does not assume any particular set of programming or system administration skills. It does however require a degree of technological knowledge and practical experience of working with computers and telephony systems.
Course Outline
- Fundamentals of telecommunications
- Telephony and voice Transmission
- Characteristics of the human voice
- Digital signal processing of voice
- Digital telephony
- Basics of mobile telephony - GSM, GPRS, 3G (UMTS), 4G (LTE)
- Principles of TCP/IP Networks
- Overview of TCP/IP
- Local area networks vs. Wide area networks
- What is a protocol ?
- IP and network wide addressing
- Switches and Routers explained
- Why routing protocols are necessary
- The client/server programming model underlying TCP/IP applications
- Domain Names and DNS
- HTTP and the Internet - the important concepts
- IPv4 vs. IPv6
- VoIP
- Brief overview and history
- Making VoIP calls
- Understanding the Standards and technologies underpinning VoIP
- Codecs and VoIP
- Voice quality aspects of VoIP
- SIP - Session Initiation Protocol
- Call signaling - H323
- Peer to peer VoIP networking (e.g. Skype)
- Directory and addressing aspects of VoIP
- Network, Media Application convergence
- VoIP and Instant Messaging
- VoIP and multimedia
- VoIP and the web
- Wireless VoIP
- VoIP applications
- Collaborative and distance learning
- Virtual/remote laboratories and telemedicine
- VoIP and Identity
- Pay-for services
- Asterisk - an introduction
- FreeSwitch - an introduction
- Cloud Computing Overview of history, concepts and terminology
- Components of a Cloud Computing Framework - Infrastucture, Platforms, Applications, Clients
- Origins of Cloud Computing
- Client - Server
- Virtualisation
- Service oriented computing
- Grid computing
- Exploring the Cloud Computing Layers - using OpenStack as a Case Study
- Application - Software as a Service (SaaS)
- Platform - Platform as a Service (PaaS)
- Infrastructure - Infrastructure as a Service (IaaS)
- The Network as a Service
- Private cloud infrastructure
- Public cloud infrastructure
- Hybrid - Public-Private cloud Infrastructure
- Combining VoIP and the Cloud
- Introductioin to the Mobicents Open Source Java VoIP Platform
- Introduction to the Twilio API for making and receiving phone calls and send and receive text messages via a web service
- Introduction to the Restcomm API for developing Twilio Real Time web based communications
- Developing cloud based VoIP applications using Mobicents and Restcomm