Freeswitch

Created on: 07.07.2015 10:09 AM
Edited on: 02.03.2016 12:05 PM
[ Edit Topic ]   [ Delete Topic ]


Here are some references for freeswitch, just so I don't have to keep tabs open and I can categorize them.

Compile / Libraries


Attempt at a manual compile, which lets me select mods and whatnot.

  • rpm -i http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm


  • yum install git gcc-c++ autoconf automake libtool wget python python-devel python-setuptools ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel bison bison-devel ldns-devel perl-devel perl-ExtUtils-Embed perl-Time-HiRes mysql-devel libxml2-devel


  • git clone -b v1.4 https://freeswitch.org/stash/scm/fs/freeswitch.git


  • cd freeswitch


  • ./bootstrap.sh -j


  • vi modules.conf

  • - uncomment mod_python mod_pockesphinx mod_flite mod_tts_commandline
    - comment out mod_fsv mod_valet_parking mod_lua mod_spandsp

    Here is a list of modules that some people remove (for reference):

    mod_amr - boo
    mod_iax - no dinos
    mod_cluechoo - trains
    mod_distributor - round-robin distributor
    mod_enum - e164.org lookup
    mod_valet_parking - special call parking
    mod_dialplan_asterisk - no dinos
    mod_java - only if using java
    mod_lua - only if lua is necessary
    mod_perl - same
    mod_python - see above
    mod_spidermonkey - only if javascript is necessary
    mod_fsv - video recording/playback
    mod_spandsp - fax & t38-gateway


  • ./configure -C


  • make && make install


  • CD-Quality Sounds
    make cd-sounds-install
    make cd-moh-install


  • You still need to edit /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml and enable the modules like pocketsphinx and flite or they won't load. Seems silly but that's that.


  • vi /usr/local/freeswitch/conf/vars.xml and change default password


  • Next Steps


  • cd /

  • rsync -r -l -p -t -v -e "ssh -l telco" telcoalert.com:~/noderepo/agent/* .


  • yum install kernel-devel gcc make gcc-c++ libxml2-devel ncurses-devel openssl-devel libuuid.x86_64 libuuid-devel.x86_64 sqlite-devel.x86_64 libcurl-devel mysql-devel lynx rsync -y


  • cd /tmp/telco

  • tar xzfv php-5.4.41.tar.gz

  • tar xzfv pthreads-2.0.10.tgz

  • mv pthreads-2.0.10 php-5.4.41/ext/pthreads

  • cd php-5.4.41

  • rm -rf aclocal.m4 autom4te.cache/

  • ./buildconf --force

  • ./configure --with-mysqli=/usr/bin/mysql_config --enable-sockets --with-zlib --with-regex=system --enable-mbstring --enable-inline-optimization --enable-ftp --enable-soap --with-curl --libdir=/usr/lib64 --enable-pcntl --enable-maintainer-zts --enable-pthreads

  • make && make install



  • cd /root/telco/freeswitch/libs/esl
    make
    make install



    yum install python-devel

    tar xzfv swig-3.0.6.tar.gz
    cd swig-3.0.6
    ./configure
    make && make install

    the below also work with (./configure --without-python)

    tar xzfv sphinxbase-5prealpha.tar.gz
    cd sphinxbase-5prealpha
    ./configure
    make && make install

    tar xzfv pocketsphinx-5prealpha.tar.gz
    cd pocketsphinx-5prealpha
    ./configure
    make && make install

    mkdir /usr/local/share/pocketsphinx/model/voxforge
    cd /usr/local/share/pocketsphinx/model/voxforge
    tar xfv /root/telco/voxforge.tar

    Postfix Install


    Still not certain if I'll need to send email directly from the node (I probably do), but getting it working is pretty simple.

  • yum install postfix

  • vi /etc/postfix/main.cf

  • search for INTERNET HOST

  • Add: myhostname = atlded.rpiz.com (change to whatever)

  • /etc/init.d/postfix start

  • chkconfig postfix on


  • Python Stuff


  • easy_install pip



  • https://freeswitch.org/confluence/display/FREESWITCH/Event+Socket+Library

  • Shows various libs needed for mod_python, mod_perl, etc.



  • pip install git+https://github.com/fiorix/eventsocket.git

  • pip install twisted (might be installed above)

  • pip install argparse

  • pip install xmltodict



  • Optimization


  • https://wiki.freeswitch.org/wiki/Performance_testing_and_configurations

  • Some performance tuning options (not tested)


  • http://wiki.freeswitch.org/wiki/Amazon_ec2

  • Article for using FS on AWS, but more importantly details steps for NAT in general



    Programming


  • https://wiki.freeswitch.org/wiki/Examples_directory_lua_asr_tts

  • Example (in LUA) which might help show speech detection and dictionary files


  • http://dev.mysql.com/doc/connector-python/en/connector-python-example-connecting.html

  • http://dev.mysql.com/doc/connector-python/en/connector-python-installation-source.html

  • Python MySQL links

     


    [ Edit Topic ]   [ Delete Topic ]