[OpenSER-Devel] [Serdev] Possible bug in the tm module in the presence of packet loss/branches

Dan Pascu dan at ag-projects.com
Wed Mar 12 22:57:56 CET 2008


On Wednesday 12 March 2008, Maxim Sobolev wrote:
> No, it's not. Any protocol involving communication delay would have
> this problem. It's just the matter of how big the window of opportunity
> actually is.
>
> And frankly I don't see how previous behavior is better in that
> example. It still quite possible that the "other branch" mentioned
> there would actually have received INVITE, sent provisional reply,
> which simply got lost in transit, so that it happily answers the call
> in 10 seconds afterwards. So that whatever legal "binding" could be
> it's all here. In fact, the new behavior, which would continue INVITE
> retransmits has a better chances to relay CANCEL to that branch in
> time, due to the fact that it would stimulate retransmission of
> provisional reply even after CANCEL has already been received.

With the current behavior, the caller never receives the 200 OK and 
doesn't send an ACK to confirm it, so he can claim that he has not 
accepted the call and his claim is sustained by the sip trace. and the 
fact that the other side never receives a confirmation (ACK) for the 
call.

With the new behavior, the user receives the 200 OK, it has to ACK it and 
then close the call with a BYE, which by any measure means he accepted 
the call, even though it was done by the device and the user may even be 
unaware of what happened. Of course the device can chose to ignore the 
200 OK and not send an ACK, though I'm sure some purists will claim it is 
not RFC conformant, but in the end we only move the behavior from the 
proxy to the phone.

>
> In fact I don't think there is real "binding" when you are using B2BUA,
> since you can prove that no actual session has been established between
> endpoints (originating device never sees that 200 OK). Billing issue is

I think we can argue about this forever and it doesn't have a straight 
answer as it may depend on legislation in various parts of the world, but 
I think it can be argued that the b2bua makes a call in your stead since 
it uses your username at domain so you have transfered your responsibilities 
to the b2bua agent in the middle.
Besides I fail to see how a b2bua in the middle, of which you as an user 
may not even be aware of, can shield you from the consequences of your 
actions.

The problem however is when such an agent in the middle (be it a proxy or 
b2bua) acts in a different manner than the one you have asked for and 
does something you specifically asked it not to do.

> a different one, but again there could be never 100% accuracy in
> billing when signaling protocol involves some kind of delay.
>
> Regards,



-- 
Dan



More information about the Devel mailing list