Changes between Initial Version and Version 1 of freeswitch-mexcla-webrtc2sip


Ignore:
Timestamp:
Aug 10, 2013, 12:11:41 AM (7 years ago)
Author:
Jamie McClelland
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • freeswitch-mexcla-webrtc2sip

    v1 v1  
     1= webrtc2sip =
     2
     3== Overview ==
     4
     5The [http://www.webrtc2sip.org/ webrtc2sip project] provides server components necessary to work with [https://code.google.com/p/sipml5/ sipml5] (the html5 sip library). sipml5 allows us to have a fully functional SIP client built in a web page using html5. We use that library to provide our [wiki:freeswitch-mexcla-html5-admin mexcla interpretation conference call system].
     6
     7In particular, we depend on it to provide:
     8
     9 * [https://code.google.com/p/webrtc2sip/#SIP_Proxy sip proxy] which converts communication from [https://en.wikipedia.org/wiki/Websocket Websocket] (which is how all html5 audio/video apps communicate) into [https://en.wikipedia.org/wiki/Session_Initiation_Protocol SIP] (which is the protocol used by our [wiki:freeswitch freeswitch] server, that handles the conference call).
     10 * [https://code.google.com/p/webrtc2sip/#RTCWeb_Breaker RTC Web breaker] which provides server side support for [https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment ICE] (the way clients get around NAT) and DTLS/SRTP (secure real time protocol and secure UDP). These protocols are mandatory in html5 applications, but are not supported natively by freeswitch, so webrtc2sip handles that part of the communication.
     11 * [https://code.google.com/p/webrtc2sip/#Media_Coder Media coder] which provides codec support and conversion for opus and g.711 (freeswitch actually supports both codecs so we don't really need this one).
     12
     13== Installation ==
     14
     15webrtc2sip is not [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711863 yet] in Debian.
     16
     17The following packages are not required for building webrtc2sip, but is required to properly run a client:
     18
     19{{{
     20apt-get install  resiprocate-turn-server
     21}}}
     22
     23To install the components:
     24
     25 * Ensure you are running wheezy (squeeze would probably work but I didn't try)
     26
     27 * Install debian dependencies. As root:
     28{{{
     29apt-get install make libtool autoconf subversion git wget libogg-dev gcc gobjc++  libsrtp0-dev libsrtp0 srtp-utils openssl libspeex-dev libspeexdsp-dev libspeex1 libspeexdsp1 yasm libvpx-dev libvpx1 libopus-dev libopus0 libopencore-amrnb-dev libopencore-amrwb-dev libopencore-amrwb0 libopencore-amrnb0 libgsmme-dev libgsmme1c2a libgsm1-dev libgsm1 libgsm0710-dev libgsm0710-0 libgsm0710mux-dev libxml2-dev libxml2 libopal3.10.4 libavcodec-dev
     30}}}
     31
     32Note: we are not supporting codecs/libraries not shipped with debian (libyuv, g.729, ilbc, h264, h263, MP4V-ES)
     33
     34 * As root, create the target directory and chown to your non-priv user:
     35{{{
     36mkdir /usr/local/src/doubango
     37chown <user>:<user> /usr/local/src/doubango
     38}}}
     39 * As non-priv user, Checkout the framework source code:
     40{{{
     41cd /usr/local/src/
     42svn checkout http://doubango.googlecode.com/svn/branches/2.0/doubango doubango
     43}}}
     44 * As non-priv user, build the framework source code:
     45{{{
     46cd doubango
     47./autogen.sh && ./configure --with-ssl --with-srtp
     48make
     49}}}
     50 * As root, install (will install in /usr/local)
     51{{{
     52make install
     53ldconfig
     54}}}
     55 * As root user, create the target directories:
     56{{{
     57mkdir /usr/local/src/webrtc2sip
     58chown <user>:<user> /usr/local/src/webrtc2sip
     59}}}
     60 * As non-priv user, checkout the webrtc2sip code:
     61{{{
     62cd /usr/local/src/
     63svn checkout http://webrtc2sip.googlecode.com/svn/trunk webrtc2sip
     64}}}
     65 * As non-priv user, build:
     66{{{
     67cd webrtc2sip
     68./autogen.sh && ./configure --with-doubango=/usr/local --prefix=/usr/local
     69make clean && make
     70}}}
     71 * As root, install:
     72{{{
     73make install
     74}}}
     75 * As root, copy config file to /etc/ and create symlink:
     76{{{
     77mkdir /etc/webrtc2sip
     78cp -f ./config.xml /etc/webrtc2sip
     79}}}
     80 * To run:
     81{{{
     82export LD_LIBRARY_PATH=/usr/local/lib
     83/usr/local/sbin/webrtc2sip --config=/etc/webrtc2sip/config.xml
     84}}}
     85
     86