[OpenSIPS-Users] Stopping a T.38 reinvite with Opensips loose_route()
Iñaki Baz Castillo
ibc at aliax.net
Mon Mar 7 11:27:07 CET 2011
2011/3/7 Saúl Ibarra Corretgé <saul at ag-projects.com>:
>> You are not going to break CSeq at all. The proxy is able to reject
>> in-dialog requests depending on local policy. When the UA receives 488
>> it does know that, in case of a new in-dialog request, it must use a
>> greater CSeq, which of course will be valid in the other UA (it must
>> be just higher than previous one, no matter how much higher).
>>
>
> What would happen if the other end sends a reinvite or other in-dialog
> request? It didn't get the reinvite, so it doesn't know it happened. Will
> OpenSIPS handle this situation as well? I'm not sure...
I don't see the problem. Example:
alice proxy bob
INVITE (Cseq: 1) -------->
INVITE (Cseq: 1) ---------->
----------------------- 200 + ACK --------------------------------
<------- INVITE (CSeq: 100)
488 ------------------------------->
INVITE (Cseq: 2) -------->
INVITE (Cseq: 2) ---------->
----------------------- 200 + ACK --------------------------------
<------- INVITE (CSeq: 101)
<---- INVITE (CSeq: 101)
----------------------- 200 + ACK --------------------------------
What is the problem? There is no problem at all. A dialog endpoint
just need to receive a CSeq greater than the previous one in each new
in-dialog request. Such CSeq value can be incremented in more than
one.
>> But in your case, the problem is that when your UA receives the 488 it
>> will probably send a BYE (it's the usual policy when a re-INVITE is
>> rejected). But you can try it. You will not break SIP protocol at all.
>>
>
> Why? The RFC only states that if 481 or 408 is received the session must be
> ended, but for any other error it shouldn't be AFAIK.
You are right. RFC 5057 demostrates it (488 must only affect to its
transaction).
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the Users
mailing list