Диалплан

Вложенные контексты

Один контекст может включать другие контексты, обрабатываемые в порядке перечисления. Смотри также Порядок выбора нужного екстеншена при использовании шаблонов.

include => <context>[|<hours>|<weekdays>|<monthdays>|<months>]
Где <context> — включаемый контекст
опционально:
<hours> — часы в которые действителен контекст (например рабочее время 9:00-17:00)
<weekdays> -дни недели (mon-fri)
<monthdays> — дни
<month> — месяцы

Шаблоны

Екстеншены могут сопоставляться шаблону, вместо однозначно заданных цифр. Шаблон должен начинаться с символа подчеркивания ( _ ) и может использовать любой из следующих символов:

X – любая цифра от 0-9
N – любая цифра от 2-9
[14-6] – цифры 1,4, 5 и 6
. – любые возможные символы.

Переменная ${EXTEN:1} удаляет префикс:

${123456789:1} — возвращает строку 23456789
${123456789:-4} — возвращает строку 6789
${123456789:0:3} — возвращает строку 123
${123456789:2:3} — возвращает строку 345
${123456789:-4:3} — возвращает строку 678

MixMonitor по датам и папкам
Set(CALLFILENAME=/home/asterisk/outgoing/local/${STRFTIME(${EPOCH},,%Y-%m)}/${STRFTIME(${EPOCH},,%d)}/${CALLERID(num)}-${EXTEN}_${STRFTIME(${EPOCH},,%d-%m-%y__%H-%M)}); MixMonitor(${CALLFILENAME}.wav);

Asterisk auto answer
context auto-answer {
_XXX => {
Set(ALERTINFO=Alert-Info: Ring Answer);
Set(CALLINFO=Call-Info: ;answer-after=0);
Set(SIPURI=intercom=true);
execIf($[«${ALERTINFO}» != «»]?SipAddHeader(${ALERTINFO}));
execIf($[«${CALLINFO}» != «»]?SipAddHeader(${CALLINFO}));
execIf($[«${SIPURI}» != «»]?Set(__SIP_URI_OPTIONS=${SIPURI}));
Dial(SIP/${EXTEN},,tT);
Hangup(); };
};

-----------------------------------------------------------------------------

Жду звонка!
+