我正在尝试使用 C# AsterNETOriginateAction
方法通过 Asterisk AMI 拨出呼叫。呼叫工作正常但我在设置此操作的变量时遇到问题。我设置了2个变量如下:
oc.SetVariables( new Dictionary<string, string>(){ { "SIPADD", "10001"}, { "VQWAITER", "10002" }});
但是当我尝试在拨号计划中获取变量“SIPADD”之一时。我以“Local/10002|_VQWAITER=10001”的形式同时获得两个变量
拨号方案:
exten => 999,1,NoOp((Caller ID IS: ${CALLERID(num)}))
same => n,Answer()
same => n,NoOp("Callback Agent Address: "${SIPADD})
same => n,Dial(${SIPADD})
same => n,Hangup()
以下是上述拨号方案的 CLI 跟踪:
谁能指导我这里有什么问题?我想单独获取这些变量,而不是像这样加入。
现在作为一项工作,我正在拆分通过在拨号计划中执行以下设置获得的连接字符串:
same => n,NoOp("Callback Agent Address: "${SIPADD})
same => n,Set(localSIPAdd=${CUT(SIPADD,|,1)})
same => n,Set(waiter=${CUT(SIPADD,|,2)})
same => n,NoOp("localSIP: "${localSIPAdd})
same => n,NoOp("waiter: "${waiter})
same => n,Set(CALLERID(num)=waiter)
上述更改的 CLI: