Как передать переменные между диалпланом и сценарием agi в звездочке - PullRequest
1 голос
/ 19 августа 2011

Я хочу иметь возможность передать добавочный номер, введенный вызывающей стороной, в сценарий agi, и после его манипуляции я бы хотел, чтобы сценарий agi отправлял результат обратно в абонентскую группу в качестве переменной.Может ли кто-нибудь дать мне пример того, как этого добиться на любом языке набора номеров

1 Ответ

2 голосов
/ 21 августа 2011

Если вы используете план набора номеров Asterisk (extensions.conf) для ввода AGI, то получить расширение можно с помощью канальной переменной $ {EXTEN}. Чтобы вернуть информацию в диалплан, вы можете установить любую канальную переменную, хотя позаботьтесь о том, чтобы избежать канальных переменных, которые используются самим Asterisk.

Вот краткий пример использования Adhearsion :

В расширении Asterisk.conf:

exten => s,1,Background(enter-your-extension-now)
exten => _X.,1,AGI(agi://localhost/stuff)
exten => _X.,n,NoOp(Returned new extension: ${NewExten})

В наборе номера Adhearsion.rb:

stuff {
  exten = get_variable('EXTEN')
  # Do stuff to figure out what the new extension should be
  newexten = '12345'
  set_variable('NewExten', newexten)
}

Приведенный выше код устанавливает переменную канала $ {NewExten} равной «12345» и записывает ее в консоль Asterisk.

...