You are describing a b2bua, back to back user agent. Freeswitch is what I use. There is SEMS and of course asterisk. I don't recommend asterisk.
I have some experience with FreeSWITCH but have no one with SEMS. Have SEMS any advantages over FreeSWITCH for topology hiding?