我正在尝试转移连接到node-esl的呼叫。我已成功将该呼叫桥接到另一个端点。现在,我想以编程方式将该呼叫转移到另一个分机或另一个号码,而不会中断呼叫流程。
我已将桥接后的挂断设置为false。但是,我无法转接电话。我使用的npm包是“ modesl”。 我还尝试过桥接呼叫(这不是必需条件,因为在转移呼叫时该呼叫应处于活动状态)。 我有该调用的UUID,可以将其作为conn进行传输。执行或作为conn.api。
var esl = require('modesl');
var esl_server = new esl.Server({port: 8085, myevents:true}, function(){
console.log("esl server is up");
});
esl_server.on('connection::ready', function(conn, id) {
conn.execute('answer');
conn.execute('set',"hangup_after_bridge=false");
conn.execute('bridge','name_of_the_bridge'); `
// conn.api('uuid_transfer',uuid,'-bleg or both',description,dialplan, context
conn.api('uuid_transfer',id,'-bleg',1000,'XML','default');}
随着命令执行,呼叫将断开连接。请调查一下,让我知道您的答案。
答案 0 :(得分:0)
您需要将参数附加为一个字符串参数。喜欢:
esl_server.on('connection::ready', function(conn, id) {
conn.execute('answer');
conn.execute('set',"hangup_after_bridge=false");
conn.execute('bridge','name_of_the_bridge'); `
conn.api('uuid_transfer',id + ' -bleg 1000 XML default');
}