Hey,
Thanks for the reply! Actually it's the entire logic that baffles me.
It is not uncommon for a UAC (say at 192.168.1.1) to send out an INVITE
which is formed like this:
* R-URI: kamailio's URI
* From: username(a)192.168.1.1
* To: irrelevant
What I'm saying is that this SIP message will fail all conditional checks
of the AUTH route, and will return to the main routing block. In other
words, this INVITE will be processed without having been challenged.
Am I wrong in thinking that in any way?
On 2 August 2017 at 21:41, Jurijs Ivolga <jurijs.ivolga(a)gmail.com> wrote:
Hi George,
If you are asking about this part:
if (from_uri!=myself && uri!=myself) {
sl_send_reply("403","Not relaying");
exit;
}
Then this mean that we do not want to deal with sip requests which not
send to us or not by us. So any request which is not related to us we will
not serve.
Keep in mind that "to" header by sip RFC can contain anything and we don't
care in most cases what is there.
https://tools.ietf.org/html/rfc3261#page-36
With kind regards,
Jurijs
On Wed, Aug 2, 2017 at 4:01 PM, George Diamantopoulos <
georgediam(a)gmail.com> wrote:
Hello again,
Still getting familiar with kamailio, and I'm wondering about the AUTH
route in the example configuration file. Here's a reducted-simplified
version of it for reference (from git master, without IP AUTH and comments):
______________________________________________
route[AUTH] {
if (is_method("REGISTER") || from_uri==myself) {
if (!auth_check("$fd", "subscriber", "1")) {
auth_challenge("$fd", "0");
exit;
}
if(!is_method("REGISTER|PUBLISH"))
consume_credentials();
}
if (from_uri!=myself && uri!=myself) {
sl_send_reply("403","Not relaying");
exit;
}
return;
}
______________________________________________
So the way I see it, what happens is the following:
* All REGISTERs will be challenged
* All SIP messages with kamailio's aliases in the "From" header URI will
be challenged
* All SIP messages with no reference to kamailio's aliases in both R-URI
and "From" header URI will be dropped
The question is, what about messages that do not enter either of the two
conditionals? For example, I expect the following to be very common:
* Method: INVITE
* R-URI: myself
* From: username@"UAC's local IP address" (not myself)
* To: myself
So in the example above, the auth route will return without either having
challenged or dropped the request, am I correct? This is because:
* For the challenge: Method is not REGISTER and "From URI" is not one of
kamailio host's aliases (cumulatively)
* For dropping after sending 403: "From URI" is not one of kamailio's
host's aliases (which calculates to true) but R-URI is "myself"
So I'm guessing we're expecting the challenge to come from elsewhere in
cases like the example above? Or is there something else I'm missing here?
Thanks!
BR,
George
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users