Я пытаюсь использовать метод C# Aste rNET OriginateAction
для набора вызовов с помощью Asterisk AMI. Вызовы работают нормально, но у меня возникла проблема с установкой переменных в этом действии. Я установил 2 переменные следующим образом:
oc.SetVariables( new Dictionary<string, string>(){ { "SIPADD", "10001"}, { "VQWAITER", "10002" }});
, но когда я пытаюсь получить одну из переменных "SIPADD" в диалплане. Я получаю оба vairables одновременно в объединенной форме как "Local / 10002 | _VQWAITER = 10001"
Dialplan:
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 вышеупомянутого плана набора:
![enter image description here](https://i.stack.imgur.com/ToDx4.png)
Может кто-нибудь подсказать мне, в чем здесь проблема? Я хочу получить эти переменные по отдельности, а не объединить, как это.
На данный момент, как работа arround, я разделяю объединенную строку, которую я получаю, выполняя следующие setps в dialplan:
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 для вышеуказанного изменения:
![enter image description here](https://i.stack.imgur.com/aqROm.png)