On 2/29/12 1:11 PM, Gunnar Hellström wrote: > Peter Saint-Andre skrev 2012-02-29 19:40: >> I really think that if you want to gateway between SIP and XMPP, you >> want to use Jingle. Such gatewaying was one of the core considerations >> for Jingle. Now, I haven't looked at RFC 4103 in quite a while, but we >> can certainly write a spec that defines how to translate between >> XEP-0301 and RFC 4103 (e.g., how to translate the SDP). > Yes, that is likely a good thing to do, but not for the simple example I > provided. > >> Personally I >> don't think we absolutely need a way to complete a formal negotiation >> over XMPP itself, because I tend to think that just sending a chat >> message is a much more natural interaction, > Yes, but the example was a session on the SIP side, and a series of chat > messages on the XMPP side. And the tricky thing with the example was > that it was not a human operating the SIP side. A human will decide - > "ah, now the call is over, so I hang up". Then the gateway can detect > that and release resources. But if it is a server as in the example, > with no real logical end of the session, then we must rely on some > session signaling from the XMPP user to tear down the session. > Can the directed presence "unavailable" signaling described in RFC 6121 > section 5.1 be relied upon for the purpose of ending the session?
Gatewaying is tricky. :) It seems that you want things to seem natural from the XMPP side (no Jingle or session negotiation required), but then have something more formal on the SIP side (INVITEs and all that). This means the gateway needs to be smarter than something which just translates between Jingle and SIP. Your gateway could use a <gone/> chat state on the XMPP side to trigger the end of the RTT session on the SIP side. I have concerns about using unavailable presence -- that works OK for what's described in RFC 6121, which is an ad-hoc session between two people who don't normally share presence, but it breaks down if two people do share presence (not sure how often that would occur through the gateway). Peter -- Peter Saint-Andre https://stpeter.im/
