How to start up Asterisk business

I am pretty new to this area. My team is Java team. I like to use Java to develop a product using Asterisk. Now I want to install Asterisk in my home server (no fixed ip address). Can I explore Asterisk features? How do I connect my home server to outside to dial out or receive a call? Can I use only Java to develop applications?


you should better start reading the book "asterisk the future of telephony "

and Asterisk wiki,

–Satish Barot