ip telephony – tsmn 6350 spring 2015 copyright 2005-2015 © by elliot eichen. all rights reserved....

16
IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. • Instructors: Elliot Eichen ([email protected]), and Jim Obrien ([email protected]) • Classroom: Shillman Rm 320. • TAs: TBD • Lab: 9H Hayden Hall (basement). • Time: Tuesday 13 January – 21 April, 6:00 PM to midnight • Class Web Site: http://www1.coe.neu.edu/~eeichen/spring_2015/index.html corner of Main St & Osborne St, a few blocks West of Kendall Square T stop

Upload: percival-skinner

Post on 19-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

IP Telephony – TSMN 6350 Spring 2015

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Instructors: Elliot Eichen ([email protected]), and Jim Obrien ([email protected]) • Classroom: Shillman Rm 320. • TAs: TBD• Lab: 9H Hayden Hall (basement). • Time: Tuesday 13 January – 21 April, 6:00 PM to midnight• Class Web Site: http://www1.coe.neu.edu/~eeichen/spring_2015/index.html

corner of Main St & Osborne St, a few blocks West of Kendall Square T stop

Page 2: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Class Mechanics

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Instructors bio, contact info, non-textbook

• Grading & Fine Dining Policy– Midterm, Final, and Lab Project are are 30% each, Teacher Evaluation is 10%– Subject to change: Instructors reserves the right to modify this

• Do you really want to take this class? One Prof is old, grumpy, and feels like NEU is taking advantage of him. Other Prof is young and demanding, will make you work really hard and probably give you a lousy grade. Projects require lots of work w/o much support or enough equipment, class is too big => lab will be crowded, you will get little help/attention from Proj. . Look at previous student evaluations (on the web site), many students don’t like this class.

• Lab and Project:

– Lab: Protocol debugs, SIP registration, VoIP client configuration (PC/smartphone, VoIP desk phone.) You can do this at home (check out a phone/hub), or in the lab. This is the table stakes/baseline level of expertise needed for the class.

– Project: Probably the most important part of the class.• 5 Member Teams (+/-). Max of 2 teams per project. Teams assigned at random. • Start NOW - Project groups assignments available today and 1st cut at project

ideas and descriptions are due next week!

• Rant and Rave on Cheating: We am not kidding about this ..

• Alternate day for class will be Friday, in case it’s needed. Policy on auditing is no project, no exams, persona non grata status.

Page 3: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

Prerequisites

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Familiarity with PSTN and IP Networks: basic architectures & concepts

• Comfortable with UNIX & IP Protocols– telnet, ssh, perhaps vi or emacs, grep, awk, dig/nslookup, etc. … – Layer2/Layer 3 protocols (UDP, TCP, DNS/BIND, DHCP, ARP, etc.)– IP debug tools (netstat, ngrep, snoop or tcdump, etc.). You can pick up wireshark,

ngrep etc. during the class.

• Broadband access of some sort (or use the lab). Administrative access to download applications (voip client, debugging tools, etc.) for your PC. Personal laptop for the labs really helps.

• Some ability to write simple code in the flavor of your choice (Java, C, C++, Perl, Cobol, whatever ..) is very helpful.

• Enthusiasm, work hard without lots of hand holding.

• Ability to sight sing & read music extremely helpful (c.f. Bach BWV 147).

• Formal TSM prerequisites: TSM G320 and TSM G330.

• Permission from your mom.

Page 4: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Schedule

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• January 13 – Class Intro – Review of Classical Telephony – Design Problem: Simple Enterprise – Sample Project Description and Lists (handout)

• January 20 – What is VoIP - architectures and protocols – Example of a ladder diagram – Lab #1 (can be completed at home, or in the lab. If at home, you can check out a hub from the

lab TA) – Project Groups should meet this week. Pick project, start working on project description

• January 27 – Introduction to SIP – Complete 1st Lab. – First cut project descriptions due, beginning of the class. One page: Title, Who, What (2

paragraphs max), Resources (what’s needed).

• February 3– Class picture at beginning of class. – More SIP: various use cases and debugs – Second cut a project description due (if necessary) at beginning of the class. After lecture, meet

to iron out all remaining issues. By the end of class, all groups should have a clear projection description.

Page 5: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Schedule

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• February 10 – All lab sections available for projects– Design Problem #3: Border element and metro Ethernet service – NATs, Firewalls, Border Elements (SBCs) – Intro to webRTC

• February 17- All lab sections available for projects

- Finish webRTC

- QoS, Echo (if time).

• February 24– All lab sections available for projects– Catch up – first 6 classes – In class review selected questions from previous Midterms (2003, 2004, 2005, 2007, 2008,

2009, 2010, 2011, 2013, 2014).

• March 3 - Midterm• All lab sections available for projects

• March 10 – Spring Break• March 17

– Review Midterm Exam  – All lab sections available for projects– Begin IMS

Page 6: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Schedule

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

Page 7: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Projects

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Start immediately. It's 30% of your grade, and it's probably where you will learn the most. Should take at least 10/hrs-week throughout the semester! Lab TA’s will post lab hours and/or access policy. In some cases, you can work against AWS and never show up in the lab.

• Make sure your group has the requisite skill set. Not everyone needs to be able to write code ... but if the project requires it make sure 2 people do.

• Random assignment of groups. You must have an approved project by Feb 3.

• Everyone must participate. Teams CAN vote to nominate someone off the island by a majority vote. Professors will judge the extent of the penalty

• Grading will take into account the level of difficulty.

• Lab TAs will provide server login/passwords based to lab resources if needed. Lab TAs are responsible for lab administration (equipment, network, etc.)

• Grading is either:

– Pitch as if to VC (probably the “America’s Got Talent” model)

– Paper/conference submission

Page 8: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Project Resources

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Northeastern has an IP Telephony Lab. Components from this lab are available for all teams to build services:

• Lab offers IP connectivity to the public internet as well as private IP space.• Lab Virtual Machine Hosts can be setup to provide teams with virtual

machines for building servers required for each project.• Lab Acme SBC can be used by provide teams  / shared amongst projects. • Lab PSTN Gateway can be used by provide teams  / shared amongst

projects.• Lab DIDs are a scarce resource.

• This is fine, but the world is your oyster…

Page 9: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Project Resources

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Student groups can also leverage Cloud Resources for their projects.

• Students should consider leveraging free Amazon EC2 instances for linux/other servers where they might need to host applications. Each person can sign up for a instance for free for 1 year.  The experience of learning about Cloud Computing services while setting this up and using this is a benefit in of itself.  Students even might want to keep their project alive to demonstrate to potential employers. (No Cost here)

• Student groups should consider leveraging VoIP and Messaging services when building their project.  These services can be very low cost.

• Some services offer API capabilities, messaging capabilities not available in the Northeastern lab.

• Lab TAs will provide server login/passwords based on group needs. Lab TAs are responsible for lab administration (Virtual Machines, PCs, Network equipment, Hubs, etc.)

Page 10: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Some Public Services

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

Short Sample List of Providers:

https://www.twilio.com/ - Voice, SMS, and MMS via API, Voice via SIP trunkhttps://www.plivo.com/  - Voice and SMS via APIhttp://voxeo.com/ Voice and SMS.  Voice XML, Hosted IVRshttp://www.callcentric.com/ - SIP provider - By the Minutehttp://www.phonebooth.com/ - SIP Provider - Unlimited per Month modelhttp://www.vitelity.com/ - SIP by the minute, hosted PBX per month

Some Sample Pricing from Twillio (https://www.twilio.com/)$0.008 per minute termination minute SIP Trunking or API$0.0045 per minute origination minute SIP Trunking or API$0.0075 to send or receive a text$0.001 to receive a picture .002 to send.$1.00 per DID for voice or sms/mms

Page 11: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Sample Projects

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Build a service that already exists• Grand Central (now Google Voice) – Follow-me Find-me Service. Give

each user a phone number that when others call there is some call screening, some capability to call the user directly over VoIP, and some capability to call the user on their hidden mobile phone number. Write an android or iOS application to make a server call the user and then call a 3rd party. Provide a voicemail service with speech to text or voicemail to SMS.

• Build a Session Border Controller. Using open source software, build your own SBC. Show how it works to help devices make calls from behind different NAT types and networks. Requires real deep understanding of NAT types and traversal. This is not a ‘setup a asterisk and you are done project.’ You’ll need some kind of simple SIP application server behind this or included in this.

Page 12: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Sample Projects

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Build a service that already exists• Grand Central (now Google Voice) – Follow-me Find-me Service. Give

each user a phone number that when others call there is some call screening, some capability to call the user directly over VoIP, and some capability to call the user on their hidden mobile phone number. Write an android or iOS application to make a server call the user and then call a 3rd party. Provide a voicemail service with speech to text or voicemail to SMS.

• Build a Session Border Controller. Using open source software, build your own SBC. Show how it works to help devices make calls from behind different NAT types and networks. Requires real deep understanding of NAT types and traversal. This is not a ‘setup a asterisk and you are done project.’ You’ll need some kind of simple SIP application server behind this or included in this.

Page 13: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Sample Projects

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Build something new• Do you care about something? Build an app for it that in some way

involves telecommunications. Build an application that will watch sports scores and SMS you when certain conditions are met. Or that you can call and ask for certain things. That will get you prices from Amazon. That will search craigslist and MMS you the picture of kittens available for sale in your area.

• Mash up some existing services. So many public services offer APIs to developers and users today. Make a SIP phone or server that tweets every time you make or receive a phone call. Build an application to MMS yourself everything a friend puts on instagram. Call into a IVR to listen to yelp reviews based on a voice search.

• Use WebRTC to build communications into a existing (even if you just make it up) web page. Tell a story that you that you might be able to show a prospective employer.

Page 14: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

TSMN 6350 Spring 2015: Sample Projects

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• Go very deep• SIP call ladder diagram builder – Create a website that allows users to

paste in a SIP call trace or upload a wireshark file and provide back to them a ladder diagram of their call. Offer downloads of the ladder diagram as a picture. Offer a download of a wav file constructed from the RTP packets in a trace.

• Listen to other people’s phone calls – Put together a set of tools that you can use to look at (Traces) and listen to people’s VoIP calls on open wifi networks. Demonstrate this live to the class.

• Find a real company, Build a real phone or messaging system – Maybe an on campus organization. Maybe a local small business. Find real requirements from a real customer and meet or exceed them. Build a cloud phone system with SIP connectivity and SIP smartphone applications? SMS ordering application for a Pizza shop?

Page 15: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

Textbook and Resources

Copyright 2005-2015 © by Elliot Eichen. All rights reserved.

• No real textbook: use recommended books, config guides, & the web.

• Recommended Books:– Internet Communications Using SIP, H. Sinnreich & A. Johnston, Wiley 06. This used to be

the class textbook, but it’s out of date, and is too lightweight. I still recommend that you take a look at it.

– Securing VoIP Networks, P.Thermos & A.Takanen, Addison-Wesley 07. Very nice discussion of VoIP security, worth reading.

– WiFi Telephony, P.Chandra and D.Lide, Newwnes 2007. – IP Telephony, Hersent, Petit, and Gurle, Wiley 2006. More architecture, higher level, less

sip. Probably the best textbook per codec design. Also out of date.– Fixed Mobile Convergence, A.Shneyderman & A.Casati, McGraw-Hill, 08– Internet Multimedia Communications Using SIP: A Modern Approach Including Java®

Practice, Rogelio Martínez Perea, Elsevier, 2008. Looks interesting, have not had a chance to look at it.

– IMS Application Developer's Handbook: Creating and Deploying Innovative IMS Applications, Noldus, R. et.al., Academic Press 2011. Folks in my group like this book, it has a good description of IMS and RCS (Rich Communications Suite).

• Articles from various sources: trade journals, white papers, IEEE referred publications, IETF Drafts (better than over the counter sleep aids)

Page 16: IP Telephony – TSMN 6350 Spring 2015 Copyright 2005-2015 © by Elliot Eichen. All rights reserved. Instructors: Elliot Eichen (e.eichen@neu.edu), and Jim

Syllabus & Instructor Bio• Detailed Syllabus: default to the class web site.

• Elliot’s Bio: www.coe.neu.edu/~eeichen/

• Jim’s Bio: http://www.counterpath.com/jim-obrien