How to use Webrtc api for video chat - webrtc

I need to use Webrtc api for video and audio call between two users.Actually i have a Elearning learning management system with many users recently i have developed a chat system so that users logged in LMS can chat each other using simple php,ajax and jquery.Now i have implemented only text chat.
I need to develop video chat also like Google hangout and facebook video chat.Users registered in my system are having different email domains means some one have gmail account ,yahoo account etc.
Expecting quick reply
Thanks

To get started with WebRTC, I would suggest to first have a look at the following tutorial on WebRTC fundamentals.
You can then start to implement the native WebRTC API but be aware that you won’t be able to establish a video call if you don’t add a signaling server which does not come built-in with the WebRTC API.
Also if the caller and callee are connected to two different networks, you’ll often need ICE, STUN and TURN servers. Video chat is more complex to implement than text chat and if you don’t have the time and the resources to learn the fundamentals and deploy servers, I would suggest you give a try to a WebRTC Platform that already have an up and running cloud infrastructure to which you can access through an API.
It is the type of WebRTC Platform that we offer at Weemo.

Related

Best Approach for Push Notifications for both IOS and Android

I am building the backend for our company's mobile app and we need to send notifications to users from API based on some events. I need some advice on how I can implement this. I am looking for a platform where I can send notifications for both IOS and Android. I recently came across Firebase and got some info that the mobile-app will send a device token to the server, then we will handle the push notification using this token. My assumption here is, I need to save this device token for all the users in a database and send the notification as necessary. Is this the best approach or are there any other good approaches for this? I am pretty sure there will a lot of solutions where I do not have to handle this myself (in database)
I was also looking into Azure Notification Hub for this, but the cons I felt here is that my UI guy (outsourced) is developing the application in React Native and I have not seen any good examples of React Native using Azure Notification Hub.
I am expecting around 1000 users for my application and I am developing my backend in ASP.NET WebAPI. Mostly I will have 2 types of notification
Push notification to specific user.
Push Notification regarding new installations to all the users
Well, according to my experience the best way and the easiest way is using firebase. You will have a lots of option there. In fact according to their comment, whether you're a beginner, intermediate or advanced React Native developer you can be up and running with React Native Firebase in no time.
https://www.npmjs.com/package/react-native-firebase
For more information and adding a project:
https://rnfirebase.io
Firebase getting start:
https://github.com/invertase/react-native-firebase-starter
How does it work?
Firebase Cloud Messaging architecture diagram
An FCM implementation includes two main components for sending and receiving:
A trusted environment such as Cloud Functions for Firebase or an app server on which to build, target, and send messages.
An iOS, Android, or web (JavaScript) client app that receives messages.
You can send messages via the Admin SDK or the HTTP and XMPP APIs. For testing or for sending marketing or engagement messages with powerful built-in targeting and analytics, you can also use the Notifications composer.
last comment copy-right: https://firebase.google.com/docs/cloud-messaging/

Sonos API - Is it possible to play specific song via API

I'm currently integrating the Sonos Control API into our platform.
I successfully integrated "simple" commands related to play/pause, skipToNextTrack, skipToPreviousTrack but is it possible to access associated music provider to the sonos account through the Control API ?
I don't want to integrate a "simple" remote control for Sonos speakers. I would like to use the Spotify, Deezer or whatever associated provider account to search and play a song. Is there a way to do that?
Thanks for any reply :-)
This is not currently a possibility with the Control API. We'll bring your request back to the dev team.

Can i create a custom authentication system on top of SkylinkJS

i'm building a website that uses WebRTC to share audio and video. Now i'd like to access WebRTC features on Android devices so i can create an app that can receives audio and video streams from the website.
I've looked for a technology allowing me to do that and I've found SkylinkJS.
It looks great but i'm wondering something. Can i build a custom authentication system on top of SkylinkJS logic. What i mean is that i'd like to make sure the connection to SkylinkJS rooms are initiated by users actually authenticated on my platform.
At the moment, i do that using socket.io but i can do it since i'm using raw WebRTC. How can i do that using SkylinkJS? Using the REST API?
Thanks.
PS: i cannot tag this question with 'skylinkjs' since it's a new tag, but it mights be cool if someone could do it.
Yes you can integrate that with the REST API in this Applications REST API link here - . You can generate your own credentials.
You can generate the connecting credentials from your server and then when the User logs in, generate the credentials for Users to connect to the Room. See more in their support article.
SkylinkJS uses key based authentication mechanism to authenticate against the Temasys signaling servers. This ensures that any application using Skylink can only connect to calls in your application if the app can provide the same secure keys (from your Temasys developer account).
Your best bet in looping in Android would be to use the android counterpart. http://skylink.io/android/

GCM in Android wearable

Can we create an app that will receive push notification from a server, like in Phones and Glass
Since we have WiFi enabled Watches available now, we can connect to internet, but does it support push from external entity(Server)?
That is not possible AFIK.
You need to push the message to the phone and forward the message via the Data API. You need to keep in mind that the WiFi connection is only a fallback when the bluetooth connection is not available.
You can do it now from Android Wear 2.0 Developer Preview. Android can wear can directly make own network calls and same old FCM/GCM will work.
Under Network Access and Cloud Messaging
Android Wear apps can make their own network requests. When a watch has a Bluetooth connection to a phone, the watch's network traffic is proxied through the phone. When a phone is unavailable, Wi-Fi and cellular networks are used, depending on the hardware. The Wear platform handles transitions between networks. A watch's network access thus does not require the Wearable Data Layer API.
For sending notifications, apps can directly use Firebase Cloud Messaging (FCM), which replaces Google Cloud Messaging, or continue to use GCM.
No APIs for network access or FCM are specific to Android Wear. Refer to the existing documentation about connecting to a network and cloud messaging.
More details - https://developer.android.com/wear/preview/features/standalone-apps.html#network_access

Configuring SMS gateway?

I want to configure sms gateway. my scenario is as:
We have a list of enrolled students. Each one is assigned a tutor. They have to get information about their tutor such as tutor name and contact etc.
I want that they send a formatted sms to the server and server provides the requested information to them via sms.
Please tell me what things, I will need?
Infrastructure?
any demo server available to test my application?
I will be implementing it in PHP
Thanks
Have you seen Twilio's REST API for SMS already? https://www.twilio.com/sms/api. That will save you lots of time configuring own GSM modem firmware and maintaining own SMS transactions. With 3rd party SMS service provider you can just focus on your client app such as sending back tutor's profile to the provider and the provider will carry your message push it back to the student's mobile number.
Of course the old way is that everything (data and GSM software) sits within our own network. I used to have HTC's GSM model like 7 years ago) with my J2ME apps for Nokia, HTC and Motorola smartphones. But nowadays, you have lots or cheaper and better options. Even Android phones can be used as bare bones GSM modem already :D
Enjoy!
Before you go on implementing something by yourself, I suggest that you check services that already do it well. Maybe you can just use them? One such easy-to-use service is Twilio.