Seeking a minimal asterisk16 install on a micro travel router.
I am using openwrt 19.07.8 and manually loading modules.
I have asterisk16 and chan-sip installed.
I have a sip-trunk to my 'main' PBX.
I have 2 IP phones sip-registered.
When I try to dial a phone I get:
No RTP engine was found. Do you have one loaded?
Is there a RTP Engine without requiring that PJSIP be installed?
Chuck
Check if the res_rtp_asterisk.so
module is loaded using module show like rtp
.
If not, try loading res_pjproject.so
to check if it will make a difference.
NC8Q-AR3CLI> module show like rtp*
Module Description Use Count Status Support Level
bridge_native_rtp.so Native RTP bridging module 0 Running core
chan_rtp.so RTP Media Channel 0 Running core
res_rtp_multicast.so Multicast RTP Engine 1 Running core
3 modules loaded
NC8Q-AR3CLI>*
Hi, Pavel:
Thanks.
res_rtp_asterisk was not loaded because it requires PJSIP, which requires more modules, thus
more flash memory.
Ditto with res_pjproject.
Originally, I installed asterisk16, IAX, and CHAN-PJSIP, but ran very low on memory.
Since I can code a trunk and phones with CHAN-SIP, I was hoping to replace
IAX and CHAN-PJSIP with only CHAN-SIP(done)...saving much flash memory.
I thought RTP existed before PJSIP, so I was hoping to install RTP without needing
to install CHAN-PJSIP.
Chuck
reference:
https://wiki.asterisk.org/wiki/display/AST/Current+RTP+state+of+Asterisk
quote:
The API
RTP in Asterisk is managed by a central API defined in include/asterisk/rtp_engine.h
. It provides a front-end to pluggable RTP engines. The core Asterisk distribution ships with two RTP engines: res_rtp_asterisk and res_rtp_multicast."
I have 'asterisk16-res-rtp-multicast_16.22.0-1_mips_24kc.ipk'
installed without error, so if 'res-rtp-multicast' is a RTP engine like the page states;
why am I getting the
"No RTP engine was found. Do you have one loaded?"
message?
Do I need both engines?
I am baffled.
Chuck
" Check if the res_rtp_asterisk.so
module is loaded..."
I have CHAN-SIP installed.
I do not have CHAN-PJSIP installed.
*"root@NC8Q-AR1:/mnt/usb/sip# opkg install asterisk16-res-rtp-asterisk_16.22.0-1_mips_24kc.ipk *
*Installing asterisk16-res-rtp-asterisk (16.22.0-1) to root...*
*Collected errors:*
* * satisfy_dependencies_for: Cannot satisfy the following dependencies for asterisk16-res-rtp-asterisk:*
* * libpjsip*
* * libpjmedia*
* * libpjnath*
* * libpjsip-simple*
* * libpjsip-ua*
* * libpjsua*
* * libpjsua2*
* * opkg_install_cmd: Cannot install package asterisk16-res-rtp-asterisk.*
*root@NC8Q-AR1:/mnt/usb/sip# "*
Hi Chuck,
Sorry to bring you bad news, but after some testing I can confirm that you need Asterisk RTP Stack (res_rtp_asterisk.so
) to make it work.
Connected to Asterisk 16.23.0 currently running on mail (pid = 18907)
mail*CLI> module show like rtp
Module Description Use Count Status Support Level
bridge_native_rtp.so Native RTP bridging module 0 Running core
chan_rtp.so RTP Media Channel 0 Running core
res_rtp_asterisk.so Asterisk RTP Stack 0 Running core
res_rtp_multicast.so Multicast RTP Engine 1 Running core
4 modules loaded
mail*CLI>
mail*CLI> module unload res_rtp_asterisk.so
Unloaded res_rtp_asterisk.so
Unloading res_rtp_asterisk.so
== Unregistered RTP engine 'asterisk'
mail*CLI> module show like rtp
Module Description Use Count Status Support Level
bridge_native_rtp.so Native RTP bridging module 0 Running core
chan_rtp.so RTP Media Channel 0 Running core
res_rtp_multicast.so Multicast RTP Engine 1 Running core
3 modules loaded
[Mar 25 20:22:53] ERROR[19255][C-00000001]: rtp_engine.c:489 ast_rtp_instance_new: No RTP engine was found. Do you have one loaded?
[Mar 25 20:22:53] NOTICE[19255][C-00000001]: chan_sip.c:19663 send_check_user_failure_response: RTP init failure for device <sip:911@192.168.1.1:5060>;tag=b676d556 for INVITE, code = -9
mail*CLI>
Unfortunately res_rtp_asterisk.so
depends on res_pjproject.so
:
mail*CLI> module load res_rtp_asterisk.so
Unable to load module res_rtp_asterisk.so
Command 'module load res_rtp_asterisk.so' failed.
[Mar 25 20:31:22] ERROR[20081]: loader.c:283 module_load_error: Error loading module 'res_rtp_asterisk.so', missing dependency: res_pjproject
mail*CLI>
Hi, Pavel:
Thanks.
IIRC, res_rtp_asterisk requires PJSIP, which requires more flash memory, and many more modules.
I assumed that RTP existed before PJSIP , so there ?should? be a RTP engine module that does not require PJSIP.
My mini travel router has ~10 MB of available, 4.8 MB left at this point of missing a RTP engine
and that also requires many pj modules.
This seems to be a point of failure in my quest to install asterisk16 on an embedded device.
I fear that installing all the required pj modules will cause me to exceed my device's memory.
Regards,
Chuck
FYI
## asterisk16-res-rtp-asterisk
52.00 KB libpjsip-simple
68.00 KB libpjsip-ua
68.00 KB libsrtp2
108.00 KB libpjlib-util
112.00 KB libpjnath
120.00 KB libpj
200.00 KB libpjsua
216.00 KB libpjsip
244.00 KB libpjmedia
344.00 KB libpjsua2
148.00 KB asterisk16-res-rtp-asterisk
## asterisk16-res-pjproject
64.00 KB asterisk16-res-sorcery
24.00 KB asterisk16-res-pjproject
Total ~ 1.8 MB
You can remove these modules to save some space.
Hi, Pavel: Thanks.
I think
## asterisk16-res-pjproject
64.00 KB asterisk16-res-sorcery
24.00 KB asterisk16-res-pjproject
may have fixed my issue.
I can dial extensions now.
I will work on dialing-out via a chan-sip trunk to my 'main' PBX.
I will try to remove those modules you mentioned.
I have flash=4664KB.
Regards, Chuck
1 Like