Closed jekram closed 8 years ago
Here is the design document for this.
@sojharo
Thanks. I have read it once, and I would reread later tonight and send you my comments.
Overall it looks good.
@sojharo
Couple of things:
Your comment:
"We would not change current conference code, and we would be able to do our own conference on the same URL. For new logic, we would create separate URL e.g. https://api.cloudkibo.com/#/webmeeting/meeting_name Later, we would add plugins into this new logic."
I am fine with cloning the code and having a new URL. The question is how long we would run this parallel?
I also missed one requirement that is co-browsing.
Go ahead and start executing.
Maybe one week. As soon as we know that our new conference logic (with all plugins and extensions) is stable, we would replace the old one.
On Sat, Jan 16, 2016 at 11:05 AM, Cloudkibo notifications@github.com wrote:
@sojharo https://github.com/sojharo
Couple of things:
Your comment:
"We would not change current conference code, and we would be able to do our own conference on the same URL. For new logic, we would create separate URL e.g. https://api.cloudkibo.com/#/webmeeting/meeting_name Later, we would add plugins into this new logic."
I am fine with cloning the code and having a new URL. The question is how long we would run this parallel?
I also missed one requirement that is co-browsing.
Go ahead and start executing.
— Reply to this email directly or view it on GitHub https://github.com/Cloudkibo/CloudKibo/issues/363#issuecomment-172163348 .
Regards,
Sojharo
Great. Move full speed ahead
I have worked on it and separated the audio video streams into now separate webrtc connections. It needs more work and is under construction.
Thanks for the update
I have done my work on new logic of conference. Overall, following is the work summary on this task:
Done:
Pending Tasks:
Priority 1 is highest priority.
@sojharo
In regards to Pending Tasks:
Expose Rest API to get data of meeting (also put in rest api docs) (priority 2) Webhooks for each company (priority 3) Store conference chat messages in database separated by company (priority 5) Conference recordings and fetching of records (priority 6) Supporting IE, Safari, using plugins and adapter shim (priority 1) Co-Browsing (priority 4)
I have worked on this task and used temasys plugin and also used the adapter.js latest version. I have pushed the code for this. Also, I worked to modularize the code as it had become complex to manage the all separate webrtc connections in same file.
Worked more on modularization of the new conference code. Tested the plugins and they didn't work for IE. I need to look more into it, it maybe issue of IE version. I have started to work on exposing rest api. Inshallah by tomorrow evening, Zarmeen would be able to use rest api to extract company meeting data from Cloudkibo.
Thanks for the update. What plug-ins SighCall is using - can you tell? Also what plhg-ins Mauoz Kahn is recommending?
I just looked again into SightCall and again I couldn't find where they have stored there plugins on github. Maybe they are not open source. As far as Muaz Khan is concerned, he has not developed his own plugins. But he has written some code on how to use existing webrtc plugins like temasys and webrtc everywhere.
https://github.com/muaz-khan/PluginRTC
The free version of TemaSys doesn't support screen sharing, I just found out. However, there is other plugin which is open source. Going to evaluate the other one now. I am going to finish most of the work in this by Tuesday InshaAllah so that it is almost ready for customer.
Here is the SightCall extension.
https://chrome.google.com/webstore/detail/screen-sharing/obcglfamidbohlfjlcfdajopagnhkgoo?hl=en
We should try to use this extension while we figure out our own extension.
Also can we revers engineer their extension?
One quick question for this:
Should we assume that for each support session, Microsoft would give us following information:
I have reverse engineered the extension of SightCall. However, in order to work with extensions we need code of both application logic and extension source code. I will look into the code of extension soon.
Here is the sight call extension source code:
@sojharo
Let me explain how their workflow works today at a high level and then we can how we would propose to change it. The final design with them may be different once we engage with them.
Customer
Couple of points:
a) They will call our API to schedule a meeting b) We return them two URLs c) The take te customer URL and post it on the widget d) They get into the meeting e) When the meeting ends they can call our API to retrieve data
I want to keep it very simple, and once we have that we would show it to them, and they can tell us what else they need.
For V1 let's keep it very simple.
Then we would modify to meet their needs
.
In regards to your particular question
Should we assume that for each support session, Microsoft would give us following information:
Agent name Agent email 3.Visitor name Visitor email Session id (we generate this randomly on kibosupport for support session, should we give it to Microsoft or they will give us their own id, i.e. support ticket)
At this stage, I would not screw up our system for Microsoft. If we think these are important fields for other customers also then we should add it. In v2 probably
We should definitely give the session id, so that come back and request meeting data.
@sojharo
Can you summarize what is done and what is pending?
I worked yesterday on WebRTC everywhere plugin and tried to build the webrtc and plugin from the source. The build process got stuck several times. Maybe, because of I ran on virtual machine. This should be built on windows and mac os.
Here is the summary:
Done:
Separate Audio Video connection Separate screen sharing connection Separate data channel connection Store conference chat messages in database separated by company ()
Pending Tasks:
Expose Rest API to get data of meeting (also put in rest api docs) (under construction) Webhooks for each company (priority 4) Conference recordings and fetching of records (priority 5) Supporting IE, Safari, using plugins and adapter shim (priority 1)
@sojharo
What is the ETA to complete everything excluding recording?
What is the next step building the code? Can you work in lab to get it resolved.
@sojharo
Have you looked at this?
https://www.npmjs.com/package/rtcninja
WebRTC API wrapper to deal with different browsers
We would use new logic from tomorrow's meeting. By tomorrow evening, I would be done with plugins issue. The plugins are blocking issue in this. Hopefully, rest of the things would be ready by tomorrow meeting.
I have seen this library. New Adapter.js would be better as it is supporting MS Edge too.
Following is the update on this task:
Done:
Separate Audio Video connection Separate screen sharing connection Separate data channel connection Store conference chat messages in database separated by company Expose Rest API to get data of meeting (also put in rest api docs) (under construction) Webhooks for each company
Pending Tasks:
Supporting IE, Safari, using plugins and adapter shim (it has bugs, priority 1) Conference recordings and fetching of records (priority 5)
The task, except recording, is almost done except few bugs that I am trying to resolve.
I would need to discuss on webhooks in meeting today. In our document, we had discussed that by end of conference we would use company's webhook to send conference data. We also have rest api for company to fetch conference data. It is little ambiguous to know the need to webhook in this case. However, webhook can be just needed to inform the client server that conference has ended and then client would use rest api to fetch conference data.
Good job. Let's wrap up the plug-in and open a separate task for recording.
We should run the old and new logic in parallel for some time.
The intent of Webhook is to inform them that the meeting has ended. Else the sender has no clue when the meeting has ended and would keep polling us.
Also, for recurring meeting like jekram there will be multiple start and multiple end times. How do we handle it?
@sojharo
Please update with status
Working on plugins now. It would be done today.
Thanks :-)
Q: Is Audio & Video in the new logic on the same channel or separate channel?
They are on the separate channel so that Edge can be supported. Edge only incorporates audio.
On Sat, Jan 30, 2016 at 3:42 AM, Cloudkibo notifications@github.com wrote:
Q: Is Audio & Video in the new logic on the same channel or separate channel?
— Reply to this email directly or view it on GitHub https://github.com/Cloudkibo/CloudKibo/issues/363#issuecomment-177003150 .
Regards,
Sojharo
I have been working on chrome and firefox webrtc interoperability and resolved couple of issues like:
One issue remains in this : Firefox screen sharing extension is corrupt and i have opened issue for this #368
Moreover, for plugins, I got several errors with open source plugin and could not resolve them as they did not use the updated version of adapter.js. The adapter.js given by them was not compatible with the Google's adapter.js version. The adapter.js of temasys is completely compatible with Google's standard adapter.js and they maintain this compatibility.
For now, I removed the opensource plugin and re-added the temasys plugin. On starting the cloudkibo conference on Internet Explorer, it asked me to install the temasys plugin which I installed. Gives better user experience.
However the application later got crashed as Internet Explorer doesn't support HTML5 Web Audio API. We use this to process audio streams and know who is currently speaking. Kindly, let me know should we disable this feature for temporary basis until we figure out how to hide this api code for IE.
This task is now complete except the following things:
@sojharo
"However the application later got crashed as Internet Explorer doesn't support HTML5 Web Audio API. We use this to process audio streams and know who is currently speaking. Kindly, let me know should we disable this feature for temporary basis until we figure out how to hide this api code for IE."
Thanks
Jawaid
I have done the following work on this task today:
I am opening separate issues for :
We should close this issue now. As it has become very long. I have opened the above sub-tasks into separate tasks now which were blocking this task.
Thanks
@sojharo
There is an opportunity to do an API integration with CloudKibo for that we have make the following changes.
I would like to see a design document on what need to be changed.to make it happen. In concept this is very similar to KiboSupport where they control the widget and the call center dashboard.
We have most of the pieces, we need to lay out in in sequence (what is available now, easy to do and then where we need more development)
I am hoping we can start the trial and then complete the rest.
We need to do what ShightCall is doing for Browser.
We need to go back to them with a document and v1 working by next week.
More on this in the meeting.