Ubuntu 16.04 install FreeSWITCH v1.8

30092 단어 FreeSWITCH

Ubuntu 16.04 install FreeSWITCH v1.8

  • Environment and Version
  • 1. Install dependency for FreeSWITCH
  • 2. Compile FreeSWITCH
  • 2.1 git freeswitch v1.8
  • 2.2 Compile FreeSWITCH
  • 3.3 Errors and Solutions
  • 3.3.1 compile freeswitch Error
  • 1. [Error] root@host:/freeswitch# make
  • 1. [Solusions]root@host:/freeswitch# make
  • 2. [Error] fs_cli는 클라이언트에 로그인할 수 없습니다
  • 2. [Solusions] fs_cli는 클라이언트에 로그인할 수 없습니다
  • 3. [Setting] setting rtp-start-port and rtp-end-port
  • 4. [Setting] setting SIP Registration Port and default password
  • 4. [Setting] NAT
  • 4. FreeSWITCH Command
  • 5. info
  • Reference

  • Environment and Version

  • Linux OS and Version
  • Linux Version:Ubuntu 16.04.4 LTS
    cat /etc/issue
    Ubuntu 16.04.4 LTS
    
  • FreeSWITCH
  • FreeSWITCH Version: 1.8.5
    freeswitch -version
    FreeSWITCH version: 1.8.5+git~20190124T225359Z~31281a0bf1~64bit (git 31281a0 2019-01-24 22:53:59Z 64bit)
    

    1. Install dependency for FreeSWITCH

    # install dependency
    apt-get install -y  git build-essential automake autoconf libtool g++ zlib1g-dev  libjpeg-dev libncurses5-dev  libsqlite3-dev  libcurl4-openssl-dev libpcre3-dev libspeex-dev  libspeexdsp-dev libspeex-dev libldns-dev libedit-dev libssl-dev  pkg-config yasm liblua5.2-dev liblua5.2 libopus-dev libsndfile-dev libtool libpq-dev pkg-config libtiff5-dev libtiff5 libvpx-dev libvpx3 libvpx3 libopus-dev uuid-dev libsndfile-dev
    

    2. Compile FreeSWITCH


    2.1 git freeswitch v1.8

    # load source code
    git clone -b v1.8 https://freeswitch.org/stash/scm/fs/freeswitch.git
    git clone -b v1.8 https://freeswitch.org/stash/scm/fs/freeswitch.git freeswitch
    

    2.2 Compile FreeSWITCH

    # Compile an Install
    ./bootstrap -j
    ./configure
    make
    make install
    
    # symbolic link
    ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/
    ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/
    
    # install sounds file
    make cd-sounds-install
    make cd-moh-install
    

    3.3 Errors and Solutions


    3.3.1 compile freeswitch Error


    1. [Error] root@host: /freeswitch# make

    making all mod_signalwire
    make[4]: Entering directory '/home/color/freeswitch/src/freeswitch/src/mod/applications/mod_signalwire'
    Makefile:930: *** You must install libks to build mod_signalwire.  Stop.
    make[4]: Leaving directory '/home/color/freeswitch/src/freeswitch/src/mod/applications/mod_signalwire'
    Makefile:683: recipe for target 'mod_signalwire-all' failed
    make[3]: *** [mod_signalwire-all] Error 1
    make[3]: Leaving directory '/home/color/freeswitch/src/freeswitch/src/mod'
    Makefile:591: recipe for target 'all-recursive' failed
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory '/home/color/freeswitch/src/freeswitch/src'
    Makefile:3494: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/home/color/freeswitch/src/freeswitch'
    Makefile:1255: recipe for target 'all' failed
    make: *** [all] Error 2
    

    1. [Solusions]root@host: /freeswitch# make

  • install cmake-3.13
  • cd directory/src
    wget https://cmake.org/files/v3.13/cmake-3.13.3.tar.gz
    tar -zxvf cmake-3.13.3.tar.gz
    cd cmake-3.13.3 
    ./bootstrap
    make
    make install
    
  • Install libks and sigalwire
  • cd directory/src
    git clone https://github.com/signalwire/libks.git
    cd libks
    cmake .
    make
    make install
    
    cd directory/src
    git clone https://github.com/signalwire/signalwire-c.git
    cd signalwire-c
    cmake .
    make
    make install
    cp /usr/local/lib/pkgconfig/*.pc /usr/lib/pkgconfig/
    cp -f /usr/local/lib/* /usr/lib64/
    

    2. [Error] fs_cli 클라이언트에 로그인할 수 없습니다.

    [ERROR] fs_cli.c:1679 main() Error Connecting [ ]
    Usage: fs_cli [-H <host>] [-P <port>] [-p <secret>] [-d <level>] [-x command] [-t <timeout_ms>] [profile]
    
      -?,-h --help                    Usage Information
      -H, --host=hostname             Host to connect
      -P, --port=port                 Port to connect (1 - 65535)
      -u, --user=user@domain          user@domain
      -p, --password=password         Password
      -i, --interrupt                 Allow Control-c to interrupt
      -x, --execute=command           Execute Command and Exit
      -l, --loglevel=command          Log Level
      -U, --log-uuid                  Include UUID in log output
      -S, --log-uuid-short            Include shortened UUID in log output
      -q, --quiet                     Disable logging
      -r, --retry                     Retry connection on failure
      -R, --reconnect                 Reconnect if disconnected
      -d, --debug=level               Debug Level (0 - 7)
      -b, --batchmode                 Batch mode
      -t, --timeout                   Timeout for API commands (in miliseconds)
      -T, --connect-timeout           Timeout for socket connection (in miliseconds)
      -n, --no-color                  Disable color
    

    2. [Solusions] fs_cli 클라이언트에 로그인할 수 없습니다.

  • 포트 80218022의 사용 여부를 확인합니다
  • netstat -tunlp | grep freeswitch 
    
  • 프로필 수정: ip는 원가기를 바꾸는 것이 가장 좋고, 그렇지 않은 사람은 여전히 접근을 거부할 수 있습니다
  • 
    <configuration name="event_socket.conf" description="Socket Client">
      <settings>
        <param name="nat-map" value="false"/>
        
        <param name="listen-ip" value="127.0.0.1"/>
        <param name="listen-port" value="8021"/>
        <param name="password" value="ClueCon"/>
        
        
      settings>
    configuration>
    

    3. [Setting] setting rtp-start-port and rtp-end-port

    
    <param name="rtp-start-port" value="16384"/>
    <param name="rtp-end-port" value="16389"/>
    

    4. [Setting] setting SIP Registration Port and default password

    
    <X-PRE-PROCESS cmd="set" data="default_password=10010"/>
    <X-PRE-PROCESS cmd="set" data="internal_sip_port=10000"/>
    

    4. [Setting] NAT

  • internal.xml
  • 
    <param name="ext-rtp-ip" value="Public_IP"/>
    <param name="ext-sip-ip" value="Public_IP"/>
    
  • vars.xml
  • 
    <X-PRE-PROCESS cmd="set" data="external_rtp_ip=Public_IP"/>
    <X-PRE-PROCESS cmd="set" data="external_sip_ip=Public_IP"/>
    

    4. FreeSWITCH Command

    eval $${max-sips}
    좌석수 보기sofia status profile internal reg
    전화 등록 보기fsctl max_sessions
    최대 세션 보기global_setvar max-sips=100

    5. info

     +---------- FreeSWITCH install Complete ----------+
     + FreeSWITCH has been successfully installed.     +
     +                                                 +
     +       Install sounds:                           +
     +       (uhd-sounds includes hd-sounds, sounds)   +
     +       (hd-sounds includes sounds)               +
     +       ------------------------------------      +
     +                make cd-sounds-install           +
     +                make cd-moh-install              +
     +                                                 +
     +                make uhd-sounds-install          +
     +                make uhd-moh-install             +
     +                                                 +
     +                make hd-sounds-install           +
     +                make hd-moh-install              +
     +                                                 +
     +                make sounds-install              +
     +                make moh-install                 +
     +                                                 +
     +       Install non english sounds:               +
     +       replace XX with language                  +
     +       (ru : Russian)                            +
     +       (fr : French)                             +
     +       ------------------------------------      +
     +                make cd-sounds-XX-install        +
     +                make uhd-sounds-XX-install       +
     +                make hd-sounds-XX-install        +
     +                make sounds-XX-install           +
     +                                                 +
     +       Upgrade to latest:                        +
     +       ----------------------------------        +
     +                make current                     +
     +                                                 +
     +       Rebuild all:                              +
     +       ----------------------------------        +
     +                make sure                        +
     +                                                 +
     +       Install/Re-install default config:        +
     +       ----------------------------------        +
     +                make samples                     +
     +                                                 +
     +                                                 +
     +       Additional resources:                     +
     +       ----------------------------------        +
     +       https://www.freeswitch.org                +
     +       https://freeswitch.org/confluence         +
     +       https://freeswitch.org/jira               +
     +       http://lists.freeswitch.org               +
     +                                                 +
     +       irc.freenode.net / #freeswitch            +
     +                                                 +
     +       Register For ClueCon:                     +
     +       ----------------------------------        +
     +       https://www.cluecon.com                   +
     +                                                 +
     +-------------------------------------------------+
    

    Reference

  • CentOS install FreeSWITCH [1]: https://blog.csdn.net/tidehc/article/details/86593130 https://www.cnblogs.com/Lewis302/p/10466936.html
  • FreeSWITCH Common Errors [2]: https://www.cnblogs.com/lmsthoughts/p/9322816.html [3]: https://www.cnblogs.com/lzpong/p/6740188.html
  • Linux tcpdump 명령 상세 정보 [*]:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
  • nc(netcat)를 사용하여 udp 프로토콜과 포트 연결성을 테스트[*]:https://blog.csdn.net/ak57193856/article/details/80554572
  • 좋은 웹페이지 즐겨찾기