广告 《大道至简,给所有人看的编程课》 🔥

《FreeSWITCH参考手册》

1.6 mod_cluechoo

mod_cluechoo这个模块是个很好玩的模块。很多人对此很好奇,不知道它有什么用。实际上,它真没什么用。用当比较流行的一句网络流行语说就是:『然而它并没有什么卵用』。

从名字看,不知道该模块是干什么的,而Wiki上对它的介绍也就只有一句话:mod_cluechoo implements Toyoda Masashi’s famous Steam Locomotive (SL) command for FreeSWITCH。即,该模块在FreeSWITCH中实现了Toyoda Masashi的蒸汽机车命令。那么,该蒸汽机车又到底是什么东东呢?

说来话长,通过搜索引擎,我们找到了这个页面: http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html 。在UNIX系统上有一个ls命令,但有时候容易输错,成了sl,便会提示命令错误。而该蒸汽机车实现了一个sl命令,即蒸汽机车(Steam Locomotive)的英文缩写。实际上,该程序只是一个小小的玩笑,没什么实际用处。 该程序手册上对SL的介绍是这样的:SL (Steam Locomotive) runs across your terminal when you type “sl” as you meant to type “ls”. It’s just a joke command, and not usefull at all. Put the binary to /usr/local/bin.

那么,不管有用没用,在FreeSWITCH中怎么玩呢?

该模块是默认编译和加载的,在FreeSWITCH控制台上重新加载一下该模块,便可以从日志中看出一些信息:

freeswitch> reload mod_cluechoo

[CONSOLE] switch_loadable_module.c:1464 Successfully Loaded `mod_cluechoo`]
[NOTICE] switch_loadable_module.c:269 Adding Application 'cluechoo'
[NOTICE] switch_loadable_module.c:315 Adding API Function 'cluechoo'

从上面的日志中可以看出,该模块实现了一个cluechoo App,以及一个cluechoo API。如果对App和API是什么东东不了解的同学可以参考第节。

接着在命令控制台上输入以下命令,便会看到一辆小火车开过,如图:

freeswitch> cluechoo
ClueChoo小火车

那么App怎么使用呢?构造如下的Dialplan,拨打cluechoo试一试。

<extension name="cluechoo">
    <condition field="destination_number" expression="^cluechoo$">
        <action application="answer" data=""/>
        <action application="cluechoo" data=""/>
    </condition>
</extension>

有兴趣的同学也可以看一看其源代码实现,挺有趣的哟 :) 。



本书版权所有 © 杜金房及各位贡献者 2016-2023,仅供在线阅读,谢绝一切形式转载。 本书还在写作中,持续更新。 如果你也想写上几句,欢迎加入我们。 | 返回首页 |