twilio / OpenVBX

OpenVBX is a web-based open source phone system for business.
http://openvbx.org
Other
699 stars 342 forks source link

Conference Call - List Calls, Join and Listen #346

Open jpwalters opened 8 years ago

jpwalters commented 8 years ago

This new features gives the standard conference call plugin a new menu under the "Call Log" section which allows a user to see a list of all conference calls in-progress and gives the option to join or listen to the call. When the user clicks Join the browser client immediately connects them to the call, announces their entrance and exit with a beep and allows them to listen and speak. When the user chooses the Listen option their browser client immediately connects them to the call but does not announce their entry or exit and only allows the user to listen to the call.

conference-join-listen

Gipetto commented 8 years ago

I think my last suggestion is to move the conference page to a new folder in the standard plugin folder. Put it under plugins/standard/pages. I think also the URL should be a little simpler, just logs/conferences and the Top level menu heading could also just be Logs. This would better allow for general log grouping later on since we wouldn't need a top level log section just for SMS. So:

{
  "links": [{
    "menu": "Logs",
    "url": "logs/conferences",
    "script": "pages/conference/conference-calls.php",
    "label": "Conference Calls"
  }],
}

Though... its not really a log page because its really an active management page. So maybe the menu for this should be Conferences and the label should be Manager.

Thoughts?

jpwalters commented 8 years ago

I believe I'm made all the changes you've requested. Let me know if you find anything else.

Gipetto commented 8 years ago

I've been going back and forth about including the manager page in OpenVBX core. Let me know what you think of this idea: I'll take all the changes made to existing OpenVBX files. Then you move the conference manager page to a stand alone plugin that gets included on http://www.openvbx.org/plugins/

This is cleaner to me for a couple of reasons:

  1. Not everybody would use/need the manager plugin, so I'd want to include it deactivated by default. This would hurt discoverability. Including it in the plugins list would allow more people to find it.
  2. By moving that page out in to a separate plugin (i.e.: its own repository here on GitHub) you retain ownership of the code, so any improvements, changes, updates, you can do on your own without having to submit to code review. This would speed up your ability to iterate and improve the plugin.
jpwalters commented 8 years ago

I like your suggestion and I'm find to create a stand alone plugin if you pull in the changes to the core OpenVBX files.

cromulus commented 8 years ago

👍 this is a common enough usecase for conference calls that it should be part of the core.

jpwalters commented 8 years ago

Yes @cromulus that's what I thought too. But I did understand @Gipetto concerns and if they'll add the basic conference calling features to the core application I can easily make this a standalone plugin. I guess I should really just open another PR with the dozen or so code changes to OpenVBX/controllers/twiml.php.