From personal experience, I would strongly recommend running the VPN within the network layer rather than directly on the server.
You could use a pre-built appliance for this (such as Halon VSR), or build your own router using iptables, or even use a Cisco etc.
This means you don't have to maintain a tunnel for each individual machines, and keeps a nice clean separation of layers which makes debugging networking problems easier.
If you use this approach, then running FreeSWITCH over any tunnel should *just work*.. if you use it locally, then strange things might happen..
This is just based on my own personal experience, others may disagree.. YMMV :)
Hope this helps
Cal