Möglichkeit zur statistischen Auswertung der Benutzung der Kommunikation (z.B. Chat- bzw Sprachanteil)
Lokale Logs auf PCs der Benutzer sowohl für Chat als auch für VoIP
Konzept
Chatfunktion wurde als Multi User Chat mithilfe der Smack Api implementiert. Könnte evtl. später noch z.B. um eine Statistikfunktion o.ä. erweitert werden.
VoIP: Da in Saros die Jingle und Smack API abstrahiert ist, setze ich auf dem schon programmierten StreamListener auf. Dieser StreamListener soll jedem Dienst (VoIP, Daten, Video, etc...) innerhalb von Saros einen Input sowie Outputstream übergeben. Die Aufgabe besteht nun also darin, dem StreamListener einen encodierten Audiostream zu übergeben. Als Eingabe sollen hauptsächlich direkte Eingaben über ein Mikrofon encodiert und versendet werden. Jedoch wäre als Eingabe auch eine Audiodatei denkbar. Als Encoder benutze werde ich Speex (bzw die entsprechende Java Speex Api 'jspeex'). Es wird jedoch darauf geachtet, dass der Codec austauschbar wäre, sodass zu einem späteren Zeitpunkt auch andere Codecs verwendet werden können. Die in XMPP bzw Smack Jingle eingebaute Codierungsfunktion lässt sich aufgrund der Abstraktion auf einen StreamListener nicht benutzen. Sobald ein Benutzer nun einen Audiostream erhält, soll dieser decodiert und ausgegeben werden. Auch eine lokale Aufnahme (bei Bedarf) des gesamten VoIP Verkehrs sollte möglich sein. Außerdem soll es möglich sein ein VoIP Gespräch statistisch auszuwerten (z.B. durch Anteil der Sprechzeiten).
Weekly Reports
Week 0:
Introduction to Saros
Introduction to XMPP
Introduction to Speex Java API (jspeex)
Adding implemented Chat to Saros and testing
Week 1:
Testapp for Audio Encoding (record sth. and play it) with JSpeex
Week 2:
Simple Integration in Saros
Week 3:
Done: First simple peer to peer VoIP Integration (in Saros) is working
Problems: StreamService sends & receives packets not "fair". e.g. The one client received 250 packets in the same time the other client only received 120 packets. That is a big problem with the VoIP function. (I have to discuss it with Stephan L. next week) --> It was an error in my code. StreamService works fine
Next: try to implement the VoIP function with Jingle / XMPP (without the StreamService) --> Aborted, because VoIP works fine with Stream Interface