docker 部署freeswitch(非编译方式)

embedded/2024/11/19 23:58:02/

一:安装部署
 

1.拉取镜像
 

参考:https://hub.docker.com/r/safarov/freeswitch

 docker pull safarov/freeswitch


 2.启动镜像

docker run --net=host --name freeswitch \-e SOUND_RATES=8000:16000 \-e SOUND_TYPES=music:en-us-callie \-v /home/xx/freeswitch-sounds:/usr/share/freeswitch/sounds \-v /etc/freeswitch/:/etc/freeswitch \safarov/freeswitch

启动后出错:
  

这里的错误影响不是很大,可以不用管,主要是把语音相关文件补回去,不然拨打后拿文件会出错
手动下载:freeswitch-sounds-en-us-callie-8000-1.0.51.tar 解压到/home/xx/freeswitch-sounds
  

操作后重启镜像

3.宿主机关防火墙

  sudo systemctl stop firewalldsudo systemctl disable firewalldsudo systemctl status firewalld


4.至此基本能用了,使用方式  

账号:1000到1019

密码:/etc/freeswitch/vars.xml

查找关键字:default_password,就能看到

服务器地址:宿主机ip:5060,例如:1.1.1.1:5060


二:添加账号
  

参考目录:/etc/freeswitch/directory/default
下面1000.xml,拷贝把文件名和内容的1000全部替换,例如1020
  
  添加后进入容器

  docker exec -it freeswitch  /bin/bash


  执行

fs_cli -x "reloadxml"


  生效


三:拨打定制特定号码服务端的响应计划


举例:想要配置拨打10086的时候,先振铃5秒,再拨打一段语音,然后挂断
  
打开/etc/freeswitch/dialplan/default.xml
  
添加下面的配置

  <extension name="zhauto_answer"><condition field="destination_number" expression="^10086$"><action application="ring_ready"/><action application="sleep" data="5000"/><action application="answer"/><action application="sleep" data="1000"/><action application="playback" data="/usr/share/freeswitch/sounds/partita-no-3-in-e-major-bwv-1006-1-preludio.wav"/><action application="hangup"/></condition></extension>

重启容器即可


http://www.ppmy.cn/embedded/138906.html

相关文章

51单片机基础01 单片机最小系统

目录 一、什么是51单片机 二、51单片机的引脚介绍 1、VCC GND 2、XTAL1 2 3、RST 4、EA 5、PSEN 6、ALE 7、RXD、TXD 8、INT0、INT1 9、T0、T1 10、MOSI、MISO、SCK 11、WR、RD 12、通用IO P0 13、通用IO P1 14、通用IO P2 三、51单片机的最小系统 1、供电与…

小林Coding—Java「五、Java虚拟机面试篇」

五、Java虚拟机面试篇&#xff08;难⭐️⭐️⭐️&#xff09; 内存模型 JVM的内存模型介绍一下 JVM运行时内存共分为虚拟机栈、堆、元空间、程序计数器、本地方法栈 五个部分。还有一部分内存叫直接内存&#xff0c;属于操作系统的本地内存&#xff0c;也是可以直接操作的。 …

thinkphp6 入门(2)--视图、渲染html页面、赋值

use think\facade\View;View::assign([name > ThinkPHP,email > thinkphpqq.com]);View::assign(data,[name > ThinkPHP,email > thinkphpqq.com]); View::fetch(index);助手函数 view(index, [name > ThinkPHP,email > thinkphpqq.com ]); 模板输出 {$na…

集群聊天服务器(12)nginx负载均衡器

目录 负载均衡器nginx负载均衡器优势 如何解决集群聊天服务器跨服务器通信问题&#xff1f;nginx的TCP负载均衡配置nginx配置 负载均衡器 目前最多只能支持2w台客户机进行同时聊天 所以要引入集群&#xff0c;多服务器。 但是客户连哪一台服务器呢&#xff1f;客户并不知道哪一…

【jvm】方法区的理解

目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分&#xff0c;但它却…

泷羽sec渗透DC靶场(1)完全保姆级学习笔记

前言 本次学习的是在b站up主泷羽sec课程完整版跳转链接有感而发&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 &#xff0…

SQLite3 JDBC Java工具类

最近生产环境mysql各种无法使用&#xff0c;要求下线。有一堆小工具&#xff0c;平时因为mysql用着方便&#xff0c;配置啊&#xff0c;临时的一些比对数据存在里面。迁移很麻烦。 发现SQLite 3.47.0版本之后&#xff0c;性能大增&#xff0c;支持多线程&#xff0c;记录级锁。…

深入解析GIC中断处理与内核初始化:基于Linux 4.9.88内核的详细分析

往期内容 本专栏往期内容&#xff0c;interrtupr子系统&#xff1a; 深入解析Linux内核中断管理&#xff1a;从IRQ描述符到irq domain的设计与实现Linux内核中IRQ Domain的结构、操作及映射机制详解中断描述符irq_desc成员详解Linux 内核中断描述符 (irq_desc) 的初始化与动态分…