NoOp()

Ничего не делает (No Operation - нет операции), это просто заполнитель. Данное приложение часто используется как инструмент отладки. Если уровень детальности сообщений ядра Asterisk равен 3 и более, Asterisk обрабатывает и выводит каждую строку диалплана перед её выполнением. Это означает, что любые аргументы, переданные в приложение NoOp() в параметре текст, выводятся в консоли. Опытный администратор Asterisk может использовать вывод консоли для отладки диалплана.

Синтаксис

Verbose([текст])

где:

текст
Текст, который будет выведен в консоль Asterisk.

Нет необходимости заключать текст в кавычки. Если кавычки помещены в круглые скобки, то они будут выведены в консоли.

Когда использовать NoOp() и Verbose()

Разница между Verbose() и NoOp() невелика. Приведём здесь некоторые соображения по поводу того, как разобраться, в какой ситуации следует использовать эти приложения. Приложение Verbose() пригодится, если надо что-то вывести в консоль. Используя команду set verbose (с указанием требуемого уровня детальности от 0 до 4), можно настроить вывод так, чтобы на экране отображались не все операции системы, а лишь те, которые имеют такой же или меньший уровень детальности. Это означает, что можно выводить всевозможную информацию, имеющую отношение к тестируемому разделу кода, без необходимости просматривать другие сообщения системы.

Приложение NoOp() лучше всего использовать как заполнитель. Например, если в диалплане имеется GoTo() с использованием метки приоритета, NoOp() можно применять как точку перехода из этого приложения. Например, ...

exten => _X., n(call_forward), NoOp()

... является превосходным маркером для указания точки перехода в диалплане в определённую точку. Из этой логики можно продолжать выполнение любой логики, которую требуется применить к этой части добавочного номера (судя по метке, речь идёт о пересылке вызова). NoOp() применяется, когда вы не знаете, какие действия придётся выполнять за этой меткой, и чтобы гарантированно не менять в коде саму метку. И далее бла бла бла. В общем, экспериментируйте.

Смотри также

Log()
Verbose()