No you don't need two servers. One server is more than enough.
There are a few ways you can achieve this. The easiest and most efficient way is to have RTP to go directly to asterisk instead of using RTP proxy. This would require proper port forwarding on your firewall.
You need proper configuration on both asterisk and opensips to negotiate with proper public IP addresses for both media and sip to your far end devices. You need to know NAT and SIP to really be able to set this up.