Browse Source

option & notify early exit

update-rsyslog-config
lazedo 7 years ago
parent
commit
095f9898a7
1 changed files with 45 additions and 37 deletions
  1. +45
    -37
      kamailio/default.cfg

+ 45
- 37
kamailio/default.cfg View File

@ -441,57 +441,65 @@ route[CLASSIFY_SOURCE]
route[HANDLE_OPTIONS]
{
if (is_method("OPTIONS")) {
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
route(INTERNAL_TO_EXTERNAL_RELAY);
} else {
#!ifdef TRAFFIC_FILTER_ROLE
if (!isflagset(FLAG_TRUSTED_SOURCE)) {
route(FILTER_REQUEST_DOMAIN);
}
#!endif
if (!is_method("OPTIONS")) {
return;
}
sl_send_reply("200", "Rawr!!");
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
route(INTERNAL_TO_EXTERNAL_RELAY);
} else {
#!ifdef TRAFFIC_FILTER_ROLE
if (!isflagset(FLAG_TRUSTED_SOURCE)) {
route(FILTER_REQUEST_DOMAIN);
}
exit;
#!endif
## TODO: remove nat if client is sending options
sl_send_reply("200", "Rawr!!");
}
exit;
}
route[HANDLE_NOTIFY]
{
if (!is_method("NOTIFY")) return;
if (has_totag()) return;
if (is_method("NOTIFY")) {
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
if (loose_route()) {
xlog("L_INFO", "$ci|log|Able to loose-route. Cool beans!\n");
}
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
if (loose_route()) {
xlog("L_INFO", "$ci|log|Able to loose-route. Cool beans!\n");
}
#!ifdef REGISTRAR_ROLE
if (registered("location")) {
lookup("location");
xlog("L_INFO", "$ci|log|routing to $ruid\n");
}
#!endif
#!ifdef REGISTRAR_ROLE
if (registered("location")) {
lookup("location");
xlog("L_INFO", "$ci|log|routing to $ruid\n");
}
#!endif
route(INTERNAL_TO_EXTERNAL_RELAY);
} else {
#!ifdef TRAFFIC_FILTER_ROLE
if (!isflagset(FLAG_TRUSTED_SOURCE)) {
route(FILTER_REQUEST_DOMAIN);
}
#!endif
## TODO: verify we're not routing to ourselves
if($hdr(Event) == "keep-alive") {
xlog("L_INFO", "$ci|stop|replying to keep alive\n");
sl_send_reply("405", "Stay Alive / Method Not Allowed");
} else {
xlog("L_INFO", "$ci|stop|consuming event $hdr(Event)\n");
sl_send_reply("200", "Rawr!!");
}
route(INTERNAL_TO_EXTERNAL_RELAY);
} else {
#!ifdef TRAFFIC_FILTER_ROLE
if (!isflagset(FLAG_TRUSTED_SOURCE)) {
route(FILTER_REQUEST_DOMAIN);
}
#!endif
## TODO: remove nat if client is sending notify for keepalive
if($hdr(Event) == "keep-alive") {
xlog("L_INFO", "$ci|stop|replying to keep alive\n");
sl_send_reply("405", "Stay Alive / Method Not Allowed");
} else {
xlog("L_INFO", "$ci|stop|consuming event $hdr(Event)\n");
sl_send_reply("200", "Rawr!!");
}
exit;
}
exit;
}
route[HANDLE_MESSAGE]


Loading…
Cancel
Save