You will need to do some programming. Check out www.brekeke.com/pbx/ and www.brekeke.com/telephony/
Brekeke has a JTAPI SDK that will allow you to create the service you desire.
Alternatively, you can purchase a system that already integrates the Brekeke Software. Check out:
Good luck buddy!
Brekeke PBX is a highly stable, reliable, and scalable.