Syllabus

Chris Kairalla – chris @ mailtochris.com
Fall 2014
Tuesdays 6:30pm to 9:00pm
Office Hours

Week 1
Introductions: Syllabus, Examples, VoIP basics and Asterisk
Week 1 Notes
Assignment:

  • Find some interesting examples of using the phone for performance, information retrieval, social purposes and so on. Add them to the class wordpress and prepare to dial or otherwise show/talk about in class.
  • Sign up for the ITP-Telephony Mailing List.
  • Sign up for a class presentation slot
  • Get up and running with your Asterisk account. Try some simple commands in your Dialplan such as SayDigits, Playtones, Playback, and so on. Use the Asterisk book or voip-info.org as a reference.

Reading:

Week 2
Asterisk 101: Voicemail, Command Line Interface, Basic Unix and more with the Dialplan
Week 2 Notes
Assignment:

  • Try out the Asterisk Voicemail System
  • Don’t forget to sign up for a class presentation slot
  • Using the Dialplan, build your own simple Asterisk application.  Play around with different Asterisk commands, and build some simple logic with variables and extensions.  Document your app on the class homework page.

Reading:

  • Chapters 6 (again) and 8 in Asterisk book

Week 3
Softphones and Dialplan (Continued): Advanced Commands
Week 3 Notes
Assignment:

  • Setup a softphone for your use with Asterisk
  • Try out the “Dial” application both through the Dialplan and with “call files”. (Be responsible)

Week 4
Programming Asterisk: AGI Scripting, PHP, and Ruby
Week 4 Notes
Assignment:

  • Get familiar with PHP or Ruby programming and try some simple AGI scripting
  • One idea might be to write an AGI script that reads the time and temperature

Week 5
Programming Asterisk Continued: Bridging to the Web
Week 5 Notes
Assignment:

  • Come up with a midterm project idea. Describe the project in a blog entry or web page. Give some background (why you want to do the project) as well as a development plan. Look for potential collaborators.
  • Start midterm development

Week 6
Week 6 Notes
Midterm Workshop and Review

Week 7
Show Midterms
Please link to documentation here:

Week 8
Controlling Devices by Phone (by Network)
Week 8 Notes

  • Reading: Chapters 1 through 4 in Wired for Speech
  • Keep going with projects you are working on!!!

Week 9
Using Phones to Control Displays (with HTML5, Processing or Flash)
Week 9 Notes

  • Build a game or an app using either a network object, web page or Flash/Processing and a phone.

Week 10

  • Speech Synthesis (Festival)
  • Speech Recognition (Sphinx/Lumenvox)

Week 10 Notes

  • Final Project Ideas: Prepare to pitch to class

Week 11
Final Project Proposals

Week 12
Final Project Workshop 1

Week 12 Notes

Week 13
Final Project Workshop 2

  • Additional Topics

Week 14
Let’s See it! Show final projects, Expect guests

Add your Finals documentation here.

Additional Topics (depending on time):

  • Phreaking
  • VoiceXML
  • iChat/AIM/Skype/GTalk/Yahoo Messenger and the like
  • Emerging VoIP Topics: Presence, Web 2.0 APIs and whatever else comes up
  • SIP to SIP dialing and IP only phone networks (Free World Dialup, ENUM)
  • Basic Telephone Electronics
  • Asterisk GUIs
  • Streaming from Phone

Class Requirements

There will be no “Incompletes”. In order to pass this class you must meet the following criteria:
Reading:
Required:

  • Wired for Speech – How Voice Activates and Advances the Human-Computer Relationship – Clifford Nass and Scott Brave
  • Asterisk The Definitive Guide, 4th Edition – O’Reilly – Leif Madsen, Jim Van Meggelen, and Russell Bryant
    • (Published under Creative Commons and available online HERE.)

Class Participation and Attendance:

  • Please contribute to class discussion. Your comments are valuable and should be shared.
  • Attendance is mandatory. Unexcused absences could be grounds for failure.
  • Redial depends on a shared server for class projects and experiments.  In order to maintain the greatest amount of flexibility to all projects, the server is intentionally insecure.  Please respect other projects and do not vandalize other student’s work.  If you are found to be harming or abusing the server in any way, it will be grounds for a failing grade.

Tardiness:

  • Excessive lateness is unacceptable. Don’t be late.

Assignments:

  • This class will have weekly homework assignments, readings, a midterm, and final project. All are required.
  • Failure to do assignments or participate in class discussion on readings will jeopardize a passing grade.
  • Assignments will be posted on the syllabus each week. Please check syllabus for current assignment even if they aren’t mentioned in class.

Presentations:

  • VoIP and Internet Telephony are fast moving areas. Telephony in general has a long history and has had dramatic effect on culture and society around the world. Unfortunately, 14 weeks is not enough time to cover all of the emerging technical aspects nor the rich cultural and societal impact that telephony has had. In order to add more variety into the course material each student will be assigned to a group to give a short (15 minutes maximum) presentation on one historical, cultural, societal or emerging technical aspect that we are not covering in course material.

Personal Progress:

  • Your success is based on your own personal progress in the class. You are not judged against the progress of your fellow classmates.

Laptops:

  • Laptop screens down while other students are presenting. Laptops may be used for note taking or class related work during lectures.