2011/5/26 Daniel-Constantin Mierla miconda@gmail.com:
you are simply on the wrong path in this discussion, you kind of misunderstand me.
First, I didn't know that SIP _MUST_ be over UDP only.
Sure not, I meant sending data (desktop sharing as Jitsi does) via RTP (UDP). I would not like to send a ISO image using RTP ;)
For sure, hopefully SIP _MUST_ be over TCP or TLS ;)
Try to re-think a bit the whole thing. You come to me with some examples that are out of the purpose -- you try to demonstrate me that how SIP is used now to do a voice call does not work for instant messaging session. You are right, it doesn't, because that is for voice. But you can negotiate a session that means exchange of MESSAGE requests (or if you like better a new request type IM) within a dialog.
Yes, I agree. What you suggest could be really useful for _small_ data transfer (just small text messages). But, would you send a big AVI file (50 MB) over SIP signalling? Imagine the user splitts it in 50 fragments of 1 MB and each fragment is carried within a new in-dialog MESSAGE (as you suggested, and assuming there is some application protocol to control de order of the chunks).
I really wonder how good is for kamailio having to deal with message bodies of 1MB (being kamailio a SIP proxy, so theorically something ready for handling small messages). And also note that it supposes very high network traffic sharing SIP messages. The spirit of separing signalling and media is broken and, honestly, I don't like it even if it "solves" or makes NAT handling easier (if so, let's use IAX rather than SIP+RTP).
Further, you try to tell me that MESSAGE has no notion of session, trying to suggest that a new protocol (like MSRP) is a better approach than defining the session for it (similar concept like for audio call dialog, preserve call id, follow record routing). MSRP packets have headers like SIP, just a bit fewer -- it is really bad design thinking of they could have reused sip to specify IM sessions and file transfer.
Some points here:
1) MSRP is not so new (2007). 2) Your suggested new protocol would be newer than MSRP :)
Overall, maybe we have different understanding of simplicity.
Well, IAX is much simpler than SIP, and IAX is basically the same you are propossing (mixing signalling and media in the same stream). Do you prefer IAX over SIP? :)