CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • GSOC 2015: CiviCRM Integration with FreeSWITCH
Pages: 1 [2] 3

Author Topic: GSOC 2015: CiviCRM Integration with FreeSWITCH  (Read 4038 times)

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 10, 2015, 11:29:33 am
Most definitely would be useful to get you as a co-mentor. Ping me for instructions if you are able to give a hand or send me an email to discuss more
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

JoeMurray

  • Administrator
  • Ask me questions
  • *****
  • Posts: 578
  • Karma: 24
    • JMA Consulting
  • CiviCRM version: 4.4 and 4.5 (as of Nov 2014)
  • CMS version: Drupal, WordPress, Joomla
  • MySQL version: MySQL 5.5, 5.6, MariaDB 10.0 (as of Nov 2014)
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 11, 2015, 06:32:39 am
Hi Leo,

Sorry I didn't loop you back in on our direction here.

We need a CiviCRM native extension since we need to support Joomla and the growing number of WordPress sites. VoIP Drupal doesn't work for that.

The click to call portion of this summer's project is exclusively within the CiviCRM interface, and will feature recording the call as a CiviCRM activity.

JMA has an alpha version of voicebroadcast/robocall functionality that grew out of the work on last summer's GSoC project's explorations. It integrates with Plivo, which has a more attractive price point than Twilio.

As you may recall, you and I had talked in the abstract about trying to refactor VoIP Drupal in a way that would allow us to share the code between D8 and CiviCRM that implements various sorts of call functionality and the plugins connecting to various VoIP services. However, when I looked more into the code it didn't seem easy / viable to sever the UI portion and have the rest of the code work outside of the context of Drupal.

What are the current plans for migrating VoIP Drupal from D7 to D8, and is there any refactoring expected that would provide us with code that would work outside of Drupal in the next month or two?
Co-author of Using CiviCRM https://www.packtpub.com/using-civicrm/book

leoburd

  • I’m new here
  • *
  • Posts: 5
  • Karma: 0
  • CiviCRM version: n/a
  • CMS version: Drupal
  • MySQL version: n/a
  • PHP version: n/a
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 11, 2015, 06:28:09 pm
I'd be willing to help with and learn from the CiviCRM integration with VoIP. However, my time might be somewhat limited.

What would be the best way to help out?




ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 12, 2015, 02:24:54 am
Hi all,

I am posting the project update on the wiki page(link: http://wiki.civicrm.org/confluence/display/CRM/GSoC+2015%3A+Click-to-Call%2C+freeSwitch+integration?moved=true).

However, for the sake of convenience I am also posting the meeting notes here as well after this post.

Thanks,
Ashish

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 12, 2015, 02:27:57 am
Meeting Notes - 2015-May-07

Attendees: Joe Murray, Joe McLaughlin, Ashish, Ravi

Notes:

Kick-off meeting for the GSOC 2015 Project for implementing a bridge/plugin for CiviCRM/FreeSwitch.

Meeting started with introductions:

Ravi, has in the past worked with Tata Consultancy Services (TCS), GE Capital/Treasury, and most recently with Royal Bank of Scotland (RBS). Currently, Ravi runs Brokerage Free, a broking firm offering services to trade in the Indian Stock Exchanges.
Ashish is currently a final year student. He has done a project for Stanford University. He is familiar with Freeswitch and working on his skills with CiviCRM.
Joe McLaughlin manages the http://citizenactionny.org/ website, and has extensive experience in CiviCRM. He currently uses a service called CallFire for communication and campaign needs.
Joe Murray is currently running a CiviCRM services company, in addition to a team in Canada, has a couple of employees in Mumbai. Has extensive experience with CiviCRM about 10+ years, managing about more than 100 million contacts. With CiviCRM he has run projects to make outbound calls.
Joe Murray had implemented/managed about 6 projects, last summer. One of them was the robo calling project, where automated calls were made.
Meeting Frequency/updates:
The team agreed to meet weekly on Thursday at 9:30 am EST to review progress of the project.
The next Thursday (5/14) would not have any meeting. Apart from this weekly meetings, meetings can be scheduled as required in between.
Ravi will setup a weekly meeting invite to the team.
Meeting minutes and notes shall be posted in a Civi forum. Ravi has volunteered to record/maintain the minutes for the meetings.
Joe McLaughlin will create a wiki page for the project and pass the link to the team.

Project Plan/Review Notes:

Joe Murray advised Asish that it is important to get one or two things done that is really well, than attempting a lot of things but delivering items of quality that cannot be moved into production.
Murray suggested a plugin architecture, where the deliverable (bridge for Freeswitch) will be a plugin that can be integrated with FreeSwitch.
JMA will provide a draft spec for an API layer before May 19.
Ravi will go through the spec and explore the possibility of developing the solution in a plugin based model.
Ashish added and Ravi acknowledged that the priority is to get FreeSwitch and CiviCRM to talk to each other. Part of this exercise is to record call detail records, for calls made to users from CiviCRM through FreeSwitch.
Civix is a code generators that helps produce framework code for extensions in Civi. It is a nice tool to generate boilerplate code. Murray recommended the use of Civix for use in developing the plugins.
Murray and McLaughlin recommended the use of Civi's IRC channel for having any questions/assistance in Civi. They advised to mention that we are a part of the GSOC 2015 program so as to get better response.
Ravi will provide details of the PRI setup that is currently used by Brokerage Free in the next meetings to the team.

leoburd

  • I’m new here
  • *
  • Posts: 5
  • Karma: 0
  • CiviCRM version: n/a
  • CMS version: Drupal
  • MySQL version: n/a
  • PHP version: n/a
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 13, 2015, 06:59:19 pm
We're currently designing what might become VoIP Drupal 2.0 and plan to start coding it in the next month or so.

Unfortunately, I don't know much about WordPress and Joomla to figure out the key aspects to be considered in the new architecture to make more platform agnostic. Is there any document describing what had to be done to Civi when it moved beyond Drupal?

Thanks,

.L.

JoeMurray

  • Administrator
  • Ask me questions
  • *****
  • Posts: 578
  • Karma: 24
    • JMA Consulting
  • CiviCRM version: 4.4 and 4.5 (as of Nov 2014)
  • CMS version: Drupal, WordPress, Joomla
  • MySQL version: MySQL 5.5, 5.6, MariaDB 10.0 (as of Nov 2014)
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 14, 2015, 12:58:26 pm
CiviCRM from the beginning has integrated with more than 1 CMS.

To be able to work across CMSes requires avoiding dependencies on the CMS, which isn't easy for a contributed module in Drupal. This would mean that you couldn't make calls to the Drupal API, or at least not if you were running in the context of WordPress or Joomla. CiviCRM's solution was to develop its own forms and pages that it embedded into the CMS page, but this took considerable resources. Similarly, it has its own database layer, etc.

At a high level, there are common trends in open source CMSes towards use of bootstrap and in-browser MVC frameworks like AngularJS that talk to server API endpoints. But it is difficult to see how to take advantage of what a CMS offers while coding for cross-CMS compatibility. That's the unfortunate reason why I have been moving forward with CiviCRM native functionality that will be able to work with all three leading open source CMSes.
Co-author of Using CiviCRM https://www.packtpub.com/using-civicrm/book

leoburd

  • I’m new here
  • *
  • Posts: 5
  • Karma: 0
  • CiviCRM version: n/a
  • CMS version: Drupal
  • MySQL version: n/a
  • PHP version: n/a
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 15, 2015, 03:19:27 am
I am not averse to building the next generation of VoIP Drupal on top of the Civi API. However, I need to learn more before making that decision. For instance,
- how different is the Civi API?
- how difficult would it be for Drupal admins to install the new version?
- what kind of support can the Civi community provide to this project?

This is exciting!

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 29, 2015, 09:21:34 am
We as a team have been meeting regularly. While the updates/review/notes have been shared between the team internally, I haven't so far had the chance to have it shared in the forum. Going forward, I will ensure that the updates are posted regularly and everybody is up-to date with the progress. Following is the list of updates as of May 29, 2015.


ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
May 29, 2015, 09:44:10 am
The agenda for the May 21st meeting, as published by Ravi
  • Updates (Ashish)
    • Webservice - setup - static ip 59.99.250.70
    • CiviCRM installation - setup demo
    • Setup of Civix
    • Posting of Call detail records from FreeSwitch
    • Demo of calls in Freeswitch on webapplication
    • Blog for Freeswitch Bridge (Ashish) in CiviBlog
  • Questions: (Ashish and inputs from team)
    • Update a contact in CiviCRM
    • Plugin developement - examples/walkthrough
  • Scope Definition : (Ravi)
    • 1. integrate freeswitch and civicrm, so call detail records are stored in Civi, in a realtime fashion
    • 2. build click to call feature to allow calls to be made from CiviCRM, by use of webrtc
    • 3. build feature to receive calls through webrtc, while logged in CiviCRM
  • Next Steps (Ravi)
    • setup time to discuss template development, with Murray/Mclaughlin
    • Review Project Plan
  • Any other items to be discussed

emilyf

  • Ask me questions
  • ****
  • Posts: 696
  • Karma: 54
  • CiviCRM version: 2.x - 4.x
  • CMS version: Drupal 5, 6, 7
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
June 01, 2015, 11:44:19 am
So was that what you talked about on May 21st or May 29? If May 21, can you fill us in on what's been going on since then?

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
June 03, 2015, 01:19:59 am
Emily,

I will be posting the pending Meeting agenda and notes by today.

Thanks,
Ashish

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
June 03, 2015, 01:46:43 am
These are the meeting notes for 21st May 2015:

    Ashish provided a demo of the following:
    • CiviCRM installation on public static ip (59.99.250.70)
    • Realtime display of call detail records from the Freeswitch Server, in a web application on a the above mentioned public IP.
    • Ashish will create user profiles for Joe Murray and Joe Mclaughlin in the CiviCRM
  • Emily will contact the team, for a write up on the project to be posted on the CiviCRM blog, in about a months time.
  • Joe Murray walked us through the API Explorer and the Github links for the codes for CiviCRM extensions.
  • For extensions, Joe Murray recommended going through the Mandrill extension and payment processor extension. The recommended extensions handle callbacks, which is required for the freeswitch bridge. He also advised that APIs are a better entry point for updating the CiviCRM than going through the DB Schema.
  • A text guide to configure the freeswitch extension will be provided along the project documentation.
  • Joe Murray and Joe Mclaughlin were very generous providing documentation and reference materials for CiviCRM. Thank you so much Joe Murray and Joe Mclaughlin. Much appreciated.
    • Joe Murray advised to have information presented in the following sections, to better track progress of the project:
      • items covered/accomplishments for the past week
      • items to be covered for the coming week
      • items on which help is required.
    • Ravi confirmed that the updates will follow the pattern as advised by Joe Murray, through meeting notes. The forum will also have the updates posted.
    • Ravi will publish a project plan.
    • Joe Murray was pleased with the progress made so far.
« Last Edit: June 03, 2015, 01:49:16 am by ashishbitm »

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
June 03, 2015, 01:59:49 am
Agenda for the meeting on 28th May 2015


  • Demo of Freeswitch / WebRTC - Ashish (20 mins)
    • SIP / FreeSwitch / CiviCRM - Ravi 10-15 mins
      • SIP Trunks
      • PRI
      • Mapping USA Number to FreeSwitch (IPKALL, other VOIP service providers)
      • Implementation to include a US phone number mapped to a public ip, that runs a CiviCRM server

        Scope
        • integrate freeswitch and civicrm, so call detail records are stored in Civi, in a realtime fashion
        • build click to call feature to allow calls to be made from CiviCRM, by use of webrtc - time permitting
        • build feature to receive calls through webrtc, while logged in CiviCRM - time permitting

      • Project Updates - Ashish (10 mins)
        • Items covered since last meeting
          • Study of CiviCRM materials / including Mandrill and Payment Processors
          • Implement and demonstrate WebRTC with Freeswitch
            Items to cover the week ahead
            • Continue with Civi extension and possibly demonstrate by next meeting
          • Questions on Civix
          • Deliverables - user ids for Joe Murray and Joe Mclaughlin
          • Have a 30 min meeting on Tuesdays to review/discuss progress - if that would be mutually convenient

ashishbitm

  • I’m new here
  • *
  • Posts: 18
  • Karma: 0
  • CiviCRM version: 4.4.14
  • CMS version: Joomla 2.5.17
  • MySQL version: 5.2.3
  • PHP version: 5.5.19
Re: GSOC 2015: CiviCRM Integration with FreeSWITCH
June 03, 2015, 02:09:11 am
Meeting notes of the meeting held on 28th May

    WebRTC demo:
    • Ashish demonstrated Webrtc calls, through Freeswitch server on public ip (59.99.250.70).
      • Mclaughlin noted the following issues:
        • video not  visible
        • keypad is open but not able to close it
        • permission has to be given everytime by the user for the webrtc phone to access the microphone
      • Ravi clarified and Ashish confirmed that these issues are minor in nature and can be resolved
      • Murray wanted to understand how users in CiviCRM be authenticated. Ravi clarified that there are a couple of ways how this could be handled. One is it use a session variable that will use a unique id to identify the user. The other is to use the social media integration with CiviCRM, and use the social media id like google plus, facebook, linkedin, etc., to identify the user. Murray advised to discount the social media integration for now.
      • Users will be able to connect to the Freeswitch server from CiviCRM, through web browsers. At this point of time, Mozilla Firefox, Google Chrome, and Apple Safari are the browsers that support WebRTC.
        • Murray mentioned that software that is developed should be such that, anybody be able to use it, without restrictions. In this case, the limitation being only the three above mentioned browsers are currently supported. Ravi added that for the time being, the deliverable will start with the three browsers, and look to expand the scope as we proceed. The following links were shared to review the percentage of browsers used:
          • http://www.sitepoint.com/browser-trends-february-2015-us-ie8-rebound
          • http://venturebeat.com/2015/05/01/chrome-passes-25-market-share-ie-and-firefox-slip
          • http://www.w3schools.com/browsers/browsers_stats.asp
        • The statistics in the above links are significantly different to each other, and hence the ratio of users who use Internet Explorer could not be clearly determined.
        • Murray pointed out that not all users are likely to use the above mentioned browsers. Internet Explorer has a considerable market share, but it does not currently support WebRTC. Murray advised Ashish to check if a plugin exists or if it would be possible to develop a plugin to use WebRTC. Ashish has agreed to look into it.
          • Scope of the project
            • The team agreed that the minimum criteria for the project to be considered complete for GSOC 2015, would be to deliver the plugin/bridge that connects Freeswitch and CiviCRM. Any call information for the contacts in the CiviCRM would be passed by Freeswitch to CiviCRM. The extension is CiviCRM would receive the call detail records, and update the CiviCRM. The CiviCRM administrator would be able to access this information. As part of the deliverable, documentation/manual on how to configure and use the extension should be provided as well.
              The following features are under consideration to be implemented as part of the project, depending on the availability of time, and progress made.
              • The click to call feature, allows a CiviCRM admin/executive to make calls from CiviCRM, by the use of WebRTC.
              • The ability to receive inbound calls in CiviCRM by the adminstrator, through WebRTC.
              • Ravi offered that he would be happy to contribute to the CiviCRM community and continue with the implementation of the above mentioned features, even beyond GSOC 2015.
              • Ashish had questions on the extension. Murray connected to the CiviCRM server running on 59.99.250.70. He pointed out the security exceptions and issues with the path. He also requested SSH access to the server. Ashish will have the SSH access enabled for Murray, before the next meeting.
              • Murray advised Ashish to check into the IRC channel for any support to set up the CiviCRM environment.
              • Ravi suggested that the team have a meeting set on Tuesdays at 9:30 am EST for about 30 mins to discuss and review progress. The team agreed, and Ravi would send out the meeting invitations for the same. The next meeting is on 2-Jun-2015, 9:30 am EST.
              • Ashish would be responsible for posting updates on the CiviCRM forum, to keep everyone updated on the project.
                • Goal for the week ahead
                  • SSH access of Murray
                  • Resolve any issues with CiviCRM environment setup
                  • develop a demo of a custom extension in CiviCRM, study the Mandrill and Payment Processor extensions
                  • bring the CiviCRM forum up to date with the updates/progress made with the project

Pages: 1 [2] 3
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • GSOC 2015: CiviCRM Integration with FreeSWITCH

This forum was archived on 2017-11-26.