<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
txs Henning, the search() works, that block only matches REGISTERs, but my point was whether the lookup() function makes sense or not for handling REGISTERs [ I see it in some tutorials, I am a beginner to kamailio by the way]<br><br>as far as handling UN-REGISTRATIONs, would save() fit there as well? should I do something special to handle the UN-REGISTRATION or kamailio should know that should remove the AOR automaticall when it sees the "expires=0" in the Contact HF?<br><br><br>also, I see the loop but do not understand why it happens.<br><br>regards<br><br>Fabian<br><br><br><br><br><div>
<div>&nbsp;</div></div><br><br><br><br>&gt; From: henning.westerholt@1und1.de<br>&gt; To: users@lists.kamailio.org<br>&gt; Subject: Re: [Kamailio-Users] question about register<br>&gt; Date: Tue, 11 Nov 2008 18:41:17 +0100<br>&gt; CC: fborot@hotmail.com<br>&gt; <br>&gt; On Monday 10 November 2008, Fabian Borot wrote:<br>&gt; &gt; I am having an issue handling UN-REGISTERs.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; This is my config file:<br>&gt; &gt; route{<br>&gt; &gt; [..]<br>&gt; &gt;          if (uri==myself) {<br>&gt; &gt;                 if (method=="REGISTER" &amp;&amp; (!search("expires=0"))) {<br>&gt; &gt;                         if (!www_authorize("", "subscriber")) {<br>&gt; &gt;                                 www_challenge("", "0");<br>&gt; &gt;                                 exit;<br>&gt; &gt;                         };<br>&gt; &gt;                         save("location");<br>&gt; &gt;                         xlog("L_INFO","mylog: save-location successful.\n");  <br>&gt; &gt;                         exit;<br>&gt; &gt;                 } <br>&gt; &gt; [..]<br>&gt; &gt;         # native SIP destinations are handled using our USRLOC DB<br>&gt; &gt;         if (!lookup("location")) {<br>&gt; &gt;                 sl_send_reply("404", "Not Found");<br>&gt; &gt;                 xlog("L_INFO","mylog: lookup-location failed, sending 404<br>&gt; &gt; Not Found. Method: [$rm].\n"); exit;<br>&gt; &gt;         };<br>&gt; &gt;         append_hf("P-hint: usrloc applied\r\n");<br>&gt; &gt;         };<br>&gt; &gt;         route(1);<br>&gt; &gt; }<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; I added the "&amp;&amp; (!search("expires=0"))" to make sure that only the REGISTER<br>&gt; &gt; requests will be processed by the next lines and the AOR will be saved in<br>&gt; &gt; those cases. The X-lite sends "expires=0" in the Contact HF when it is<br>&gt; &gt; unregistering. This is how the processing of a REGISTER looks like as per<br>&gt; &gt; my code:<br>&gt; <br>&gt; Hi Fabian,<br>&gt; <br>&gt; somehow the search(..) does not match, so the REGISTER case is not used for <br>&gt; unregistrations. My twinkle e.g. uses uppercase at the beginning in certain <br>&gt; cases, you only match for lower case at the moment. But instead of changing <br>&gt; the match i'd just let the registrar handle this in save(). It should work <br>&gt; just fine.<br>&gt; <br>&gt; Unregistration requests are then proceeded by the lookup, and of course no <br>&gt; contact is found for this URI. If you comment the lookup block out, you'll <br>&gt; get a loop, as its visible from the log below.<br>&gt; <br>&gt; &gt; [..]<br>&gt; &gt; ../../sbin/kamailio[26203]: mylog: starting_main_logic. Nov 10 12:36:43<br>&gt; &gt; sp1094a ../../sbin/kamailio[26203]: mylog: Message too big.<br>&gt; <br>&gt; Cheers,<br>&gt; <br>&gt; Henning<br><br /><hr />Windows Live Hotmail now works up to 70% faster. <a href='http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_faster_112008' target='_new'>Sign up today.</a></body>
</html>