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.

Asterisk 1.8.1.1
FreePBX 2.7.0.6
CentOS-5.5-x86_64

Thanks.