Welcome to FreeSWITCH! Pleasure.
But calls will be sent to FreeSWITCH by some device, correct? If it's good old-fashioned SIP then FreeSWITCH will handle it just fine. Yes, there are all softphones (PC machines with old-fashioned headset & mic and smartphones running a sip client).
Could this be done relatively easily in FreeSWITCH?
"Relatively?" Of course! It's relatively easy for someone with some experience. I highly recommend that you ask consulting@freeswitch.org <mailto:consulting@freeswitch.org> for professional assistance if you are not comfortable doing this all by yourself.
I'd rather do it by myself. For now though, I'd like to see whether what I want to achieve is possible in FreeSWITCH. I haven't yet made a decision what to use though - Asterisk or FreeSWITCH, it will all depend on whether I could set it up properly and "relatively" easy. Having said all that, as I developer with quite a bit of experience behind me, I am not afraid to delve in and get my hands dirty, if needed. I just want to make sure that what I want in terms of set up and functionality is possible.
Yes, FreeSWITCH can bind to multiple interfaces. In FreeSWITCH lingo that would mean that you set up a separate SIP profile for each interface. (In fact, you can have more than one SIP profile on a given interface since the profile is a unique combo of IP addr and port number.) I presume different profiles can "talk" to each other, right? In other words calls/media can be routed/transferred from one interface to another (eth1<->tun0 for example)?
"Some assembly required." :D FreeSWITCH can do some stuff for you, but you definitely need to make sure that your NAT is not behaving badly, like having a SIP ALG. This is what I am trying to figure out - do I rely entirely on FreeSWITCH (if not, what is expected of me to set up so that FreeSWITCH can do its job?), or do I have to do it all by myself with the kernel module helpers (sip, h323 etc) and ip/iptables?
I'll have to defer to Ken Rice on this one. I know he's working on RPMs for FreeSWITCH but I think it's all RedHat right now. RedHat is good, all I need is a decent .spec file - I'll do the rest myself, no problem.
One thing I seem to have forgotten from my newbie list of questions - I take it FreeSWITCH can do call-recording (in both directions) right? If so, how is this stored/implemented (I hope both ends are stored as a single sound file)? I would like all calls to be recorded as a matter of policy, so I do need this implemented if I am going to use FreeSWITCH. Many thanks again.