[Standards] LAST CALL: XEP-0166 (Jingle)

Lauri Kaila lauri.kaila at gmail.com
Thu Nov 29 07:47:55 UTC 2007


2007/11/28, Peter Saint-Andre <stpeter at stpeter.im>:
>
> What is the SIP flow for the 415 error? Do you return 100 trying and
> then send 415 unsupported media type? Or do you not return the 100?

SIP allows 0..n provisional responses before the final. I'm not really
a SIP expert (although I play one here), but the following flow should
be quite normal:

INVITE ->
           <- 100 trying (sent by SIP proxy before receiver got the inivite)
           <- 180 Ringing
           <- 486 Busy Here (human rejects the call)
ACK     ->

How would that convert to Jingle actions? Case with 415 is similar
except that 180 wouldn't be sent:

INVITE ->
           <- 100 trying
           <- 415 Unsupported Media Type
ACK     ->

And this is the happy flow:

INVITE ->
           <- 100 trying
           <- 180 Ringing
           <- 200 OK
ACK     ->

It seems that the gateway would need to wait for the final SIP
response before it can send IQ ack. Using session-terminate to reject
session always (instead of iq response) would map to SIP better:

session-initiate ->
                     INVITE ->
                     <- 100 trying
<- IQ ack
                     <- 180 Ringing
<- session-info
IQ ack ->
                      <- 486 Busy Here
                      ACK ->
<- session-terminate
IQ ack ->

Logically SIP ACK would map to the iq response for session-terminate.
But the gateway can send SIP ACK immediately because its purpose is to
stop UDP retransmissions and we don't need those in XMPP.

-lauri



More information about the Standards mailing list