[Kamailio-Users] question about register
Henning Westerholt
henning.westerholt at 1und1.de
Tue Nov 11 18:41:17 CET 2008
On Monday 10 November 2008, Fabian Borot wrote:
> I am having an issue handling UN-REGISTERs.
>
>
> This is my config file:
> route{
> [..]
> if (uri==myself) {
> if (method=="REGISTER" && (!search("expires=0"))) {
> if (!www_authorize("", "subscriber")) {
> www_challenge("", "0");
> exit;
> };
> save("location");
> xlog("L_INFO","mylog: save-location successful.\n");
> exit;
> }
> [..]
> # native SIP destinations are handled using our USRLOC DB
> if (!lookup("location")) {
> sl_send_reply("404", "Not Found");
> xlog("L_INFO","mylog: lookup-location failed, sending 404
> Not Found. Method: [$rm].\n"); exit;
> };
> append_hf("P-hint: usrloc applied\r\n");
> };
> route(1);
> }
>
>
> I added the "&& (!search("expires=0"))" to make sure that only the REGISTER
> requests will be processed by the next lines and the AOR will be saved in
> those cases. The X-lite sends "expires=0" in the Contact HF when it is
> unregistering. This is how the processing of a REGISTER looks like as per
> my code:
Hi Fabian,
somehow the search(..) does not match, so the REGISTER case is not used for
unregistrations. My twinkle e.g. uses uppercase at the beginning in certain
cases, you only match for lower case at the moment. But instead of changing
the match i'd just let the registrar handle this in save(). It should work
just fine.
Unregistration requests are then proceeded by the lookup, and of course no
contact is found for this URI. If you comment the lookup block out, you'll
get a loop, as its visible from the log below.
> [..]
> ../../sbin/kamailio[26203]: mylog: starting_main_logic. Nov 10 12:36:43
> sp1094a ../../sbin/kamailio[26203]: mylog: Message too big.
Cheers,
Henning
More information about the Users
mailing list