[OpenSIPS-Devel] Limitations of dialog module
Iñaki Baz Castillo
ibc at aliax.net
Wed Sep 9 17:30:21 CEST 2009
2009/9/9 Dan Pascu <dan at ag-projects.com>:
>> So, if we simply discard the second 200OK, what will happen with UAC2?
>> it will think it is in a call... waiting for ACK......
>
> I agree. The proxy should not discard anything. From UAC2's
> perspective the call is there, it only misses an ACK. It will keep
> retransmitting the 200 OK, until it decides to give up, unless is an
> UAC that was configured to ignore the missing ACK in which case it
> will consider that it has the call anyway and will act accordingly.
Yes, right. I must re-read the draft to know how it handles this case.
And I've read it right now and I was wrong, what this draft states is:
http://tools.ietf.org/html/draft-sparks-sip-invfix-03
----------------------------------------------
4. Summary of Change
This correction document updates [RFC3261], adding a state and
changing the transitions in the INVITE client state machine such that
the INVITE client transaction remains in place to receive multiple
200 OK responses. It adds a state to the INVITE server state machine
to absorb retransmissions of the INVITE after a 200 OK response has
been sent. It modifies state transitions in the INVITE server state
machine to absorb retransmissions of the INVITE request after
encountering a unrecoverable transport error when sending a response.
It also forbids forwarding stray responses to INVITE requests (not
just 200 OK responses), which RFC3261 requires.
----------------------------------------------
So, each 200 is forwarded upstream to the UAC, but the INVITE
transaction remains in the proxy (so a retransmittion of the INVITE
from the UAC is not treated as a new request).
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the Devel
mailing list