[Freeswitch-users] Multiple DIDs per SIP trunk (how to configure?)

Vladimir Rodionov vladrodionov at gmail.com
Thu Aug 6 08:59:36 PDT 2009


Pete,

Thank you for script. I can not find find channel variables rdnis,
sip_to_user and all others which start with "sb" on wiki page

http://wiki.freeswitch.org/wiki/Channel_Variables

Are they undocumented?

-Vladimir Rodionov


On Wed, Aug 5, 2009 at 8:45 PM, Pete Mueller <pete at privateconnect.com>wrote:

> Disclaimer: I'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.
>
> Item #1 - Findout the callee #.   "destination_number" 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 "+" 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've found is
> "rdnis" or "sip_to_user" , 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)
>
> Item #2 - Find the caller ID. This is located in "caller_id_number", but
> remember in your processing that caller ID may be "anonymous", "restricted",
> "unknown" or some other word when dealing with blocked/private numbers.  You
> cannot looks for just numbers.
>
> 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 "switchboard" script.  The switchboard script matches "rdnis" and
> "sip_to_user" to find the callee and then performs a lookup for the
> extension to route to.
>
> If you would like a copy of my switchboard script I can provide it to you
> in a PM.
> -pete
>
>  -------- Original Message --------
> Subject: Re: [Freeswitch-users] Multiple DIDs per SIP trunk (how to
> configure?)
> From: Vladimir Rodionov <vladrodionov at gmail.com>
> Date: Wed, August 05, 2009 6:57 pm
> To: freeswitch-users at lists.freeswitch.org
>
> No, it is more like static routing. I need my *script program* 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.
>
> in my dialplan I need to define:
>
> <!-- Launch a JavaScript application if dialed in-->
>    <extension name="ProviderABC">
>     <condition field="source" expression="mod_sofia"/>
>     *<condition field="destination_number" expression="^1NXXNXXXXXX$">*
>
>      <action application="javascript" data="/usr/local/freeswitch/scripts/myapp.js"/>
>     </condition>
>    </extension>
>
>
> In provider configuration:
>
> <gateway name="voicepulse">
>            <!--/// account username *required* ///-->
>            <param name="username" value="your-username"/>
>            <!--/// auth realm: *optional* same as gateway name, if blank ///-->
>
>            <param name="realm" value="nyc.voicepulse.com"/>
>            <!--/// account password *required* ///-->
>            <param name="password" value="your-password"/>
>
>            <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
> *           * *<param name="extension" value="1NXXNXXXXXX"/> *
>            <!--/// proxy host: *optional* same as realm, if blank ///-->
>
>            <param name="proxy" value="nyc.voicepulse.com"/>
>            <!--/// expire in seconds: *optional* 3600, if blank ///-->
>            <param name="expire-seconds" value="600"/>
>
> 	   <param name="register" value="true"/>
>          </gateway>
>
>
> Something like this, yes? I can use regular expressions in
> destination_number?
>
> 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.
>
> TIA,
>
> -Vladimir Rodionov
>
> On Wed, Aug 5, 2009 at 6:26 PM, Seven Du <dujinfang at gmail.com> wrote:
>
>> mod_easyroute?
>>
>> 2009/8/6 Vladimir Rodionov <vladrodionov at gmail.com>
>>
>>>  Hi, everybody
>>>
>>> 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,
>>>
>>> I want to acomplish the following:
>>>
>>> 1. Avoid re-configuring FS every time I got new bunch of DIDs
>>> assigned/released from/to my Voip provider.
>>> 2. Have a way of extracting CalleeID in my script.
>>>
>>> TIA,
>>>
>>> Vladimir Rodionov
>>>
>>>
>>> _______________________________________________
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>>
> ------------------------------
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090806/21a99e4a/attachment-0002.html 


More information about the FreeSWITCH-users mailing list