2007/11/28, Peter Saint-Andre <[EMAIL PROTECTED]>:
>
> 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