Команда Goto()


Назначение

Переход на указанный приоритет, екстеншен или контекст

Описание

Goto([[context|]extension|]priority)

Устанавливает текущей приоритет выполнения команды в заданное значение, дополнительно можно указать екстеншен и контекст для совершения перехода. Специальное имя екстеншена BYEXTENSION используется в тех случаях, когда Вы хотите совершить переход с использованием текущего имени екстеншена, в другой контекст. Обратите внимание, что можно опустить необязательные параметры команды только в КОНЦЕ списка аргументов, нельзя опустить необязательный аргумент, идущий до или между заданными параметрами.

Варианты использования:

Goto(context,extension,priority)
Goto(extension,priority)
Goto(priority)


Замечание

Использование пробелов в параметрах, разделенных запятыми, может привести к непредсказуемым результатам.
Например:

Goto(confexisting, 1, 1)

Команда будет искать екстеншен " 1", т.е. с ведущим пробелом в имени екстеншена.


Коды возврата:

Всегда возвращает 0, даже если задан неправильный контекст, приоритет или екстеншен.

Примеры:

exten => 1,1,Goto(submenu,s,1) ; переход в контекст "submenu", на екстеншен "s", к команде с приоритетом 1
exten => 600,4,Goto(s,6) ; переход в текущем контексте, к екстеншену "s", к команде с приоритетом 6

exten => s,1,Dial(${ARG2},20,r)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-CHANUNAVAIL,1,Voicemail(b${ARG1})
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => _s-.,1,Voicemail(u${ARG1})

Ссылки по теме:



Список команд