Астериск подключается к запаркованному звонку

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

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

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

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


person user2626533    schedule 24.02.2016    source источник


Ответы (2)


вы должны перейти от Local/XXX@parked_context к желаемому расширению.

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

  • Действие: Исходный канал: Local/XXX@parked_context (XXX — номер запаркованного вызова)
  • Контекст: по умолчанию (здесь вы указываете контекст, в котором вы можете связаться со второй стороной)
  • Exten: 123 (номер, на который будет звонить)
  • Приоритет: 1
  • Callerid: 3125551212
  • Время ожидания: 30000
  • Переменная:
  • Идентификатор действия:
person johaidi    schedule 25.02.2016

Самый простой способ - просто использовать асинхронный agi или конференцию или расширение ожидания вместо парковки, т.е. повторить логику, подобную парковке, самостоятельно.

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

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

person arheops    schedule 26.02.2016