Menu

Home

Lincoln Phipps

Welcome to the vTiger - FreeSWITCH Integration project.

(I am not related to FreeSWITCH in anyway - just an end user - it is a softswitch, like Asterisk, but pitched at a slightly different market segment).

I wanted to extend the vTiger PBX Manager to use FreeSWITCH rather than Asterisk. This project is to make this so.

This is not a full integration: you configure your FreeSWITCH as normal and you configure your vTiger as normal. This project is making vTiger CRM setup calls in FreeSWITCH. The vTiger CRM is not configuring your FreeSWITCH - it is only establishing calls when you click the Contact telephone number inside vTiger.

Current progress is that I can click the numbers in the vTiger CRM telephone fields and the PBX Manger now sets up calls in FreeSWITCH and I can configure the PBX Manager to add the extra stuff that is currently hard coded in the Asterisk api orginate i.e. the context (in Asterisk code this is hardcoded as "default" for sip and "from-inside" for PSTN calls) and the calling url channel type i.e. in Asterisk code that is SIP/

With FreeSWITCH the calling channel prefix details need to be something like e.g. sofia/serveripaddress/ and then the from extension number and for the context it can be "default" if you used that but if the switch was configured using say the 2600hz blue.box then it won't be that but something like "context_2". I also add the dialplan in e.g. xml thus in the context field you use "xml context_2" in my case.

The patched PBX manager configuration page is in the screenshots.

Seems to be same call workflow i.e. you click on vTiger CRM web page phone number and then your softphone rings as the softswitch (FreeSWITCH) connects to you on your registered channel and then when you pick up the phone the FreeSWITCH dials the desired (crm customer) number using the dialplan and context that you defined in the PBX Manager settings.

As part of my PBX Manager changes I'm removing all references to "asterisk" unless it is specifically Asterisk related and I'm using the word "softswitch" instead (with suitable capitalisation e.g. SOFTSWITCH). Where I have specific freeswitch stuff then I have used Freeswitch (with suitable capitalisation e.g. FREESWITCH).

Status is I can make calls from vTiger and I have got rid of every Asterisk mention in the code where it is not needed. Note I have not yet added multi-site/branch code whereby I expect one extension to be able to use one switch and another extension to be on a different switch including mixed technology e.g. Asterisk AND Freeswitch running at the same time; my first pass will be single switch only.

AFAIKS should make it reasonably easy to add other IP PBX as long as they have a Asterisk or Freeswitch -like API, which I suspect they would to compete with the Asterisk and Freeswitch markets. Examples are YATE Remote Manager (Rmanager uses port 5038)

It does mean table name changes in the schema plus the row data changes in the vtiger_field table but these are rather trivial to do in the end given the upside.

Overall it makes vTiger more switch-agnostic. I'm just helping promote the idea that freeswitch support in the PBXManager would be a good idea for vTiger as it would help vTiger integrators sell vTiger into a greater number of businesses in that there is no lock-in to any specific PBX technology. It is one less problem for your sale or the integrator knows that it should be trivial to add a new switch given vTiger has two existing examples to demonstrate.

If people have serious/legal objections then be good to raise them as I don't know how locked in to Asterisk the vTiger core developers are.

The wiki uses Markdown syntax.

Project Members: