PJSIP - (Web)RTC integration - webrtc

The PJPROJECT libraries are organized as follows:
Base libraries (PJLIB/PJLIB-UTIL/PJSIP/PJNATH/PJMEDIA)
APIs (PJSUA/PJSUA2)
I'm trying to develop a new API based on PJSUA but using RTC native libraries (as far as I know, the term WebRTC is more related to the Web API) instead of PJMEDIA.
However, according to the official docs, I understand that the RTC native libraries are used for signalling and media.
Is it possible to only use the media part of the RTC libraries? If yes, where can I find resources to integrate the RTC libraries with PJSIP?
Thanks,
Mickael

CSipSimple (Android SIP Client) has bolted a part of WebRtc into PJSIP as patches: https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/pjsip/patches/002pjsip-webrtc-aec.diff

Related

Corda & React Native compatible?

Is Corda compatible with React Native?
What is the best way to develop a mobile application with Corda?
You can achieve that, but you need several moving parts:
A Braid webserver which detects your flows and generates Open API compatible templates.
An Open API Generator which translates those templates into an API library (in NodeJS for instance).
A React front-end.
You can find an example implantation of the above approach here.
I also wrote an article about Braid here.
Corda Node cannot be run on a mobile device. Hence a mobile app and a CorDapp would be separate components.
You could build your mobile app using react-native.
The mobile app could connect to a Corda node using REST API exposes by a client.
The client connects to the node using RPC and relays user inputs to the node.

How to develop a video chat and conference app with High Performance using any good Open Source frameworks

I see WebRTC is the the best way for developing it. But there are some paid frameworks in market for establisting video chat between wide range of clients like Web-Web, Web-Mobile(IOS, Andriod, Windows, etc.,).
Web-Web communication flow is very simple to implement. Now, I want the same for Web-to-Mobile and vice versa without using any external frameworks built on top of Native WebRTC. Please suggest me some best approach to achieve this.
The latest Chrome on Android is WebRTC friendly, that means if you have a web app that implements WebRTC. It will be working on Android's Chrome.
If you decided to create you own native app that implements WebRTC. Here are some great sources.
iOS WebRTC: https://webrtc.org/native-code/ios/
Android WebRTC: https://webrtc.org/native-code/android/
Follow the instructions in each allow you to build the native WebRTC framework that you can later on import them into your native projects.
The WebRTC APIs are somewhat related to the ones you are using in your web application. You need to do more documentation reading for those as you are using the official framework that built from the source, not a third library.
Before starting you need to review and test platform to make sure it works fine for all your target user categories. You can do that by reviewing references and also testing some existing apps for user types you plan to support.
As you mentioned wide range of clients, you need to identify the limitations of WebRTC technology. You can also evaluate other technologies: in example you could reliably serve most client types with mobile and web apps that use RTMP.

Usage of already deployed REST service in mobile application using IBM Mobile First

I've published a native android application which uses a services with response in JSON format. Now, I want to develop a Hybrid application using IBM Mobile first platform. I want to use the same service here in this case also. I'm not able to findout the mechanism to do so. Anyone please suggest me some solution.
I assume that you intend to build your hybrid app using HTML, CSS and JavaScript.
You could directly call the service using standard JavaScript
XMLHttpRequest(serviceUrl)
But you probably will use some framework such as AngularJS - such frameworks really do pay off in the long run - and in which case you have nice APIs
$http.get(serviceUrl).then(doSomeWork);
However this raw JavaScript approach does not exploit the MobileFirst programming model. We tend to find that using a Mobile Gateway architectural pattern, where MobileFirst adapters act as the gateway, pays off as your application becomes more complex. The adapters provide a security model and can implement aggregation and filtering so that precious mobile bandwidth is used more efficiently.
Hence we recommend that you build adapters, as described in the links given by Idan, and then you use the MobileFirst API to call the adapters:
WL.Client.invokeProcedure( ... );
Starting MobileFirst Platform Foundation 7.0, both the JS framework (for Hybrid apps) and the Native SDK (for iOS and Android) provide REST support. You can accomplish this using either JavaScript adapters or Java adapters.
Read the following tutorials explaining how to use MFP adapters:
Server-side development
If you're interested in Java adapters as well, take a look at these videos as well:
Getting familiar with IBM MobileFirst Platform Foundation Java Adapters [Part 1]
Getting familiar with IBM MobileFirst Platform Foundation Java Adapters [Part 2]

MobileFirst configuration for mapping service ArcGIS

We are exploring IBM Mobilefirst capabilities with a mapping application. We are using Esri ArcGIS Mapping service.
Where can I find the available resources or sample tutorial to use Esri ArcGIS with IBM MobileFirst hybrid applications?
Not every available tool out there has guides for IBM Worklight/MobileFirst.
It looks like Esri ArcgGIS has a developer website.
You should start there: https://developers.arcgis.com/en/sign-up/?origin=developer
Read how to integrate it into applications.
If there are SDKs then you will need to integrate those like you would any other SDK - that is outside of the Worklight/MFP scope (the integration).
I would assume that if it an SDK, you could then add a Cordova plug-in that would allow you to access that SDK from your app, or even better you could use the Send Action feature to bridge between Web and Native and vice versa.
Adding native functionality to hybrid applications with Apache Cordova
Action Sender

Can I create a Hangout "client" program? (kind of Google TalkAbout)

As stated in the Google Talk for Developers site, you can use the provided APIs to build a client that connects to the Google Talk service.
I would like to know if it's possible (or it will be in the near future) to build a similar client to the google hangouts.
What we pretend is to build something similar to cloud print, that provides printing services to the cloud, but for audio/video streaming: a camera and microphone would replace the
printer.
Thanks a lot.
Talk and all the XMPP stuff is going to be put down soon.
The new Hangouts infrastructure is proprietary. It only has API to integrate Hangouts into web pages and applications, but no API or protocol to create an alternative Hangouts client software.
https://github.com/tdryer/hangups is a library that does exactly that, with a command-line client for Linux.
https://github.com/xmikos/qhangups is a PyQt-based cross-platform app that aims to provide an open-source alternative to the Chrome-based official desktop app. Unfortunately it's not working at the time of posting, but the author is investigating the issue.