1

Hii Manager AMI から電話をかけています。dialPlan で発信者は AGI に接続されます。チャネル変数を介して AMI から AGI に変数 var を送信したい

originateAction.setChannel("SIP/1000abc");
originateAction.setContext("outgoing-call");
originateAction.setExten("100"); 
originateAction.setVariable("var", "Say to the user that he sucks");

発信コールの可能なすべての組み合わせを試しましたが、どれも機能しませんでした

[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

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();
     }

出力は常に null です。

4

1 に答える 1

1

ダイヤル プランで引数を AGI に渡す正しい方法は次のとおりです。

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

AGI を呼び出す前に、変数が実際に設定されているかどうかを CLI に表示できます。

[outgoing-call]

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

CLI で verbose を設定することを忘れないでください

ast*CLI> コア セット詳細 9999

電話をかけて、目を離さないでください

于 2013-07-16T19:19:15.217 に答える