
Freeswitch
文章平均质量分 62
hnzwx888
这个作者很懒,什么都没留下…
展开
-
FreeSwitch下配置DID的方法(及各种配置)
配置DID的方法首先介绍下什么是DID? 翻译为中文为“直接向内拨号”,该服务是由电话公司提供的,它使用户能够直接拨打PBX或VOIP系统中的分机号码,而无需求助于总机或自动话务系统。现在要实现这样一个功能 - 通过手机或座机拨打一个号码(例如:01088888888),可以直接联系到VOIP系统(FreeSwitch系统)的1008这个用户。如下图所示:手机/座机 ---------...转载 2019-11-06 09:54:57 · 1215 阅读 · 0 评论 -
使用Opensips和FreeSwitch搭建万级别的高可用软交换架构
最近因为项目的原因,需要提供一个支持万级别以上,支持多应用的软交换服务端架构,对以前的架构做了一个调整,写一篇文章总结下。新的架构主要解决了一下几个问题:单套要支持1w左右并发的呼叫 完全的高可用,不能有单点故障 支持多种应用、如外呼、呼入、以及其它基于语音的通讯应用 支持多种录音方式,最少两种整个平台外部依赖的服务除了数据库主要就只有Opensips和FreeS...转载 2019-11-05 18:22:21 · 4080 阅读 · 2 评论 -
智能电话机器人--基于 UniMRCP 实现讯飞 ASR MRCP Server
通过实现 UniMRCP 的 plugin,我们可以封装讯飞、百度、阿里等厂家的 ASR 接口,实现我们自己的 MRCP 服务器。什是 MRCP媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种通讯协议,用于媒体资源服务器向客户端提供各种语音服务,目前已定义的媒体资源服务有语音识别(Speech Recognition)、语音合成(Sp...转载 2019-10-27 10:31:21 · 1435 阅读 · 0 评论 -
freeswitch mrcp 源码分析--数据包的发送
在MRCP 开始语音识别后会调用recog_channel_start()函数static switch_status_t recog_channel_start(speech_channel_t *schannel){ switch_status_t status = SWITCH_STATUS_SUCCESS; switch_hash_index_t *egk; ...转载 2019-10-27 10:15:34 · 851 阅读 · 0 评论 -
freeswitch mrcp 源码分析--数据解析
/** Parse message by raising corresponding event handlers */APT_DECLARE(apt_message_status_e) apt_message_parser_run(apt_message_parser_t *parser, apt_text_stream_t *stream, void **message){ co...转载 2019-10-27 10:10:35 · 503 阅读 · 0 评论 -
freeswitch mrcp 源码分析--event事件产生
event事件的构建主要在speech_thread()函数里面。static void *SWITCH_THREAD_FUNC speech_thread(switch_thread_t *thread, void *obj){ struct speech_thread_handle *sth = (struct speech_thread_handle *) obj; s...转载 2019-10-27 10:03:12 · 595 阅读 · 0 评论 -
freeswitch mrcp 源码分析--数据接收(下)
在前两篇我们介绍了mrcp接收后的处理,最后会调用apr_queue_push扔到消息队列里面。对应的,在apt_consumer_task.apt_consumer_task_run()中会循环调用pr_queue.apr_queue_pop()从队列里面取出数据:apt_consumer_task.apt_consumer_task_run –>apr_queue.apr...转载 2019-10-27 09:58:43 · 829 阅读 · 1 评论 -
freeswitch mrcp 源码分析--数据接收(上)
apt_poller_tas.apt_poller_task_run–> mrcp_client_connection.mrcp_client_poller_signal_process–>sendrecv.apr_socket_recv –>mrcp_stream.mrcp_parser_run –>mrcp_client_connection.mrcp_...转载 2019-10-27 09:53:50 · 520 阅读 · 1 评论 -
构建简单的智能客服系统(三)——基于 UniMRCP 实现讯飞 TTS MRCP Server
上一篇我们封装了科大讯飞接口实现了 UniMRCP ASR Plugin,这篇文章我们再简单说一下 TTS 的实现。MRCP plugin以下内容请参考《基于 UniMRCP 实现讯飞 ASR MRCP Server》:UniMRCP 的编译、安装运行 UniMRCP plugin 的加载、调用流程 UniMRCP plugin 的新建 讯飞 SDK 的导入调用讯飞 AP...转载 2019-10-25 13:30:31 · 1620 阅读 · 0 评论 -
构建简单的智能客服系统(二)——基于 UniMRCP 实现讯飞 ASR MRCP Server
通过实现 UniMRCP 的 plugin,我们可以封装讯飞、百度、阿里等厂家的 ASR 接口,实现我们自己的 MRCP 服务器。什是 MRCP媒体资源控制协议(Media Resource Control Protocol, MRCP)是一种通讯协议,用于媒体资源服务器向客户端提供各种语音服务,目前已定义的媒体资源服务有语音识别(Speech Recognition)、语音合成(S...转载 2019-10-25 13:28:26 · 2525 阅读 · 0 评论 -
构建简单的智能客服系统(一)——FreeSWITCH 搭建与配置
最近部署了几台第三方的智能语音系统,提供了如 ARS、TTS 相关服务。而 MRCP 能够对不同厂商提供的接口进行统一的封装,对于上游 FreeSWITCH 服务器只需要关心需要什么服务,而不需要再针对不同厂商进行相应接口开发。智能客服系统简介FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎...转载 2019-10-25 13:25:26 · 4911 阅读 · 1 评论 -
WinSIP简介
WinSIP 是一款VOIP压力测试软件,含有很多自定义的功能WinSIP配置配置 WinSIP 工作的IP地址若电脑含有多个接口或多个IP地址,需要配置 WinSIP 工作的IP地址: Options - Set Local IP Addresswinsip_set_local_ip winsip_sel_local_ipWinSIP系统配置Options...转载 2018-12-20 19:07:38 · 1701 阅读 · 0 评论 -
基于freeswitch 自动外呼系统实现(一)
原文网址:http://www.luojie1987.com/index.php/post/179.html15年基于freewitch做的自动群呼系统,主要由监听模块,任务外呼模块,及FIFO实现。1、mod_cctask.c#include<switch.h> #include<switch_stun.h> #defi...转载 2019-04-10 22:36:57 · 4583 阅读 · 0 评论 -
FreeSWITCH 安装配置的 各种坑, 填坑
原文链接:https://www.cnblogs.com/lzpong/p/6740188.html---auth:lzpong个人安装环境:OS:CentOS6.7 64位FreeSWITCH Ver:1.6.17一. 编译出错安装 之前, 最好 先安装 这几个东西(如果有, 请忽略):yasm (有nasm的话 不用装这个) , opus-devel(可...转载 2019-03-22 16:57:47 · 1711 阅读 · 0 评论 -
freeswitch之G729转码操作配置详解
在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711、G729。由于语音需要采用上下行对等的宽带,G711每线需要大约90kbit/s/S的带宽,而G729每线仅需要30kbit/s/S的带宽。所以目前对接客户侧,都希望对接采用G729编码。 freeswitch默认是不支持进行G729转码的,商...转载 2018-12-21 16:36:16 · 1179 阅读 · 0 评论 -
freeswitch 与 rabbitmq的结合与运用
rabbitmq作为目前流行的消息队列,可以持久化,处理性能高,功能齐全,采用amqp协议。 freeswitch中拥有mod_amqp模块,也采用amqp,所以可以使用freeswitch将 事件、命令、日志推送给rabbitmq,再使用其他语言与rabbitmq相结合(如Java),实现自己所想要的功能(报表系统,日志系统、状态系统、统计系统等等) 这里首先介绍一个mod...转载 2018-12-21 16:33:18 · 1881 阅读 · 2 评论 -
freeswitch 优化db
转载自:https://blog.youkuaiyun.com/whyhonest/article/details/7932118 昆山+戴晓亮(272966) 14:13:51今天没事做给大家讲一下fs的优化fs运行的时候会生成一些db文件,是sqlite的,因为sqlite在高并发的状态下不行我以前是直接把这些文件放在ramdisk下面的,这样的确能够提高稳定性的,但是在超过200以上的并...转载 2018-12-21 16:28:30 · 647 阅读 · 1 评论 -
无锁:高性能录音系统根本性改进
当并发呼叫增加到1千以上(交换机端口镜像过来的流量达150M),含多种语音编码时(如g711A、U和g729等),录音系统性能出现下降,如丢录音,丢包,卡顿甚至崩溃等情况。经过彻底改进和优化,录音系统运行非常顺畅,可以长时间稳定运行而不会丢失任何数据。下面记录一下改进的关键部分。1、抓包改进抓包库使用的pcap_开头的函数,有很多可优化的地方,如设置缓冲区大小,读包延时(最好就不要...转载 2019-05-28 15:21:01 · 220 阅读 · 0 评论 -
Winpcap的Kernel Buffer和其他的Buffer设置
转载自:https://blog.youkuaiyun.com/hanyu1980/article/details/2316064在pcap中都存在Kernel Buffer和User Buffer的概念,Kernel Buffer提供给驱动层来缓存网卡上抓的包,而用户Buffer是用来和用户应用程序进行交互,将数据通过UserBuffer提供给用户。int pcap_setbuff(pc...转载 2019-05-28 15:33:32 · 751 阅读 · 0 评论 -
SIP/2.0 403 Forbidden(Invalid domain in From: header)
一、错误场景FreeSWITCH通过网关和一台支持SIP的网关设备互联,一个呼叫发过去,收到这个错误。FreeSWITCH的地址是192.168.1.99。网关设备的地址是192.168.1.200。SIP/2.0 403 Forbidden(Invalid domain in From: header)二、提示的很清楚,From header中的domain无效。...转载 2018-09-07 22:44:02 · 5253 阅读 · 0 评论 -
FreeSWITCH1.6使用postgresql9.3.5作为数据库编译过程
转载自:http://freeswitch.net.cn/27.html在之前,我们转载了FreeSWITCH官网上有关postgresql的配置的问题,但是在细节上并没有描述,现在就如何在debian8.1上安装FreeSWITCH、Postgresql并使用Postgresql作为FreeSWITCH数据库做个简单介绍。第一步、安装PostgresqlCentOS 或debian ...转载 2019-07-17 16:29:27 · 597 阅读 · 0 评论 -
Ubuntu下freeSwitch安裝指导
转载自:https://www.jianshu.com/p/3400fdd29fb5本文档主要是指导从源代码安装FreeSWITCH。准备条件硬件· 32-bit OS (64-bit recommended) cpu Any· 512MB RAM (1GB recommended)· 50MB of Disk Space系统WINDOWS/LINUX本文采用U...转载 2019-07-17 15:30:22 · 1356 阅读 · 0 评论 -
Freeswitch ldns crash问题分析
转载自:https://www.jianshu.com/p/5a4e44fd8b8e先来看一个FS的coredump的堆栈信息。 你看到这个慌不慌?#0 0x00007f62d15af1f7 in raise () from /usr/lib64/libc.so.6#1 0x00007f62d15b08e8 in abort () from /usr/lib64/libc.so.6...转载 2019-07-17 15:27:38 · 981 阅读 · 0 评论 -
为什么Freeswitch总是有“盗打”电话?
转载自:https://www.jianshu.com/p/e5dc688a2f8f之前我一直不知道这种现象叫什么,直到有人称呼它“盗打”。那就管它叫“盗打”吧。“盗打”就像上图,从日志中可以发现有一些呼叫根本不是自己发起的,但是莫名其妙的就有的。其实也不能叫“盗打”,因为有些拨打根本没有意义,也没有打通。它们就像一个一个精灵一样,穿梭在FS中。当然,可能形式不止这一种。不过这所有...转载 2019-07-17 15:24:23 · 1713 阅读 · 0 评论 -
FreeSWITCH折腾笔记2——个性化FreeSWITCH
转载自:https://blog.51cto.com/908405/19482541、/etc/freeswitch/autoload_configs/switch.conf.xml<param name="switchname" value="Root.Lee.Sofia"/> <!--系统“主机名”注册时显示的HOST及进入fs_cli后显示的主机名-->...转载 2019-07-17 10:48:25 · 770 阅读 · 0 评论 -
freeswitch 录音录像模块和内核
转载自:https://blog.youkuaiyun.com/wh8_2011/article/details/80033695freeswitch支持录音和录像功能,录音功能主要是通过mod_sndfile、mod_shout等模块实现的,录像模块是通过mod_mp4v2和mod_av模块实现。 mod_sndfile录制wav mod_shout录制mp3...转载 2019-06-29 17:24:20 · 559 阅读 · 0 评论 -
基于FreeSwitch自动外呼的探索
转载自:https://blog.youkuaiyun.com/hj550636459/article/details/83016139一、 研究导读随着近两年IP融合通信、视频通信、统一通信、云计算等新技术的迅猛发展,信息科技的快速增长以及电话外呼需求量的不断提升。由于传统的呼叫中心语音处理能力受限于硬件板卡,存在依赖硬件、成本高、维护困难、可扩展性不强等特点,特别是对于移动媒体的支持能力也十分...转载 2019-06-29 17:08:28 · 993 阅读 · 0 评论 -
抓包程序丢包的问题
转载自:https://blog.youkuaiyun.com/wjatchd/article/details/8702427出现丢包的原因可能是缓冲区太小了:1、调用pcap_set_buffer_size调整应用程序缓冲区的大小。2、如果使用wincap,还可以调用pcap_setbuff设置内核缓冲区的大小。一般的,程序设置对抓包效率影响有限,关键因素还是回调函数的处理速度,...转载 2019-05-28 15:37:55 · 2230 阅读 · 0 评论 -
FreeSWITCH折腾笔记8——使用OpenSIPS进行负载均衡
原文网址:http://blog.51cto.com/908405/2235934 通过OpenSIPS对FreeSWITCH进行负载均衡网络上的文章很多,但都是基于老版本的OpenSIPS,目前最新的OpenSIPS LTS版是2.4,如果使用老版本配置文件,OpenSIPS是运行不起来(当然通过一番修改后还是可以运行起来的)。笔者经过一番折腾,成功实现了OpenSIPS 2.4版本对F...转载 2018-12-20 09:42:56 · 2667 阅读 · 0 评论 -
利用opensips实现freeswitch负载均衡的数据库死锁问题
多个freeswitch实现负载均衡,要使用同一个数据库,这样每个freeswitch都要建立到数据库的连接,在每个呼叫结束时,都要到数据库中删除一些数据,比如要到calls表删除呼叫信息,如果多个freeswitch同时进行删除操作,有可能会产生死锁,比如:2018-06-12 18:16:25.613092 [ERR] switch_odbc.c:522 ERR: [delete from...转载 2018-12-20 09:39:14 · 602 阅读 · 0 评论 -
freeswitch 录音录像模块和内核
原文网址:https://blog.youkuaiyun.com/iware99/article/details/78068618 freeswitch支持录音和录像功能,录音功能主要是通过mod_sndfile、mod_shout等模块实现的,录像模块是通过mod_mp4v2和mod_av模块实现。 mod_sndfile录制wav mod_shout录制mp3...转载 2018-12-20 09:34:14 · 622 阅读 · 0 评论 -
freeswitch透传号码
百问和权威指南中,都说明bridge送主叫号码使用origination_caller_id_number或effective_caller_id_number ,我被害了应该用origination_caller_id_name或effective_caller_id_name今天研究freeswitch向外透传号码,账号是sip账号注册到对方的vos平台上原来对方vos平台没有开通...转载 2018-10-19 21:14:09 · 6205 阅读 · 2 评论 -
基于FreeSwitch自动外呼的探索
一、 研究导读随着近两年IP融合通信、视频通信、统一通信、云计算等新技术的迅猛发展,信息科技的快速增长以及电话外呼需求量的不断提升。由于传统的呼叫中心语音处理能力受限于硬件板卡,存在依赖硬件、成本高、维护困难、可扩展性不强等特点,特别是对于移动媒体的支持能力也十分有限,如何结合现有智能语音技术实施精准营销、提升个性化服务、智能有效的实施风险管控已成为行业内普遍关注的课题。随着全IP网承载...转载 2018-10-19 20:59:29 · 3238 阅读 · 0 评论 -
freeswitch实现监听、三方通话的两种方法
首先是使用freeswitch自带的监听和三方通话的功能, 模块:mod_dptools: eavesdrop mod_dptools: three_way使用方法是针对已经建立通话的双方的其中之一的UUID,发送命令或者配置拨号计划来使用,例如:已经通话的双方UUID是:9d385df2-e8ce-4c06-a8d9-ab04477a5d27、91b54a88-...转载 2018-10-19 16:54:23 · 1137 阅读 · 0 评论 -
freeswitch的呼叫中心模块——mod_callcenter
freeswitch的呼叫中心模块很方便的就可以让用户体验这种呼叫中心模式,包含了很多功能,具体参数的配置在使用中自行摸索。编译安装freeswitch时需要开启mod_callcenter、mod_fifo的编译,之后在安装完成之后在conf/autoload_configs/modules.conf.xml中去掉该模块相关行的注释。配置方法,编辑conf/autoload_config...转载 2018-10-18 11:23:24 · 1818 阅读 · 0 评论 -
freeswitch 之mysql性能优化篇
大家在使用freeswitch时,为了方便freeswitch与GUI等进行结合,经常会使用mysql数据库对fs进行启动。但是freeswitch使用mysql启动后,会比使用自带数据库更加消耗资源,大家可以将源生的创表方法改成使用内存数据库进行优化,可以增加freeswitch的性能。 具体步骤如下: 1.进入freeswitch的源码包,cd src 2.修改源生的...转载 2018-09-20 17:45:10 · 1003 阅读 · 0 评论 -
[WARNING] mod_event_socket.c:2641 IP 172.18.1.112 Rejected by acl "loopback.auto"
一、目标修改event_socket配置,使之能够建立远端ESL链接。二、步骤1. vim ../autoload_configs/event_socket.conf.xml2. 默认的监听地址配置<param name="listen-ip" value="127.0.0.1"/>3. 修改为本地监听地址<param name="listen-ip...转载 2018-09-07 22:45:36 · 1772 阅读 · 0 评论 -
FreeSWITCH一些需求应对
一、用户号码组听到这个名词的时候,心中还挺迷茫,需求如下:一个用户分配号码为800,但是这个用户有一部座机,两部手机;有人拨打800这个号码时,这个用户的所有关联终端都要振铃。其实就是用户号码多终端同时注册。修改方法如下:1 vim FreeSWITCH安装路径/sip_profiles/internal.xml2 找到<!--<param name="m...转载 2018-09-07 22:41:28 · 264 阅读 · 0 评论 -
取消mod_sofia的呼叫鉴权
原文链接:https://www.cnblogs.com/yoyotl/p/5368882.htmlFreeSWITCH中默认的SIP呼叫是要鉴权的,流程如下。 1 终端 FreeSWITCH 2 3 A -----Invite------> FS 4 5 A <----Trying------ FS ...转载 2018-09-07 22:39:02 · 488 阅读 · 0 评论 -
[转]SIP穿越NAT&FireWall解决方案
原文链接(也是转载)https://www.cnblogs.com/yoyotl/p/4932213.html SIP从私网到公网会遇到什么样的问题呢?1. 包的地址转换。2. SIP消息里面的SIP地址转换。3. SIP消息里面的SDP中的RTP地址转换。网络现存结构复杂,SIP服务提供商并不一定是NETWORK提供商,很难要求客户只能使用某种方式的NAT&FireWa...转载 2018-09-07 22:36:26 · 469 阅读 · 0 评论