Simulate Google Voice? Call back and connect outgoing call

How would one go about simulating how Google Voice works? This might sound a little confusing, but what I am looking to do is dial out of an application via it’s built-in softphone, but when I dial out using this softphone I want a users extension to ring and dial the outbound number when they pickup.

The purpose of this is to only use the softphone for dialing. If there is a better method than what I am describing here, I’d love to hear it.