условно беру я получаю результат по запросу таким образом в виде xml:
exten = s,1,Set(zapros=${CURL(http://localhost/api/rezult.xml?q=${myparam})
получаю что-то типа.
<param1>result 1</param1>
<param2>rasult 2</param2>
могу я как-то это обработать средствами asterisk без agi, чтобы в результате получить в параметрах значения param1 и param2 (без тегов)?
можете исполдьзовать много раз в цикле функцию CUT. например сначала по / потом по >
http://www.voip-info.org/wiki/view/Asterisk+func+cut
но вообще проще fastagi скриптик написать для разбора
Нет, не можете. В астериске нету обработчиков XML. Вообще в нашей системе TBE сделано так же, а скрипт возвращает набор пар присвоений типа
VAR=one|CONT=from-internal|EXT=1002|QUEUEPRIO=100
Но эта фишка работает только в Asterisk 1.4 и в последующих версиях упразднена. Зато появилась поддержка примитивных массивов. В любом случае Вам придется передавать в астериск информацию в том виде, в котором он ее может переварить. В тяжелых случаях проще написать скрипт-преобразователь.
Задан: 2014-01-03 00:35:55 +0400
Просмотрен: 275 раз
Обновлен: Jan 03 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.