Differences between revisions 25 and 26
Revision 25 as of 2016-08-21 22:01:12
Size: 8665
Comment:
Revision 26 as of 2016-08-21 22:08:12
Size: 8942
Comment:
Deletions are marked like this. Additions are marked like this.
Line 141: Line 141:
          * GNU C++ Compiler and tools
          * Telepathy-Qt (not using apt-get)
Line 142: Line 144:
    * Build Telepathy-Qt:
          * We are not installing telepathy-qt directly from apt-get as it doesn't contain ====telepathy-qt4-service shared library====.
Line 143: Line 147:
    * Build reSIProcate:

SummerOfCode2016 StudentApplications BalramP

  • Name: Balram P

  • Contact/Email/IRC nick:
    Email: balbbrl@gmail.com
    twitter: @Balram1994
    IRC nick: balumenon
    My Blog: http://balrampariyarath.wordpress.com/

  • Current Stats: Working on reConServer. (Scroll to the bottom for more details).

  • Background:
    I am a third year Engineering Student who fell in love with linux systems upon our first encounter(4 years back). I have been involved with different distros (Ubuntu being the first, Mint, Arch, Kali, Debian and lot other custom versions), tried different flavours and shells and finally fell for Jessie (Debian 8).
    Now, to speak about me, I study at Govt. Model Engineering College, Cochin - India and am a startup founder (?GreyCodes and Spenwise Prepaid Debit Cards), web developer, well versed in C, C++, Python, Basic Java, HTMl, CSS, JS, PHP, MVC Structure, Django, ?CodeIgnitor, Android App Development, Bootstrap and materializecss. I have also worked in Ruby sometime back.
    Currently I am more focused on to linux systems and working on a custom Debian based OS for our college.

  • Project title: ?YooHoo, The Perfect Assistant.

  • Project details: ?YooHoo, is a chat engine, which supports text, audio, video chats and file sharing. It is to facilitate one-to-one chats, group chats, create events and manage them online(assign tasks and schedule deadlines etc). It has also got a integrated set of bots, for mainly connecting with wiki.debian, packages.debian etc to provide instant help for queries, suggest apps etc. It also include provision for creating new bots using custom codes.

  • Synopsis:: A better chat Engine for Debian.

  • Benefits to Debian: Will help to provide automated help to its users (by the bot) as well as ask new queries, report bugs etc, thus bridging the gap between a normal user and Debian system.

  • Deliverables: A video chat engine which at least support text chat as well as an integrated wiki bot for assistance.

  • Project schedule: The work can be stated anytime from now, but need mentors help to finalize the timeline. The below one will be updated after discussing with mentors.

    • 1.Decide upon the language and finalize it with the mentor since I have my doubts (C++,Python or Ruby) (2 days). 2.Build a video chat application module (2-3 weeks). 3.Build the text chat module with group and other features (including bots) (2-3 weeks). 4.Integrate both module to form a single application (1 weeks). 5.Convert into proper deb package with minimum dependencies (2 weeks).
  • Exams and other commitments: University exams from April 4th to 18th.

  • Other summer plans: No plans as of now.

  • Why Debian?: Well, Once you start exploring her, your curiosity never ends. Of all the other distros I have used, I learned more on linux by using Debian. She is simple, minimalist and is highly educative in a learn by doing approach.

  • My previous Debian contributions: I have contributed to a customized Debian image for our college (it was called MOX - MEC Linux), worked using gem2deb for creating ruby based apps on Debian (nothing worth mentioning).

  • Are you applying for other projects in SoC? No
  • Work Statistics

Week 1

  • Start Configuring ReSIProcate in Debian Jessie.
  • Enable autoconf subdir_object for creating new files in sub-directory instead of parent root (pull request #43).

Week 2

  • Complete configuring reSIProcate on Debian.
  • Submit pull request #43. Travis CI Build failed due to bug in autoconf, pull request was accepted and merged with master repo.
  • Start working on Configuring reSIProcate on Ubuntu 14.04.

Week 3

  • Start working on reSIProcate with Empathy. Couldn't establish connection with the given credentials. It was later fixed after resetting the account credentials. It took almost a week to fix both to fix the errors and realise the error in account details.
  • Familiarised with bustle, d-feet (D-bus debuggers). They were used for checking the connection error.
  • Started the work on a GNOME shell plugin which can easily connect to the SIP server using reSIProcate. Aimed to ease the connection setup and improve User Experience (?GitHub link will be updated soon).

Week 4

  • Started working on reConServer and librecon.
    • The Master repo had an unmerged commit. README was properly updated and successfully configured in Ubuntu 14.04.
    • Jitsi is used for testing the service.
    • Review the way DTMF events are notified in both.
    • Make similar methods for handling the SIP "MESSAGE" method in librecon.

Week 5

  • Continue working on reConServer.
    • Working on SIP "MESSAGE" methods in librecon.

Week 6

  • Started working on iChat Gateway: a SIP Gateway designed to allow communication between the Mac OS/X iChat client and standard SIP clients for audio calling purposes. It is build based on Gloox 0.9.8.

Week 7

  • Update iChat gateway: upgrade support to gloox 1.0.16 from 0.9.8.

Week 8

  • Continue working on reConServer.
    • Working on SIP "MESSAGE" methods in librecon.

Week 9

  • Continue working on reConServer.
    • Working on SIP "MESSAGE" methods in librecon.

Week 10

  • Continue working on reConServer.
    • Working on SIP "MESSAGE" methods in librecon.

Week 11

  • Continue working on reConServer.
    • Working on SIP "MESSAGE" methods in librecon.

Contributions and Configurations

Dummy Branches

  • This is the actual branch that I used for my first test runs. They were further broken down to stages so that simpler pull requests can be made. No Actual Pull request is made from this branch.

 Branch: https://github.com/balumenon96/resiprocate/tree/b-fix-ichat-gw/

Pull Requests

  • enable subdir-objects to access subdirectory for build/debian.sh

 #43: https://github.com/resiprocate/resiprocate/pull/43
  • Remove ambiguity in ichat-gw.cxx, minor bugs in IPCThread.cxx and Server.cxx

 #57: https://github.com/resiprocate/resiprocate/pull/57
  • update gloox parameters from v0.9.9.8 to v1.0.16

 #58: https://github.com/resiprocate/resiprocate/pull/58

Setting up reSIProcate in Debian Jessie

  • Prerequisites:
    • GNU C++ Compiler and tools
    • Telepathy-Qt (not using apt-get)
  • Build Telepathy-Qt:
    • We are not installing telepathy-qt directly from apt-get as it doesn't contain ====telepathy-qt4-service shared library====.
  • Build reSIProcate:

$ git clone https://github.com/resiprocate/resiprocate
$ cd resiprocate
$ apt-get install libpq-dev dh-autoreconf
$ apt-get build-dep resiprocate
$ apt-get install -t jessie-backports libradcli-dev
$ ./build/debian.sh
$ make

Setting up reSIProcate in Ubuntu 14.04

  • Will be updated soon.

Setting up reConServer in Debian Jessie and Ubuntu 14.04

  • First you need to need to install the build dependencies. Note that reConServer needs reSIProcate 1.8.10 or above.

$ sudo apt-get install libresiprocate-1.x-dev librecon-1.x-dev libsipxtapi-dev libresiprocate-turn-client-1.x-dev
  • Then, follow the steps below to build the project. The CPPFLAGS are necessary.

$ git clone https://github.com/resiprocate/reConServer.git
$ cd reConServer
$ autoreconf --install
$ ./configure CPPFLAGS="-I/usr/include/sipxtapi -DDEFAULT_BRIDGE_MAX_IN_OUTPUTS=10 -D__pingtel_on_posix__ -D_linux -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DRESIP_TOOLCHAIN_GNU -DRESIP_OSTYPE_LINUX -DRESIP_ARCH_X86_64 -DHAVE_sockaddr_in_len -DUSE_CARES -DUSE_SSL -DUSE_IPV6 -DHAVE_EPOLL"
$ make

Working with iChat SIP gateway for audio calling purposes