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

Maxim Sobolev sobomax at sippysoft.com
Wed Mar 12 22:02:08 CET 2008


Juha Heinanen wrote:
> Maxim Sobolev writes:
> 
>  > All this has nothing to do with the SIP, really. It just illustrates the 
>  > point that SIP proxy is bad choice for real-time VoIP accounting. 
> 
> i didn't notice that someone in this discussion would have suggested to
> use sip proxy for accounting.  accounting in the examples was done pstn.
> 
> i do agree with dan here and do consider it sip protocol's fault if sip
> proxy working according to rfc3261 can ignore user's request to cancel
> a call.

No, it's not ignoring request. The proxy is dialog-ignorant component, 
it should not add any new state to the dialog between endpoints. If 
network delays generation of the final negative reply for whatever 
reason, so that should the proxy do. As I said technically this case is 
no different from UA placing a call to another UA directly.

If you want to isolate ingress and egress dialog state and bill user 
only for what he has actually sees use b2bua. Then you will be able to 
end ingress call with 487 immediately upon receiving CANCEL and don't 
bill user for anything that happens on the other side after that, 
letting egress calls to complete independently and not affect what user 
sees in her bill.

It's just a matter of trust and control - by using a proxy you let 
user's device to set up direct dialog with potentially hostile party 
that can exploit protocol weakness for its benefit. All those "abuse" 
examples are resulting from that. SIP protocol is only responsible for 
making sure the dialog state is consistent end-to-end, it doesn't and 
shouldn't care about whether or not parties on both ends are fair to 
each other.

Regards,
-- 
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com



More information about the Devel mailing list