Добрый день, есть такой контекст:
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'
Задан: 2015-02-18 13:00:40 +0400
Просмотрен: 208 раз
Обновлен: Feb 18 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Где подтверждение?
zzuz ( 2015-02-18 13:21:42 +0400 )редактироватьподтверждение чего ?
Чистый ( 2015-02-18 14:09:26 +0400 )редактироватьЧто феи существуют и розовые пони ждут маленьких девочек в радужной стране.
zzuz ( 2015-02-18 14:38:54 +0400 )редактироватьГде лог выполнения диаплана и момент отработки окончания вызова?
zzuz ( 2015-02-18 14:39:29 +0400 )редактироватьИзвиняй, с головы вылетело. добавил
Чистый ( 2015-02-18 14:53:56 +0400 )редактироватьHangup отработал , жить можно.
zzuz ( 2015-02-18 15:00:06 +0400 )редактироватьТелефон думает по другому, как следствие считает что разговор продолжается.
Чистый ( 2015-02-18 15:17:19 +0400 )редактироватьКакой телефон ? Тот что с дисковым набором? Или спутниковый ?
zzuz ( 2015-02-18 17:04:15 +0400 )редактироватьzzuz, :D
2TC
Так включите sip debug или tcpdump и посмотрите уходит ли BYE в сторону SIP пира.
Если уходит то смотрите доходит ли.
virus_net ( 2015-02-19 09:42:09 +0400 )редактировать