ubuntu souces源 :
gedit /etc/apt/sources.list
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
三,进入到环境安装依赖包:
apt-get update
apt-get install -y autoconf git libtool g++ zlib1g-dev libjpeg-dev libcurl4-openssl-dev libspeex-dev libldns-dev libedit-dev libssl-dev pkg-config yasm liblua50-dev libopus-dev libsndfile1-dev libpq-dev libreadline-dev lua5.2 lua5.2-doc liblua5.2-dev libtiff5 libtiff5-dev
sudo apt-get install -y vim
sudo apt-get install -y g++
sudo apt-get install -y zlib1g-dev
sudo apt-get install -y libjpeg-dev
sudo apt-get install -y libsqlite3-dev
sudo apt-get install -y libcurl4-gnutls-dev
sudo apt-get install -y libpcre3-dev
sudo apt-get install -y libspeexdsp-dev
sudo apt-get install -y libedit-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y libopus-dev
sudo apt-get install -y liblua5.2-dev
sudo apt-get install -y libldns-dev
sudo apt-get install -y libsndfile1-dev
sudo apt-get install python3-pip
sudo apt-get install unixodbc unixodbc-dev
sudo apt-get install python3-pip
sudo apt install libavformat-dev
sudo apt install libswscale-dev
四:安装spandsp/sofia-sip:(安装freeswitch 前安装好)
1,安装sofia-sip:
git cloen https://github.com/freeswitch/sofia-sip.git
如果网络不太好,git可能下载不下来,可以直接下载sofia-sip的zip压缩包
cd sofia-sip
./bootstrap.sh
./configure
make
make install
2,安装spandsp:
git clone https://github.com/freeswitch/spandsp
如果网络不太好,git可能下载不下来,可以直接下载spandsp的zip压缩包
cd spandsp
./bootstrap.sh
./configure
make
make install
=============
五 安装freeswitch
1,进入到安装目录:
cd /usr/local/freeswitch-1.10.7.-release
./configure -C --enable-core-odbc-support
make
make install
六 配置freeswitch任何路径启动
#将freeswitch作符号软链接
ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
#fs_cli作符号软链接
ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/
七 相应配置文件更改
vi /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml
<param name="listen-ip" value="::"/>修改为
<param name="listen-ip" value="127.0.0.1"/>
对相应IPv6文件做处理
ls /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml
ls /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml
ls /usr/local/freeswitch/conf/sip_profiles/external-ipv6
cp /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml /usr/local/freeswitch/conf/sip_profiles/internal-ipv6.xml_bak
cp /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml /usr/local/freeswitch/conf/sip_profiles/external-ipv6.xml_bak
cp /usr/local/freeswitch/conf/sip_profiles/external-ipv6 /usr/local/freeswitch/conf/sip_profiles/external-ipv6_bak -ra
2,为了安全修改SIP默认端口和分机默认密码
vi /usr/local/freeswitch/conf/vars.xml
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
修改成其他随机端口
<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>
请根据自己情况修改编码
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,G722,PCMU,PCMA,VP8"/>
OPUS G722 VP8删除了,修为
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA"/>
阿里云专有网络,请设置为公网IP
<X-PRE-PROCESS cmd="set" data="external_sip_ip=阿里云公网IP"/>
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=阿里云公网IP"/>
3,/usr/local/freeswitch/conf/sip_profiles/external.xml
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
修改为
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
4,/usr/local/freeswitch/conf/sip_profiles/internal.xml
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>
修改为
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
5,修改配置文件4--打开NAT支持
/usr/local/freeswitch/conf/sip_profiles/external.xml
and
/usr/local/freeswitch/conf/sip_profiles/internal.xml
找到下面内容,去除注释,如果找不到自己添加
<param name="aggressive-nat-detection" value="true"/>
<param name="NDLB-force-rport" value="true"/>
vi /usr/local/freeswitch/conf/sip_profiles/external.xml
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
6,以上配置 都是在 public里面,这个是任意Ip都可以呼入的,请在业务通过flow和calleeid字段控制一下,防止非法呼入。
也可以直接配置ACL,只有指定的IP才可以呼入。(如下配置ACL)
/usr/local/freeswitch/conf/sip_profiles/external.xml
在这句 <param name="local-network-acl" value="localnet.auto"/>
这之后加入 <param name="apply-inbound-acl" value="callin"/>
7,cat /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml
加入
<list name="callin" default="deny">
<!--
<node type="allow" cidr="可以呼入的IP1/32"/>
<node type="allow" cidr="可以呼入的IP3/32"/>
<node type="allow" cidr="0.0.0.0/0"/> 这个写法就是允许任意IP
-->
</list>
这之前加入
</network-lists>
</configuration>
8,大并发优化
df
tmpfs 977004 0 977004 0% /dev/shm
看到这个就是创建了
1)修改配置文件1:usr/local/freeswitch/conf/autoload_configs/switch.conf.xml
<param name="max-sessions" value="20000"/>
<param name="sessions-per-second" value="2000"/>
<param name="core-db-name" value="/dev/shm/core.db" />
2)修改配置文件2:/usr/local/freeswitch/conf/sip_profiles/internal.xml
<!--<param name="dbname" value="share_presence"/>-->
修改为
<param name="dbname" value="/dev/shm/sofia_reg_internal.db"/>
3)修改配置文件3:/usr/local/freeswitch/conf/sip_profiles/external.xml
<!--<param name="dbname" value="share_presence"/>-->
修改为
<param name="dbname" value="/dev/shm/sofia_reg_external.db"/>
八 freeswitch 命令操作
===============启动命令================
#详细启动日志并进入控制台模式命令
freeswitch -c -nonat -rp
#退出详细模式启动命令
shutdown
#后台启动freeswitch服务(推荐使用)
freeswitch -nc -nonat
#进入控制台模式命令
fs_cli
#退出控制台命令
/exit
#关闭freeswitch命令
freeswitch -stop
===============查询服务命令=============
#查看freeswitch安装路径
whereis freeswitch
查看进程号
ps -ef | grep freeswithch
查看freeswitch端口是否被监听
netstat -anp | grep 5060
#查看freeswitch的运行状态
status(控制台模式执行)
#查看freewitch内置用户是否注册
sofia status profile internal reg(控制台模式执行)
九,启动,进入控制台
十,安装freeswitch 可能遇到的问题 见freeswitch常见问题
十一,Linux下Mysql_odbc的安装配置odbc
1,安装方式1:apt-get install libmyodbc
2,有的系统安装不了 libmyodbc只能直接安装
cd /usr/local/
下载对应系统ubuntu18.04 对应版本
wget https://cdn.mysql.com//Downloads/Connector-ODBC/8.0/mysql-connector-odbc_8.0.30-1ubuntu18.04_amd64.deb
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-community-client-plugins_8.0.30-1ubuntu18.04_amd64.deb
进行安装
dpkg -i mysql-community-client-plugins_8.0.30-1ubuntu18.04_amd64.deb
dpkg -i mysql-connector-odbc_8.0.30-1ubuntu18.04_amd64.deb
3,配置文件
安装好odbc之后就是写相关配置文件了,配置文件自动生成在/etc/目录下,分别是:odbc.ini 和 odbcinst.ini ;odbc.ini需要写的是将要连接的数据库信息和连接驱动,odbcinst.ini需要写的是odbc驱动所需要链接的库,下文写下我的小例子
vi /etc/odbc.ini
[autodialer]
Description = THE Database for test
Trace = On
TraceFile = staderr
Driver = mysql
SERVER = 10.1.12.18
USER = deploy
PASSWORD = 123456
PORT = 3306
DATABASE = autodialer
charset = UTF8
option = 3
======
vi /etc/odbcinst.ini
[MYSQL]
Driver=/usr/lib64/libmyodbc8a.so
SETUP=/usr/lib64/libmyodbc8a.so
UsageCount=2
4,安装数据库,同时创建数据库autodialer
CREATE DATABASE autodialer DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
5,执行如下命令:
myodbc-installer -d -a -n "MYSQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so;SETUP=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so"
成功如下图
6,最后执行:isql -v autodialer
成功显示:
到这里有关mysql-odbc的安装配置终于完成