[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()
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})
ну и дальше по списку.
При принятии изменений (dialpla reload
) внутренний компиллятор выставляет приоритеты автоматически. Предупреждения сыпятся из-за того , что такой диаплан для контекста уже прописан.
Что конкретно прописано можно посмотреть командой
dialplan show s@incoming
Спасибо за ответ, но что то не догоню что означает "такой диаплан для контекста уже прописан". Означает ли это что у меня ошибка в диалплане или это особенность работы компилятора астериска?
godlike ( 2015-01-27 18:08:51 +0400 )редактироватьПредупреждение появится , если Вы пропишите
[incoming]
exten = s,1,Noop
exten = s,1,Noop
Ищите где еще описан контекст
zzuz ( 2015-01-27 18:12:54 +0400 )редактироватьВпринципе нет ничего криминального , если Вы перезаписываете какой-либо контекст. Можете игнорировать это.
zzuz ( 2015-01-27 18:13:55 +0400 )редактироватьЯ бы рад это игнорировать но заказчик уперся в эти варнинги. Я вообщем то так эту ошибку и интерпретировал, что если у меня есть два одинаковых приоритета в одном экстеншине, но в том то и дело что такого нет, по крайней мере насколько я вижу.
godlike ( 2015-01-27 18:18:25 +0400 )редактироватьОтрабатывают первые строки. Далее такие варнинги в случае дублирования.
zzuz ( 2015-01-27 18:25:22 +0400 )редактироватьЭто Вы так думаете , а приведенные логи говорят об обратном.
zzuz ( 2015-01-27 18:30:30 +0400 )редактировать/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 ( 2015-01-27 18:38:33 +0400 )редактироватьВы хитрите . Где строка
/etc/asterisk/extensions.conf:[incoming]
?
ну я ее сознательно убрал) вообще там еще есть бекапы файла extensions.conf типа extensions.conf.backup extensions.conf.save.1 и тд но из них же не может инклудится, тем более что в этом случае было бы значительно больше сообщений.
godlike ( 2015-01-27 18:59:04 +0400 )редактироватьУберите в контексте строки `exten => 1,1,Goto(en,s,1)
exten => 2,1,Goto(fr,s,1)`
ниже строк s,n,
если я их уберу то не будет работать переход в контекст en и fr
godlike ( 2015-01-27 19:02:38 +0400 )редактироватьа, хорошо, попробую, прямо сейчас не могу проверить, народ звонит. Хотя вообще было бы странно, пустая строка же не является каким то фактическим разделителем
godlike ( 2015-01-27 19:11:12 +0400 )редактироватьЗадан: 2015-01-27 17:40:52 +0400
Просмотрен: 2,307 раз
Обновлен: Jan 28 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.