<br><br><div>Hi Bogdan,</div><div><br></div><div>Thanks for your reply. As you suggested about check_source_address() function, I get its return value using $avp(i:checksrc) as listed down below;</div><div><div><br></div><div>
        $avp(s:checksrc) = check_source_address(&quot;0&quot;);</div><div>        log(&quot;#################################################################################\n&quot;);</div><div>        xlog(&quot;Check Source Address from Address TABLE Where Value 1 is Equal to True: $(avp(s:checksrc))\n&quot;);</div>
<div>        log(&quot;#################################################################################\n&quot;);</div></div><div><br></div><div><div>        if($avp(s:checksrc)!=1)</div><div>        {</div><div>               if(is_method(&quot;INVITE&quot;))</div>
<div>               {</div><div>                       log(&quot;#################### CHECK SOURCE ADDRESS ######################&quot;);</div><div>                       route(1);</div><div>                       setflag(1);</div>
<div>               }</div><div>        }</div><div>        else</div><div>        {</div><div>               t_reply(&quot;403&quot;,&quot;Forbidden&quot;);</div><div>               exit;</div><div>        }</div><div><br>
</div></div><div>But the problem I&#39;m facing is when I enlist IP in address table i.e. 11.22.33.44, call is rejected when else condition is used, when else condition is commented call is made. But on other hand when I remove the IP as mentioned from address table, it should reject the call (commenting else condition), unfortunately the call is made.</div>
<div><br></div><div>Kindly assist me how can I permit or deny calls on IP bases, when user is not registered from OpenSIPS but sending calls from GW to OpenSIPs?</div><div><br></div><div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Date: Mon, 22 Mar 2010 00:09:43 +0200<br>
From: Bogdan-Andrei Iancu &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;<br>
Subject: Re: [OpenSIPS-Users] Check Live Peers on OpenSIPS<br>
To: OpenSIPS users mailling list &lt;<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br>
Message-ID: &lt;<a href="mailto:4BA69927.2050102@voice-system.ro">4BA69927.2050102@voice-system.ro</a>&gt;<br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Hi Ahmed<br>
<br>
Ahmed Munir wrote:<br>
&gt; Hi Bogdan,<br>
&gt;<br>
&gt; Thanks for your suggestion, few things I want to ask from you;<br>
&gt;<br>
&gt; 1- Can I use rewritehostport(); function instead of $rd=&#39;11.22.33.44&#39;<br>
&gt; and append it to t_relay()? Like;<br>
&gt;<br>
&gt; setflag(2);<br>
&gt; rewritehostport(&quot;11.22.33.55<a href="http://203.215.179.34:5060" target="_blank">:5060</a>&quot;);<br>
&gt; t_relay();<br>
&gt; route(1);<br>
&gt; exit;<br>
<br>
Yes, that is correct.<br>
&gt;<br>
&gt; 2- When using check_source_address() function of permissions module,<br>
&gt; I&#39;m facing weird problem. On machine A I&#39;ve installed OpenSIPS ver<br>
&gt; 1.6.1 svn one, I used this function to permitted certain source IPs as<br>
&gt; I listed in address table. On machine B (currently working on it using<br>
&gt; Radius) I&#39;ve installed same version of OpenSIPS as on machine A, when<br>
&gt; I call its check_source_address() function in INVITE section, it is<br>
&gt; working as it worked on machine A. Machine A settings are listed below;<br>
&gt;<br>
&gt;<br>
&gt; if(is_method(&quot;INVITE&quot;) &amp;&amp; check_source_address(&quot;0&quot;))<br>
&gt; {<br>
&gt;        log(&quot;#################### CHECK SOURCE ADDRESS<br>
&gt; ######################&quot;);<br>
&gt;        route(1);<br>
&gt;        setflag(1);<br>
&gt; }<br>
&gt;<br>
&gt;<br>
&gt; Machine B description I&#39;m mentioning below;<br>
&gt;<br>
&gt; 2-1- If user registered him/her self on SIP phone their source IP not<br>
&gt; going to be checked, and make calls to each other.<br>
&gt; 2-2- If user A is on GW calls user B who is located and Registered on<br>
&gt;  OpenSIPS, user A GW&#39;s source IP must be checked by OpenSIPs, if the<br>
&gt; IP exists on address table, call is permitted if not deny the call.<br>
&gt;<br>
&gt; Problems;<br>
&gt;<br>
&gt; When I user A and user B registered on OpenSIPs (using Radius) they<br>
&gt; can call each other, but if a user A calling from GW to user B who is<br>
&gt; registered on OpenSIPs, calls is made even the address is not listed<br>
&gt; on address table. And also in logs I see that that permissions module<br>
&gt; shows that it doesn&#39;t find any IP enlisted in its hash table, but<br>
&gt; still permitting it.<br>
The function just checks if the source IP is in the table, but does not<br>
take any action - you need to so this manually from the script, based on<br>
the return code (true or false) of the function.<br>
<br>
Regards,<br>
Bogdan<br>
&gt; The configuration of machine B is listed below;<br>
&gt;<br>
&gt; [........]<br>
&gt;<br>
&gt; Kindly assist me, how can I permit or deny user from source IP ?<br>
&gt; Because on machine A, check_source_address() function is working<br>
&gt; perfectly but I haven&#39;t integrated FreeRadius with OpenSIPs. Please<br>
&gt; sort out my problem as your earliest.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     Date: Thu, 18 Mar 2010 18:38:29 +0200<br>
&gt;     From: Bogdan-Andrei Iancu &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a><br>
&gt;     &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt;<br>
&gt;     Subject: Re: [OpenSIPS-Users] Check Live Peers on OpenSIPS<br>
&gt;     To: OpenSIPS users mailling list &lt;<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
&gt;     &lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;&gt;<br>
&gt;     Message-ID: &lt;<a href="mailto:4BA25705.10506@voice-system.ro">4BA25705.10506@voice-system.ro</a><br>
&gt;     &lt;mailto:<a href="mailto:4BA25705.10506@voice-system.ro">4BA25705.10506@voice-system.ro</a>&gt;&gt;<br>
&gt;     Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
&gt;<br>
&gt;     Hi Ahmed,<br>
&gt;<br>
&gt;     Ahmed Munir wrote:<br>
&gt;     &gt; Hi Bogdan,<br>
&gt;     &gt;<br>
&gt;     &gt; Thanks for reply. I forgot to mention earlier that for I&#39;m using<br>
&gt;     &gt; OpenSIPS + FreeRadius, where radius is doing accounting and<br>
&gt;     &gt; authentication. I used aaa_does_uri_exist() function as well, but<br>
&gt;     &gt; seems not working or making mistake while implementing it. On other<br>
&gt;     &gt; hand using lookup(&quot;location&quot;,m) function, on retcode = -1, I<br>
&gt;     &gt; redirected the INVITE to GW, using Dispatcher.  But though<br>
&gt;     thanks for<br>
&gt;     &gt; your suggestion and I&#39;ll consider it.<br>
&gt;     &gt;<br>
&gt;     &gt; Few things I want to ask you, as I listed below;<br>
&gt;     &gt; 1-How can I forward SIP INVITE request to other SIP machine in state<br>
&gt;     &gt; full manner ?<br>
&gt;     simply do:<br>
&gt;        # set new destination in RURI<br>
&gt;        $rd= &quot;11.22.33.44&quot;;<br>
&gt;        # send it out in stateful mode<br>
&gt;        t_relay();<br>
&gt;        exit;<br>
&gt;<br>
&gt;     &gt; 2- While accounting using radius, when user A (registered on<br>
&gt;     OpenSIPS)<br>
&gt;     &gt; calls the user B who is located at GW side, accounting doesn&#39;t take<br>
&gt;     &gt; place.  On the other hand when user B (from GW) calls user A (to<br>
&gt;     &gt; OpenSIPS), accounting take place. I want to know its cause?<br>
&gt;     Because I<br>
&gt;     &gt; want its accounting on both sides.<br>
&gt;     take care and check where you set in script the acc flag - maybe<br>
&gt;     you are<br>
&gt;     setting it only if lookup is successful.<br>
&gt;<br>
&gt;     Regards,<br>
&gt;     Bogdan<br>
&gt;     &gt;<br>
&gt;     &gt; Kindly advise me at your earliest.<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     ------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt;     Message: 6<br>
&gt;     &gt;     Date: Thu, 18 Mar 2010 10:23:27 +0200<br>
&gt;     &gt;     From: Bogdan-Andrei Iancu &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a><br>
&gt;     &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;<br>
&gt;     &gt;     &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt;&gt;<br>
&gt;     &gt;     Subject: Re: [OpenSIPS-Users] Check Live Peers on OpenSIPS<br>
&gt;     &gt;     To: OpenSIPS users mailling list &lt;<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
&gt;     &lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br>
&gt;     &gt;     &lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
&gt;     &lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;&gt;&gt;<br>
&gt;     &gt;     Message-ID: &lt;<a href="mailto:4BA1E2FF.3060702@voice-system.ro">4BA1E2FF.3060702@voice-system.ro</a><br>
&gt;     &lt;mailto:<a href="mailto:4BA1E2FF.3060702@voice-system.ro">4BA1E2FF.3060702@voice-system.ro</a>&gt;<br>
&gt;     &gt;     &lt;mailto:<a href="mailto:4BA1E2FF.3060702@voice-system.ro">4BA1E2FF.3060702@voice-system.ro</a><br>
&gt;     &lt;mailto:<a href="mailto:4BA1E2FF.3060702@voice-system.ro">4BA1E2FF.3060702@voice-system.ro</a>&gt;&gt;&gt;<br>
&gt;     &gt;     Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
&gt;     &gt;<br>
&gt;     &gt;     Hi Ahmed,<br>
&gt;     &gt;<br>
&gt;     &gt;     if the destination number (called number) is not a local<br>
&gt;     subscriber (a<br>
&gt;     &gt;     SIP user), you simply route the call to a PSTN GW (you do this<br>
&gt;     &gt;     re-route<br>
&gt;     &gt;     from the script)<br>
&gt;     &gt;<br>
&gt;     &gt;     To check if a user is a local subscriber, you can either check a<br>
&gt;     &gt;     pattern<br>
&gt;     &gt;     (like all my local users are alphanumeric, or all starts<br>
&gt;     with 3345*,<br>
&gt;     &gt;     etc), either simply check if the user does exists in the<br>
&gt;     subscriber<br>
&gt;     &gt;     table (see the URI module, the db_does_uri_exists() function:<br>
&gt;     &gt;<br>
&gt;      <a href="http://www.opensips.org/html/docs/modules/1.6.x/uri.html#id271131" target="_blank">http://www.opensips.org/html/docs/modules/1.6.x/uri.html#id271131</a><br>
&gt;     &gt;<br>
&gt;     &gt;     Regards,<br>
&gt;     &gt;     Bogdan<br>
&gt;     &gt;<br>
&gt;     &gt;     Ahmed Munir wrote:<br>
&gt;     &gt;     &gt; Hi,<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; I want to know how can I check the peers of source and<br>
&gt;     destination<br>
&gt;     &gt;     &gt; phones? Like if both phones are located (registered) on one<br>
&gt;     &gt;     &gt; UAS(OpenSIPS) can call SIP-SIP, if any one phone is registered<br>
&gt;     &gt;     on UAS<br>
&gt;     &gt;     &gt; and other is on PSTN, call will be re-routed to SIP-PSTN.<br>
&gt;     In case of<br>
&gt;     &gt;     &gt; SIP-SIP, lookup(&quot;location&quot;) function works and I need to know<br>
&gt;     &gt;     how can<br>
&gt;     &gt;     &gt; I forward call to SIP-PSTN ?<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Kindly advise me the method/ function can used for it.<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; --<br>
&gt;     &gt;     &gt; Regards,<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; Ahmed Munir<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;     &gt; _______________________________________________<br>
&gt;     &gt;     &gt; Users mailing list<br>
&gt;     &gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
&gt;     &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;&gt;<br>
&gt;     &gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;     --<br>
&gt;     &gt;     Bogdan-Andrei Iancu<br>
&gt;     &gt;     <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;     &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt; --<br>
&gt;     &gt; Regards,<br>
&gt;     &gt;<br>
&gt;     &gt; Ahmed Munir<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; Users mailing list<br>
&gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
&gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;     &gt;<br>
&gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Bogdan-Andrei Iancu<br>
&gt;     <a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a> &lt;<a href="http://www.voice-system.ro" target="_blank">http://www.voice-system.ro</a>&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Regards,<br>
&gt;<br>
&gt; Ahmed Munir<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
<br>
<br>
--<br>
Bogdan-Andrei Iancu<br>
<a href="http://www.voice-system.ro" target="_blank">www.voice-system.ro</a><br>
<br>
<br><br></blockquote></div><br>-- <br>Regards,<br><br>Ahmed Munir<br><br><br>
</div>