Назад | Перейти на главную страницу

Asterisk AMI - получить подробный статус расширения

Я использую AMI из Python. Думаю, то же самое можно сделать из интерфейса командной строки Asterisk. Я хочу иметь возможность получать подробную информацию о каждом добавочном номере в УАТС. В частности, для каждого расширения, которое я хочу знать:

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

У Digium есть достаточно полная документация для всех Действия AMI и AMI События на их вики. Я говорю «в некоторой степени», потому что в нем перечислены все доступные действия и события, а также способы их использования, но некоторые из них немного скудны, когда речь идет о результатах, которые вы должны ожидать.

Действия, которые могут оказаться полезными:

  • Команда - позволяет запускать произвольную команду CLI из AMI, что полезно, если нет специального действия AMI для получения информации, доступной в CLI
  • CoreShowChannels - эквивалент CLI core show channels, который показывает названия каналов и соответствующую информацию об идентификаторе вызывающего абонента.
  • ExtensionState - получить текущее состояние расширения, вероятно, наиболее полезно, если у вас определены подсказки расширения
  • Гетвар - получить значение переменной канала
  • Положение дел - показывает информацию о текущем статусе канала, включая переменные канала (которые затем можно запросить Getvar)

События, которые могут оказаться полезными:

  • ExtensionStatus - возникает при изменении статуса расширения
  • Newchannel - возникает при создании нового канала (например, при новом входящем звонке)
  • Newstate - возникает при изменении состояния канала (например, существующий вызов переведен и теперь звонит)

Из действий я бы подумал Положение дел будет наиболее полезным, а Newchannel и Newstate события сообщат вам, когда каналы звонят или получают ответ.