Страница 1 из 1

Asterisk вошел в цикл

Добавлено: 09 май 2015, 22:56
evas
На ровном месте Астериск зациклился:
May 9 14:45:44 VERBOSE [8561] chan_sip.c: == Extension Changed 2121[ext-local] new state Idle for Notify User 2501 / и еще десяток внутренних номеров
[May 9 14:50:01] VERBOSE[8569][C-00013395] netsock2.c: == Using SIP VIDEO TOS bits 136
[May 9 14:50:01] VERBOSE[8569][C-00013395] netsock2.c: == Using SIP VIDEO CoS mark 6
[May 9 14:50:01] VERBOSE[8569][C-00013395] netsock2.c: == Using SIP RTP TOS bits 184
[May 9 14:50:01] VERBOSE[8569][C-00013395] netsock2.c: == Using SIP RTP CoS mark 5
May 9 14:50:01 VERBOSE [8561] chan_sip.c: == Extension Changed 2121[ext-local] new state InUse for Notify User 2505 / и еще с десяток внутренних номеров
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:1] NoOp("SIP/2121-000404f7", "Changing Channel to language: ru (Russian_custom_context)") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:2] Set("SIP/2121-000404f7", "CHANNEL(language)=ru") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Goto (from-internal,2,1)
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:1] NoOp("SIP/2121-000404f7", "Changing Channel to language: ru (Russian_custom_context)") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:2] Set("SIP/2121-000404f7", "CHANNEL(language)=ru") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Goto (from-internal,2,1)

И такой цикл за 10 минут раздул лог-файл full до 15 гигабайт и положил систему.


А вот диалплан этого блока:
[ Context 'app-languages' created by 'pbx_config' ]
'1' => 1. Noop(Changing Channel to language: ru (Russian)) [pbx_config]
2. Set(CHANNEL(language)=ru) [pbx_config]
3. Goto(ext-queues,463,1) [pbx_config]
'2' => 1. Noop(Changing Channel to language: ru (Russian_custom_context)) [pbx_config]
2. Set(CHANNEL(language)=ru) [pbx_config]
3. Goto(from-internal,${EXTEN},1) [pbx_config]
Include => 'app-languages-custom' [pbx_config]

Что не так? Где смотреть?

Re: Asterisk вошел в цикл

Добавлено: 10 май 2015, 07:53
virus_net
evas писал(а):А вот диалплан этого блока
нет, это не он
evas писал(а):[May 9 14:50:01] -- Executing [2@2121:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
May 9 14:50:01] - Executing [2@from-internal:1] NoOp("SIP/2121-000404f7", "Changing Channel to language: ru (Russian_custom_context)") in new stack
[May 9 14:50:01] -- Executing [2@from-internal:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
evas писал(а):Что не так?
Явное кольцо в контексте.
evas писал(а):Где смотреть?
Очевидно что в диалплане, контекст from-internal.

Re: Asterisk вошел в цикл

Добавлено: 10 май 2015, 14:43
ded
Уточню: этот цикл создали собственноручно, через вэб интерфейс, ввиду непонимания конструирования диалплана. Задействован модуль language "Changing Channel to language: ru (Russian_custom_context)") в которм кастомно прописано циклическое безобразие.

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

[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:1] NoOp("SIP/2121-000404f7", "Changing Channel to language: ru (Russian_custom_context)") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:2] Set("SIP/2121-000404f7", "CHANNEL(language)=ru") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@2121:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Goto (from-internal,2,1)
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:1] NoOp("SIP/2121-000404f7", "Changing Channel to language: ru (Russian_custom_context)") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:2] Set("SIP/2121-000404f7", "CHANNEL(language)=ru") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Executing [2@from-internal:3] Goto("SIP/2121-000404f7", "from-internal,2,1") in new stack
[May 9 14:50:01] VERBOSE[15424][C-00013395] pbx.c: -- Goto (from-internal,2,1)
Вы вот смотрите на свой же лог этот и не понимаете - почему так?
Удручение.

Re: Asterisk вошел в цикл

Добавлено: 12 май 2015, 17:29
evas
Я понял ваш сумбур, да, модуль Russian_custom_context создавался собственноручно через веб-интерфейс (практически, как и все остальные). Создавался давно, в пору экспериментов, но оказался миной замедленного действия и стрельнул именно сейчас. Удручен, сорри, удален...))

Re: Asterisk вошел в цикл

Добавлено: 12 май 2015, 17:45
evas
from-internal циклит на app-languages

Re: Asterisk вошел в цикл

Добавлено: 12 май 2015, 18:29
ded
ОК, через вэб интерфейс:
Входящий -> Приветствие -> IVR: выберите Английский (нажмите 1) Русский (нажмите 2) - Language (ru)-> потом куда воткнут? Судя по выводу (выше)
Goto(ext-queues,463,1)
в какую-то очередь 463, проверяйте, может Вы её удалили?
dialplan show 463@ext-queues

Re: Asterisk вошел в цикл

Добавлено: 12 май 2015, 19:39
evas
Не совсем так, он пошел по '2':
'2' => 1. Noop(Changing Channel to language: ru (Russian_custom_context)) [pbx_config]
2. Set(CHANNEL(language)=ru) [pbx_config]
3. Goto(from-internal,${EXTEN},1) [pbx_config]

Ни на какой IVR не навешен, как возникла точка входа в этот цикл? Тупо нажали 2?

Re: Asterisk вошел в цикл

Добавлено: 12 май 2015, 20:19
ded
как-то возникла, это может быть результат нажатия или неправильного перенаправления из вэбки.
1) Надо смотреть на картинки в вэб-интерфейсе
2) Надо распутывать
dialplan show 2@from-internal

Re: Asterisk вошел в цикл

Добавлено: 13 май 2015, 09:36
Wapo

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

'2' => 1. Noop(Changing Channel to language: ru (Russian_custom_context)) [pbx_config]
2. Set(CHANNEL(language)=ru) [pbx_config]
3. Goto(from-internal,${EXTEN},1) [pbx_config]
Для простоты и наглядности перепишу вот в это:

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

exten => 2,1,Noop(Changing Channel to language: ru (Russian_custom_context)) [pbx_config]
exten => 2,n,Set(CHANNEL(language)=ru) [pbx_config]
exten => 2,n,Goto(from-internal,${EXTEN},1) [pbx_config]
Так какое значение в данном примере приняла переменная ${EXTEN} ???? Не кажется, что именно 2.

Re: Asterisk вошел в цикл

Добавлено: 14 май 2015, 11:00
evas
Так оно и есть,
в веб-интерфейсе, вкладка "Languages", ничем не примечательные настройки:
Description - Russian_custom_context
Language code - ru
Destination - Custom contexts -> Full Internal Access

dialplan show 2@from-internal:
[ Included context 'app-languages' created by 'pbx_config' ]
'2' => 1. Noop(Changing Channel to language: ru (Russian_custom_context)) [pbx_config]
2. Set(CHANNEL(language)=ru) [pbx_config]
3. Goto(from-internal,${EXTEN},1) [pbx_config]
-= 1 extension (3 priorities) in 1 context. =-

Модуль удалили, займемся ревизией диалпланов на возможное наличие подобных коллизий.