2016-02-24 2 views
1

Я разрабатываю специальное приложение для управления pbx на основе Asterisk с использованием интерфейса ami/agi. Что я должен сделать, это:Asterisk подключается к припаркованному вызову

  1. получить звонок от ТфОП внешней линии
  2. ответ на вызов
  3. играть приветственное сообщение
  4. перевести вызов на определенное расширение
  5. парк вызов
  6. подключиться к вызову с другим расширением

Все ш ould, используя интерфейсы ami/agi. Я успешно разработал все до пункта 5), но я не могу понять, как перенести (используя ami/agi) припаркованный вызов на определенное время выполнения.

Может кто-нибудь дать мне представление о том, как это сделать?

ответ

0

Вы должны исходить из Local/XXX @ parked_context на требуемое расширение.

что-то вроде этого ..

  • Действие: Вызывающий Канал: Local/XXX @ parked_context (XXX это число припаркованного вызова)
  • Контекст: по умолчанию (здесь вы кладете контекст, в котором вы можете достичь вторая партия)
  • Экстен: 123 (номер, который будет получать вызов)
  • Priority: 1
  • CallerID: 3125551212
  • Ti meout: 30000
  • Variable:
  • ActionID:
0

Простейший способ просто использовать асинхронную AGI или конференцию или Wait расширение вместо парковки, то есть повтор парковки, как логику самостоятельно.

Таким образом, вы узнаете имя канала на 100% и как его вернуть.

Учитывая, что вы используете goiing ami - AsyncAGI - лучший вариант для вас.

Смежные вопросы