今天,说说API和App。
API和App是FreeSWITCH实现的两个基本的接口(INTERFACE)。API相当于命令行接口,它是独立存在的命令,App则是与一个Channel相关的,在Channel上执行的。
先说API:
我们在FreeSWITCH控制台上运行的命令就是API,如
status
version
help
其中有的命令有参数,如,我们常用的有:
sofia status
originate user/1000 &echo
常用的API命令都是在mod_commands中实现的,参考:wiki.freeswitch.org/wiki/Mod_commands 。
再说App:
App是Application的缩写,通常会在Dialplan里见到,如
<action application="answer"/>
其中,answer就是一个 App,它用于对来话进行应答。
其它的还有:
echo
info
有的App也有参数,如:
<action application="log" data="INFO 这是一条测试日志"/>
<action application="playback" data="/tmp/test.wav/>
常用的App是在mod_dptools中实现的,dptools即Dialplan Tools的缩写。参考:wiki.freeswitch.org/wiki/Mod_dptools
所有的App都是与Channel相关的,它作为通话中的一方与另一方交互,所以,如果你打一个电话到FreeSWITCH,如呼叫9196,它就在Dialplan中执行echo,然后相当于你是在跟echo这个App在通话,不同的是,echo是一个回音App,它不会说话,但它会把“听”到的(你说的)内容原样返回回来,因此你就听到了自己的回音。所以,记往跟FreeSWITCH通信,就是跟一个App在交互,就很容易理解App了。
下面,再回到API。有一票API,与App类似,也有相应的对应关系,这些API一般是以uuid_开头的,也能控制Channel,与App不同的是,App直接做为通信中的一方(位于Channel的一端)参与通通信,而uuid_一族的API更像是一个第三者,在Channel之外控制Channel的行为,如,uuid_answer可以对一个未应答的Channel进行应答,与answer App相对应,类似的还有uuid_transfer与transfer,uuid_kill与hangup等。
----------------------------------------
题图:有四棵树的秋景 来自
@达闻艺术-印象收藏
后印象派大师梵高“有四棵树的秋景”,1885年。这时的秋天,还远看不到收获,只能依稀感觉到一丝希望。这希望,游离在韧劲苗条的树枝间,徘徊在柔和朴实的色调里,朦胧得似有还无,忧郁得心乱感伤;右边的孤树,俨然是他的自画像,早早地进入了寒冬,同伴们忙着炫耀满枝的繁华,他却只能憧憬遥远的将来
----------------------------------------
FreeSWITCH-CN是什么?
FreeSWITCH-CN是FreeSWITCH中文社区,我们的官方网站是 http://www.freeswitch.org.cn 。FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码。当然,不管是新用户还是老用户,随时都可以输入m或1显示本账号的主菜单。
FreeSWITCH-CN的账号维护者是Seven Du,在此,他会分享多年的FreeSWITCH使用经验,分享一些对开源VoIP软件以及软件社区的思考,并隔三差五的解答一些粉丝关心的问题。Seven Du于2007年听说、2008年开始使用FreeSWITCH,2009年创办FreeSWITCH-CN中文社区,2011~2013连续三年参加了在美国芝加哥举办的ClueCon全球VoIP开发者大会,该会议是由FreeSWITCH核心团队主办的。
本文分享自 FreeSWITCH中文社区 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!