CRM integration

I have to integrate IP telephony in our CRM solution, so user can see on pop-up who’s calling, so all incoming/outgoing calls are registered and i could call contact directly from software. I have Asterisk set up and running and it will be main platform for experiments. But i would also want my software “speak” to other IP PBX solutions as well. Are there any (and i know there is) common protocols which i could use to do my tasks?