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.potjevlesch@gmail.com]
Envoyé : jeudi 25 septembre 2014 17:45
À : andres(a)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-bounces(a)lists.sip-router.org
[mailto:sr-users-bounces@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.potjevlesch@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-bounces(a)lists.sip-router.org
[mailto:sr-users-bounces@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(a)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(a)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(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users