Download presentation
Presentation is loading. Please wait.
Published byNeil Kelley Modified over 9 years ago
1
Speak A Simple VoIP Application Project 2 Due date: March 3 rd by 11:59pm
2
Overview VoIP – Been able to do this (well) for at least 20 years – Web and Internet made Internet telephony possible, cheaper increasingly popular Basic – Two-person – System parameters to evaluate quality – Speech detection Simpler version than Project 1 – Minimal interface Load time options for connection, parameters …
3
Details Windows or Linux (or Mac) – Two boxes, actually Internet sockets – Specify host (and port) – TCP and UDP Variable chunk sizes (emulate latency) – 20, 40, 60 ms are typical – Also support values up to 1000 ms
4
More Details Basic speech detection – Modified from project 1 – 250 ms search for zero crossing too big! – Detect based on energy level only Sample only “chunk” from audio device Tune thresholds to be effective – Can have on or off Packet “Loss” – Drop before sending, or after receiving (your choice) – Percent, uniform randomly distributed
5
Hints Many different architectural possibilities – Can design how you want Provide some sample code (“tools”) – Refer to other samples, but write your own code (and reference any others) Consider remote development (not at console) – “Pre-Record” some conversation – Read from file or device – Write to file or device – Allow development of system code – Also good for one person testing
6
Sample Code Linux/Cygwin Basic TCP sockets: talk-tcp.c and listen-tcp.ctalk-tcp.clisten-tcp.c Basic UDP sockets: talk- udp.c and listen-udp.ctalk- udp.clisten-udp.c Setting a timer: setitimer.csetitimer.c POSIX threads: add2.cadd2.c Multiple interrupts: select.cselect.c Parsing command line parameters: get-opt.cget-opt.c Windows A simple header file to generate error messages for Winsock errors: sockerr.hsockerr.h Basic TCP sockets: tcp- talk.cpp, tcp-listen.cpptcp- talk.cpptcp-listen.cpp Basic UDP sockets: udp- talk.cpp, udp-listen.cppudp- talk.cppudp-listen.cpp Get the IP address of a host: getIPaddress.cppgetIPaddress.cpp
7
Hand-In Email a tar/zip file – Use your name as the directory Include – All source code and Makefile – README file with instructions on running Due end of day when due
8
Grading 60% Basic 2-way VoIP Application (TCP or UDP), with parameters. 15% Uses both UDP and TCP. 5% Supports Speech Detection. 5% Works under all “Loss” parameters. 5% Works under all “Delay” parameters. 10% Clear, well-written code, including comments. Should be easy to "read" and understand. Grading rubric available online
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.