首页 > 系统相关 >freeswitch-ubuntu安装

freeswitch-ubuntu安装

时间:2023-05-05 14:11:55浏览次数:49  
标签:sip 安装 dev usr conf ubuntu freeswitch local

一,软件及环境准备:

ubuntu版本18.04:https://releases.ubuntu.com/18.04.6/ubuntu-18.04.6-live-server-amd64.iso freeswitch 版本1.10.7:https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.7.-release.tar.gz spandsp包:https://codeload.github.com/freeswitch/spandsp/zip/refs/heads/master sofia-sip包:https://codeload.github.com/freeswitch/sofia-sip/tar.gz/refs/tags/v1.13.9   二,环境及软件下载后更改镜像源 为163 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/   七 相应配置文件更改

1,阿里云不支持ipv6,做处理

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的安装配置终于完成

 

标签:sip,安装,dev,usr,conf,ubuntu,freeswitch,local
From: https://www.cnblogs.com/kn-zheng/p/17373954.html

相关文章

  • DGL包的安装和卸载
    1.无版本要求下的DGL安装DeepGraphLibrary(dgl.ai)在官网中选择对应的版本DGL下载官网中默认是最新的版本2.有版本要求下的DGL安装Linux64::Anaconda.org在该网站中选择想要的版本3.卸载如果1中的下载命令是condainstall-cdglteam/label/cu116dgl卸载命令就是......
  • VoIP应用在Ubuntu 14.04下编译FFmpeg libX264及PJSIP
    PJSIP是一个开源的SIP协议栈。它支持多种SIP的扩展功能,可说算是最目前流行的SIP协议栈之一了。 它实现了SIP、SDP、RTP、STUN、TURN和ICE。PJSIP作为基于SIP的一个多媒体通信框架提供了非常清晰的API,以及NAT穿越的功能。PJSIP具有非常好的移植性,几乎支持现今所有系统:从桌面系统......
  • Ansible-安装
    第一步:安装我们的epel扩展源yum-yinstallepel-release我这里会报/var/run/yum.pid已被锁定,如果没有直接进行下一步[root@masterhome]#yum-yinstallepel-release已加载插件:fastestmirror,langpacks/var/run/yum.pid已被锁定,PID为22410的另一个程序正在运行。......
  • CentOS7yum安装出现/var/run/yum.pid 已被锁定,解决办法
    安装epel扩展源yum-yinstallepel-release提示:[root@masterhome]#yum-yinstallepel-release已加载插件:fastestmirror,langpacks/var/run/yum.pid已被锁定,PID为22410的另一个程序正在运行。Anotherappiscurrentlyholdingtheyumlock;waitingforitto......
  • nvm(Node Version Manager)安装管理多个版本的 Node.js 和 npm。
    在使用npm安装多个版本的软件包时,需要使用Node.js的版本管理工具–n或 nvm(NodeVersionManager)来管理多个版本的Node.js和npm。下面是使用nvm安装和管理Node.js和npm版本的步骤:安装nvm:您可以使用curl或wget命令来下载和安装nvm: curl-o-https:/......
  • Node.js的安装与配置
    一、什么是Node.js?Node.js 是能够在伺服器端运行 JavaScript 的开放原始码、跨平台执行环境。Node.js由OpenJSFoundation(原为Node.jsFoundation,已与JSFoundation合并)持有和维护,亦为 Linux基金会的项目。Node.js采用 Google 开发的 V8 执行程式码,使用事件驱动......
  • centos7安装oracle11g11.2.0.4.0
    1,下载oracle11g11.2.0.4.0安装包,解压2,配置安装环境1,下载配置环境文件-------------------------------------------------------------------------------------------------------------------------------------cd/etc/yum.repos.dwgethttp://public-yum.oracle.com/pub......
  • Ubuntu物理机安装
    本文所记录内容基本硬件配置:主板:华硕Z790-PCPU:Intel-i7-13900KGPU:NvidiaRTXA5000本文所记录内容基本软件配置:OS:Ubuntu-22.04桌面:GNOME启动盘:ventoy其它硬件配置或软件配置请谨慎参考......
  • 酷比魔方iwork8超级版平板(z3735f的cpu)安装linux
    这类平板都是15年左右的老机器,性能放到现在可谓十分孱弱,装windows已经不能流畅运行,而且不知为何,按照官方提供的镜像刷机后,过一段时间系统就会损坏,遂考虑安装Linux系统,经过一番搜索,发现了这些平板最大的问题:其带的UEFI(传统BIOS的替代品)是32位的,然而现在大多数系统都是6......
  • UbOpenCV 编译和安装
      1.环境OS:Ubuntu18.04/Debian10OpenCVversion:3.4.15Board:RK3399 2.编译和安装 搭建python3.7虚拟环境#依次安装gcc和cmake等编译环境#安装python3.7-tk和python3.7-dev#安装virtualenv虚拟环境sudoaptinstallgcccmakegitbu......