I understood, thank you! Now I did like that, hope it is right way.
if (!lookup("location")) { $var(rc) = $rc;
switch ($var(rc)) { case -1: xwarn("Contact $rU not registered($var(rc)). Forwarding call to dispatcher"); $rU = "00"+$rU; break; case -3: send_reply("404", "Not Found"); exit; case -2: send_reply("405", "Method Not Allowed"); exit; }
2017-08-04 9:29 GMT+03:00 Paul Smith paul.smith@claritytele.com:
Hi Aidar, I believe $rc is the return code of the last function called (ref https://www.kamailio.org/wiki/cookbooks/4.4.x/ pseudovariables#rc_-_returned_code)
In your example you call xwarn() and then test $rc… so by the time you test $rc it is no longer the result of the lookup() function.
Try storing $rc in a $var before calling xwarn() instead and see if it works the way you expect it to:
if (!lookup("location")) { $var(rc) = $rc; xwarn("method ($rm) r-uri ($ru)\n"); ##################
HERE ##########################
route(TOVOICEMAIL); t_newtran(); switch ($var(rc)) { case -1: case -3: send_reply("404", "Not Found"); exit; case -2: send_reply("405", "Method Not Allowed"); exit; } }
Paul Smith