<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">17</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:8E638694-B4E0-570A-856A-746FF325BF6B</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">Research Ideas and Outcomes</journal-title>
        <abbrev-journal-title xml:lang="en">RIO</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="epub">2367-7163</issn>
      <publisher>
        <publisher-name>Pensoft Publishers</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3897/rio.6.e58504</article-id>
      <article-id pub-id-type="publisher-id">58504</article-id>
      <article-id pub-id-type="manuscript">14360</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Project Report</subject>
        </subj-group>
        <subj-group subj-group-type="sdg">
          <subject>Industry</subject>
          <subject> innovation &amp;amp; infrastructure</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Video Over Intranet (VDOIT)</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Ahire</surname>
            <given-names>Deepak Tatayji</given-names>
          </name>
          <email xlink:type="simple">ahiredeepak20@gmail.com</email>
          <uri content-type="orcid">https://orcid.org/0000-0002-9174-0797</uri>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Walchand College of Engineering, Sangli, India</addr-line>
        <institution>Walchand College of Engineering</institution>
        <addr-line content-type="city">Sangli</addr-line>
        <country>India</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Deepak Tatayji Ahire (<email xlink:type="simple">ahiredeepak20@gmail.com</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2020</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>10</day>
        <month>09</month>
        <year>2020</year>
      </pub-date>
      <volume>6</volume>
      <elocation-id>e58504</elocation-id>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/DC6DF3CD-E335-5EA4-A899-CD4D1070B766">DC6DF3CD-E335-5EA4-A899-CD4D1070B766</uri>
      <history>
        <date date-type="received">
          <day>09</day>
          <month>09</month>
          <year>2020</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Deepak Tatayji Ahire</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="http://creativecommons.org/licenses/by/4.0/" xlink:type="simple">
          <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>Video calling or voice calling through the use of the internet is a very common thing in today's world. Nevertheless, users have to pay charges directly or indirectly, tolerating all the delays even if you use the facility within the same network or sub-network. Over 30 million US households used Voice over IP (VoIP) until the end of 2010. Specialist found that 31.4% of the household used VoIP as the main and only home phone line by 2012. Users up till now have multiplied by a huge factor. There are several drawbacks of using video calling over the internet within a small network such as delay of packets (travel to the main server outside network and reenter the same network again), direct or indirect costs, users need to be always connected online and efficiency and speed of the user's system vary according to connection quality and bandwidth. In this project, we implemented a WebRTC enabled web application which provides free peer to peer video calling and conferencing tool for any private organization on top of their existing private network.</p>
      </abstract>
      <kwd-group>
        <label>Keywords</label>
        <kwd>webrtc</kwd>
        <kwd>video-streaming</kwd>
        <kwd>javascript</kwd>
        <kwd>node.js</kwd>
        <kwd>websocket</kwd>
        <kwd>materialized-css</kwd>
        <kwd>stun-server</kwd>
        <kwd>turn-server</kwd>
        <kwd>huffman-encoding</kwd>
        <kwd>data-compression</kwd>
        <kwd>encryption-techniques</kwd>
        <kwd>networking</kwd>
        <kwd>video-over-intranet</kwd>
        <kwd>networking</kwd>
      </kwd-group>
      <counts>
        <fig-count count="6"/>
        <table-count count="0"/>
        <ref-count count="9"/>
      </counts>
    </article-meta>
  </front>
  <body>
    <sec sec-type="Problem statement">
      <title>Problem statement</title>
      <p>To implement an on-demand, on-premise, and secure video calling service over the private cloud of private organizations that can be used without the use of any external hardware and free of cost.</p>
    </sec>
    <sec sec-type="Motivation">
      <title>Motivation</title>
      <p>A lot of students in our college could not afford mobile phones and computing machines. On a big campus of over 90 acres, communication was impossible when internet connections were interrupted or social media sites were down. Communication over the intranet was the only solution that was feasible, affordable, and scalable over the bandwidth of the college's network. To satisfy the above needs, we adapted the efforts of WebRTC project (<xref ref-type="bibr" rid="B6030986">WebRTC 2019</xref>).</p>
    </sec>
    <sec sec-type="Technical areas explored">
      <title>Technical areas explored</title>
      <p>The technical areas explored are as follows:</p>
      <p><list list-type="order">
        <list-item>
          <p>Google WebRTC - STUN and TURN servers (<xref ref-type="bibr" rid="B6031018">Dutton 2013</xref>).</p>
        </list-item>
        <list-item>
          <p>Networking using WebSocket API and Node.js (<xref ref-type="bibr" rid="B6031026">Fujimoto et al. 2020</xref>).</p>
        </list-item>
        <list-item>
          <p>Data compression and encryption techniques (Huffman Encoding and Decoding Technique) (<xref ref-type="bibr" rid="B6031043">Kidner 1995</xref>).</p>
        </list-item>
        <list-item>
          <p>VoIP analogous protocol (for Application layer) (<xref ref-type="bibr" rid="B6031056">Arora 1999</xref>).</p>
        </list-item>
        <list-item>
          <p>P2P Communication using browsers (<xref ref-type="bibr" rid="B6031064">Shepherd et al. 2019</xref>).</p>
        </list-item>
        <list-item>
          <p>JavaScript, jQuery &amp; Materialized CSS (for frontend) (<xref ref-type="bibr" rid="B6031072">Wang 2014</xref>).</p>
        </list-item>
      </list></p>
    </sec>
    <sec sec-type="Application domain">
      <title>Application domain</title>
      <p>The project was deployed on the private cloud of the Computer Science and Engineering department of Walchand College of Engineering (WCE), Sangli, for the users of the same college.</p>
    </sec>
    <sec sec-type="Application users">
      <title>Application users</title>
      <p>The registered users (students and faculty) having a verified account on the service deployed on the cloud and who has access to any computing machine which is connected to the college's LAN and qualifies the system requirements.</p>
    </sec>
    <sec sec-type="System configuration required">
      <title>System configuration required</title>
      <p>The system configurations required are as follows:</p>
      <p><list list-type="order">
        <list-item>
          <p>No external hardware requirements.</p>
        </list-item>
        <list-item>
          <p>Systems/devices should be the part of Local Area Network (LAN).</p>
        </list-item>
        <list-item>
          <p>A network with a bandwidth of 40-200kbit/s for real-time audio and at least 500kbit/s for real-time video streaming <xref ref-type="bibr" rid="B6032668">Ber 2015</xref>.</p>
        </list-item>
        <list-item>
          <p>A standalone signalling server deployed on the private cloud connected to LAN.</p>
        </list-item>
        <list-item>
          <p>Supported browsers (<xref ref-type="bibr" rid="B6031084">Deveria and Schoors 2020</xref>):<list list-type="order"><list-item><p>Chrome 18.0.1008+.</p></list-item><list-item><p>Safari 11.2+ on iOS; 11.1+ on Mac.</p></list-item><list-item><p>Firefox 17+.</p></list-item><list-item><p>Opera 18+.</p></list-item></list></p>
        </list-item>
      </list></p>
    </sec>
    <sec sec-type="Methodology">
      <title>Methodology</title>
      <p>The running application flow is as follows:</p>
      <p><list list-type="order">
        <list-item>
          <p>Clients notify the signaling server as they become online(log in).</p>
        </list-item>
        <list-item>
          <p>Signaling server notifies every other connected peer about the client and thus all peers will exchange data with SDP via signaling server.</p>
        </list-item>
        <list-item>
          <p>Caller sends a call request to the server.</p>
        </list-item>
        <list-item>
          <p>If the receiver is available, then the server signals availability of the receiver to the caller.</p>
        </list-item>
        <list-item>
          <p>The caller tries to connect the receiver directly (P2P).</p>
        </list-item>
        <list-item>
          <p>If the receiver accepts the call, a peer connection is established.</p>
        </list-item>
        <list-item>
          <p>When either client terminates the call, the connection will be closed.</p>
        </list-item>
        <list-item>
          <p>Meanwhile, all the availability and network changes will be updated at the server database.</p>
        </list-item>
      </list></p>
    </sec>
    <sec sec-type="UML Digrams">
      <title>UML Digrams</title>
      <p>Fig. <xref ref-type="fig" rid="F5943929">1</xref> depicts the use case diagram for VDOIT.</p>
      <p>Fig. <xref ref-type="fig" rid="F5943933">2</xref> depicts the sequence diagram for VDOIT.</p>
      <p>Fig. <xref ref-type="fig" rid="F5943937">3</xref> depicts the collaboration diagram for VDOIT.</p>
      <p>Fig. <xref ref-type="fig" rid="F5943945">4</xref> depicts the activity diagram for VDOIT.</p>
      <p>Fig. <xref ref-type="fig" rid="F5943949">5</xref> depicts the deployment diagram for VDOIT.</p>
      <p>Fig. <xref ref-type="fig" rid="F5943953">6</xref> depicts the deployment diagram for VDOIT from user's perspective.</p>
    </sec>
    <sec sec-type="Project outcomes and current issues solved">
      <title>Project outcomes and current issues solved</title>
      <p>The project outcomes and the issues solved with the help of this project are as follows:</p>
      <p><list list-type="order">
        <list-item>
          <p>The registered users were able to make voice and video calls free of cost, without the requirement of internet connectivity, and any external hardware.</p>
        </list-item>
        <list-item>
          <p>If someone attempts to make a voice call over the WCE’s intranet, then they will be benefited with much less delay than pre-existing systems such as WhatsApp calls, Hangouts call, Facebook video call, etc..</p>
        </list-item>
        <list-item>
          <p>No direct or indirect cost is be charged by this service.</p>
        </list-item>
      </list></p>
    </sec>
    <sec sec-type="Future Scope">
      <title>Future Scope</title>
      <p>This project can be extended to provide a personalized experience for the faculties to carry out online lectures and internal assessments and for the on-campus medical staff to carry out medical examinations.</p>
    </sec>
    <sec sec-type="Conclusion">
      <title>Conclusion</title>
      <p>The project was completed and received positive feedback from the users of WCE. The project received the second runner up prize at the Innovata Project Fair 2017, held on 15th April 2017, organized by the Department of Computer Science and Engineering Innovation, Incubation and Entrepreneurship (IEE) cell.</p>
      <p>The code repository was successfully hosted at Github and to contribute to this project, please send pull requests to  <ext-link ext-link-type="uri" xlink:href="https://github.com/adeepak7/Video-Over-Intranet---WEBRTC"> https://github.com/adeepak7/Video-Over-Intranet </ext-link> .</p>
      <p>Live demonstration of the working project which is tested on the WCE's intranet is hosted on Youtube at  <ext-link ext-link-type="uri" xlink:href="https://www.youtube.com/watch?v=nAwfaoq15N8"> https://www.youtube.com/watch?v=nAwfaoq15N8 </ext-link> .</p>
    </sec>
  </body>
  <back>
    <ack>
      <title>Acknowledgements</title>
      <p>This project was completed as part of the course "Mini project-II" (3CS342), 3rd year, B.Tech Computer Science and Engineering Programme at WCE. I would like to acknowledge the efforts of The Association of Past Students, WCE for supporting the project fair, the network, and server administrator of WCE.</p>
    </ack>
    <ref-list>
      <title>References</title>
      <ref id="B6031056">
        <element-citation publication-type="other">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Arora</surname>
              <given-names>Rakesh</given-names>
            </name>
          </person-group>
          <year>1999</year>
          <article-title>Voice over IP : Protocols and Standards</article-title>
          <uri>https://www.cse.wustl.edu/~jain/cis788-99/ftp/voip_protocols/</uri>
        </element-citation>
      </ref>
      <ref id="B6032668">
        <element-citation publication-type="other">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ber</surname>
              <given-names>Adrian</given-names>
            </name>
          </person-group>
          <year>2015</year>
          <article-title>
            <ext-link ext-link-type="uri" xlink:href="https://stackoverflow.com/questions/29854622/webrtc-bandwidth-requirements">WebRTC bandwidth requirements</ext-link>
          </article-title>
          <publisher-name>Stack Overflow</publisher-name>
          <uri>https://stackoverflow.com/questions/29854622/webrtc-bandwidth-requirements</uri>
        </element-citation>
      </ref>
      <ref id="B6031084">
        <element-citation publication-type="website">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Deveria</surname>
              <given-names>Alexis</given-names>
            </name>
            <name name-style="western">
              <surname>Schoors</surname>
              <given-names>Lennart</given-names>
            </name>
          </person-group>
          <article-title>Can I Use ?</article-title>
          <uri>https://caniuse.com/#search=webrtc</uri>
          <date-in-citation content-type="access-date">2020-08-13T00:00:00+03:00</date-in-citation>
        </element-citation>
      </ref>
      <ref id="B6031018">
        <element-citation publication-type="website">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Dutton</surname>
              <given-names>Sam</given-names>
            </name>
          </person-group>
          <article-title>WebRTC in the real world: STUN, TURN and signaling</article-title>
          <uri>https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/</uri>
          <date-in-citation content-type="access-date">2020-08-13T00:00:00+03:00</date-in-citation>
        </element-citation>
      </ref>
      <ref id="B6031026">
        <element-citation publication-type="website">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fujimoto</surname>
              <given-names>Masahiro</given-names>
            </name>
            <name name-style="western">
              <surname>Mills</surname>
              <given-names>Chris</given-names>
            </name>
            <name name-style="western">
              <surname>Scholz</surname>
              <given-names>Florian</given-names>
            </name>
            <name name-style="western">
              <surname>Alam</surname>
              <given-names>Mohd Maqbool</given-names>
            </name>
          </person-group>
          <article-title>The WebSocket API (WebSockets)</article-title>
          <uri>https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API</uri>
          <date-in-citation content-type="access-date">2020-08-13T00:00:00+03:00</date-in-citation>
        </element-citation>
      </ref>
      <ref id="B6031043">
        <element-citation publication-type="article">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kidner</surname>
              <given-names>R. E.</given-names>
            </name>
          </person-group>
          <year>1995</year>
          <article-title>Real-time data compression using a fixed Huffman encoding scheme</article-title>
          <source>United States</source>
        </element-citation>
      </ref>
      <ref id="B6031064">
        <element-citation publication-type="website">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Shepherd</surname>
              <given-names>Eric</given-names>
            </name>
            <name name-style="western">
              <surname>Scholz</surname>
              <given-names>Florian</given-names>
            </name>
            <name name-style="western">
              <surname>Teoli</surname>
            </name>
            <name name-style="western">
              <surname>Zartner</surname>
              <given-names>Sebastian</given-names>
            </name>
            <name name-style="western">
              <surname>Patonnier</surname>
              <given-names>Jérémie</given-names>
            </name>
            <name name-style="western">
              <surname>Jouanneau</surname>
              <given-names>Laurent</given-names>
            </name>
          </person-group>
          <article-title>https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC/Peer-to-peer_communications_with_WebRTC</article-title>
          <uri>https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC/Peer-to-peer_communications_with_WebRTC</uri>
          <date-in-citation content-type="access-date">2020-08-13T00:00:00+03:00</date-in-citation>
        </element-citation>
      </ref>
      <ref id="B6031072">
        <element-citation publication-type="other">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>Alvin</given-names>
            </name>
          </person-group>
          <year>2014</year>
          <article-title>A modern responsive front-end framework based on Material Design</article-title>
          <uri>A modern responsive front-end framework based on Material Design</uri>
        </element-citation>
      </ref>
      <ref id="B6030986">
        <element-citation publication-type="website">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>WebRTC</surname>
            </name>
          </person-group>
          <article-title>Real-time communication for the web</article-title>
          <uri>https://webrtc.org/</uri>
          <date-in-citation content-type="access-date">2020-08-13T00:00:00+03:00</date-in-citation>
        </element-citation>
      </ref>
    </ref-list>
  </back>
  <floats-group>
    <fig id="F5943929" position="float" orientation="portrait">
      <object-id content-type="arpha">B06EBDE4-BD19-55BD-BE41-AAB2F3F5BB46</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure1</object-id>
      <label>Figure 1.</label>
      <caption>
        <p>VDOIT use case diagram.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g001.png" position="float" id="oo_431372.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431372</uri>
      </graphic>
    </fig>
    <fig id="F5943933" position="float" orientation="portrait">
      <object-id content-type="arpha">0F408088-0AD6-5289-9323-B75AFEE5A3B1</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure2</object-id>
      <label>Figure 2.</label>
      <caption>
        <p>VDOIT sequence diagram.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g002.png" position="float" id="oo_431373.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431373</uri>
      </graphic>
    </fig>
    <fig id="F5943937" position="float" orientation="portrait">
      <object-id content-type="arpha">2165793A-1C5E-52A1-AE53-AD232E233802</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure3</object-id>
      <label>Figure 3.</label>
      <caption>
        <p>VDOIT collaboration diagram.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g003.png" position="float" id="oo_431374.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431374</uri>
      </graphic>
    </fig>
    <fig id="F5943945" position="float" orientation="portrait">
      <object-id content-type="arpha">460163F8-AAF3-5C00-B11E-A289A7861214</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure4</object-id>
      <label>Figure 4.</label>
      <caption>
        <p>VDOIT activity diagram.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g004.png" position="float" id="oo_431375.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431375</uri>
      </graphic>
    </fig>
    <fig id="F5943949" position="float" orientation="portrait">
      <object-id content-type="arpha">1467845D-9A57-567D-A081-2ACFF6CC1E6A</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure5</object-id>
      <label>Figure 5.</label>
      <caption>
        <p>VDOIT deployment diagram.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g005.png" position="float" id="oo_431376.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431376</uri>
      </graphic>
    </fig>
    <fig id="F5943953" position="float" orientation="portrait">
      <object-id content-type="arpha">97017B04-155E-5C28-9DC3-35351F51F1B0</object-id>
      <object-id content-type="doi">10.3897/rio.6.e58504.figure6</object-id>
      <label>Figure 6.</label>
      <caption>
        <p>VDOIT deployment diagram from user's perspective.</p>
      </caption>
      <graphic xlink:href="rio-06-e58504-g006.png" position="float" id="oo_431377.png" orientation="portrait" xlink:type="simple">
        <uri content-type="original_file">https://binary.pensoft.net/fig/431377</uri>
      </graphic>
    </fig>
  </floats-group>
</article>
