Is it possible to initiate a voice call from Mobile Safari to a proprietary service (i.e., not PSTN) with no plug-ins? - iphone

We assume the answer is no. However, all SO questions are either dated or based on desktop browsers.
We're aware of WebRTC, but it's not supported in Mobile Safari today. Is there any other approach?
To clarify the scenario, imagine we had a service like Skype. Instead of requiring both parties to have the app, we would like one side to use a mobile browser to have phone calls.

No, you cannot. Not without plugins. If you want to place calls from a browser to any other client, you must use WebRTC for full support (media transport + media devices access) or you have to use a plugin to access the media devices and to do the transport (e.g. Flash).
As Mobile Safari still don't have WebRTC...

Related

How to completely access android bluetooth using progressive web app

I have tried web Bluetooth API to access,but it is only for battery status, heart rate etc.., I need to access complete functionality of Bluetooth. Is there any option or API available
I think there is no other available API for this bluetooth function, The Web Bluetooth API is your only option, but it is not finalized yet.
According to this documentation, until now, the ability to interact with bluetooth devices has been possible only for native apps. The Web Bluetooth API aims to change this and brings it to web browsers as well. Alongside efforts like Physical Web, people can walk up to and interact with devices straight from the web.
And even though it is not finalized yet, the Chrome Team is actively looking for enthusiastic developers to try out this work-in-progress API and give feedback on the spec and feedback on the implementation.
Just take note that Web Bluetooth
API is currently
available to be enabled experimentally on your origin in Origin
Trials, or locally on your machine using an experimental flag. The
implementation is partially complete and currently available on Chrome
OS, Chrome for Android M, Linux, and Mac.
For more information, just read these documentation and video. You can also check the updates of the documents here.

Can anymote protocol be used to communicate between two android devices?

I am trying to control one android device using another. And for doing this I want to include the ANYMOTE protocol in my implementation.
As per my understanding I can use the already existing "Google TV android remote" app as my client on one of the devices.
But what I am stuck up with is,that do I need to implement the server side by my self ??
OR
Is there an existing implementation (The one used in Google TV) of the same, freely availbale, which I can integrate in my android device and customize it
Google has not open-sourced the server side of their Anymote implementation for Google TV. However, the protocol is fully documented: https://developers.google.com/tv/remote/docs/anymote
Anymote was designed for IP remote controls. So, depending on your use case, it might not necessarily be the way to control one Android device from another. Also, the Anymote server needs to do system-level touch and key event injection which is not allowed by third-party apps, only by system-level apps signed by Google.

How does iTether work (html5 iphone api)

How does something like itether work? Is there an HTML5 api that gives you this level of access to the device? I would assume giving a web based app this much access is a huge security risk.
Tethering's HTML5 app works by by using the iPhone as a proxy server,
so one sets up an ad-hoc Wi-Fi network and runs special desktop software
to direct HTTP traffic to the iPhone.
The HTML5 page loaded onto the iPhone pushes the traffic on and
returns the result, creating tethering without having to get approval
from Apple, or the network operator. ( Original Source )
I think they are using HTML WebSockets detects the presence of a proxy server and automatically sets up a tunnel to pass through the proxy.

App communication in nearby devices without user intervention

Is it possible to communicate two instances of an app:
In nearby devices (Android or iPhone)
Without user intervention (aside from starting the app once)
Without internet (but not network) connection?
How?
Android to Android?
iPhone to iPhone?
Android to iPhone and vice-versa?
Let us ignore the issues associated with implementing the network communication at the application level and focus on the system design problem your question raises.
You want an application on one device to connect to another associated application on another device without any user intervention/interaction beyond launching the device. In order for this to work your system is going to need a 3rd party separate from the two devices/applications that provides a lookup service.
What will need to happen is each application will need to communicate with this service, ask for the data regarding other device it should connect to, if it exists, and then attempt that connection. This is basically how a bittorrent tracker works.
Keep in mind that there's quite a bit more involved in the implementation than that simple scenario suggests. For example, the proper registering/unregistering of devices, registration timeouts, security, etc.
Unless I misunderstand your question, you should be able to just use standard sockets (TCP or UDP depending on your needs) for communication between any/all devices. For iPhone, you could probably use the NSStream classes and for Android you'd use the Socket classes.
Can the new NFC feature be an answer to this?

How to do peer-to-peer communication in an iPhone app?

I'm trying to write a simple chat application for the iPhone (as an experiment). Is there a simple way for two devices to discover each others' IP addresses, and given the addresses is there a simple API or protocol that would let me send text messages back and forth?
I've investigated SIP (specifically Sofia and eXosip), but these tools exist as C libraries and are beyond my current ability to port them to the iPhone.
Update: I'm trying to connect two devices over the Internet (i.e. not over Bluetooth or a local wireless network, which is what GameKit does).
You're going to need a server that provides the match making service. Game Center makes this pretty easy, but your users will have to have Game Center accounts.
Alternatively, you can set up an XMPP (formerly Jabber, it's what powers Google Chat) server (I've never done this, but there are several available) and use the XMPP Framework for Cocoa. There are instructions for using it in iPhone apps here.
I'm sure there are other chat servers and client source also available. IRC and Mobile Colloquy come to mind.
Finally, you could write your own server using your favorite server language / framework. This isn't too hard (I've done it myself), but it's far from what I'd call simple, and I wouldn't use it for a production system.
There is support for exactly this kind of ad-hoc peer-to-peer networking in GameKit. Have a look at the second half of the GameKit documentation for details:
http://developer.apple.com/library/ios/#documentation/...
NSNetService is a good option.
Take a look at WebRTC Datachannels. WebRTC is a newer option with native iOS support a standard that is still being finalized, but it is more flexible should the iOS app need to communicate with browser or even android peers