freeswitch esl使用节点js

时间:2014-01-07 11:59:58

标签: node.js freeswitch

我正在使用nodejs实现freeswitch ESL,我正在使用modesl模块,它工作正常,我可以使用execute函数调用dialplan工具。

然而,execute函数是nodejs的modesl模块中的异步实现。

我需要的是一个同步调用,这样当我调用执行函数时,执行应该等到freeswitch完成执行该应用程序。

在下面的代码示例中,我在播放完成之前得到输出“ivr finished”。

exports.process_ivr = function (conn, id)
{
    conn.execute('answer');
    conn.execute('playback','/root/before.wav');
    console.log('ivr finished');
}; 

根据modesl,没有调用freeswitch命令的异步方法,有没有其他方法可以使用nodejs实现它?

1 个答案:

答案 0 :(得分:1)

试试这个。

 conn.execute('answer',function(){
    conn.execute('playback','/root/before.wav',function(){
      console.log('ivr finished');
    });
 });