freeswitch安裝配置筆記


#安裝環境
yum install libedit-devel gcc ipset perl sqlite-devel libcurl-devel pcre pcre-devel speex  speex-devel libldns-dev alsa-lib libogg  postgresql libtheora libtiff libvorbis autoconf automake libtool gcc-c++ ncurses-devel make expat-devel zlib zlib-devel libjpeg-devel libpcre unixODBC-devel freetype libpng t1lib libXpm openssl-devel libxslt libc-client-devel  pciutils lsof usbutils acpid wget ntp ntpdate dmidecode parted lrzsz iptables-services mysql php net-tools git expect -y
#json-c-0.9.tar.gz opus-1.1-p2.tar.gz 這兩個文件放在freeswitch解壓后的libs下

sofia status profile internal reg sofia profile external restart originate sofia/internal/3319手機號@IP地址:5060 &echo 1038 ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin 1039 ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin 1026 grep -n -i "Checking Candidate" *.c 1027 vim switch_core_media.c
#14版本的修改方法

for (i = 0; i < engine->cand_acl_count; i++) {
// ignore ipv6
if (strchr(fields[4],'-'))
continue;

#高版本修改
 static switch_bool_t ip_possible(switch_media_handle_t *smh, const char *ip)
{
switch_bool_t r = SWITCH_FALSE;

if (zstr(ip)) {
return r;
}
//這里
if (strchr(ip, '-')) {
r = SWITCH_FALSE;
} else {
r = (switch_bool_t) !zstr(smh->mparams->rtpip4);
}

return r;


1028 cd .. 1029 grep core Makefile 1030 make install_core 1031 ls 1032 cd .. 1033 ls 1034 sh freeswitch restart 一 配置mysql #CentOS上安裝ODBC開發包和MYSQL數據庫的ODBC驅動程序 yum install -y unixODBC unixODBC-devel mysql-connector-odbc #如上安裝好后,通過/etc/odbcinst.ini可以配置數據庫的驅動 vi /etc/odbcinst.ini [MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc5.so Setup = /usr/lib/libodbcmyS.so Driver64 = /usr/lib64/libmyodbc5.so Setup64 = /usr/lib64/libodbcmyS.so FileUsage = 1 Threading = 0 #接下來需要在/etc/odbc.ini中配置DSN(即數據源名稱) vi /etc/odbc.ini [freeswitch] Driver = /usr/lib64/libmyodbc5.so SERVER = localhost PORT = 3306 DATABASE = freeswitch OPTION = 67108864 #這一行非常重要,FreeSWITCH會將多條SQL放到一起執行,以提高效率,如果沒有該選項則會出錯 #MYodbc 3.51.18及以后的版本才支持該選項 USER = root PASSWORD = Passw0rd@0791 Threading = 0 #測試ODBC鏈接,如下已經成功鏈接 [root@localhost /]# isql -v freeswitch +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> yum install libedit-devel gcc ipset perl sqlite-devel libcurl-devel pcre pcre-devel speex speex-devel libldns-dev alsa-lib libogg postgresql libtheora libtiff libvorbis autoconf automake libtool gcc-c++ ncurses-devel make expat-devel zlib zlib-devel libjpeg-devel libpcre unixODBC-devel freetype libpng t1lib libXpm openssl-devel libxslt libc-client-devel pciutils lsof usbutils acpid wget ntp ntpdate dmidecode parted lrzsz iptables-services mysql php net-tools git expect -y ./configure && make && make install

#1.10.3版本
yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtiff-devel libtool libuuid-devel libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wget which yasm zlib-devel libshout-devel libmpg123-devel lame-devel


# 播打命令
originate sofia/internal/0XXXX@xx.xxx.xxx.xxx:5060 &birdge(user/1001)
originate {ignore_early_media=true}sofia/gateway/{0xxxxxx} &bridge(sofia/gateway/1000)
originate {ignore_early_media=true}sofia/internal/0xxxx@x.x.x.x:5060 &bridge(sofia/gateway/1000)



# sip常用端口
UDP : 16384-32768
UDP : 7443
UDP : 5066
UDP : 5060
TCP : 7443
TCP : 5080
TCP : 5066
TCP : 5060


公開的免費STUN服務器有:

  • stun.freeswitch.org

  • stun.xten.com

  • stun.ekiga.net

       chat.linchaoqun.com

stun連接屬於UDP連接,所以配置防火牆時,記得配置UDP而不是tcp。

firewall-cmd --zone=public --add-port=3478/udp --permanent
firewall-cmd --reload

 


# docker 安裝freeswitch 1.10.3
docker pull readytalk/freeswitch-docker:1.10.3-buster


curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
cd /usr/local/bin
chmod +x docker-compose
# docker-compose.yml內容
version: "3.5"

services:
  freeswitch:
    image: readytalk/freeswitch-docker:1.10.3-buster
    container_name: freeswitch
    network_mode: host
    #restart: always
    volumes:
      - ./conf:/etc/freeswitch
      - ./sounds:/usr/share/freeswitch/sounds
      - ./scripts:/usr/share/freeswitch/scripts
      - ./certs:/etc/freeswitch/tls
      - ./db:/var/lib/freeswitch/db
      - ./log:/var/log/freeswitch
      - /home/nginx/www/html/recordings/archive:/recordings/archive
    #ports:
    #  - 7002:7002
    environment:
      - TZ=Asia/Shanghai
      - FS_EVENT_PASSWORD=ClueCon
      - FS_EVENT_PORT=8021
      - FS_DEFAULT_PASSWORD=12345
      - FS_SIP_PORT=5060
      - FS_XMLRPC_PORT=7002
      - FS_XMLRPC_USER=freeswitch
      - FS_XMLRPC_PASSWORD=works
      - FS_RTP_START_PORT=16384
      - FS_RTP_END_PORT=32768 
    #command: freeswitch -nonat

 


#run
docker-compose up -d
#docker-compose up -d --force-recreate
docker-compose down
docker-compose restart
apt
-get 安裝mysql odbc apt-get update apt-get install unixodbc unixodbc-bin unixodbc-dev # 手動下載mysql-connector https://dev.mysql.com/downloads/connector/odbc/5.3.html 配置參考:www.cnblogs.com/yoyotl/p/9980269.html

 

https://freeswitch.org/confluence/display/FREESWITCH/mod_httapi
https://freeswitch.org/confluence/display/FREESWITCH/mod_xml_rpc
https://freeswitch.org/confluence/display/FREESWITCH/mod_commands


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM