Hello Bruce,
Strangely, I've never gotten an Anonymous INVITE rejected by Asterisk with 603, but that was the version 1.4. Let me try to help with your request for a solution with Kamailio.
These few lines could be added to your main route, after the place where your handle the registration. It will block any request from unregistered users: Route { ... if (!registered("location")) { { exit; } ... }
I am assuming that you refer to the subscribers registered in the location table as "peers", I mean, they should be registered in Kamailio, not in asterisk. If not, you can do something similar with some database query. But let us know if that is the case.
Perhaps you'd be interested in these next ones as well, they helped me a short while ago to workaround on some issues with the code 603:
Module configurations: modparam("tm", "disable_6xx_block", 1)
onreply_route { if ($T_reply_code == "603") { drop; } }
Best regards, Ricardo.
Am 25.07.2011 18:44, schrieb Andrade Ricardo (CI/AFU1):
Hello Bruce,
Strangely, I've never gotten an Anonymous INVITE rejected by Asterisk with 603, but that was the version 1.4. Let me try to help with your request for a solution with Kamailio.
These few lines could be added to your main route, after the place where your handle the registration. It will block any request from unregistered users: Route { ... if (!registered("location")) { { exit; } ... }
This helps if you want to check if the called target is registered. If you want to know if the source of the INVITE is a registered client then there is no existing function to do that, but you could that easily do with sqlops module and a manual SQL query, e.g. some pseudo code:
$var(pattern) = "%" + $si + "%"; if (SELECT COUNT(*) FROM location WHERE received LIKE $var(pattern)) # sender is registered, allow ... else # sender is not registered, ignore exit
Make sure to use db_mode 1 or 3: http://www.kamailio.org/docs/modules/3.1.x/modules_k/usrloc.html#id2995804
regards Klaus
I am assuming that you refer to the subscribers registered in the location table as "peers", I mean, they should be registered in Kamailio, not in asterisk. If not, you can do something similar with some database query. But let us know if that is the case.
Perhaps you'd be interested in these next ones as well, they helped me a short while ago to workaround on some issues with the code 603:
Module configurations: modparam("tm", "disable_6xx_block", 1)
onreply_route { if ($T_reply_code == "603") { drop; } }
Best regards, Ricardo.
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