- Time: Thursday 18:10-21:00
- Classroom: TC-208 (ext. 94334492)
- Course Name: IP Telephony (網際網路電話)
- Overview:
This course explores
how to set up and administer a highly reliable unified communications
platform using the latest tools. Find out how to choose codecs, enable
new HD voice and video services, handle security, and maintain optimal
QoS. This course offers start-to-finish details on carrier-grade VoIP
network design, troubleshooting, and interconnection.
- Prerequisite: Computer Networks
- Target Students: GP
- Upper-limit: 10 students
- Instructor: Dr. Quincy Wu
- TA:
- Credit: 3
- Grading Criteria: Homework (40%), Midterm/Final Exams (30%), Oral
Presentation (30%)
Term Projects
- 千里傳音 (TANet VoIP)
- 隨按即說 (Push-To-Talk; PTT)
- 通話品質 (Video Surveillance Network)
- VoLoRa
- Serverless VoIP on NDN (Named Data Networking)
References
- Daniel Collins, "Carrier Grade Voice over IP",
New York : McGraw-Hill, 2001.
(NCNU NetLibrary
eBook)
- FreeSwitch
Explained
- SIP.js Development Guides
Syllabus
- Introduction (Chapter 1) - VoIP
vs. IP Telephony
- Basics about TCP/IP
- Socket Programming
- Python Socket API
- [HOWTO] Socket
Programming - This document clearly illustrates the concept of
socket programming, but the sample code cannot be directly
copied and pasted.
- Examples
of the socket module
- You'll need the select
module to handle blocking recv().
- [eBook] Foundation of Python Network Programming
- TCP sends data in streams instead of message chunks.
- [Lab] File Transfer
- [Lab] Python and C
- Audio
- RTP
- Codecs: G.711, AMR, iLBC
- Redundant Audio Codecs
- SIP
- FreeSwitch
- ONSIP
- WebRTC
- Push-To-Talk
- GoToMeeting
- [YouTube] Firefox Hello
- Wikipedia - WebRTC
- How
WebRTC Is Revolutionizing Telephony.
Blogs.trilogy-lte.com (2014-02-21). Retrieved on 2014-04-11.
- [YouTube] Justin Uberti,
WebRTC - Plugin-free realtime communication, 2013.
- [I-D] Overview: Real Time Protocols for Browser-based Applications
draft-ietf-rtcweb-overview-18.txt
VoIP Security
- Secure RTP (SRTP)
-
vomit - hacker tool that converts captured VoIP packets into
a WAV file.
-
Zfone - similar to
PGP in emails.
- RFC 6189 - ZRTP
- Handbook of image and video processing [electronic
resource] /
- Disappearing cryptography [electronic resource] : information
hiding : steganography & watermarking
RFC
- RFC 6086 - SIP INFO
- RFC 3428 - Session Initiation Protocol (SIP) Extension for Instant
Messaging
- RFC 3311 - SIP UPDATE
- RFC 7647 - The Session Initiation Protocol (SIP) Refer Method
- RFC 3319 - Dynamic Host Configuration Protocol (DHCPv6) Options for
Session
Initiation Protocol (SIP) Servers.
- RFC 3361 - Dynamic Host Configuration Protocol (DHCP-for-IPv4)
Option for
Session Initiation Protocol (SIP) Servers.
- RFC 3326 - The Reason Header Field for the Session Initiation
Protocol (SIP)
- RFC 3581 - An Extension to the Session Initiation Protocol (SIP)
for Symmetric
Response Routing
- RFC 4566 - IPv6 in Session Description Protocol (SDP)
- RFC 3267 - Real-Time Transport Protocol (RTP) Payload Format and
File Storage
Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate
Wideband (AMR-WB) Audio Codecs
- RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow
Examples.
- RFC 3725 Best Current Practices for Third Party Call Control (3pcc)
in the
Session Initiation Protocol (SIP)
- 3824 Using E.164 numbers with the Session Initiation Protocol (SIP)
- 3842 A Message Summary and Message Waiting Indication Event Package
for
the Session Initiation Protocol (SIP)
- 3853 S/MIME Advanced Encryption Standard (AES) Requirement for the
Session Initiation Protocol (SIP)
- 3892 The Session Initiation Protocol (SIP) Referred-By Mechanism
- 3911 The Session Initiation Protocol (SIP) "Join" Header
- 4028 Session Timers in the Session Initiation Protocol (SIP)
- 4353 A Framework for Conferencing with the Session Initiation
Protocol
(SIP)
- 4475 Session Initiation Protocol (SIP) Torture Test Messages.
- 4579 Session Initiation Protocol (SIP) Call Control - Conferencing
for
User Agents.
- 6405 Voice over IP (VoIP) SIP Peering Use Cases
- 7904 A SIP Usage for REsource LOcation And Discovery (RELOAD)
- 6914 SIMPLE Made Simple: An Overview of the IETF Specifications for
Instant Messaging and Presence Using SIP
- 7092 A Taxonomy of SIP Back-to-Back User Agents
- 7118 The WebSocket Protocol as a Transport for SIP
- 7339 Session Initiation Protocol (SIP) Overload Control
- 7355 Indicating WebSocket Protocol as a Transport in SIP Common Log Format (CLF)
- 7403 A Media-Based Traceroute Function for SIP
- 7415 Session Initiation Protocol (SIP) Rate Control
- 7502 Methodology for Benchmarking SIP Devices
- 7584 STUN Message Handling for SIP Back-to-Back User Agents (B2BUAs)
- 7890 Concepts and Terminology for Peer-to-Peer SIP (P2PSIP)
- 7984 Locating SIP Servers in a Dual-Stack IP Network
- 8048 Interworking between SIP and XMPP
- 8068 SIP Recording Call Flows
- 8083 Multimedia Congestion Control: Circuit Breakers for Unicast
RTP Sessions
Articles
-
GNU Free Call: An Open Source Skype Alternative
-
VoIP security, PGP style
- PEM relied on a centrally managed PKI, which has proven to be
unworkable.