Pete,<br>
<br>
Thank you for script. I can not find find channel variables rdnis, sip_to_user and all others which start with &quot;sb&quot; on wiki page<br>
<br>
<a href="http://wiki.freeswitch.org/wiki/Channel_Variables">http://wiki.freeswitch.org/wiki/Channel_Variables</a><br>
<br>
Are they undocumented?<br>
<br>
-Vladimir Rodionov<br><br><br><div class="gmail_quote">On Wed, Aug 5, 2009 at 8:45 PM, Pete Mueller <span dir="ltr">&lt;<a href="mailto:pete@privateconnect.com">pete@privateconnect.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span style="font-family: Verdana; color: rgb(0, 0, 0); font-size: 10pt;">Disclaimer: I&#39;m not familiar with all the mods of FS, There may be one that does this already.  There are probably many ways to do this, I am just offering one that works well for me.<br>
<br>Item #1 - Findout the callee #.   &quot;destination_number&quot; can be set to several different things based on the gateway configuration (forced override with an extension) and may or may not start with a &quot;+&quot; so the example below may not work.  To make matters worse, different gateways set fields differently when they hand off the call.  The most reliable I&#39;ve found is &quot;rdnis&quot; or &quot;sip_to_user&quot; , however if you know you are going to stay with one gateway, you can relay on the oddities of the way they are configured.  I had to write something relatively generic, so I moved all processing to a script (see #3 below)<br>
<br>Item #2 - Find the caller ID. This is located in &quot;caller_id_number&quot;, but remember in your processing that caller ID may be
&quot;anonymous&quot;, &quot;restricted&quot;, &quot;unknown&quot; or some other word when dealing with blocked/private numbers.  You cannot looks for just numbers.<br><br>Item #3 - Routing.  As I mentioned I have 100s of numbers across many gateways, so I needed a way to route the calls to the right places AND know which gateway the call came in on, so I can bridge the call out the same gateway.  I handled this by creating a small DB table (using postgreSQL) and connecting using LUA and luasql.  The table has three fields: number, gateway, and extension to route to.  In my public.xml I list all the places a call can be routed to and the last entry is a unconditional transfer to the &quot;switchboard&quot; script.  The switchboard script matches &quot;rdnis&quot; and &quot;sip_to_user&quot; to find the callee and then performs a lookup for the extension to route to.<br>
<br>If you would like a copy of my switchboard script I can provide it to you in a PM.<br>-pete<br><br>
<blockquote style="border-left: 2px solid blue; margin-left: 8px; padding-left: 8px; font-size: 10pt; color: black; font-family: verdana;">
<div><div class="im">
-------- Original Message --------<br>
Subject: Re: [Freeswitch-users] Multiple DIDs per SIP trunk (how to<br>
configure?)<br>
From: Vladimir Rodionov &lt;<a href="mailto:vladrodionov@gmail.com" target="_blank">vladrodionov@gmail.com</a>&gt;<br>
Date: Wed, August 05, 2009 6:57 pm<br>
To: <a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.freeswitch.org</a><br>
<br>
No, it is more like static routing. I need my <b>script program</b> be invoked when somebody dial in. That is it. One script for all inbound DIDs. Suppose I have thousand of them.  I think I know how to accomplish this but I am not sure yet.<br>
 <br></div><div><div></div><div class="h5"> in my dialplan I need to define:<br> <br> <pre><font size="4">&lt;!-- Launch a JavaScript application if dialed in--&gt;<br>   &lt;extension name=&quot;ProviderABC&quot;&gt;<br>
    &lt;condition field=&quot;source&quot; expression=&quot;mod_sofia&quot;/&gt;<br>    <b>&lt;condition field=&quot;destination_number&quot; expression=&quot;^1NXXNXXXXXX$&quot;&gt;</b><br>
     &lt;action application=&quot;javascript&quot; data=&quot;/usr/local/freeswitch/scripts/myapp.js&quot;/&gt;<br>    &lt;/condition&gt;<br>   &lt;/extension&gt;</font><br></pre> <br> In provider configuration:<br> <br>
 <pre><font size="4">&lt;gateway name=&quot;voicepulse&quot;&gt;<br>           &lt;!--/// account username *required* ///--&gt;<br>           &lt;param name=&quot;username&quot; value=&quot;your-username&quot;/&gt;<br>           &lt;!--/// auth realm: *optional* same as gateway name, if blank ///--&gt;<br>

           &lt;param name=&quot;realm&quot; value=&quot;<a href="http://nyc.voicepulse.com" target="_blank">nyc.voicepulse.com</a>&quot;/&gt;<br>           &lt;!--/// account password *required* ///--&gt;<br>           &lt;param name=&quot;password&quot; value=&quot;your-password&quot;/&gt;<br>

           &lt;!--/// extension for inbound calls: *optional* same as username, if blank ///--&gt;<br><b>           </b> <b>&lt;param name=&quot;extension&quot; value=&quot;1NXXNXXXXXX&quot;/&gt; </b><br>           &lt;!--/// proxy host: *optional* same as realm, if blank ///--&gt;<br>

           &lt;param name=&quot;proxy&quot; value=&quot;<a href="http://nyc.voicepulse.com" target="_blank">nyc.voicepulse.com</a>&quot;/&gt;<br>           &lt;!--/// expire in seconds: *optional* 3600, if blank ///--&gt;<br>
           &lt;param name=&quot;expire-seconds&quot; value=&quot;600&quot;/&gt;<br>
<br>           &lt;param name=&quot;register&quot; value=&quot;true&quot;/&gt;<br>         &lt;/gateway&gt;</font></pre> <br>Something like this, yes? I can use regular expressions in destination_number?<br><br>Q: There is object Session in JavaScript, Lua. Is Session.destination == destination_number from incoming call? It is not clear for me from what I have read so far.<br>
 <br>TIA,<br><br>-Vladimir Rodionov<br><br><div class="gmail_quote">On Wed, Aug 5, 2009 at 6:26 PM, Seven Du <font dir="ltr">&lt;<a href="mailto:dujinfang@gmail.com" target="_blank">dujinfang@gmail.com</a>&gt;</font> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> mod_easyroute?<br><br><div class="gmail_quote">2009/8/6 Vladimir Rodionov <font dir="ltr">&lt;<a href="mailto:vladrodionov@gmail.com" target="_blank">vladrodionov@gmail.com</a>&gt;</font><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div><div></div><div> Hi, everybody<br><br>This is a newbie question: Suppose I have XX (variable dynamic number) DIDs assigned to one sip trunk (from VOIP provider ABC ). All calls coming from VOIP provider ABC MUST be routed to the same lua/js/whatever script. Is it possible in FS? If yes, how everything should be configuered? Dialplan, sip gateway? One more question: suppose it is doeable as I hope then how can I get in my script CalleeID (not a CallerID)? Basicaly, <br>
 <br>I want to acomplish the following:<br><br>1. Avoid re-configuring FS every time I got new bunch of DIDs assigned/released from/to my Voip provider.<br>2. Have a way of extracting CalleeID in my script.<br><br>TIA,<br>
 <font color="#888888"> <br>Vladimir Rodionov<br><br> </font><br></div></div>_______________________________________________<br> FreeSWITCH-users mailing list<br> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">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> <br></blockquote></div><br> <br>_______________________________________________<br> FreeSWITCH-users mailing list<br> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">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> <br></blockquote></div><br> </div></div><hr><div class="im">_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">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>

</div></div>
</blockquote></span></div>

<br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">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>
<br></blockquote></div><br>