首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AMI与AGI的通信

AMI与AGI的通信
EN

Stack Overflow用户
提问于 2013-07-16 08:44:49
回答 1查看 802关注 0票数 1

在我的dialPlan中,调用者将连接到AGI。我希望通过通道变量将变量var从AMI发送到AGI

代码语言:javascript
复制
originateAction.setChannel("SIP/1000abc");
originateAction.setContext("outgoing-call");
originateAction.setExten("100"); 
originateAction.setVariable("var", "Say to the user that he sucks");

我尝试了所有可能的外接电话组合,但都没有起作用。

代码语言:javascript
复制
[outgoing-call]
exten=>100,1,AGI(agi://127.0.0.1/hello.agi?user=${var})

[outgoing-call]
exten=>100,1,AGI(agi://127.0.0.1/hello.agi?var=${var})

[outgoing-call]
exten=>100,1,AGI(agi://127.0.0.1/hello.agi,${var})

AGI

代码语言:javascript
复制
public void service(AgiRequest request, AgiChannel channel)
            throws AgiException
    {
        answer();
        System.out.println("Inside");
        String a=request.getParameter("var");
       // String b=request.getParameter("user");
        String c=channel.getVariable("var");
       // String d=channel.getVariable("user");
        System.out.println(a+"\n"+b+"\n"+c+"\n"+d+"\n");
        hangup();
     }

输出始终为空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 19:19:15

在拨号计划中将参数传递给AGI的正确方法是:

exten=>_0.,n,AGI(CALLyourAGI,${VARIABLE})

在调用AGI之前,如果确实设置了变量,则可以在CLI中显示:

代码语言:javascript
复制
[outgoing-call]

exten=>100,1,NoOP(My Variable content ${var})
exten=>100,n,AGI(agi://127.0.0.1/hello.agi,${var})

不要忘记在CLI中设置详细的

ast*CLI>核心集详细9999

打个电话,眼睛盯着它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17671900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档