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

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



  • freeswitch-mexcla-webrtc2sip

    v1 v1  
     1= webrtc2sip =
     3== Overview ==
     5The [ webrtc2sip project] provides server components necessary to work with [ 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].
     7In particular, we depend on it to provide:
     9 * [ sip proxy] which converts communication from [ Websocket] (which is how all html5 audio/video apps communicate) into [ SIP] (which is the protocol used by our [wiki:freeswitch freeswitch] server, that handles the conference call).
     10 * [ RTC Web breaker] which provides server side support for [ 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 * [ 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).
     13== Installation ==
     15webrtc2sip is not [ yet] in Debian.
     17The following packages are not required for building webrtc2sip, but is required to properly run a client:
     20apt-get install  resiprocate-turn-server
     23To install the components:
     25 * Ensure you are running wheezy (squeeze would probably work but I didn't try)
     27 * Install debian dependencies. As root:
     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
     32Note: we are not supporting codecs/libraries not shipped with debian (libyuv, g.729, ilbc, h264, h263, MP4V-ES)
     34 * As root, create the target directory and chown to your non-priv user:
     36mkdir /usr/local/src/doubango
     37chown <user>:<user> /usr/local/src/doubango
     39 * As non-priv user, Checkout the framework source code:
     41cd /usr/local/src/
     42svn checkout doubango
     44 * As non-priv user, build the framework source code:
     46cd doubango
     47./ && ./configure --with-ssl --with-srtp
     50 * As root, install (will install in /usr/local)
     52make install
     55 * As root user, create the target directories:
     57mkdir /usr/local/src/webrtc2sip
     58chown <user>:<user> /usr/local/src/webrtc2sip
     60 * As non-priv user, checkout the webrtc2sip code:
     62cd /usr/local/src/
     63svn checkout webrtc2sip
     65 * As non-priv user, build:
     67cd webrtc2sip
     68./ && ./configure --with-doubango=/usr/local --prefix=/usr/local
     69make clean && make
     71 * As root, install:
     73make install
     75 * As root, copy config file to /etc/ and create symlink:
     77mkdir /etc/webrtc2sip
     78cp -f ./config.xml /etc/webrtc2sip
     80 * To run:
     82export LD_LIBRARY_PATH=/usr/local/lib
     83/usr/local/sbin/webrtc2sip --config=/etc/webrtc2sip/config.xml