Hello. I applied custom code in app_mixmonitor.c which allowed me to save the recordings that take place in a conference bridge in my own custom raw file in separate channels. The code works beautifully in Asterisk 20. This worked for me even if I gave AMI the channel name of just one of the confbridge channel participants. It doesn’t work in Asterisk 22. I strongly suspect it is because Asterisk 22 is strictly enforcing the fact that I am not sending the bridge channel name? All I need to know is if this true or false. I am looking into other possibilities but I will appreciate it if someone saves me tons of time confirming my question. Thanks.
PS: The Asterisk call crashes when I send the AMI message to Asterisk.
[Dec 2 17:22:53] DEBUG[641282]: autochan.c:53 ast_autochan_setup: Created autochan 0x7ff6f0011390 to hold channel PJSIP/anonymous-00000000 (0x7ff6fc00ba10)
[Dec 2 17:22:53] DEBUG[641282]: channel.c:5751 set_format: Channel PJSIP/anonymous-00000000 setting write format path: gsm → alaw
[Dec 2 17:22:53] DEBUG[641282]: channel.c:5419 ast_write_stream: Thread LWP 641282 is blocking ‘PJSIP/anonymous-00000000’, already blocked by thread LWP 641281 in procedure ast_waitfor_nandfds
[Dec 2 17:22:53] ERROR[641282]: channel.c:5419 ast_write_stream: FRACK!, Failed assertion 0 (0)
[Dec 2 17:22:53] ERROR[641282]: Got 17 backtrace records
0: [0x5c2351] asterisk utils.c:2835 __ast_assert_failed()
1: [0x4a9da1] asterisk utils.h:737 _ast_assert()
2: [inlined] asterisk channel.c:5419 ast_write_stream()
3: [0x4e6f89] asterisk file.c:972 ast_readaudio_callback()
4: [0x4ea0cd] asterisk file.c:1076 ast_playstream()
5: [inlined] asterisk file.c:1366 ast_streamfile()
6: [0x4eb199] asterisk file.c:1890 ast_stream_and_wait()
7: [0x7ff782a85d8b] app_mixmonitor.so app_mixmonitor.c:1318 setup_mixmonitor_ds()
8: [inlined] app_mixmonitor.so app_mixmonitor.c:1427 launch_monitor_thread()
9: [0x7ff782a86bc3] app_mixmonitor.so app_mixmonitor.c:1760 mixmonitor_exec()
#10: [0x7ff782a88067] app_mixmonitor.so app_mixmonitor.c:2347 manager_mixmonitor()
#11: [0x624d4a] asterisk manager.c:7099 process_message()
#12: [0x62f1ce] asterisk manager.c:7314 do_message()
#13: [inlined] asterisk manager.c:7419 session_do()
#14: [0x5bcd2a] asterisk utils.c:1609 dummy_start()
#15: [0x7ff783a8a19a] libc.so.6 :0 pthread_condattr_setpshared()
#16: [0x7ff783b0f100] libc.so.6 :0 __xmknodat()