AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Тишина вместо приветствия IVR

Asterisk GUI 5 сообщений -
#1

Доброго времени суток!
Имеется Asterisk версия 2.7.0.0 (хотя консоль почему-то сообщает что 1.6.2.11) на CentOS 5.5 (Final) Входящие/исходящие ходят отлично. Связь с внешним миром чистая, качественная. Используется кодек G711 alaw. Соединение из внешнего мира до внутреннего абонента доходит моментально. Но если я начинаю использовать IVR, звонящий вместо приветствия слышит тишину. При этом само IVR работает, и если клавишами выбираешь нужный пункт, то попадаешь туда, куда это задано в меню. Думал что проблема с самими файлами записи. Но wav файлы у меня как и положено PCM, 16 Бит, и 8000Hz, MP3-ные тоже пытался подсунуть.
Поиском через Гугель нашел несколько англоязычных тем. У них все упиралось в итоге в mpg123, После установки оного, начала нормально работать "музыка при удержании" (с ней была та же проблема что и с IVR), но в IVR проблема осталась...

Даю вывод с консоли с включенными debug и verbose.

Тут отображены 2 звонка, 1-й дождался пока система сама завершит соединение по тайм-ауту, 2-й раз ушел через секретаря на 1-й пунт меню, и сам завершил вызов.

Asterisk 1.6.2.11, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/etc/asterisk/asterisk.conf': == Found
Connected to Asterisk 1.6.2.11 currently running on px (pid = 27135)
px*CLI>
Verbosity was 0 and is now 3

px*CLI> core set verbose offdebug off5verbose 5debug 5verbose 5
px*CLI>
Verbosity was 3 and is now 5

px*CLI> core set verbose 5offdebug off5
px*CLI>
Core debug was 0 and is now 5

px*CLI>
 -- Executing [4955316888@from-pstn:1] Set("DAHDI/1-1", "__FROM_DID=4955316888") in new stack
-- Executing [4955316888@from-pstn:2] ExecIf("DAHDI/1-1", "1 ?Set(CALLERID(name)=4992456910)") in new stack
-- Executing [4955316888@from-pstn:3] SetMusicOnHold("DAHDI/1-1", "qwer1") in new stack
-- Executing [4955316888@from-pstn:4] Set("DAHDI/1-1", "__MOHCLASS=qwer1") in new stack
-- Executing [4955316888@from-pstn:5] Set("DAHDI/1-1", "__CALLINGPRES_SV=allowed") in new stack
-- Executing [4955316888@from-pstn:6] Set("DAHDI/1-1", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [4955316888@from-pstn:7] Goto("DAHDI/1-1", "ivr-2,s,1") in new stack
-- Goto (ivr-2,s,1)
-- Executing [s@ivr-2:1] Set("DAHDI/1-1", "MSG=custom/Hallo_MSNK_MP3_mono") in new stack
-- Executing [s@ivr-2:2] Set("DAHDI/1-1", "LOOPCOUNT=0") in new stack
-- Executing [s@ivr-2:3] Set("DAHDI/1-1", "__DIR-CONTEXT=") in new stack
-- Executing [s@ivr-2:4] Set("DAHDI/1-1", "_IVR_CONTEXT_ivr-2=") in new stack
-- Executing [s@ivr-2:5] Set("DAHDI/1-1", "_IVR_CONTEXT=ivr-2") in new stack
-- Executing [s@ivr-2:6] GotoIf("DAHDI/1-1", "0?begin") in new stack
-- Executing [s@ivr-2:7] Answer("DAHDI/1-1", "") in new stack
-- Accepting call from '4992456910' to '4955316888' on channel 0/1, span 1
-- Executing [s@ivr-2:8] Wait("DAHDI/1-1", "1") in new stack

px*CLI>
 -- Executing [s@ivr-2:9] Set("DAHDI/1-1", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3.000
-- Executing [s@ivr-2:10] Set("DAHDI/1-1", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@ivr-2:11] Set("DAHDI/1-1", "__IVR_RETVM=") in new stack
-- Executing [s@ivr-2:12] ExecIf("DAHDI/1-1", "1?Background(custom/Hallo_MSNK_MP3_mono)") in new stack
-- Executing [s@ivr-2:13] WaitExten("DAHDI/1-1", ",") in new stack

px*CLI>
 -- Timeout on DAHDI/1-1, going to 't'

px*CLI>
 -- Executing [t@ivr-2:1] Goto("DAHDI/1-1", "loop,1") in new stack
-- Goto (ivr-2,loop,1)

px*CLI>
 -- Executing [loop@ivr-2:1] Set("DAHDI/1-1", "LOOPCOUNT=1") in new stack

px*CLI>
 -- Executing [loop@ivr-2:2] GotoIf("DAHDI/1-1", "1?hang,1") in new stack
-- Goto (ivr-2,hang,1)
-- Executing [hang@ivr-2:1] Playback("DAHDI/1-1", "vm-goodbye") in new stack
-- Playing 'vm-goodbye.ulaw' (language 'en')

px*CLI>
 -- Executing [hang@ivr-2:2] Hangup("DAHDI/1-1", "") in new stack
== Spawn extension (ivr-2, hang, 2) exited non-zero on 'DAHDI/1-1'

px*CLI>
 -- Executing [h@ivr-2:1] Hangup("DAHDI/1-1", "") in new stack

px*CLI>
 == Spawn extension (ivr-2, h, 1) exited non-zero on 'DAHDI/1-1'

px*CLI>
 -- Hungup 'DAHDI/1-1'

px*CLI>
 -- Accepting call from '4992456910' to '4955316888' on channel 0/2, span 1

px*CLI>
 -- Executing [4955316888@from-pstn:1] Set("DAHDI/2-1", "__FROM_DID=4955316888") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:2] ExecIf("DAHDI/2-1", "1 ?Set(CALLERID(name)=4992456910)") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:3] SetMusicOnHold("DAHDI/2-1", "qwer1") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:4] Set("DAHDI/2-1", "__MOHCLASS=qwer1") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:5] Set("DAHDI/2-1", "__CALLINGPRES_SV=allowed") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:6] Set("DAHDI/2-1", "CALLERPRES()=allowed_not_screened") in new stack

px*CLI>
 -- Executing [4955316888@from-pstn:7] Goto("DAHDI/2-1", "ivr-2,s,1") in new stack

px*CLI>
 -- Goto (ivr-2,s,1)

px*CLI>
 -- Executing [s@ivr-2:1] Set("DAHDI/2-1", "MSG=custom/Hallo_MSNK_MP3_mono") in new stack

px*CLI>
 -- Executing [s@ivr-2:2] Set("DAHDI/2-1", "LOOPCOUNT=0") in new stack

px*CLI>
 -- Executing [s@ivr-2:3] Set("DAHDI/2-1", "__DIR-CONTEXT=") in new stack

px*CLI>
 -- Executing [s@ivr-2:4] Set("DAHDI/2-1", "_IVR_CONTEXT_ivr-2=") in new stack

px*CLI>
 -- Executing [s@ivr-2:5] Set("DAHDI/2-1", "_IVR_CONTEXT=ivr-2") in new stack

px*CLI>
 -- Executing [s@ivr-2:6] GotoIf("DAHDI/2-1", "0?begin") in new stack

px*CLI>
 -- Executing [s@ivr-2:7] Answer("DAHDI/2-1", "") in new stack

px*CLI>
 -- Executing [s@ivr-2:8] Wait("DAHDI/2-1", "1") in new stack

px*CLI>
 -- Executing [s@ivr-2:9] Set("DAHDI/2-1", "TIMEOUT(digit)=3") in new stack

px*CLI>
 -- Digit timeout set to 3.000
-- Executing [s@ivr-2:10] Set("DAHDI/2-1", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000

px*CLI>
 -- Executing [s@ivr-2:11] Set("DAHDI/2-1", "__IVR_RETVM=") in new stack

px*CLI>
 -- Executing [s@ivr-2:12] ExecIf("DAHDI/2-1", "1?Background(custom/Hallo_MSNK_MP3_mono)") in new stack

px*CLI>
 -- Executing [s@ivr-2:13] WaitExten("DAHDI/2-1", ",") in new stack

px*CLI>
 == CDR updated on DAHDI/2-1
-- Executing [1@ivr-2:1] NoOp("DAHDI/2-1", "Deleting: ") in new stack
-- Executing [1@ivr-2:2] Set("DAHDI/2-1", "__NODEST=") in new stack

px*CLI>
 -- Executing [1@ivr-2:3] Goto("DAHDI/2-1", "from-did-direct,104,1") in new stack
-- Goto (from-did-direct,104,1)

px*CLI>
 -- Executing [104@from-did-direct:1] Macro("DAHDI/2-1", "exten-vm,novm,104") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:1] Macro("DAHDI/2-1", "user-callerid,") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:1] Set("DAHDI/2-1", "AMPUSER=4992456910") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/2-1", "0?report") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/2-1", "1?Set(REALCALLERIDNUM=4992456910)") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:4] Set("DAHDI/2-1", "AMPUSER=") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:5] Set("DAHDI/2-1", "AMPUSERCIDNAME=") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/2-1", "1?report") in new stack

px*CLI>
 -- Goto (macro-user-callerid,s,9)
-- Executing [s@macro-user-callerid:9] GotoIf("DAHDI/2-1", "0?continue") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:10] Set("DAHDI/2-1", "__TTL=64") in new stack

px*CLI>
 -- Executing [s@macro-user-callerid:11] GotoIf("DAHDI/2-1", "1?continue") in new stack

px*CLI>
 -- Goto (macro-user-callerid,s,18)

px*CLI>
 -- Executing [s@macro-user-callerid:18] NoOp("DAHDI/2-1", "Using CallerID "4992456910" ") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:2] Set("DAHDI/2-1", "RingGroupMethod=none") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:3] Set("DAHDI/2-1", "VMBOX=novm") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:4] Set("DAHDI/2-1", "EXTTOCALL=104") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:5] Set("DAHDI/2-1", "CFUEXT=") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:6] Set("DAHDI/2-1", "CFBEXT=") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:7] Set("DAHDI/2-1", "RT=""") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:8] Macro("DAHDI/2-1", "record-enable,104,IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("DAHDI/2-1", "1?check") in new stack

px*CLI>
 -- Goto (macro-record-enable,s,4)

px*CLI>
 -- Executing [s@macro-record-enable:4] ExecIf("DAHDI/2-1", "0?MacroExit()") in new stack

px*CLI>
 -- Executing [s@macro-record-enable:5] GotoIf("DAHDI/2-1", "0?Group:OUT") in new stack

px*CLI>
 -- Goto (macro-record-enable,s,16)

px*CLI>
 -- Executing [s@macro-record-enable:16] GotoIf("DAHDI/2-1", "1?IN") in new stack

px*CLI>
 -- Goto (macro-record-enable,s,21)

px*CLI>
 -- Executing [s@macro-record-enable:21] ExecIf("DAHDI/2-1", "1?MacroExit()") in new stack

px*CLI>
 -- Executing [s@macro-exten-vm:9] Macro("DAHDI/2-1", "dial,,tr,104") in new stack

px*CLI>
 -- Executing [s@macro-dial:1] GotoIf("DAHDI/2-1", "0?dial") in new stack

px*CLI>
 -- Executing [s@macro-dial:2] SetMusicOnHold("DAHDI/2-1", "qwer1") in new stack

px*CLI>
 -- Executing [s@macro-dial:3] AGI("DAHDI/2-1", "dialparties.agi") in new stack

px*CLI>
 -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi

px*CLI>
 dialparties.agi: Starting New Dialparties.agi

px*CLI>
 dialparties.agi: Caller ID name is '4992456910' number is '4992456910'

px*CLI>
 > dialparties.agi: USE_CONFIRMATION: 'FALSE'

px*CLI>
 > dialparties.agi: RINGGROUP_INDEX: ''

px*CLI>
 dialparties.agi: Methodology of ring is 'none'

px*CLI>
 -- dialparties.agi: Added extension 104 to extension map

px*CLI>
 > dialparties.agi: Extension 104 has call screening off

px*CLI>
 -- dialparties.agi: Extension 104 cf is disabled

px*CLI>
 -- dialparties.agi: Extension 104 do not disturb is disabled

px*CLI>
 > dialparties.agi: extnum 104 has: cw: 1; hascfb: 0 [] hascfu: 0 []

px*CLI>
 dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)

px*CLI>
 -- dialparties.agi: dbset CALLTRACE/104 to 4992456910

px*CLI>
 -- dialparties.agi: Filtered ARG3: 104

px*CLI>
 -- AGI Script dialparties.agi completed, returning 0

px*CLI>
 -- Executing [s@macro-dial:7] Dial("DAHDI/2-1", "SIP/104,,tr") in new stack

px*CLI>
 == Using SIP RTP TOS bits 184

px*CLI>
 == Using SIP RTP CoS mark 5

px*CLI>
 -- Called 104

px*CLI>
 -- SIP/104-0000000b is ringing

px*CLI>
 -- Channel 0/2, span 1 got hangup request, cause 16

px*CLI>
 == Spawn extension (macro-dial, s, 7) exited non-zero on 'DAHDI/2-1' in macro 'dial'

px*CLI>
 == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'DAHDI/2-1' in macro 'exten-vm'
== Spawn extension (from-did-direct, 104, 1) exited non-zero on 'DAHDI/2-1'

px*CLI>
 -- Hungup 'DAHDI/2-1'

px*CLI> core set debug 5verbose 5off
px*CLI>
Verbosity is now OFF

px*CLI> core set verbose offdebug 5off
px*CLI>
Core debug is now OFF

px*CLI>
#2

nuk_ed @ Чт Июн 28, 2012 11:37 писал(а):
Имеется Asterisk версия 2.7.0.0 (хотя консоль почему-то сообщает что 1.6.2.11)


С этим разобрался, это я версию FreePBX и * спутал, конечно же * версии 1.6.2.11, и FreePBX версии 2.7.0.0 (* третий день в глаза вижу, так что не мудрено Smile )

По сути вопроса. Скажите, ответов в этой теме пока нет т.к. вопрос банальный и обсуждался уже 1000 раз, или я информации мало (или не ту) по вопросу дал?
#3

Принцип IVR
Background(some_file)
WaitExten

Вот оттрассируйте свой лог где эти команды.

_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#4

Не совсем понял, что имется ввиду под трассировкой? Просмотреть последовательность? Если так, то просмотрел. Лично мне это ничего не дало, т.к. уже писал, что * третий день в глаза вижу. Из тех строк реально что-то можно было понять?

Зато сегодня * вывел нечто новое в консоль
Код:
[Jun 29 13:38:11] WARNING[20572]: file.c:650 ast_openstream_full: File custom/Hallo_MSNK_MP3 does not exist in any format
[Jun 29 13:38:11] WARNING[20572]: file.c:953 ast_streamfile: Unable to open custom/Hallo_MSNK_MP3 (format 0x8 (alaw)): No such file or directory
[Jun 29 13:38:11] WARNING[20572]: pbx.c:8872 pbx_builtin_background: ast_streamfile failed on DAHDI/7-1 for custom/Hallo_MSNK_MP3


После непродолжительного поиска гуглем, удалось найти следующее
Цитата:
i used
sox file-in.wav -r 8000 file-out.wav
it works...


Сделал, действительно работает! Smile

Вот только почему он не хотел сразу взять исходный файл, это осталось загадкой. Я его (файл) создавал через Audacity, и 100% в настройках формата стояло 8000Hz.
#5

nuk_ed @ Чт Июн 28, 2012 12:37 писал(а):
Доброго времени суток!
Имеется Asterisk версия 2.7.0.0 (хотя консоль почему-то сообщает что 1.6.2.11) на CentOS 5.5 (Final) Входящие/исходящие ходят отлично. Связь с внешним миром чистая, качественная. Используется кодек G711 alaw. Соединение из внешнего мира до внутреннего абонента доходит моментально. Но если я начинаю использовать IVR, звонящий вместо приветствия слышит тишину. При этом само IVR работает, и если клавишами выбираешь нужный пункт, то попадаешь туда, куда это задано в меню. Думал что проблема с самими файлами записи. Но wav файлы у меня как и положено PCM, 16 Бит, и 8000Hz, MP3-ные тоже пытался подсунуть.
Поиском через Гугель нашел несколько англоязычных тем. У них все упиралось в итоге в mpg123, После установки оного, начала нормально работать "музыка при удержании" (с ней была та же проблема что и с IVR), но в IVR проблема осталась...
[/spoiler]


Была аналогичная проблема, проверяйте права на файлы (*.wav) которые закачиваете. Я на всякий пожарный выдал им 777 и всё заработало