Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2015-02-18 13:00:40 +0400

Чистый Gravatar Чистый

при WaitExten не всегда отрабатывает hangup

Добрый день, есть такой контекст:

context welcome-ru {
    s => {
        NoOp(${CALLERID(num)});
        Answer();
//        TIMEOUT(response)=10;
        BackGround(hello);
        BackGround(ru_lang);
        BackGround(pl_lang);
        BackGround(en_lang);
        WaitExten();
    };
    1 => {
        goto menu-ru|s|1;
    };
    i => {
        HangUp();
    };
    t => {
        NoOp("Ничего не выбранно, выходим");
        HangUp();
    };
};

context menu-ru {
    s => {
        BackGround(card);
        BackGround(admin);
        BackGround(user);
        BackGround(wait);
        WainExten(5);
    };
    t => {

    };
};

Но возникла проблема, что если в контексте welcome-ru ничего не нажимать, дожидаясь тайм аута, то hangup не всегда отрабатыва, точнее он отрабатывает всегда, но на стороне звонящего трубка не ложится, телефон считает что еще идет звонок. Как решить эту проблему ? Спасибо.

при WaitExten не всегда отрабатывает hangup

Добрый день, есть такой контекст:

context welcome-ru {
    s => {
        NoOp(${CALLERID(num)});
        Answer();
//        TIMEOUT(response)=10;
        BackGround(hello);
        BackGround(ru_lang);
        BackGround(pl_lang);
        BackGround(en_lang);
        WaitExten();
    };
    1 => {
        goto menu-ru|s|1;
    };
    i => {
        HangUp();
    };
    t => {
        NoOp("Ничего не выбранно, выходим");
        HangUp();
    };
};

context menu-ru {
    s => {
        BackGround(card);
        BackGround(admin);
        BackGround(user);
        BackGround(wait);
        WainExten(5);
    };
    t => {

    };
};

Но возникла проблема, что если в контексте welcome-ru ничего не нажимать, дожидаясь тайм аута, то hangup не всегда отрабатыва, точнее он отрабатывает всегда, но на стороне звонящего трубка не ложится, телефон считает что еще идет звонок. Как решить эту проблему ? Спасибо.

при WaitExten не всегда отрабатывает hangup

Добрый день, есть такой контекст:

context welcome-ru {
    s => {
        NoOp(${CALLERID(num)});
        Answer();
//        TIMEOUT(response)=10;
        BackGround(hello);
        BackGround(ru_lang);
        BackGround(pl_lang);
        BackGround(en_lang);
        WaitExten();
    };
    1 => {
        goto menu-ru|s|1;
    };
    i => {
        HangUp();
    };
    t => {
        NoOp("Ничего не выбранно, выходим");
        HangUp();
    };
};

context menu-ru {
    s => {
        BackGround(card);
        BackGround(admin);
        BackGround(user);
        BackGround(wait);
        WainExten(5);
    };
    t => {

    };
};

Но возникла проблема, что если в контексте welcome-ru ничего не нажимать, дожидаясь тайм аута, то hangup не всегда отрабатыва, точнее он отрабатывает всегда, но на стороне звонящего трубка не ложится, телефон считает что еще идет звонок. Как решить эту проблему ? Спасибо.

Вот что в консоле астера идет при дозвоне:

  [Feb 18 13:49:18]   == Using SIP RTP TOS bits 184
    [Feb 18 13:49:18]   == Using SIP RTP CoS mark 5
    [Feb 18 13:49:18]     -- Executing [s@test-in:1] Goto("SIP/Test-00000019", "welcome-ru,s,1") in new stack
    [Feb 18 13:49:18]     -- Goto (welcome-ru,s,1)
    [Feb 18 13:49:18]     -- Executing [s@welcome-ru:1] NoOp("SIP/Test-00000019", "+48226072034") in new stack
    [Feb 18 13:49:18]     -- Executing [s@welcome-ru:2] Answer("SIP/Test-00000019", "") in new stack
    [Feb 18 13:49:18]     -- Executing [s@welcome-ru:3] MSet("SIP/Test-00000019", "TIMEOUT(response)=10") in new stack
    [Feb 18 13:49:18]     -- Response timeout set to 10.000
    [Feb 18 13:49:18]     -- Executing [s@welcome-ru:4] BackGround("SIP/Test-00000019", "ivr/ru/hello") in new stack
    [Feb 18 13:49:18]     -- <SIP/Test-00000019> Playing 'ivr/ru/hello.slin' (language 'ru')
    [Feb 18 13:49:18]        > 0x99fe268 -- Probation passed - setting RTP source address to 144.76.42.108:11218
    [Feb 18 13:49:22]     -- Executing [s@welcome-ru:5] BackGround("SIP/Test-00000019", "ivr/ru/ru_lang") in new stack
    [Feb 18 13:49:22]     -- <SIP/Test-00000019> Playing 'ivr/ru/ru_lang.slin' (language 'ru')
    [Feb 18 13:49:25]     -- Executing [s@welcome-ru:6] BackGround("SIP/Test-00000019", "ivr/pl/pl_lang") in new stack
    [Feb 18 13:49:25]     -- <SIP/Test-00000019> Playing 'ivr/pl/pl_lang.slin' (language 'ru')
    [Feb 18 13:49:29]     -- Executing [s@welcome-ru:7] BackGround("SIP/Test-00000019", "ivr/en/en_lang") in new stack
    [Feb 18 13:49:29]     -- <SIP/Test-00000019> Playing 'ivr/en/en_lang.slin' (language 'ru')
    [Feb 18 13:49:31]     -- Executing [s@welcome-ru:8] WaitExten("SIP/Test-00000019", "10") in new stack
    [Feb 18 13:49:41]     -- Timeout on SIP/Test-00000019, going to 't'
    [Feb 18 13:49:41]     -- Executing [t@welcome-ru:1] NoOp("SIP/Test-00000019", ""Ничего не выбранно, выходим"") in new stack
    [Feb 18 13:49:41]     -- Executing [t@welcome-ru:2] Hangup("SIP/Test-00000019", "") in new stack
    [Feb 18 13:49:41]   == Spawn extension (welcome-ru, t, 2) exited non-zero on 'SIP/Test-00000019'

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.