on 5.5 kamailio wiki for core it is stated that return (0) is the same as exit. but
that's not true
request_route {
if (route(POS)){
xlog("POS PASS\r\n");
}
if (!route(NEG)){
xlog("NEG PASS\r\n");
}
if (!route(ZERO)) {
xlog("ZERO PASS\r\n");
}
xlog("AFTER ZERO\r\n");
send_reply("400","Error");
return;
}
route[POS]{
return 1;
}
route[NEG]{
return -1;
}
route[ZERO] {
return 0;
}
for example from the config above not only ZERO PASS will be printed but also all the
actions after route(ZERO) are still executed.
instead if i replace return 0 with exit in route[ZERO]. this work as expected.