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

Нет приложения "Push"

В соответствии с https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_PUSH, команда Push() должно быть совершенно верно. Однако в моей установке Asterisk 13.6:

 same => n, Push(customer_codes,1234,5678,9087)

генерирует:

[Nov  6 11:19:07] WARNING[24966][C-00000002]: pbx.c:4972 pbx_extension_helper: No application 'Push' for extension

Когда я выполняю asterisk -x 'core show applications', Я замечаю, что Push(), Pop(), Shift() явно отсутствуют в списке.

Может ли кто-нибудь сказать мне, в каком модуле они находятся или в чем может быть проблема?

Ключ к этому - понимание разницы между приложениями и функциями. Приложения - это такие вещи, как Dial (), Playback (), Background (), и их можно использовать непосредственно в диалплане. Функции должны использоваться в доступных приложениях. Страница, на которую вы ссылались, даже дает вам пример.

Set(PUSH(array)=one,two,three)

Для вашего примера выше это должно работать:

same => n,Set(PUSH(customer_codes)=1234,5678,9087)

Вы также можете увидеть доступные функции в звездочке, запустив:

core show functions