[Vtigercrm-developers] A new approach to telephony integration

Alan Bell alan.bell at libertus.co.uk
Fri Sep 27 08:01:45 UTC 2013


Hi all,

We have been using the vtiger click to call integration for a few 
customers and I have customers wanting inbound screen pop to bring up 
contact details based on callerID information. The current setup is 
rather dependent on an asterisk server with an available API or AMI 
interface and I want to do something for the situation where there is a 
hosted SIP provider where we have no access to it at all, and fairly 
dumb SIP handsets.

I have been investigating OpenSIPs, which is a SIP proxy, it just 
handles signalling, not the voice calls themselves, so it is does not 
require a lot of bandwidth or CPU. I have this set up so that it works 
as a pure proxy, the handsets talk to it as if it was the upstream PBX, 
it sends all their signalling upstream, all the return signals are 
passed back to the handset. This basically means it sits in the middle 
between handsets and exchange and it can see all the calls being 
initiated. It can't see the VOIP traffic itself, that goes point to 
point. It can fire events when a call happens, which can include XMLRPC 
calls, so it can poke the vtiger server with a from address and the 
dialled number. Having got that into the vtiger server we can log the 
call and we could use a websockets connection to the end user browser to 
cause an immediate popup with the contact details on incomming calls. We 
can also do click-to-call in a similar SIP friendly way, by using the 
PHP-SIP library to send an INVITE to the user extension, then a REFER to 
make the extension dial the outbound number, then a BYE to hand off the 
call.

Basically this means we can do inbound and outbound call handling with 
zero dependence on support from the SIP exchange - and it doesn't have 
to be asterisk or open source, any proprietary SIP platform will do. The 
handsets that want to integrate with vtiger get reconfigured to point at 
the vtiger server rather than directly at their exchange, other handsets 
are not affected. This means in a big organisation we don't need to 
negotiate for direct admin level access to the exchange, we just 
reconfigure a few handsets in the sales and marketing department.

I have most of the bits in place to prove I can do this, but there is a 
bit of a bug in openSIPs https://github.com/OpenSIPS/opensips/issues/87 
which means it doesn't send valid XMLRPC at the moment, plus I have all 
the vtiger integration and websockets work left to do.

If anyone has any feedback on this approach, or wants to collaborate on 
it then do get in touch.

Alan Bell


The openSIPs website: http://opensips.org/
How the click to call bit works 
http://level7systems.co.uk/en/blog/Click+to+Call+with+PHP-SIP


-- 
Libertus Solutions
http://libertus.co.uk



More information about the vtigercrm-developers mailing list