Freeswitch修炼宝典(二)-----freeswitch的ESL开发

本文介绍了Freeswitch的ESL(Event Socket Library)开发,包括内联(Inbound)和外联(Outbond)连接方式。内联是客户端主动连接Freeswitch,而外联则是Freeswitch主动发起连接。文中详细讲解了API的使用,特别是api和bgapi的区别,并通过一个语音通知命令实例解析了如何发起呼叫、设置参数以及执行应用程序。
摘要由CSDN通过智能技术生成

 一般来说,其他客户端都是通过ESL与fs进行连接的,如: Java是通过JAVA-ESL-CLIENT  朝FS进行连接的,连接方式分为内联:inbond 以及外联outbond 2种方式。

Inbound内联:简单说就是客户端主动通过socket的连接方式向FS进行连接,开启了一个“通道”,通过这个通道客户端不仅可以订阅监听一些时间,也可以通过这个通道进行命令的发送。fs_cli 其实就是一个fs的客户端。

 

Outbond外联:外联是FS主动朝外发送连接请求,每一个通话进入在拨号计划设置后都可以进行外联,这个外连接的存活周期就是这通通话的session存活周期,当然有时候FS状态推送慢,session挂断了,外联通道还没监听到这个事件,但是fs中有预留一个api进行这个的控制:linger,linger可以告诉freeswitch当一个通道挂机时不要关闭socket连接,直到收取相关通道的最后一个事件。这样就可以让我们去处理很多依赖状态的事件,比如状态推送,如果我们不是特别需要的话,就可以不增加这个参数。

 

在外部开发中,如JAVA 使用内联连接上后,都是运用的都是API进行开发,在API开发中,有2种命令发送方式朝FS发送命令。一种是api,一种是bgapi,两种api的区别就是一个是同步发送命令,一个是异步发送命令。使用api发送命令,是一个阻塞的状态ÿ

freeswitch是一个功能强大的开源电话交换平台,可以用于构建语音、视频和聊天应用程序。想要将freeswitch移植到ARM架构下进行交叉编译,可以按照以下步骤进行。 首先,确保你有一个可以运行Linux操作系统的ARM开发板或设备。ARM架构有许多不同的变种,所以你需要选择适合你设备的版本。 其次,安装交叉编译工具链。交叉编译工具链包含用于在一种架构上生成另一种架构的进制文件的工具。你需要为ARM架构下载并安装适当的交叉编译工具链。 然后,获取freeswitch的源代码。你可以从官方网站上下载最新的源代码包或从版本控制系统中获取最新的开发版本。将源代码解压到你的开发环境中。 接下来,配置freeswitch的编译选项。进入freeswitch的源代码目录,执行./configure命令来配置编译选项。在configure命令中,使用--host选项指定目标架构为ARM,指定交叉编译工具链的路径。 然后,进行编译。运行make命令来编译freeswitch。这可能需要一些时间,因为编译freeswitch可能涉及到许多依赖库的编译和链接。 最后,将编译后的进制文件和依赖库安装到ARM设备中。使用make install命令来安装freeswitch到指定的目录。 完成上述步骤后,你就成功地将freeswitch移植到ARM架构中,并进行了交叉编译。现在,你可以在ARM设备上运行freeswitch,并构建语音、视频和聊天应用程序了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值