Hello, Any idea on how can I manage this? I'm still stuck in this issue. If I remove the IP address from domain table, it works but many REGISTER fails because the R-URI only contains sip:<IP_KAMAILIO/ASTERISK> without the port.
Many thanks for your help. Regards, Igor. -----Message d'origine----- De : Igor Potjevlesch [mailto:igor.potjevle...@gmail.com] Envoyé : jeudi 25 septembre 2014 17:45 À : and...@telesip.net; 'Kamailio (SER) - Users Mailing List' Objet : RE: [SR-Users] Relaying ACK to Asterisk Yes you're right. But many SIP requests come with R-URI sip:<IP_KAMAILIO/ASTERISK> without the port. So the test "is_from_local" fails. Regards, Igor. -----Message d'origine----- De : sr-users-boun...@lists.sip-router.org [mailto:sr-users-boun...@lists.sip-router.org] De la part de Andres Envoyé : jeudi 25 septembre 2014 15:54 À : Kamailio (SER) - Users Mailing List Objet : Re: [SR-Users] Relaying ACK to Asterisk On 9/25/14, 9:17 AM, Igor Potjevlesch wrote: > I just identified that if "IP_KAMAILIO/ASTERISK" is set into domain > table, As I said before, what you need to use is IP_KAMAILIO/ASTERISK:5060. If you use it without the port, it will match also when directed to your Asterisk server residing on the same IP and loop inside Kamalio without being routed properly. > the issue occured. > If I delete this entry, the ACK is properly relayed. > > The thing is that I use domain table for this check in REQ_INIT: > if (!has_totag()) { > if (!is_uri_host_local()) { > if (is_from_local() || allow_trusted()) { > xlog("L_WARN","time=[$Tf] call > id=[$ci] call seq=[$cs] contact header=[$ct] from uri=[$fu] from > tag=[$ft] request's method=[$rm] request's uri=[$ru] to uri=[$tu] to > tag=[$tt] sip message id=[$mi] process id=[$pp] ip source=[$si] > flags=[$mf], From the trusted source\n"); > return; > } > else{ > xlog("L_WARN","time=[$Tf] call > id=[$ci] call seq=[$cs] contact header=[$ct] from uri=[$fu] from > tag=[$ft] request's method=[$rm] request's uri=[$ru] to uri=[$tu] to > tag=[$tt] sip message id=[$mi] process id=[$pp] ip source=[$si] flags=[$mf], Relay Forbidden\n"); > sl_send_reply("403", "Relay Forbidden"); > }; > exit; > }; > }; > > Regards, > > Igor. > > -----Message d'origine----- > De : Igor Potjevlesch [mailto:igor.potjevle...@gmail.com] > Envoyé : jeudi 25 septembre 2014 14:45 À : 'Kamailio (SER) - Users > Mailing List' > Objet : RE: [SR-Users] Relaying ACK to Asterisk > > Hello Klaus, > > Thank you for the translation ;) > Here is the config: > > /* add local domain aliases */ > alias=sip.domain.tld > > /* uncomment and configure the following line if you want Kamailio to > bind on a specific interface/port/proto (default bind on all > available) */ > listen=udp:IP_KAMAILIO/ASTERISK:5060 > listen=udp:IP_KAMAILIO_LAN:5060 > > The 'domain' table is populated as follow: > id | domain > 1 <IP_KAMAILIO/ASTERISK> > 2 sip.domain.tld > 3 <hostname_server> > 4 sip.domain.tld > > Regards, > > Igor. > > > -----Message d'origine----- > De : sr-users-boun...@lists.sip-router.org > [mailto:sr-users-boun...@lists.sip-router.org] De la part de Klaus > Darilion Envoyé : jeudi 25 septembre 2014 13:16 À : Kamailio (SER) - > Users Mailing List Objet : Re: [SR-Users] Relaying ACK to Asterisk > > Something is going wrong here: > > On 24.09.2014 18:41, Igor Potjevlesch wrote: >> DEBUG: rr [loose.c:90]: is_preloaded(): is_preloaded: No > That's correct. The ACK is not pre-loaded (with a route set). > > Checking first local URI (either alias= or listen= statement) >> DEBUG: <core> [socket_info.c:583]: grep_sock_info(): grep_sock_info - >> checking if host==us: 14==14 && [<IP_KAMAILIO_ASTERISK>] == >> [<IP_KAMAILIO_ASTERISK>] >> DEBUG: <core> [socket_info.c:587]: grep_sock_info(): grep_sock_info - >> checking if port 5060 (advertise 0) matches port 4060 > Checking seconf local URI (either alias= or listen= statement) >> DEBUG: <core> [socket_info.c:583]: grep_sock_info(): grep_sock_info - >> checking if host==us: 14==12 && [<IP_KAMAILIO_ASTERISK>] == >> [192.168.0.19] >> DEBUG: <core> [socket_info.c:587]: grep_sock_info(): grep_sock_info - >> checking if port 5060 (advertise 0) matches port 4060 >> DEBUG: <core> [forward.c:448]: check_self(): check_self: host != me > Correctly detects that the RURI does not address Kamailio, but > >> DEBUG: rr [loose.c:674]: after_strict(): Next hop: >> 'sip:<IP_KAMAILIO_ASTERISK>;lr=on' is loose router > This means, that check_self returned 1 (match) although it didn't matched. > This means that the _check_self_func_list (forward.c) is populated and > matches the RURI. > > Thus, the RURI does not match one of the "standard" aliases (the ones > learned by the listen=... statements) but some other module registered > a callback which returns MATCH, and thus Kamailio thinks the previous > hop is a strict router: > >> DEBUG: rr [loose.c:724]: after_strict(): The last route URI: >> 'sip:<IP_KAMAILIO_ASTERISK>;lr=on' > please post your complete alias=.... and listen=... config. > > Further, I suspect that you register additional aliases via "domain" > or "corex" module and these additional aliases match the RURI. So > review your domain and corex configuration. > > regards > Klaus > > > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing > list sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > > > > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing > list sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > -- Technical Support http://www.cellroute.net _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users