02.09.2022, 06:03
(01.09.2022, 10:18)admin Wrote: Run this once to update the config file. Modify SIP addresses as needed. If there's a call to user 200@192.168.0.9 then user 300@192.168.0.9 will also receive it.
Code:io.writefile('/etc/kamailio/kamailio.cfg', [[ # modules loadmodule "/usr/lib/kamailio/modules/tm.so" loadmodule "/usr/lib/kamailio/modules/sl.so" loadmodule "/usr/lib/kamailio/modules_k/rr.so" loadmodule "/usr/lib/kamailio/modules_k/maxfwd.so" loadmodule "/usr/lib/kamailio/modules_k/usrloc.so" loadmodule "/usr/lib/kamailio/modules_k/registrar.so" # rr, add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1) route { if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); exit; }; if (msg:len >= 2048) { sl_send_reply("513", "Message too big"); exit; }; if (method != "REGISTER") { record_route(); }; if (method == "INVITE") { if (uri == "sip:200@192.168.0.9;transport=udp") { append_branch("sip:300@192.168.0.9;transport=udp"); }; }; if (loose_route()) { route(1); exit; }; if (uri != myself) { route(1); exit; }; if (uri == myself) { if (method == "REGISTER") { save("location"); exit; }; lookup("aliases"); if (uri != myself) { route(1); exit; }; if (!lookup("location")) { sl_send_reply("404", "Not Found"); exit; }; }; route(1); } route[1] { if (!t_relay()) { sl_reply_error(); }; } ]]) os.execute('/etc/init.d/kamailio restart')
I have just tried it and it doesn't work. I can still call every device but they don't redirect to the other.
For testing, I have created 3 users in my LM: 151, 152 and 153.
In your script, I have changed your example for mines: sip:151@192.168.0.222 and sip:152@192.168.0.222
I'm calling from 153 to 151. It rings but not 152.
Any other idea? Thanks in advance!