前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FreeSWITCH新特性之视频「流」

FreeSWITCH新特性之视频「流」

作者头像
Seven Du
发布2020-12-21 14:26:08
1.7K0
发布2020-12-21 14:26:08
举报
文章被收录于专栏:FreeSWITCH中文社区

今天,我们来看dialplan/default/0000_local_extensioins.xml。

这一段dialplan跟我们在《FreeSWITCH权威指南》中的Loacal_Extensions类似,只不过简化了许多,而且,增加了一点点视频配置。

<condition field="destination_number" expression="^(10[01][0-9])$">

正则表达式,匹配被叫号码1000~1019。

<action application="set" data="hangup_after_bridge=true"/>

如果bridge成功,则正常挂机。注意bridge是阻塞的,它会一直持续到b-leg挂机。

<action application="set" data="continue_on_fail=true"/>

如果呼叫b-leg失败,则继续。

<action application="export" data="hold_music=local_stream://video"/>

设置保持音乐为local_stream://video。我们最后再讲。

<action application="bridge" data="user/

bridge被叫号码。如果bridge成功(a-leg与b-leg正常通话且b-leg挂机),则由于我们前面设置了hangup_after_bridge=true,所以,到此,a-leg也挂机了。否则(bleg未接听或空号或忙等情况),则继续。

<action application="answer"/>

FreeSWITCH应答。

<action application="sleep" data="1000"/>

暂停一秒,以等待RTP建立。一般情况下RTP建立是很快的,但在跟PSTN通信时,由于经过很多网关或网络环境比较复杂,或有srtp等需要加密的情况下,RTP建立需要一些时间。

<action application="bridge" data="loopback/app=voicemail:default

进入voicemail。这时使用了loopback这种Endpoint。loopback可以将一个App变成一个Session。关于这个,我们今天就不多讲了。

回过头来看hold_music=local_stream://video

local_stream是一个File Interface,它是一个不间断的「流」。以前,仅支持音频,现在,也支持视频了。如果你读过《FreeSWITCH权威指南》,就知道流在定义可以在autoload_configs/local_stream.conf.xml中找到。它的内容如下:

<directory name="video" path="$${sounds_dir}/music/video">

<param name="rate" value="48000"/>

<param name="shuffle" value="true"/>

<param name="channels" value="2"/>

<param name="interval" value="10"/>

<param name="timer-name" value="soft"/>

</directory>

从上面的配置中可以看出,它定义了FreeSWITCH安装目录下的music/video目录。在该模块启动时,它会找出该目录下的视频文件,并生成一个「流」。一旦有地方需要这个「流」时,便可以直接从流中读取。一个流可以被很多Channel同时用,有效的利用了资源。

由于在上面的Dialplan中我们通过hold_music使用该流,所以,当且仅当通话的双方有一方按下话机上的HOLD按键进入HOLD状态时,对方才能看到「流」里的视频。

想不想试一把?

我们讨论的例子都是FreeSWITCH的testing配置,如果你不知道testing是什么,点击「阅读原文」查看。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档