Skip to end of metadata
Go to start of metadata

They have been various projects and requests about a better interface between a PBX and CiviCRM. This page aims to clarify the needs in order to see if there is a common enough demand to launch a MIH project.

Although the concepts are likely the same no matter the PBX, the initial implementation is going to focus on asterisk, the leading open source PBX.

Click to Dial

From a list of contact of the summary of a contact, being able to click on a number to dial it. The workflow is as follow: the user clicks on the number, her phone rings, she picks up the phone and the PBX automatically dials the number she clicks on.

One issue to be resolved is how to determine appropriate number for the user, so that the phone next to her is dialed. It might not be the number that is needed, but the sip identifier (pretty sure that's what asterisk manager needs). Either store it as the phone for a new "PBX" location, or as IM or perhaps in addition to is_billing and is_primary fields for civicrm_phone, their could be an is_caller or some other name for field.

We need a new template/function/hook to format the display phone numbers. ie. so based on the provider, we add a "tel://" link or whatever needed.

Campaign Click to Dial

Same as Click to Dial, but clicking from within a Campaign page where the user can enter responses for the call.

XAV: in a previous live was working for a call center, what we did was using a predictive dialing (eg. the phone system generates the call automatically). In general, the workflow for survey should be different IMO: you should click "next call" to display  a single form (general info about the contact + a form to register the call, for a single contact, not a list of contacts like the survey canevassing). This is likely a separate project.

Lookup the phone number

When someone calls and that the number isn't hidden, being able to lookup the name of the contact person that number belongs to, and display it on the phone or on the screen (instant message, xmmp/jabber)

Display the name of the contact on the screen, with a button which allow to access the contact profil on civicrm (the activities tab may be more appropriated, but can be discussed)

Country code/prefix and phone standardisation

To be able to dial or lookup a phone, it needs to follow the same format than the phone system. Manual entry without formatting isn't going to be good enough. Things like automatically adding the country code, and probably store a cleaned up (without space, replacing the +41 by 0041...) version of the number beside the formatted one. Introducing a new field "standardized_number" in civicrm_phone?

Log calls

Being able to log all the calls received or made (including duration). Or only to the ones that are known in the CRM? Or not?

Log some calls

Offering a link to a pre-filled activity form (activity type phone, datetime ,duration, between the right contacts in the from and with).

Probably best to use a xmmp/jabber interface.

Labels:
  1. Aug 07, 2011

    Might also want to abstract the interface, so folks can use a SaaS based telephony provider like twilio. This is quite closely related to Click2Call with a form interface to record responses (survey responses), so would be great to have an integrated solution within CiviCRM

  2. Aug 08, 2011

    The Drupal VoIP folks (http://drupal.org/project/voipdrupal) are focussing on interfaces for Twilio (http://drupal.org/project/voiptwilio, http://www.twilio.com/) and Tropo (http://drupal.org/project/voiptropo, https://www.tropo.com/home.jsp). There were a number of serious on-going concerns with the quality and functionality of the asterisk codebase, I have heard, that led them to switch away from it.

    1. Sep 05, 2011

      I think that both twilio and tropo are both closed source. So not sure moving from an opensource with a big community because the code is not too good to a solution where the quality of the code is unknown (and unfixable anyway) is a good move. Anyway, agree, needs to be generic enough.


Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.