I want to know which protocol does iChat use to start a conversation with other client in LAN ?
is it SIP? or SIP + XMPP?
start a session with SIP and exchange message with XMPP?
thanks a lot!
It uses Bonjour, XMPP but using multicast DNS for presence, and peer-to-peer connections instead of a server. The protocol was designed by Apple and then openly documented by the XMPP Standards Foundation as XEP-0174: Serverless Messaging.
So, I understand how does ichat work now. DSN-SD + XEP-0174.
unfortunately there isn't any java library for XEP-0174, but the connection is based on socket.
thanks for everyone's attention.
Related
I want to to use Pidgin as a instant messaging client. Then I want to make peer-to-peer connection using XMPP protocol. I do not want to use a solution including a server.
I have try and inspect those things below:
XMPP protocol says it is a decentralized solution for im and it needs 'servers',
Official XMPP web site also states that there is an extention for serverless messaging, but i do not get it and how to implement it in pidgin?
The official XMPP states there is something called Jingle, and through jingle anyone can send media/files peer-to-peer. But if I didn't understand wrong as a client I still connected to a server?,
11 years ago this question had been asked:Is XMPP peer to peer connection without server possible? Unfortunately who asked the question was looking for something like WebRTC. Check the answers. This is not what i am looking for.
Also there's 'ejabberd'. If you use ejabberd you still make connection to ejabberd daemon and you are not instant messaging peer-to-peer. Host Unknown - XMPP Pidgin
So my question is simple: By using "pidgin" as a client and "xmpp" as protocol; is it possible to make peer-to-peer instant messaging? And if it is possible, how can I make it?
Thank you.
I am using libjingle for my XMPP connection. Can I connect two XMPP clients without having server in between. If yes how can I do that if no then why it is not possible?
XMPP client1 <---------Direct Audio/Video/IM----------> XMPP client2
You may not be able to do this directly with libjingle, but a protocol specification exists in the form of XEP-0174. The gist is that you publish your presence and connection information over Multicast DNS (e.g. Bonjour), then connect directly when you want to chat. Apple's iChat
implements essentially this approach for its peer-to-peer mode.
WebRTC is perfect example for having peer to peer connection. The answer I was looking for two years ago.
I wanted to add a voice chat feature to my business app. I have been trying hard to find anything useful but there is not much help regarding this. Could anyone plz point me to something concrete??
PS: The skype app makes use of this feature.
This is a lot of work as there is no "built in" sdk features or third party off the self components that will help you do it without a lot of work on your end.
Your options (as far as I know) are:
Build your own solution.
Look for a third party solution.
Look for a open source solution.
Voice "chat" could be one of many things like:
using the voice features of a cellular network to a conference call.
using the voice features of a cellular network with a PBX server that supports conference calls.
using a VOIP solution using a SIP stack with a SIP server
using a XMPP Jingle solution (I believe the google voice service uses this)
using your own SIP setup solution
custom solution
None of these options are easy.
Open Source SIP implementations that have iphone ports (that I know of):
reSIProcate
pjsip
Update:
SIP & Jingle both use RTP for the actual transport protocol between the parties. RTP is a UDP point-to-point protocol. The ports which form a session are negotiated using other protocols such as RTSP (using SDP in the setup method) and SIP. RTP and RTCP typically use unprivileged UDP ports (1024 to 65535).
For easy Server / Client setup check Jingle Nodes in combination with SIP Communicator which is a Desktop application. But as being opensource I presume you can reuse a lot of the code to make it mobile. Specially for Android. Check this draft of a Jingle Nodes Setup Guide
I am trying to develop application to send mail using configured SMTP client rather than iPhone's default MailController.
How can i implement this functionality? Is it possible to design such client?
Thanks,
Jim.
It is possible, however, unless you want to develop your own implementation of the protocols and start opening TCP ports, etc, you might want to look into OSS tools that provide these features.
this might help you out.
I've understood that Google Wave is built around the XMPP platform, as such I was thinking that it should be possible to access it with a jabber client like ichat or google talk. The advantage is that it's a lot faster to answer or read specific waves then going through a javascript jit in a browser.
Now you can add the xmpplite bot http://wave-xmpp.appspot.com/public/xmpplite.htm
but that is gwave -> xmpp only. It would be nice if one could also post to the wave with a jabber or e-mail client. Does anyone know a bot or a method of doing so?
The wave federation protocol is based on XMPP, but XMPP/BOSH isn't used for client-server communication, so it's not possible directly yet. However, since Google App Engine's XMPP service is bidirectional, there really isn't anything stopping the development of a robot which can be gwave <-> xmpp.