Yes they're on separate i/f each, Kamailio works like SIP "NAT/firewall box" between LAN and internet.
Check a port in $fs, 5060 or 5070, or show your cfg with $fs
пт, 1 июл. 2022 г. в 15:19, Алексей Якимкин ayakimkin@gmail.com:
Hello,
Are you ips (LAN_IP and WAN_IP) on sepparate interfaces?
I use add_path for Register requests. It insert header Path: sip:10.130.0.23:5070;lr
My pbx calls to User-Agent throught 10.130.0.23:5070. INVITE(from kamailio) go out to internet from 10.130.0.23:5070
This line "$fs = «udp:10.130.0.23:5060»;" don`t work, It produces an error: (pv [pv_branch.c:62]: pv_get_branchx_helper(): error accessing branch [0])
ср, 29 июн. 2022 г. в 18:55, ZZ Wave zzwave@gmail.com:
I use this with NATed Kamailio and Asterisk for "transparent" registrations:
if (is_method("REGISTER")) { add_path(); } if ($Ri=="LAN_IP") { $fs="udp:WAN_IP:5060"; } else { $fs="udp:LAN_IP:5060"; }
AFAIK FreeSwitch supports Path as well but Yate doesn't
ср, 29 июн. 2022 г. в 12:25, Алексей Якимкин ayakimkin@gmail.com:
Hello,
I have kamailio in local network behind NAT. Kamailio have one interface eth1 with ip 10.130.0.23
UserAgent - (internet) - (178.0.0.169)router_with_NAT - (LAN) - kamailio+rtpproxy - pbx
I made two listeners: listen=udp:10.130.0.23:5070 #to pbx in lan (I don`t want to put via header with 178.0.0.169) listen=udp:10.130.0.23:5060 advertise 178.0.0.169:5060 #to internet (UserAgent need to get via header with 178.0.0.169 )
mhomed = 1 # I think It not useful for my case
UserAgent send Register and Invite to 178.0.0.169:5060, Kamailio get it on udp:10.130.0.23:5060
Kamailio Relay it to udp:10.130.0.23:5070
My pbx get requests from udp:10.130.0.23:5070 with via header 10.130.0.23
Responses to UserAgent go from udp:10.130.0.23:5060 with via 178.0.0.169
In RELAY block: if ($Ru == «udp:10.130.0.23:5070») { #set_send_socket(«udp:10.130.0.23:5060»); $fs = «udp:10.130.0.23:5060»; #force_send_socket(«udp:10.130.0.23:5060»); } else { #set_send_socket(«udp:10.130.0.23:5070»); $fs = «udp:10.130.0.23:5070»; } #$fs = «udp:10.130.0.23:5070»; if (!t_relay()) { sl_reply_error(); }
route[REGISTRAR] {
if ($rd == "mydomain.ru" || $rd == "mydomain2.ru") { set_send_socket("udp:10.130.0.23:5070"); }
}
It works for requests from UserAgent to PBX. But INVITE from my pbx to UserAgent goes only through udp:10.130.0.23:5070 , Kamailio realy it to internet from udp:10.130.0.23:5070
I get error in syslog: (pv [pv_branch.c:62]: pv_get_branchx_helper(): error accessing branch [0])
I tried set_send_socket(«udp:10.130.0.23:5070»); and $fs = «udp:10.130.0.23:5070»;
Why I can`t relay outgoing requests to internet through another socket?
--
Best regards, Alex
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- С уважением, Якимкин Алексей __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: