[Freeswitch-users] [newbie] questions

Josh mojo1736 at privatedemail.net
Thu Feb 9 02:50:09 MSK 2012


I am considering using FreeSWITCH as a replacement of our (rather 
crappy, outdated and buggy) sip proxy system, and have the following 
system setup on the server:

* eth0 faces the external Internet interface, *but* it does not have a 
public IP address (it has a private one given to it by my ISP's DHCP 
server);
* eth1 faces our internal network (say 10.1.1.0/24);
* tun0 serves all mobile smartphones and connects to the internal 
network (it has a different ip range, say 10.1.2.0/24) - they are all 
connected via the Internet using OpenVPN;

I would like to configure FreeSWITCH as a local registrar and ask it to 
handle internal calls between ourselves (eth1<->tun0). I would also like 
to use one external VOIP provider to which FreeSWITCH registers on 
startup. This also needs to have all NAT-related issues dealt with as 
well (hopefully by FreeSWITCH, if possible). I would also need to 
emphasise that FreeSWITCH *cannot* just listen on any (public-facing) 
interface port in order to receive calls from the external provider, 
simply because my ISP won't allow it (i.e. I can't just "open" that port 
and hope that someone will contact me - the connection needs to be 
initiated by our server for incoming call to get routed through).

The purpose of registering this external account is so that both the 
smart phones (tun0) and the internal net (eth1) users could use this 
account to make external calls (starting with "0"). Obviously, I need 
these calls to be routed properly via the external VOIP account. In 
addition to that, I would also need to receive calls from that external 
account to a nominated internal one (say on extension 20).

Could this be done relatively easily in FreeSWITCH?

A question about binding: in order to be able to use both tun0 and eth1 
interfaces so that FreeSWITCH serves the calls from both eth1 and tun0 
devices/networks, is it possible to instruct it to bind on different IP 
addresses (on tun0 and eth1 respectively) in order to serve calls 
to/from these networks? I do *not* wish to bind to 0.0.0.0 - just use 
the interfaces I am interested in - tun0 and eth1 in my case.

If all of the above is possible, do I have to mess about and configure 
SNAT/DNAT separately and use sip kernel module "helpers" etc (I *do* 
have the routing set up properly though - that I am sure works 100%) or 
is FreeSWITCH perfectly capable of setting it all up for me?

One final query: is there a decent distribution source package of 
FreeSWITCH, which I could take and then use it to build a binary package 
(I use Fedora on all of our machines). I need this, because all of our 
images are built using the rpm packaging system and I cannot just "fetch 
the latest git", compile and install FreeSWITCH - I need it packaged, so 
that the image builder picks it up and distributes it to the machine 
concerned. I checked the SUSE repository (as instructed on the 
FreeSWITCH wiki), but found 2 packages, both of which cannot be build 
due to errors!

Many thanks in advance!




Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list