Здравствуйте! Можете добавить поддержку ARI?
В MikoPBX есть все нобходимые модули для поддержки ARI в asterisk.
через “Кастомизация системных файлов” можно отредактировать файл modules.conf и подгрузить необходимое
Использовать ARI в наши планы пока не входит. Да и не понятны кейсы, в которых его можно использовать. Для наших задач достаточно AMI и AJAM
Не работают Stasis приложения.
Провели эксперимент с собраным с нуля Asterisk и MikoPBX и при проверке на собраном asterisk 21.9.1 с dialplan
exten => 7777,1,NoOp(test)
same => n,Answer()
same => n,Stasis(stt-bot)
same => n,Hangup()
Звонок прилетает в ws и приложение работает. В случае же с MikoPBX с тем же dialplan просто получаем мгновенный сброс
Лог Asterisk 21.9.1:
Activating Stasis app 'stt-bot'
== WebSocket connection from '192.168.1.44:55456' for protocol '' accepted using version '13'
-- Executing [7777@default:1] NoOp("PJSIP/101-00000002", "test") in new stack
-- Executing [7777@default:2] Answer("PJSIP/101-00000002", "") in new stack
> 0x7f6b940355a0 -- Strict RTP learning after remote address set to: 192.168.1.44:5061
> 0x7f6b940355a0 -- Strict RTP switching to RTP target address 192.168.1.44:5061 as source
-- Executing [7777@default:3] Stasis("PJSIP/101-00000002", "stt-bot") in new stack
> 0x7f6b30032850 -- Strict RTP learning after remote address set to: 192.168.1.44:59706
-- Called 192.168.1.44:59706/c(slin16)
-- UnicastRTP/192.168.1.44:59706-0x7f6b3004f5b0 answered
> Launching Stasis(stt-bot) on UnicastRTP/192.168.1.44:59706-0x7f6b3004f5b0
-- Channel PJSIP/101-00000002 joined 'simple_bridge' stasis-bridge <2e0ee9fb-2c0c-41a4-ba2b-b74164291874>
-- Channel UnicastRTP/192.168.1.44:59706-0x7f6b3004f5b0 joined 'simple_bridge' stasis-bridge <2e0ee9fb-2c0c-41a4-ba2b-b74164291874>
-- Channel PJSIP/101-00000002 left 'simple_bridge' stasis-bridge <2e0ee9fb-2c0c-41a4-ba2b-b74164291874>
-- Channel UnicastRTP/192.168.1.44:59706-0x7f6b3004f5b0 left 'simple_bridge' stasis-bridge <2e0ee9fb-2c0c-41a4-ba2b-b74164291874>
Лог MikoPBX:
Creating Stasis app 'stt-bot'
== WebSocket connection from '192.168.1.44:55397' for protocol '' accepted using version '13'
-- Executing [7777@all_peers:1] NoOp("PJSIP/101-00000000", "test") in new stack
-- Executing [7777@all_peers:2] Answer("PJSIP/101-00000000", "") in new stack
> 0x14899802ac30 -- Strict RTP learning after remote address set to: 192.168.1.44:5056
> 0x148998033160 -- Strict RTP learning after remote address set to: 192.168.1.44:5058
> 0x14899802ac30 -- Strict RTP switching to RTP target address 192.168.1.44:5056 as source
== Spawn extension (all_peers, 7777, 3) exited non-zero on 'PJSIP/101-00000000'
-- Executing [h@all_peers:1] Hangup("PJSIP/101-00000000", "") in new stack
== Spawn extension (all_peers, h, 1) exited non-zero on 'PJSIP/101-00000000'
Видно что в Asterisk Stasis вызывается и успешно подключается. MikoPBX в свою очередь просто игнорирует правило Stasis(stt-bot)
Анализируйте логи АТС asterisk/messages и asterisk/error
Убедитесь, что подгружен модуль app_stasis.so и зависимости.
Для MikoPBX это не типичный сценарий, при подобном подходе вы получите проблемы с историей звонков.