First time here? Check out the FAQ!

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

Помогите разобраться с диалпланом

0
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 2 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 3 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 4 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 5 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 6 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 7 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 8 in 'incoming', already in use
[Jan 27 07:58:41] WARNING[6545] pbx.c: Unable to register extension 's' priority 9 in 'incoming', already in use

В логе есть такие варнинги, но не могу понять откуда они берутся, везде же n. Диалплан:

[incoming]
exten
=> s,1,Answer()
exten
=> s,n,Set(__unique=${UNIQUEID})
exten
=> s,n,System(/etc/asterisk/agi/incoming.py ${unique} ${CALLERID(num)})
exten
=> s,n,AGI(ami.py,getStatus)
exten
=> s,n,Set(voicemail=100)
exten
=> s,n,GotoIf($["${STATUS}"="online"]?online:)
;exten => s,n,GotoIf($["${STATUS}"="offline"]?offline:)

exten
=> s,n(online),Background(IVR/press_1)
exten
=> s,n,Background(IVR/press_2)
exten
=> s,n,WaitExten(20)
exten
=> s,n,Goto(online)
exten
=> 1,1,Goto(en,s,1)
exten
=> 2,1,Goto(fr,s,1)

exten
=> s,n(offline),AGI(ami.py,getGreating,${voicemail})
exten
=> s,n,Set(voicemail=${IF(["${VMGREATING}" == ""]?100:${voicemail})})
exten
=> s,n,AGI(ami.py,getGreating,${voicemail})
exten
=> s,n,Playback(/var/lib/asterisk/sounds/prerecorded/pr_${VMGREATING})
exten
=> s,n,System(/etc/asterisk/agi/voicemail.py ${voicemail} ${unique} ${CALLERID(num)})
exten
=> s,n,Record(/var/lib/asterisk/sounds/voicemail/${unique}.wav,,,ky)
exten
=> s,n,System(/etc/asterisk/agi/timeend.py ${unique})
exten
=> s,n,Hangup()

exten
=> i,1,Goto(s,online)

exten
=> h,1,System(/etc/asterisk/agi/hangup.py ${unique})
exten
=> h,n,System(/etc/asterisk/agi/timeend.py ${unique})
exten
=> h,n,System(/etc/asterisk/agi/convert.py ${unique})
exten
=> h,n,Hangup()

спросил Jan 27 '15

godlike Gravatar godlike flag of Ukraine
814 92 24 62

2 Ответа

1
exten => 2,1,Goto(fr,s,1)

exten
=> s,n(offline),AGI(ami.py,getGreating,${voicemail})

вот это еквивалентно

exten => 2,1,Goto(fr,s,1)

exten
=> s,2(offline),AGI(ami.py,getGreating,${voicemail})

ну и дальше по списку.

ссылка удалить спам редактировать

ответил Jan 27 '15

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Спасибо, перенес в конец контекста, помогло.

godlike (Jan 28 '15)edit
1

При принятии изменений (dialpla reload) внутренний компиллятор выставляет приоритеты автоматически. Предупреждения сыпятся из-за того , что такой диаплан для контекста уже прописан. Что конкретно прописано можно посмотреть командой

dialplan show s@incoming
ссылка удалить спам редактировать

ответил Jan 27 '15

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Comments

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

godlike (Jan 27 '15)edit

Предупреждение появится , если Вы пропишите

[incoming]
exten
= s,1,Noop
exten
= s,1,Noop

Ищите где еще описан контекст

zzuz (Jan 27 '15)edit

Впринципе нет ничего криминального , если Вы перезаписываете какой-либо контекст. Можете игнорировать это.

zzuz (Jan 27 '15)edit

Я бы рад это игнорировать но заказчик уперся в эти варнинги. Я вообщем то так эту ошибку и интерпретировал, что если у меня есть два одинаковых приоритета в одном экстеншине, но в том то и дело что такого нет, по крайней мере насколько я вижу.

godlike (Jan 27 '15)edit

Отрабатывают первые строки. Далее такие варнинги в случае дублирования.

zzuz (Jan 27 '15)edit

но дублирования ведь нет :)

godlike (Jan 27 '15)edit

Это Вы так думаете , а приведенные логи говорят об обратном.

zzuz (Jan 27 '15)edit

grep incoming /etc/asterisk/*

zzuz (Jan 27 '15)edit

/etc/asterisk/extensions.conf:exten => _XXXXXXXX1,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX2,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX3,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX4,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX5,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX6,n,Goto(incoming,s,1) /etc/asterisk/extensions.conf:exten => _XXXXXXXX7,n,Goto(incoming,s,1)

больше не вижу.

godlike (Jan 27 '15)edit

Вы хитрите . Где строка /etc/asterisk/extensions.conf:[incoming] ?

zzuz (Jan 27 '15)edit

ну я ее сознательно убрал) вообще там еще есть бекапы файла extensions.conf типа extensions.conf.backup extensions.conf.save.1 и тд но из них же не может инклудится, тем более что в этом случае было бы значительно больше сообщений.

godlike (Jan 27 '15)edit

Уберите в контексте строки `exten => 1,1,Goto(en,s,1)

exten => 2,1,Goto(fr,s,1)`

ниже строк s,n,

zzuz (Jan 27 '15)edit

если я их уберу то не будет работать переход в контекст en и fr

godlike (Jan 27 '15)edit

Уберите ниже , а не уберите совсем.

zzuz (Jan 27 '15)edit

а, хорошо, попробую, прямо сейчас не могу проверить, народ звонит. Хотя вообще было бы странно, пустая строка же не является каким то фактическим разделителем

godlike (Jan 27 '15)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Jan 27 '15

Просмотрен: 2,314 раз

Обновлен: Jan 28 '15

Похожие вопросы:

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