Is there anyway to make an application use Web Socket and XMPP together? [closed] - xmpp

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to create a chatting application that enable users that connect via XMPP to chat with another users that connect using web socket (perhaps using Netty or Jetty) or vice versa. So every users that connect using web application can chat with other user that connect using web socket.
I am not sure that websocket currently have a default standard that enable it to communicate with other protocols. Let me know your opinion and suggestion.

Very much like on top of TCP, you can implement rich business protocols over WebSockets as well. Kaazing offers XMPP as one of several protocols over WebSockets (in addition to JMS and AMQP).
You can check out the XMPP edition of the Kaazing WebSocket Gateway here, and find the documentation and tutorials here. The developer version of the product, up to 50 concurrent connections, is a free download. The community edition is open-source licensed under the Apache 2.0 license.

There exists a draft for XMPP over WebSockets. It's a year since it was submitted, but I think work on it will continue once WS itself stabilizes.
There exists experimental implementations of XMPP over WS, but since WS has been a moving target, they aren't implementing the latest versions (AFAIK).

Related

REST API along with Websocket API [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I have to create an application with a permanent connection (I need to send data update from the server) and, in parallel, I need to configure this app. My idea was to use Socket.IO for the connection and use it also for the configuration, with specifics event name.
But someone said that it's better to keep Socket.IO only for sending data from the server and use a REST API to configure the app.
I want to know if using a REST API along with of a Websocket connection is a good practice or not, and if no, why.
You always can provide a REST API along with a WebSocket API for different purposes. It's up to your requirements and it depends on what you want to achieve.
For instance, you can use a WebSocket API to provide real-time notifications while the REST API can be used to manage resources.
There are a few details you should be aware of:
REST is a protocol-independent architectural style frequently implemented over the HTTP protocol and it's meant to be stateless.
In HTTP, the communication is driven by the client: the client requests and the server responds.
WebSocket is a bi-directional, full-duplex and persistent connection protocol, hence it's stateful.
In WebSockets, once the communication is established, both client and server can exchange frames in no particular order.
Just to mention one example of application that provides different APIs: Stack Exchange provides a REST API along with a WebSocket API.

Why we need RPC programming? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I work on system security and i want to know why we need the RPC programming and what is the differences between RPC and simple socket programming? Both of them have a client and server application,tcp/ip based,IP address,port number ,...
Thanks
RPC is one definition of how to send structured data as a call to the server and get structured data as a response back. You could use any of a wide variety of protocols with the same basic goal, like SOAP or WCF.
Any of those protocols builds on top of TCP/IP, and lets the server and the client communicate using predefined strucures. You could do the same without any of those protocols, but then you would have to set up a new set of custom rules for how the server and client should communicate.
You don't need any of those protocols for communication, and sometimes (in realtime online gaming for example) a custom streamlined protocol is used instead, but for most client-server communication a well known protocol is preferable.
Well, there are a lot of different RPC technologies, so it is hard to say what you are refering to. But generally speaking it is a layer on top of network transports (like UDP and TCP) to marshall parameters and call results. You need it to communicate in a structured way with services. Some commonly used applications and system services use well known RPC mechanisms (like Windows DCOM, NFS mount protocol, Kerberos, SAP RFC).

WebRTC to make calls to PTSN [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm looking at WebRTC and I'm wondering how to implement a solution where the client connects to the PTSN via SIP. It seems like a pretty new technology so I assume that this would not work on IE browsers; is this correct?
Basically, I have a dialpad UI on the page and users who have an SIP account. Can WebRTC enable the end-user to make calls to the PTSN and what does it take to implement such solution?
I'm looking into this as an alternative to Java or Flash based webphones.
Thanks for your suggestions.
WebRTC is indeed new and isn't available on IE or Safari. It is available in beta/alpha on other browsers. IE will probably support it in the future and Safari probably won't for some time.
WebRTC does only the media parts of the negotiation, and as such it means that it does no signaling of its own. SIP can work well with WebRTC, but you will need a JS implementation of SIP (over WebSockets) and then you'll need to unwrap the SIP signaling on the server side and "migrate" it to UDP or TCP.
Asterisk are working on such a server side platform: http://blogs.digium.com/2012/05/23/asterisk-11-webrtc/
More about doing SIP in conjunction with WebRTC can be found here: http://bloggeek.me/html-sip/

Video Calling Library for ios [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Is there a library or any way to embed video chat capability in a ios application ?
I work at 2600hz, I'm new to stack overflow so if I'm screwing something up, let me know.
You can use Kazoo, our fully open-source cloud voip stack for this, our APIs allow you do all the sip signaling and proxying for Facetime style video connections (we do this for audio calls now, and video works in our lab but we haven't rolled it out to our community yet. Basically you'd need to do some QA).
If you'd like to play with it, I can send you an invite to our hosted cluster OR you can install it directly from our Git repos here: https://github.com/2600hz/kazoo
Yes, there are a few solutions:
First of all, no API from Apple.
Second, OpenTok does seem to solve your problem, Client & Server side easily.
If you want to implement it yourself, I know Spirit & Vidyo, which are paid VoIP & Video stacks.
You may also use iDoubs, or PJSip, both are open-source solutions, but they are using x264 encoder which its license is GPL and not good enough for the AppStore.
Either way, you'll need a 3rd party library for that & you must have a server side as well (Probably a SIP server).
If anyone knows more open-source / paid solutions, please share.
Build Video Chat Into Your Mobile Apps with OpenTok

Does ejabberd support offline file transfers? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I am working on an XMPP client, using ejabberd as server.
My question is how can I support offline file transferring?
I only want to do the offline file transferring for image files.
For example,
I can transfer an image to John even if he is offline.
When John comes back online,
the server will send him the image.
How can I do that?
There is currently no extension for XMPP to allow offline file transfers.
Presumably this would need to be supported by the recipient's server, and it would need to be implemented as a server-specific plugin.
Alternatively a project that may be of interest to you is Jabber Disk, which allows you to upload a file via XMPP, and then returns a HTTP URL you can send to people (for example as an offline message).
XMPP had an extension for this - XEP-0129: WebDAV File Transfers - but it is deferred!
I am searching for the same solution. I came across it, but did not find a XMPP server still supporting it.
Still searching for a solution.
We implemented offline file transfer is TextOne mobile client, but we had to do a custom module. There is no good specification for that yet.
However, for a simple need as you have, I think you could implement it purely client side (uploading to an HTTP server) and use XMPP for signaling.