首页 > 新闻 > 专家观点 >

《FreeSWITCH: VoIP实战》: 使用Erlang建立IVR实现复杂业务逻辑

2012-08-24 11:00:29   作者:杜金房    来源:FreeSWITCH    评论:0  点击:




  其它讨论

  1. Erlang在这里是完全异步的。所以,当你通知FreeSWITCH执行一个application时(如playback),你必须等待收到CHANEL_EXECUTE_COMPLETE事件再进行下一步操作。这比起直接在dialplan或lua脚本中要麻烦一些,但正因为你是异步的,你可以随时终止正在执行的application。当然,如果你非要同步并且你知道某程序要执行多长时间时(如你知道要playback的声音文件的长度),你也可以用timer:sleep延时一下。
  2. 当我们觉得不再需要Erlang的特性时,我们会把流程转到dialplan,毕竟修改XML要容易些。
  3. mod_fifo在Erlang中不能很好工作,除非你在fifo结束时将流程transfer到其它地方。因为channel在送到Erlang关是park的,而fifo中bridge到另一分机时无法解除park状态。这也是为什么我们在最后都送流程再送回dialplan。
  4. 代码已经很清晰了,但我想,如果有时间能现写个gen_fs_behaviour之类的东东把FreeSWITCH的事件消息包装一下会更好看。

 

相关热词搜索: FreeSWITCH VoIP

上一篇:业内主流厂商对统一通信的定义

下一篇:最后一页

分享到: 收藏

专题