FreeSWITCH学习笔记 第一场 第八个镜头 API和App
来源:互联网 发布:人和卫星电视直播软件 编辑:程序博客网 时间:2024/06/04 18:33
API :又可以称作API Commands,例如前面章节使用的originate
APP:Application APP
TipS:FreeSWITCh是一个典型的B2BUA(背靠背用户代理服务),而构建通讯通道(Channel)有两端,然而通常目标通讯两端不会立马建立连接。需要发起->等待->接通
这样一个过程。等待
过程则需要一个APP暂时的充当一端或者某些情况下APP就是另一端
下面介绍几个常用的APP:
- echo
- park
- hold
- playback
- record
- bridge
echo
echo
前面我们用到过的APP,originate /user/1000 &echo
,接通后相当于1000
在与echo
通话
freeswitch> originate /user/1000 &echo
park
park
挂起功能,在某些情况下如果找不到用户1000
的另一端用户,则会挂起等待。可以在拨号计划
[注1]中配置这个APP
freeswitch> originate /user/1000 &park
hold
hold
等待功能,相比于park
的静默等待(傻等),它能在等待的同时播放保持音乐(Music on Hold,MOH)
freeswitch> originate /user/1000 &hold
playback
palyback
播放音乐,直接播放音乐给1000
freeswitch> originate user/1000 &playback(/xxx/xxx.wav)
record
record
录音,直接转到语音信箱,让1000
留言
freeswitch> originate user/1000 &record(/voice_of_1000.wav)
bridge
bridge
桥接两个UA进行通话,1000
接听电话后,bridge
可以再启动一个UA呼叫1001
,这样1000
与1001
就可以通话了
freeswitch> originate user/1000 &bridge(user/1001)
Tips. 简单来说,一个App是一个程序(Application),它作为一个Channel一端与另一端的UA进行通信,相当于它工作在Channel内部;而一个API则是独立于一个Channel之外的,它只能通过找到Channel的UUID来控制一个Channel(如果需要的话),相当于一个第三者
通常我们在控制台上输入的命令都是API;而在dialplan中执行的程序都是App(dialplan中也能执行一些特殊的API)。大部分公用的API都是在mod_commands模块中加载的;而App则在mod_dptools中,因而App又称为拨号计划工具(Dialplan Tools)。某些模块(如mod_sofia)有自己特有的API和App[注2]
更多的关于API和APP的详细介绍可以参见Mod_commands和Mode_dptools
- 注1:
拨号计划
是一块比较重要的内容,后续章节将会用比较大的篇幅进行介绍 - 注2: 此段引用自《FreeSWITCH权威指南》
- FreeSWITCH学习笔记 第一场 第八个镜头 API和App
- FreeSWITCH学习笔记 第一场 第一个镜头 安装启动
- FreeSWITCH学习笔记 第一场 第三个镜头 WSS配置
- FreeSWITCH学习笔记 第二场 第一个镜头 JsSIP初识
- FreeSWITCH学习笔记 第一场 第二个镜头 视频通话配置
- FreeSWITCH学习笔记 第一场 第五个镜头 添加新SIP用户
- FreeSWITCH学习笔记 第一场 第六个镜头 控制台与客户端(FS_Cli)
- FreeSWITCH学习笔记 第一场 第七个镜头 利用客户端(FS_Cli)执行呼叫
- FreeSWITCH学习笔记 第一场 第四个镜头 局域网支持
- FreeSWITCH学习笔记 第一场 第九个镜头 拨号计划(Dialplan)
- Swift3.0学习笔记-第一个app
- 1.1_Android Training 学习笔记_建立第一个App
- 第一个学习笔记
- 第一个学习笔记
- FreeSwitch学习笔记
- Freeswitch学习笔记 01
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
- 建立第一个App-整理笔记
- laravel-admin select下拉中文提示问题
- Multiply Strings:乘法运算
- Logback浅析
- Sql 自定义函数结构
- 集群之 -- zookeeper -JAVA小例子bean操作
- FreeSWITCH学习笔记 第一场 第八个镜头 API和App
- NIO核心知识(区别、Channel、Buffer、Selector、SelectionKey、完整代码案例)
- SVM核函数的分类
- 数据库_等值连接与自然连接的区别
- LBP纹理特征
- WebView安全浏览
- js_basic(0)
- (转)为Python添加默认模块搜索路径
- 微信测试号 安全域名校验错误 错误码:10003