FreeSWITCH学习笔记 第一场 第八个镜头 API和App

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ErErFei/article/details/78363008

API :又可以称作API Commands,例如前面章节使用的originate
APP:Application APP

TipS:FreeSWITCh是一个典型的B2BUA(背靠背用户代理服务),而构建通讯通道(Channel)有两端,然而通常目标通讯两端不会立马建立连接。需要发起->等待->接通这样一个过程。等待过程则需要一个APP暂时的充当一端或者某些情况下APP就是另一端


下面介绍几个常用的APP:

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,这样10001001就可以通话了

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_commandsMode_dptools


  • 注1: 拨号计划是一块比较重要的内容,后续章节将会用比较大的篇幅进行介绍
  • 注2: 此段引用自《FreeSWITCH权威指南》

猜你喜欢

转载自blog.csdn.net/ErErFei/article/details/78363008