<html><body>
<p>HI James,<br>
<br>
Your &quot;From&quot; header as geneated by your client doesn't have a user name. The db_check_from() will fail because of this.<br>
<br>
Kennard<br>
<br>
<img width="16" height="16" src="cid:1__=07BBFD3DDFDC4C9F8f9e8a93df9@logitech.com" border="0" alt="Inactive hide details for James Mbuthia ---09/30/2010 12:08:53 AM---Hi, Am still having the same problem and am still lost. Bel"><font color="#424282">James Mbuthia ---09/30/2010 12:08:53 AM---Hi, Am still having the same problem and am still lost. Below is what I have on my invite header:</font><br>
<br>
<font size="2" color="#5F5F5F">From:        </font><font size="2">James Mbuthia &lt;jmmbuthia@gmail.com&gt;</font><br>
<font size="2" color="#5F5F5F">To:        </font><font size="2">OpenSIPS users mailling list &lt;users@lists.opensips.org&gt;</font><br>
<font size="2" color="#5F5F5F">Date:        </font><font size="2">09/30/2010 12:08 AM</font><br>
<font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [OpenSIPS-Users] Proxy Authorization problem</font><br>
<font size="2" color="#5F5F5F">Sent by:        </font><font size="2">users-bounces@lists.opensips.org</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt>Hi, Am still having the same problem and am still lost. Below is what<br>
I have on my invite header:<br>
<br>
INVITE sip:james@72.55.133.123 SIP/2.0<br>
Via: SIP/2.0/UDP 72.55.133.123:5060;rport;branch=z9hG4bK<br>
From: ;tag=232323<br>
To: James<br>
Call-ID:ytaRyb@72.55.133.123<br>
CSeq: 3 INVITE<br>
Contact:<br>
Content-type: application/sdp<br>
Max-Forwards: 70<br>
User-Agent: PHP SIP<br>
Subject: click2call<br>
Content-Length: 225<br>
Proxy-Authorization: Digest username=&quot;jm21&quot;, realm=&quot;72.55.133.123&quot;,<br>
nonce=&quot;4ca43525000000c92236b97996ebc9378f70674fe6ba6d7a&quot;,<br>
uri=&quot;james@72.55.133.123&quot;,<br>
response=&quot;e9b0b226c39cee9d80783832a53d3931&quot;, algorithm=MD5<br>
<br>
<br>
Below is what I have on my opensips.cfg<br>
<br>
 # authenticate if from local subscriber (uncomment to enable auth)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# authenticate all initial non-REGISTER request that pretend to be<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# generated by local subscriber (domain from FROM URI is local)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (!(method==&quot;REGISTER&quot;) &amp;&amp; from_uri==myself) /*no<br>
multidomain version*/<br>
 &nbsp; &nbsp; &nbsp; &nbsp;##if (!(method==&quot;REGISTER&quot;) &amp;&amp; is_from_local()) &nbsp;/*multidomain version*/<br>
 &nbsp; &nbsp; &nbsp; &nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!proxy_authorize(&quot;&quot;, &quot;subscriber&quot;)) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;proxy_challenge(&quot;&quot;, &quot;0&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!db_check_from()) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sl_send_reply(&quot;403&quot;,&quot;Forbidden auth ID&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp;##<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;consume_credentials();<br>
 &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;# caller authenticated<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br>
<br>
<br>
Below is what i get on /var/log/messages<br>
<br>
Sep 30 03:07:43 CL-T020-483CL opensips: ERROR:uri:check_username: No<br>
authorized credentials found (error in scripts)<br>
Sep 30 03:07:43 CL-T020-483CL opensips: ERROR:uri:check_username: Call<br>
{www,proxy}_authorize before calling check_* functions!<br>
<br>
<br>
Am still as confused as ever as to what am doing wrong, can anyone<br>
give me some pointers or maybe a sample invite authorization script.<br>
Thanks<br>
<br>
james<br>
<br>
<br>
On 9/29/10, Anca Vamanu &lt;anca@opensips.org&gt; wrote:<br>
&gt; Sorry, it's &quot;check_to&quot; or &quot;check_from&quot; what you have in your script, I<br>
&gt; can't tell from the logs you pasted.<br>
&gt;<br>
&gt; Regards,<br>
&gt; Anca<br>
&gt;<br>
&gt;<br>
&gt; On 09/29/2010 06:29 PM, James Mbuthia wrote:<br>
&gt;&gt; Ok, sorry to sound like a blond but which is<br>
&gt;&gt; the check_username function? Please can you give me an example snippet<br>
&gt;&gt; just so that I can have an idea?<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Sep 29, 2010 at 5:19 PM, Anca Vamanu &lt;anca@opensips.org<br>
&gt;&gt; &lt;</tt><tt><a href="mailto:anca@opensips.org">mailto:anca@opensips.org</a></tt><tt>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Hi James,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; As the error says, you have to call a *_authorize function before<br>
&gt;&gt; &nbsp; &nbsp; calling the check_username function. As it is in the default<br>
&gt;&gt; &nbsp; &nbsp; configuration file:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; if (!(method==&quot;REGISTER&quot;) &amp;&amp; from_uri==myself) /*no multidomain<br>
&gt;&gt; &nbsp; &nbsp; version*/<br>
&gt;&gt; &nbsp; &nbsp; {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; if (!proxy_authorize(&quot;&quot;, &quot;subscriber&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_challenge(&quot;&quot;, &quot;0&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; if (!db_check_from()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sl_send_reply(&quot;403&quot;,&quot;Forbidden auth ID&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Regards,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; --<br>
&gt;&gt; &nbsp; &nbsp; Anca Vamanu<br>
&gt;&gt; &nbsp; &nbsp; </tt><tt>www.voice-system.ro</tt><tt>&nbsp; &lt;</tt><tt><a href="http://www.voice-system.ro">http://www.voice-system.ro</a></tt><tt>&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; On 09/29/2010 05:47 PM, James Mbuthia wrote:<br>
&gt;&gt;&gt; &nbsp; &nbsp; Hi guys,<br>
&gt;&gt;&gt; &nbsp; &nbsp; I hope you can help, am trying to do proxy authentication but I<br>
&gt;&gt;&gt; &nbsp; &nbsp; seem to be making a mistake when compiling the<br>
&gt;&gt;&gt; &nbsp; &nbsp; proxy-authorization response. The following is what I have as the<br>
&gt;&gt;&gt; &nbsp; &nbsp; response on my INVITE header:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; Proxy-Authorization: Digest username=&quot;james&quot;, realm=&quot;72.55.133.123&quot;,<br>
&gt;&gt;&gt; nonce=&quot;4ca351fd000000ba2f06398974466cff346fa0ee28e9c12b&quot;,<br>
&gt;&gt;&gt; uri=&quot;james@72.55.133.123 &nbsp;&lt;</tt><tt><a href="mailto:james@72.55.133.123">mailto:james@72.55.133.123</a></tt><tt>&gt;&quot;,<br>
&gt;&gt;&gt; response=&quot;6caa56878d256a8220f6f70cfc4b10fe&quot;, algorithm=MD5<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; The following is the error on the server<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; Sep 29 10:47:38 CL-T020-483CL opensips: ERROR:uri:check_username:<br>
&gt;&gt;&gt; &nbsp; &nbsp; No authorized credentials found (error in scripts)<br>
&gt;&gt;&gt; &nbsp; &nbsp; Sep 29 10:47:38 CL-T020-483CL opensips: ERROR:uri:check_username:<br>
&gt;&gt;&gt; &nbsp; &nbsp; Call {www,proxy}_authorize before calling check_* functions!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; I've checked through books and websites but there's no clear<br>
&gt;&gt;&gt; &nbsp; &nbsp; indication on how to compile the Proxy-authorization header, can<br>
&gt;&gt;&gt; &nbsp; &nbsp; someone help me out and give me some pointers on what amd doing<br>
&gt;&gt;&gt; &nbsp; &nbsp; wrong and how to compile the header. Thank.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; james<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; _______________________________________________<br>
&gt;&gt;&gt; &nbsp; &nbsp; Users mailing list<br>
&gt;&gt;&gt; &nbsp; &nbsp; Users@lists.opensips.org &nbsp;&lt;</tt><tt><a href="mailto:Users@lists.opensips.org">mailto:Users@lists.opensips.org</a></tt><tt>&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; </tt><tt><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></tt><tt><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; _______________________________________________<br>
&gt;&gt; &nbsp; &nbsp; Users mailing list<br>
&gt;&gt; &nbsp; &nbsp; Users@lists.opensips.org &lt;</tt><tt><a href="mailto:Users@lists.opensips.org">mailto:Users@lists.opensips.org</a></tt><tt>&gt;<br>
&gt;&gt; &nbsp; &nbsp; </tt><tt><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></tt><tt><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Users mailing list<br>
&gt;&gt; Users@lists.opensips.org<br>
&gt;&gt; </tt><tt><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></tt><tt><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Anca Vamanu<br>
&gt; </tt><tt>www.voice-system.ro</tt><tt><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
Users mailing list<br>
Users@lists.opensips.org<br>
</tt><tt><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a></tt><tt><br>
</tt><br>
</body></html>