Mod_lcr?
Basically your inbouind and outbound calls should go through the same sequence of checkups, and look for a local user number. Then outbound calls should resort in your PSTN trunk, and inbound calls resort in a 404 Not Found. Also I guess you want to charge your users the same rate regardless if it's on-net or off-net calls, so CDR need to be taken care of too.
From: Stanislav Sinyagin <ssinyagin@yahoo.com>
To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org>
Sent: Sunday, September 23, 2012 10:31 PM
Subject: Re: [Freeswitch-users] Keeping local calls local
well, that was only a hint, but not the whole solution :)In your case, it would require some database lookup, or maybe the dialplan should go through the customer numbers before sending the call to PSTN.enum would be a good option instead of database lookup, as was already proposed on the list.In any case, this all requires a bit of engineering and design effort.
From: D'Arcy Cain <darcy@Vex.Net>
To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org>
Cc: Stanislav Sinyagin <ssinyagin@yahoo.com>
Sent: Sunday, September 23, 2012 10:04 PM
Subject: Re: [Freeswitch-users] Keeping local calls local
On Sun, 23 Sep 2012 11:17:37 -0700 (PDT)
Stanislav Sinyagin <ssinyagin@yahoo.com> wrote:
> here's a piece of my dialplan in "default" context. It simply catches
> such calls and transfers them directly to the public context. The
> public context matches local DID numbers and transfers them to
> corresponding extensions in default context:
>
> <extension name="internal_did">
> <condition field="destination_number" expression="^($${default_did_prefix}\d+)$">
> <action application="transfer" data="$1 XML public"/>
> </condition>
> </extension>
>
> The "default_did_prefix" variable holds my DID number block.
Looks good but my problem is that I do not have a DID block. Clients
are porting their numbers so they are all over the place. My first
three numbers in the system are from three different area codes. I
would need to include all of my numbers in the expression somehow. Wit
just three I can use '|' but that won't be practical when I have
hundreds or thousands.
--
D'Arcy J.M. Cain
System Administrator, Vex.Net
http://www.Vex.Net/ IM:darcy@Vex.Net
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org