通过 B2BUA 呼叫在真实世界中,bob 和 alice 肯定要经常改变位置,那么它们的 SIP 地址也会相应改变,并且,如果他们之中有一个或两个处于 NAT 的网络中时,直接通信就更困难了。所以,他们通常会借助于一个服务器来相互通信。通过注册到服务器上,他们都可以获得一个服务器上的 SIP&nb            
                
         
            
            
            
             概述freeswitch是一款简单好用的VOIP开源软交换平台。现在的VOIP服务越来越倾向于云端服务,包括呼叫中心云服务,线路云平台。而云平台对多个客户的服务就需要做好隔离,包括数据隔离、线路隔离、服务隔离等。freeswitch内部的多租户模式根据不同用户SIP域的配置,来实现呼叫的服务隔离。环境centos:CentOS  release 7.0 (Final)或以上版            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-27 23:24:34
                            
                                139阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在Ubuntu18.04安装Freeswitch1.10一、版本选择二、Ubuntu的安装1、修改Ubuntu镜像(1)进入配置的目录,并进行配置文件备份(2)打开和修改源三、Freeswitch安装1、添加第三方源2、添加第三方源3、安装部分依赖包4、配置使用gawk5、编译安装程序依赖包(1)安装cmake(2)安装libks(3)安装signalwire-c(4)安装mod_mariadb依            
                
         
            
            
            
            文章目录前言一、什么是media bug二、如何使用media bug获取通话语音流2.1 media bug创建2.2 media bug回调函数2.3 media bug的原理三、media bug相关接口四、完整例子总结 前言上一篇介绍创建和使用自定义模块,创建一个自己的app嵌入到FreeSwitch;这一篇介绍运用“media bug”,获取通话语音流。首先,看到这儿,应该会有两个问            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 19:23:20
                            
                                828阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、PBX与freeswitchPBX是Private Branch eXchange的缩写形式,用户级交换机,即公司内部使用的电话业务网络,系统内部分机用户分享一定数量的外线。 FreeSwitch是一个开源的电环交换平台,是一个跨平台的/伸缩性极好的/免费的/多协议的电话软交换平台。 从下面两张拓扑图可以看出PBX的作用。 图一模式,公司内部只能有7部电话,使用7个运营商号码。图二模式,公司内            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-08 15:26:54
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1. 呼入处理方案2. 细节处理1. a-leg 的拨号计划2. originate 呼叫坐席 1. 呼入处理方案使用 FreeSWICTH 的 ESL 模块,一个简单的呼入处理时序如下图所示,关键步骤做如下补充:用户呼入到 FreeSWITCH 实例,a-leg 创建FreeSWITCH 根据用户呼叫的号码路由匹配拨号计划,该拨号计划最好配置上 ESL 外连的 socket APPes            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-06 00:15:33
                            
                                165阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## FreeSWITCH 的 Lua 脚本替换 Python 脚本
### 引言
在现代通信系统中,开发者常常需要使用脚本语言来处理呼叫和媒体流。FreeSWITCH 是一个开源的通信平台,支持多种脚本语言。其中,Lua 和 Python 是最受欢迎的两种。虽然 Python 拥有广泛的库和支持,但在一些用例中,Lua 由于其轻量级和高效性,可能是一个更好的选择。本文将探讨如何使用 Lua            
                
         
            
            
            
            最近需要开发有关智能外呼的项目,需要对Freesiwth相关内容进行详细的了解,学习整理整理。一、常用总结1、常用命令fsctl loglevel [1-7] # 设置日志levelreloadxml # 重载xml文件regex 被匹配字符串|正则表达式 # 校验正则表达式是否正确,匹配到,返回true,否则返回falseregex 被匹配字符串|正则表达式|%[01...] # 返回%0代表全            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-12 10:21:04
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在处理“freeswitch开启java esl”时,我们需要做一些具体的环境配置、编译过程、参数调优、定制开发、调试技巧以及解决常见错误的工作。下面我将详细叙述这些步骤。
关于环境配置,我将首先列出所需的依赖项和版本。为了更好地理解,我创建一张思维导图并在下方列出必要的 Shell 配置代码。
```mermaid
mindmap
  root
    环境配置
      FreeSWIT            
                
         
            
            
            
            API/事件 接口 通过API或事件接口调用,如:[[mod_event_socket]][[mod_xmpp_event]][[mod_erlang_event]][[mod_xml_rpc]] 脚本接口 通过脚本进行调用,如下: [[mod_perl]][[mod_spidermonkey]][[mod_python]][[mod_lua]] 拨号方案调用 通过拨号方案进行调用,例子如下:&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-20 11:04:36
                            
                                570阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            导入MySQL我们可以用一个简单语句导入SQLite库,假设Lua中正确实现并已完成。在安装过程中,文件夹libsql包含数据库相关的文件。mysql = require "luasql.mysql"可变的MySQL将提供通过参照主MySQL表访问该功能。建立连接我们可以设立一个启动MySQL的环境,然后创建环境的连接。如下所示。local env  = mysql.mysql()loc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-04 00:00:14
                            
                                58阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            freeswitch开启录音/usr/local/freeswitch/conf/dialplan 后面的default <extension name="Local_Extension">            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-31 14:11:20
                            
                                4788阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              最近看到了伯乐在线编程挑战赛,觉得题目还比较适中,而且出发点非常好,至少对我这种菜鸟来说。首先,他不排名,其次还公布大家提交的源码,如果不会的话,可以参考别人的代码。并且可以学习高手们的思路和编码风格,对自己有非常大的帮助。以后我会一直坚持跟进他的题目。  今天把第0期的呼叫转移系统的题目看了下,第一次自己写的时候,没把情况考虑全。后来参考了别人的思路,最终把它给弄出来了。 &nbs            
                
         
            
            
            
            声明:本文来自滴水公司于海东老师的课程。 ThreadSwitch.h
#pragma once
 
//最大支持的线程数
#define MAXGMTHREAD 100
 
//线程信息的结构
typedef struct 
{
    char* name; //线程名
    int Flags; //线程状态
    int SleepMillsecondDot; //休眠时间
            
                
         
            
            
            
            mod_sofia模块是FreeSWITCH默认使用的SIP协议栈,FreeSWITCH默认带了三个Profile(也就是三个UA),其配置目录为 conf/sip_profiles 一、internal Profile该配置默认运行在5060端口,配置文件为 sip_profiles/internal.xml,详细参数如下<profile name="interma            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-13 14:44:50
                            
                                284阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Freeline使用攻略从今天开始将学习至今的笔记(杂乱,碎片)转为博客(排版 截图好麻烦…),一方面反哺社群,另一方面整理笔记巩固知识进入主题:freeline简介接入准备如何配置遇到的坑1. freeline简介github地址freeline极大加快了编译速度,平时编译+安装需要四五分钟,现在只要四五秒…灰一般的感觉0.0 编程的进步是由少数人推动的,膜拜~2. 接入准备你的jdk版本不应该            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-28 08:47:11
                            
                                68阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、mod_info呼叫队列1.1、呼叫停泊与取回        一般来说,普通的电话呼叫会使用 bridge App来桥接两条腿。但在电话分配中,一般采用停泊与取回的方式进行电话搭接。顾名思义,停泊跟泊车类似,即在有来话时,先将来话停靠在一个泊位上(一般还会放点音乐),然后通过某种算法找到一个空闲的座席,该座席拨打一个与该泊位相关的号码,就可以将该泊位上的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 17:36:21
                            
                                446阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ------ Created by zhy.--- DateTime: 2021/7/13 15:20----- 设置环境变量package.path = package.path .. ";/etc/freeswitch/custom/scripts/?.lua"fsexecute= require("execute")function init() --local data = params:            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-04 11:20:41
                            
                                355阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 在FreeSWITCH中使用Lua操作Hiredis
## 介绍
FreeSWITCH是一款开源的通信平台,广泛用于构建语音、视频和聊天应用。它支持多种编程语言的扩展,其中Lua是一种轻量级的脚本语言,常用于快速开发和原型设计。与此同时,Hiredis是一个高效的C客户端,用于连接Redis数据库。将FreeSWITCH与Lua及Hiredis结合使用,可以构建强大的数据驱动的通信应用。            
                
         
            
            
            
            第一步:create ROS package>mkdir-p ~/catkin_ws/src
>cd ~/catkin_ws/src
>catkin_init_workspace
>cd ..
>catkin_make
    
>source devel/setup.bash
>catkin_create_pkg ros_robotic
    hou@