Differences between revisions 14 and 15
Revision 14 as of 2016-07-06 16:22:59
Size: 15189
Editor: ?UditRaikwar
Comment:
Revision 15 as of 2016-07-18 18:01:39
Size: 15199
Editor: ?UditRaikwar
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
      • Operating System : Ubuntu 14.04 LTS, Windows 7       • Operating System : Ubuntu 14.04 LTS, Debian 8.5 (jessie)

Student Application Template

To fill this in, copy the source text. Please don't rename the template.

This is a suggestion for the kind of information we'll find useful from students in their submissions. Remember -- you're going to be committing to several months' work. The more information and planning you can provide up-front, the more we (and Google!) will have to go on when we're ranking your application. Do not forget adding your submission at SummerOfCode2016/StudentApplications

  • Name Udit Raikwar

  • Contact: IRC : #udit043 , email : udit043.ur@gmail.com

  • Project Mentor: Gaurav Saini <gauravsaini03@gmail.com>

  • Mailing List:

  • Background: I am 3rd year student pursuing Bachelor of Engineering from JEC , India. I have created some interesting innovative projects using OpenCV. I have a good knowledge about C , C++ and little bit of Python.

  • Location:

  • Laptop Details

    • • Toshiba Satellite L655-S5096 • Operating System : Ubuntu 14.04 LTS, Debian 8.5 (jessie) • Screen Resolution : 1366 x 768 • Webcam inbuilt
  • Mobile Details : Moto G3, Android Phone with version 6.0.1

  • Project title: Improving voice, video and chat communication with free software

  • Project details: I would like to work on the following issues https://project.freertc.org/issues/25 , https://project.freertc.org/issues/28 , https://project.freertc.org/issues/93 .

  • Project schedule:

    • 22nd April – 22nd May: Community Bonding Period – Communication with mentor, discuss ideas and approach to solve some bugs, understand the code to be worked upon and find out what more can be done.

      Week 1-4 (23may-21june) : Improve logging (log errno names instead of values)

      ->Write code to solve issue #25

      ->Defining various network errors

      ->Output all errors in the format "socket error EINVAL (Invalid Argument) 22" instead of "socket error 22"

      ->Testing and debugging

      ->Documentation

      Week 5-8 (22june-15july) : support for WebRTC client to make conference calls

      ->Write code to solve issue #28

      ->Testing and debugging

      ->Documentation

      Week 9-12 (16july-17aug) : Evolution: reply to emails with a SIP or XMPP call

      ->Write code to solve issue #93

      ->Testing and debugging

      ->Documentation

      18th Aug – 24th Aug : Week reserved for project documentation, improvement or medication to certain code if required.

  • Solving Issue #28: Using libjingle from the resip/recon/* and reflow/* code, table containing the relationship between resiprocate and sipX api.

* Read http://paste.debian.net/776169/ for better understanding.

Filename.cxx

sipX APIs used

equivalent libjingle APIs

ConversationManager.cxx

createMediaInterface(..)

CreatePortAllocator(..)

ConversationManager.cxx

setSpeakerVolume(..)

GetOutputVolume(..)

ConversationManager.cxx

setMicrophoneGain(..)

GetInputLevel()

ConversationManager.cxx

muteMicrophone(..)

GetInputLevel()

ConversationManager.cxx

setAudioAECMode(..)

bool aec

ConversationManager.cxx

enableAGC(..)

AdjustAgcLevel(..)

ConversationManager.cxx

setAudioNoiseReductionMode(..)

SetConferenceMode(..)

BridgeMixer.cxx

setMixWeightsForOutput(..)

--

BridgeMixer.cxx

setMixWeightsForInput(..)

--

MediaResourceParticipant.cxx

startTone(..)

PlayRingbackTone(..)

MediaResourceParticipant.cxx

stopAudio()

SetPlayout(..)

MediaResourceParticipant.cxx

playBuffer(..)

PlaySound(..) SetPlayout(..)

MediaResourceParticipant.cxx

createPlayer(..)

--

RemoteParticipantDialogSet.cxx

createConnection(..)

createConnection(..)

RemoteParticipantDialogSet.cxx

deleteConnection(..)

delete port

RemoteParticipantDialogSet.cxx

getCapabilities(..)

GetCapabilities()

RemoteParticipantDialogSet.cxx

getConnectionPortOnBridge(..)

connected()

RemoteParticipant.cxx

setConnectionDestination(..)

WEBRTC_STUB(..)

RemoteParticipant.cxx

start/stopRtpSend(..)

SendRtp(..)/SendRtcp(..)

RemoteParticipant.cxx

start/stopRtpReceive(..)

OnPacketReceived(..)/OnRtcpReceived(..)

RemoteParticipant.cxx

isReceivingRtpAudio(..)

WEBRTC_FUNC(..)/WEBRTC_STUB(..)

RemoteParticipant.cxx

isSendingRtpAudio(..)

--

* Some NAT, RTP, RTCP, DTLS-SRTP, SDES-SRTP functions from reflow*

1 - Manages a set of STUN requests (send, delay, remove, clear)

2 - Creates a STUN server, which will listen on the given socket

3 - Handling different types of STUN/TURN requests

4 - SRTP support

5 - STUN, Turn configuration

6 - Class used for describing what media a ?PeerConnection can receive

7 - Handle RTP and RTCP packets using ?MediaSinkInterface

8 - NAT traversal

  • Exams and other commitments: Yes, semester exams are in May.

  • Other summer plans: No, just coding.

  • Why Debian?: Debian comes with over 43000 different pieces of software and every bit of it is free. I had a moment of epiphany which led to a realization that I should be investing more of my time in learning the practical aspects of my education and Debian is the correct place to start. I would like to contribute and want to be a part of this big organisation.

  • My previous Debian contributions: No

  • Are you applying for other projects in SoC? : No