Здравствуйте, уважаемые.
Был Asterisk 1.8.32.3 работающий на FreeBSD 11.2 (x86). При определенных обстоятельствах пришлось обновить FreeBSD до 11.4 а т.к. порт libsrtp сейчас упразднен и заменен пакетом libsrtp2, пришлось ещё и обновлять Asterisk до версии 13.34/13.35 (устанавливались как через pkg install, с параметрами "по умолчанию", так и из портов с выбором параметров).
Так вот, обновление дало неожиданный эффект в виде аварийного завершения работы Asterisk'а (asterisk kernel: pid 48454 (asterisk), jid 0, uid 931: exited on signal 11) при посылке DTMF.
[Aug 25 14:52:32] DEBUG[100905][C-00000000] channel.c: Channel SIP/MSK-Sip-000-00000000 setting write format path: alaw -> alaw
[Aug 25 14:52:32] DEBUG[100905][C-00000000] pbx.c: Launching 'WaitExten' [Aug 25 14:52:32] DEBUG[100905][C-00000000] resrtpasterisk.c: Creating END DTMF Frame: 57 (9), at 185.XXX.XXX.149:19152
Это 3 самых последних строк в логе до "вылета". Т.е., во время WaitExten в диалплане, нажимаешь кнопку, набрать добавочный и ВСЁ: uid 931: exited on signal 11. Никакой более детальной информации нет.
Такое поведение asterisk свойственно при любом dtmfmode если параметры транка/пира идентичны параметрам вышестоящего Asterisk'а. Т.е если на вызывающей АТС dtmfmode=rfc2833 на отвечающей dtmfmode=rfc2833 или auto или dtmfmode=inband <=> dtmfmode=inband. При этом, такое поведение выявлено и на FreeBSD 11.4 x86 с Asterisk 13.34(35)/16.12 так и на FreeBSD 12.1 x64 с Asterisk 13.34(35)/16.12.
Кто встречался с этим?
Задан: 2020-08-25 16:47:51 +0400
Просмотрен: 141 раз
Обновлен: Aug 25 '20
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Разобрался. В modules.conf было noload=>restimingpthread.so. После того как строку убрал, астер перестал "вылетать". Как это не странно данная строка не мешала работе Asterisk 1.8.32
Krasnov ( 2020-08-25 23:53:05 +0400 )редактировать