Differences between revisions 8 and 9
Revision 8 as of 2016-06-20 09:16:42
Size: 4152
Editor: ?UditRaikwar
Comment:
Revision 9 as of 2016-07-03 20:42:07
Size: 15628
Editor: ?UditRaikwar
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * '''Contact''': ''IRC'' : #udit043 , ''email'' : udit043.ur@gmail.com   * '''Contact''': ''IRC'' : #udit043 , ''email'' : udit043.ur@gmail.com
Line 27: Line 27:
      • Operating System : Ubuntu 14.04 LTS, Windows 7        • Operating System : Ubuntu 14.04 LTS, Windows 7
Line 36: Line 36:
 * '''Project schedule''':   * '''Project schedule''':
Line 61: Line 61:
     
Line 70: Line 70:
 * '''[[https://project.freertc.org/issues/28|Solving Issue #28]]''': Using libjingle from the resip/recon/* and reflow/* code, table containing the relationship between resiprocate and sipX api:
  filename.cxx || sipX APIs used || equivalent libjingle APIs
 * '''[[https://project.freertc.org/issues/28|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


  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactory.h#L82 |createMediaInterface(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/app/webrtc/peerconnection.h#L239|CreatePortAllocator(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L106 |setSpeakerVolume(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediaengine.h#L118 |GetOutputVolume(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L112 |setMicrophoneGain(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediaengine.h#L124 |GetInputLevel()]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L119 |muteMicrophone(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediaengine.h#L124 |GetInputLevel()]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L122 |setAudioAECMode(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/webrtcvoiceengine.h#L147 |bool aec]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L136 |enableAGC(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/webrtcvoiceengine.h#L145 |AdjustAgcLevel(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/ConversationManager.cxx|ConversationManager.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterfaceFactoryImpl.h#L129 |setAudioNoiseReductionMode(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/webrtcvoiceengine.h#L149|SetConferenceMode(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/BridgeMixer.cxx|BridgeMixer.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaLib/include/mp/MprBridge.h#L115| setMixWeightsForOutput(..)]] || --

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/BridgeMixer.cxx|BridgeMixer.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaLib/include/mp/MprBridge.h#L134| setMixWeightsForInput(..)]] || --

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/MediaResourceParticipant.cxx|MediaResourceParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterface.h#L410 |startTone(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L381| PlayRingbackTone(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/MediaResourceParticipant.cxx|MediaResourceParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/interface/mi/CpMediaInterface.h#L575 |stopAudio()]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L367 |SetPlayout(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/MediaResourceParticipant.cxx|MediaResourceParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpPhoneMediaInterface.h#L171 |playBuffer(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L70 |PlaySound(..)]] / [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L367 |SetPlayout(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/MediaResourceParticipant.cxx|MediaResourceParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpPhoneMediaInterface.h#L218 |createPlayer(..)]] || --

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipantDialogSet.cxx|RemoteParticipantDialogSet.cxx]]|| [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L101 |createConnection(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/stunport.h#L85 |createConnection(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipantDialogSet.cxx|RemoteParticipantDialogSet.cxx]]|| [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L207 |deleteConnection(..)]] || [[ https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/udpport.h#L56 |delete port]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipantDialogSet.cxx|RemoteParticipantDialogSet.cxx]]|| [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L392 |getCapabilities(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/channelmanager.h#L77 |GetCapabilities()]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipantDialogSet.cxx|RemoteParticipantDialogSet.cxx]]|| [[ https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L129 |getConnectionPortOnBridge(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/port.h#L308 |connected()]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipant.cxx|RemoteParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L169 |setConnectionDestination(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/fakewebrtcvoiceengine.h#L238 |WEBRTC_STUB(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipant.cxx|RemoteParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L188 |start]]/[[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L198 |stopRtpSend(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/fakemediaengine.h#L73 |SendRtp(..)]]/[[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/fakemediaengine.h#L80 |SendRtcp(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipant.cxx|RemoteParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L193 |start]]/[[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L201 |stopRtpReceive(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L124 |OnPacketReceived(..)]]/[[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediachannel.h#L126 |OnRtcpReceived(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipant.cxx|RemoteParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L569 |isReceivingRtpAudio(..)]] || [[https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/fakewebrtcvoiceengine.h#L561 |WEBRTC_FUNC(..)/WEBRTC_STUB(..)]]

  [[https://github.com/resiprocate/resiprocate/blob/master/resip/recon/RemoteParticipant.cxx|RemoteParticipant.cxx]] || [[https://github.com/sipXtapi/sipXtapi/blob/master/sipXmediaAdapterLib/sipXmediaMediaProcessing/include/CpTopologyGraphInterface.h#L561 |isSendingRtpAudio(..)]] || --


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


1 - Manages a set of STUN requests (send, delay, remove, clear)
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/stunrequest.h#L39

2 - Creates a STUN server, which will listen on the given socket
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/stunserver.h#L41

3 - Handling different types of STUN/TURN requests
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/stunserver.h#L52

4 - SRTP support
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/srtpfilter.h#L107 (using RTP & RTCP with DTLS-SRTP)

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/srtpfilter.h#L134 (create SRTP session)

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/srtpfilter.h#L165 (SRTP session class)

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/base/sslstreamadapter.h#L163 (DTLS-SRTP interface)

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/rtputils.h#L49 (SDES-SRTP)

5 - STUN, Turn configuration
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/app/webrtc/peerconnection.h#L220

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/app/webrtc/peerconnection.h#L226

6 - Class used for describing what media a PeerConnection can receive.
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/app/webrtc/jsep.h#L45

7 - Handle RTP and RTCP packets using MediaSinkInterface
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/session/phone/mediasink.h#L33

8 - NAT traversal
    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/base/natsocketfactory.h#L52

    -> https://github.com/udit043/libjingle-0.6.14/blob/master/talk/p2p/base/stunport.h#L46

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, Windows 7 • 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.

* 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