So one approach could be to only transfer calls with the user_exists condition fulfilled?<div><br></div><div>And when I&#39;ve placed my dial plan for the sip gateway in my internal context then outsiders shouldn&#39;t be able make such calls.</div><div><br></div><div>Is that correct understood?</div><div><div><br>On Monday, September 21, 2015, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">well, if you blindly transfer an unauthenticated call from public<br>
context into the default context, you may get a hefty bill at the end<br>
of the month :)<br>
<br>
<br>
<br>
On Mon, Sep 21, 2015 at 11:28 AM, Michael Nielsen &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;mic.niel84@gmail.com&#39;)">mic.niel84@gmail.com</a>&gt; wrote:<br>
&gt; Hi Stanislav,<br>
&gt;<br>
&gt; Thank you. I&#39;ll follow that tutorial.<br>
&gt;<br>
&gt; One thing, my way of knowing whether to route to other FS user or to the<br>
&gt; pstn gw is to use the user_exists condition.<br>
&gt; My users ids are e.164 numbers so they match numbers for use with the pstn<br>
&gt; gw.<br>
&gt;<br>
&gt; If I place that in the internal dial plan in default context, will that<br>
&gt; expose a security issues or should that be fine?<br>
&gt;<br>
&gt;<br>
&gt; On Monday, September 21, 2015, Stanislav Sinyagin &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;ssinyagin@gmail.com&#39;)">ssinyagin@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; You can split the inbound and outbound calls for your registered users<br>
&gt;&gt; into different contexts, and that will ensure that calls from outside are<br>
&gt;&gt; not sent to PSTN in an uncontrolled way. See an example here:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; <a href="https://github.com/voxserv/freeswitch_conf_minimal/blob/master/docs/tutorial_01_simple_pbx.md" target="_blank">https://github.com/voxserv/freeswitch_conf_minimal/blob/master/docs/tutorial_01_simple_pbx.md</a><br>
&gt;&gt;<br>
&gt;&gt; In your public context, you match the calks from the gsm gateway and<br>
&gt;&gt; transfer them to an extension in one if your internal contexts.<br>
&gt;&gt;<br>
&gt;&gt; On Sep 20, 2015 6:59 PM, &quot;Michael Nielsen&quot; &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;mic.niel84@gmail.com&#39;)">mic.niel84@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;ve tried different scenarios.<br>
&gt;&gt;&gt; One was to put all my dial plans in public context. This worked, but of<br>
&gt;&gt;&gt; course opened up a lot of security issues.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; My thoughts are now to have all my dial plans in the default context, so<br>
&gt;&gt;&gt; only registered users can dial them, but also have one single dial plan in<br>
&gt;&gt;&gt; the public context for transferring incoming calls to the default dial plan.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; BUT will this not still open up for security issues?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I currently see calls in my cdr csv made from user 100 even though no<br>
&gt;&gt;&gt; such user exists!?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; How can one be sure that calls are only made from registered and<br>
&gt;&gt;&gt; authenticated users in FS?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Wednesday, September 16, 2015, Bote Man &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;bote_radio@botecomm.com&#39;)">bote_radio@botecomm.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This is the job of the dialplan. The example entries that are included<br>
&gt;&gt;&gt;&gt; with the vanilla FS config provide guidance, but in my particular case I had<br>
&gt;&gt;&gt;&gt; to test on a different SIP field than the vanilla config was looking for.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; My inbound calls from CallCentric put the destination number (DID) in<br>
&gt;&gt;&gt;&gt; sip_to_user so my dialplan test condition reads:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;     &lt;condition field=&quot;${sip_to_user}&quot; expression=&quot;^(12345678900)$&quot;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I had to read the FS debug logs to see what it was seeing, and then<br>
&gt;&gt;&gt;&gt; adjust my dialplan accordingly.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; If you have many FS users you might consider looking up the directory<br>
&gt;&gt;&gt;&gt; entries with XML as is typically done.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Here is a good place to start for more information:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; <a href="https://freeswitch.org/confluence/display/FREESWITCH/Dialplan" target="_blank">https://freeswitch.org/confluence/display/FREESWITCH/Dialplan</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hope this helps.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Bote<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; From: <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;freeswitch-users-bounces@lists.freeswitch.org&#39;)">freeswitch-users-bounces@lists.freeswitch.org</a><br>
&gt;&gt;&gt;&gt; [mailto:<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;freeswitch-users-bounces@lists.freeswitch.org&#39;)">freeswitch-users-bounces@lists.freeswitch.org</a>] On Behalf Of Michael<br>
&gt;&gt;&gt;&gt; Nielsen<br>
&gt;&gt;&gt;&gt; Sent: Wednesday, 16 September, 2015 08:33<br>
&gt;&gt;&gt;&gt; To: FreeSWITCH Users Help<br>
&gt;&gt;&gt;&gt; Subject: [Freeswitch-users] Call FS users from external gateway.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;ve got my users in FS in /directory/users.xml in a certain domain and<br>
&gt;&gt;&gt;&gt; user-context = public.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;ve got my FS hooked up to a SIP gateway for connection to the<br>
&gt;&gt;&gt;&gt; GSM-world.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;m able to route calls to my SIP gateway for outbound calls, but<br>
&gt;&gt;&gt;&gt; incoming calls to my FS from the GSM-world does not get routed to my users<br>
&gt;&gt;&gt;&gt; in FS.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; My users have the ID&#39;s &quot;+4412345678&quot;, and incoming calls from my SIP<br>
&gt;&gt;&gt;&gt; gateway does contain +<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;4412345678@my-sip-gateway-domain.com&#39;)">4412345678@my-sip-gateway-domain.com</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I guess I need to tell FS somehow that incoming calls from my SIP<br>
&gt;&gt;&gt;&gt; gateway should match my user IDs in users from my /directory/users.xml.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; But how to I do this?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _________________________________________________________________________<br>
&gt;&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;&gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;consulting@freeswitch.org&#39;)">consulting@freeswitch.org</a><br>
&gt;&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt;&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt;&gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;FreeSWITCH-users@lists.freeswitch.org&#39;)">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt; _________________________________________________________________________<br>
&gt; Professional FreeSWITCH Consulting Services:<br>
&gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;consulting@freeswitch.org&#39;)">consulting@freeswitch.org</a><br>
&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;<br>
&gt; Official FreeSWITCH Sites<br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;FreeSWITCH-users@lists.freeswitch.org&#39;)">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;consulting@freeswitch.org&#39;)">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;FreeSWITCH-users@lists.freeswitch.org&#39;)">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote></div></div>