VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

ael include context

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

ael include context

Сообщение d771 »

Собственно, не пойму, что я деллаю нетак:

есть некий обработчик:

Код: Выделить всё

context local_users {
 _3XXXXXX => {
        // Проверяем, зареган ли номер у нас перед звонком в сибирьтелеком
        ChanIsAvail(SIP/383${EXTEN},s);
        switch (${AVAILSTATUS}) {
            case 5:
                Hangup(20);
                break;
            case 4:
                Dial(SIP/${EXTEN}@sibirtelecom);
                break;
            default:
                Dial(SIP/383${EXTEN});
        }
        Hangup(); // надо только для отладки
 }

<остальное>
}
В таком варианте контекст работает.

но стоит переписать так:

Код: Выделить всё

context detect_local {
 _3XXXXXX => {
        // Проверяем, зареган ли номер у нас перед звонком в сибирьтелеком
        ChanIsAvail(SIP/383${EXTEN},s);
        switch (${AVAILSTATUS}) {
            case 5:
                Hangup(20);
                break;
            case 4:
                Dial(SIP/${EXTEN}@sibirtelecom);
                break;
            default:
                Dial(SIP/383${EXTEN});
        }
        Hangup(); // надо только для отладки
 }
}
context users {

includes {detect_local;};

<остальное>
}
И все, он игнорируется.

но по ael reload он успешно применяется:
[Apr 21 01:10:39] -- Registered extension context 'users'; registrar: pbx_ael
[Apr 21 01:10:39] -- Including context 'detect_local' in context 'users'

Можете подсказать, где ошибка?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: ael include context

Сообщение ded »

d771, это нифига не Вопросы новичков.
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: ael include context

Сообщение Aven »

Не используйте AEL.
Тем более если не замечаете лишние скобки.
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: ael include context

Сообщение ded »

Добавлю: освойте простой диал-план, выполнение шагов простое и примитивное, как в бэйсике. Если освоите бэйсик, то потом может перейдёте на ael.
P.S. не используйте конструкции Dial(SIP/${EXTEN}@sibirtelecom)
лучше Dial(SIP/sibirtelecom/${EXTEN})
и начните с книжек всё таки.
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: ael include context

Сообщение d771 »

Aven писал(а):Не используйте AEL.
Тем более если не замечаете лишние скобки.
Во сейчас внимательно пересмотрел мои посты. Никак не могу заметить лишние скобки. Даже уже их пересчитал все.
можете показать, какие именно лишние?
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: ael include context

Сообщение d771 »

ded писал(а): и начните с книжек всё таки.
Да книжки-то под рукой. Чай в гугле не забанили. Но некоторые проблемы ставят меня в тупик даже на фазе "сформировать поисковый запрос".
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: ael include context

Сообщение d771 »

Вобщем, оказалось, что независимо от позиции стоки "includes" включеный контекст всегда выполняется в конце. Не зависимо от того, перекрывает он существующие или нет.
Странное поведение, однако.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: ael include context

Сообщение Vlad1983 »

от положения include зависит только порядок обхода самих include
корневые екстены всегда первые
так всегда было
ЛС: @rostel
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: ael include context

Сообщение Aven »

d771 писал(а):
Aven писал(а):Не используйте AEL.
Тем более если не замечаете лишние скобки.
Во сейчас внимательно пересмотрел мои посты. Никак не могу заметить лишние скобки. Даже уже их пересчитал все.
можете показать, какие именно лишние?
ну две скобки же после: Hangup(); // надо только для отладки
Решения телефонии на базе Asterisk || http://it-need.ru
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: ael include context

Сообщение april22 »

ни чего странного - так задумано , если нет описания действия в основном контексте - то отправляется в инклуд .
Своими вопросами , вы загоняете меня в ГУГЛЬ.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH