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

《FreeSWITCH参考手册》

1.8 mod_dptools

mod_dptools这应该是FreeSWITCH中最常用的模块了。

本模块实现了系统大部分的Application(即我们常说的App)。dptools是Dialplan Tools的简写。也就是说,这些App大部分是在Dialplan中用的。

我们可以通过在FreeSWITCH中重新加载该模块来查看一些信息,如:

freeswitch> reload`mod_dptools`
...
Adding Application 'blind_transfer_ack'
Adding Application 'bind_digit_action'
Adding Application 'capture'
Adding Application 'clear_digit_action'
Adding Application 'digit_action_set_realm'
Adding Application 'privacy'
Adding Application 'set_audio_level'
Adding Application 'set_mute'
...

从上面的例子可以看出,里面实现了很多我们不熟悉的App。关于这些App,我想,等所有模块都讲完了后我们也可以一个一个的讲。

关于App,我们前面讲过了,最常见的如answerechobridge等,它们都是执行一些功能跟通话的另一端进行交互。还记得吗?我们以前说过,跟FreeSWITCH通信其实就是在跟FreeSWITCH中的一个App在通信。

除App外,该模块还实现了一些Endpoint、Dialplan、API、File、Chat等Interface。

其中,有一个我们最熟悉的Endpoint——user,是的,可能大家都天天在使用,但没有注意到它是一个Endpoint。实际上,它相当于一个虚拟的Endpoint,我们先看一下下面的例子:

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

这里,user/1000是一个呼叫字符串,而user就是个Endpoint,实际上,它(在默认的配置下)相当于如下的字符串:

<action application="bridge" data="sofia/internal/1000@192.168.x.x"/>

其中,192.168.x.x是一个IP(实际上它是一个Domain,参见第节)。所以,这里的sofia才是真正的endpoint,而user只是相当于到sofia的一个快捷方式而已。

别的不说了,将该模块多reload几遍相信你在日志中就有更多的发现。然后,有时间可以看看源代码啊,很好懂的。



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