On Thursday 30 April 2015 13:23:25 Mauricio Tejeda wrote:
#!ifdef WITH_ASTERISK
if (!auth_check("$fd", "sipusers", "1"))
{ ##### OK Asterisk Users are no problem
#!else ##### But if the user is no asterisk , simply refuse registration, without Respect the jump to validate users Kamailio
if (!auth_check("$fd", "subscriber", "1"))
{
#!endif
I think you missed a fundamental part of the configuration and its parsing. Above #!ifdef/#!else/#!endif structure is not a conditional in the configuration file during runtime. It is a conditional during parsing.
If you define WITH_ASTERISK the used config during runtime is: if (!auth_check("$fd", "sipusers", "1")) Otherwise it is if (!auth_check("$fd", "subscriber", "1"))
I guess you are looking for something like:
if(is_in_subnet($si, "10.1.2.3/32")) { if(!auth_check("$fd", "sipusers", "1")) { #... } } else { if (!auth_check("$fd", "subscriber", "1")) { #... } }
Where 10.1.2.3 is the ipadres of your asterisk server. But as ever: timtowtdi You could use $si==10.1.2.3 of the adress table or whatever.