1. Course Name: IP Telephony (網際網路電話)
  2. Time: Friday 14:00-17:00
  3. Classroom: TC-209
  4. Students: 17
  5. Overview: This course gives an overview of network protocols behind IP Telephony, or the so-called Voice over Internet Protocol (VoIP) service. In each week, students will read an Internet standard published by IETF (Internet Engineering Task Force), and an academic paper about IP telephony services.
  6. Prerequisite: Computer Networks
  7. Grading Criteria: Assignment (40%), Participation (30%), Oral Presentation (30%)

Documents to Read

  1. 2/24 RFC 2026 - Internet Standards Process (Version 3)
  2. 3/3 RFC 3550/3551 - RTP/RTCP (Obsoletes RFC 1889)
  3. 3/10 RFC 8866 - Session Description Protocol (SDP), RFC 2974 - Session Announcement Protocol (SAP)
  4. 3/17 RFC 3261 - Session Initiation Protocol (SIP)
  5. 3/24 RFC 3264 - Offer/Answer, RFC 3665 - Basic Call Flow
    RFC 5589 (BCP 149) - SIP Call Control - Transfer
    Consultative Transfer vs. Attended Transfer
  6. 3/31 彈性放假
  7. 4/7 RFC 6314 - NAT Traversal for Client-Server SIP
  8. 4/14 RFC 3725 - 3PCC
  9. 4/21 RFC 4733 - DTMF, RFC 6086 - INFO, Draft - SIP INFO Package for DTMF
  10. 4/28 RFC 2733 - An RTP Payload Format for Generic Forward Error Correction (FEC), RFC 3453 - FEC in Reliable Multicast, RFC 6363 - FEC
  11. 5/5 RFC 3711 - Secure RTP
  12. 5/12 RFC 3428 - MESSAGE, RFC 2778,2779 - IMPS
  13. 5/19 RFC 4975 - MSRP
  14. 5/26 RFC 3903 - PUBLISH, SUBSCRIBE/NOTIFY
  15. 6/2 RFC 4353 - A Framework for Conferencing with SIP
    RFC 4579 (BCP 119) - SIP Call Control - Conferencing for User Agent
  16. 6/9 RFC 2782 - DNS SRV, RFC 3263 - Locating SIP Servers
  17. 6/16 RFC 4189 - Requirements for End-to-Middle Security for the Session Initiation Protocol (SIP)
  18. RFC 3960 - Early Media
(3 CACM, 2 IEEE Network, 2 Computing Survey)

Software

  1. Linphone for Win32
  2. pyLibSRTP

Outline

  1. Introduction
  2. Digitizing Voices
  3. Codecs
  4. IP, UDP, RTP
  5. gstreamer with Python
  6. Session Initiation Protocol (SIP)
  7. Softphone
  8. Python-sipsimple
  9. Midterm Exam
  10. DTMF
  11. Instant Messaging
  12. Presence Services
  13. FreeSwitch
  14. Voicemail
  15. 3rd Party Call Control (3PCC)
  16. VoIP Gateways
  17. WebRTC
  18. Term Project Presentation