http://www.asterisk.org/ would probably be overkill for what you need.
Have you tried Skype or voice chat in IM clients? Those are usually peer-to-peer. I assume they would have to send out to the internet to the other peers public IP address, but wouldn't your router see that it is the destination address and simply loop it back to the other peer? I don't think any voice would actually go out to the internet. Anyone know exactly how this would work?