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

Asterisk 1.8.0 и Playback, не работает

Newbies/FAQ Forum 13 сообщений 29.10.2010 18:01 - 04.11.2010 13:42
#1 29.10.2010 18:01

Asterisk 1.8.0 и Playback, не работает


После обновления с 1.6.1.6 на 1.8.0 перестала работать команда Playback. При попытке проиграть файл слышу тишину, при этом даже отбой не происходит.
В какую сторону копать? В логах ничего нет. Dial при этом работает и не заикается...
#2 29.10.2010 19:00

Копать в логи и писать багтреки.
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#3 30.10.2010 02:22

Проверил - работает
#4 30.10.2010 11:37

как именно делали апгрейд? небось конфиги тупо оставили старые? так нельзя. нужно бэкапить старые и ставить новые конфиги с нуля, после чего редактированием вносить из старых вдумчиво всё что нужно из старых копированием сверяясь с синтаксисом каждой команды в новой версии (вдруг чтото поменялось, ключи например какието отменили например или еще чего). да - нудно, но что делать.. это сделать только раз, зато потом и понимание будет более глубокое по части астериска, до кучи.
_________________
Успехов!
#5 30.10.2010 11:52

Часть конфигов на самом деле скопировал с 1.6. Попробую сейчас с новыми конфигами.
#6 03.11.2010 11:27

Попробовал с новыми конфигами и только по SIP (без IAX2). Проблема осталась.
Похоже проблема с timing-ом. Пробовал включать опцию internal_timing (внутренний тайминг без использования модуля dahdi_dummy) - не помогло.
Code:

[options]
internal_timing = yes

При выключенном internal_timing и загруженном модуле dahdi_dummy тоже не работает. При этом иногда вместо тишины идет сильное заикание при воспроизведении Playback, голос передается без проблем.
Подскажите, как правильно настроить?
#7 03.11.2010 14:49

попрорбуйте теперь internal_timing = yes и загруженным перед астериском dahdi
ps: кстати а как вы увидели что dahdi_dummy загружен?

_________________
Успехов!
#8 03.11.2010 19:37

Загружаю dahdi_dummy командой modprobe. Самой карты digium нет.
Code:
lsmod
Module Size Used by
dahdi_dummy 3028 0
dahdi 184056 1 dahdi_dummy
crc_ccitt 1808 1 dahdi
nfsd 56220 9
lockd 46248 1 nfsd
exportfs 3656 1 nfsd
sunrpc 161428 8 nfsd,lockd
8139too 18240 0
mii 4684 1 8139too
bitrev 1828 1 8139too
crc32 3668 1 8139too

Пробовал с включенным internal_timing = yes, та же проблема: или тишина или заикающееся первое слово и потом тишина и отсутствие отбоя.
#9 03.11.2010 23:30

странно. у вас похоже древняя версия dahdi. в последних, как выяснилось, dummy уже в самом dahdi втроен и не грузится отдельно больше, соотвественно его не увидеть больше в памяти как отдельный модуль. какая версия у вас dahdi и asterisk? может попробуете проапдейтиться?

Added after 12 minutes:

пардон, счас перечитал первый пост и увидел что 1.8. но dahdi как я понимаю у вас древнючий, отсюда и проблема, они не совместимы по ходу дела. проапдейте dahdi-linux и dahdi-tools до последних и я уверен что все заработает как надо.

_________________
Успехов!
#10 04.11.2010 05:05

Версия dahdi уже обновил до dahdi-linux-2.4.0.tar.gz. dahdi_dummy ставил с помощью команды make MODULES_EXTRA="dahdi_dummy" и потом копировал руками .ko в модули. Сейчас собрал по умолчанию.

Сейчас так:
Code:
lsmod
Module Size Used by
dahdi 184056 16
crc_ccitt 1808 1 dahdi
nfsd 56220 9
lockd 46248 1 nfsd
exportfs 3656 1 nfsd
sunrpc 161428 8 nfsd,lockd
rtc_cmos 9028 0
8139too 18240 0
mii 4684 1 8139too
uhci_hcd 18356 0
rtc_core 14212 1 rtc_cmos
bitrev 1828 1 8139too
rtc_lib 2532 1 rtc_core
crc32 3668 1 8139too
usbcore 111340 1 uhci_hcd


Ядро 2.6.31.4. Может быть в ядре нужно включить какие-то модули? После праздников попробую обновить ядро. Еще нашел описание https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces.
Quote:
res_timing_timerfd uses a timing mechanism provided directly by the Linux kernel. This timing interface is only available on Linux systems using a kernel version at least 2.6.25 and a glibc version at least 2.8. This interface has the benefit of being very efficient, but at the time this is being written, it is a relatively new feature on Linux, meaning that its availability is not widespread.

У меня как раз используется этот модуль
Code:

module show like timing
Module Description Use Count
res_timing_timerfd.so Timerfd Timing Interface 2
res_timing_pthread.so pthread Timing Interface 0
res_timing_dahdi.so DAHDI Timing Interface 0
3 modules loaded
.
В старой версии используется именно duhdi
Code:

module show like timing
Module Description Use Count
res_timing_pthread.so pthread Timing Interface 0
res_timing_dahdi.so DAHDI Timing Interface 9
2 modules loaded


Code:
[options]
internal_timing = yes


Где * можно жестко задать, что использовать: dahdi, аппаратную карту digium (скорее всего это тоже, что dahdi) или таймер с ядра?
Еще попробую отключить res_timing_timerfd.so при сборке...
#11 04.11.2010 06:09

что у вас за линукс? может дадите доступ - я гляну сам по месту что там у вас за проблемы? пишите в личку.
_________________
Успехов!
#12 04.11.2010 10:10

Но можно же просто не грузить:
noload => res_timing_timerfd.so
noload => res_timing_pthread.so

Насклько я понимаю, сейчас по дефолту астер пытается работать и именно с timerfd, если он доступен. И, соотвественно, если эти модули не грузить, то астеру ничего не останется делать, как использовать dahdi.

Хотя, конечно, странно. У меня, например, и с timerfd работает все прекрасно.

Added after 1 minutes:

Сопсно, цитата из doct/timing.txt

Quote:
By default, Asterisk will build and load all of the timing interfaces. These
timing interfaces are "ordered" based on a hard-coded priority number defined
in each of the modules. As of the time of this writing, the preferences for the
modules is the following: res_timing_timerfd.so, res_timing_dahdi.so,
res_timing_pthread.so.
#13 04.11.2010 13:42

Проблема решилась при сборке asterisk без res_timing_timerfd. При этом он начал использовать res_timing_dahdi.
Спасибо за помощь.