2010/7/12 Timo Reimann timo.reimann@1und1.de:
I'm not sure why dialog termination points in time differ for UA-/proxy-initiated BYE requests. Is there a rationale that proxies triggering dialog termination need to ensure that UAs respond or time-out before they can destroy the dialog? How does it differ from UA-initiated dialog terminations?
I strongly believe (as RFC 3261 states) that a proxy SHOULD NOT generate in-dialog requests. In fact, 'dialog' module is a bit "hack" ;)
IMHO when a proxy-generated BYE is sent (to both caller and callee) that should be enough to set the dialog in 'terminated' state. There is no reason to behave different than when handling a UA-initiated BYE.
Maybe you have an idea on this; I will continue thinking about it. In any case, the "always decrement counter during BYE processing" isn't strictly required for the designated fix if the "deny proxy-initiated call termination for non-confirmed calls" rule is in effect. That's because confirmed dialogs should always transition to the terminated state on processing of the BYE request and thereby decrement the counter.
Too much thinking about dialog today. I need a break. :)
Ok, I also need a break to see the goal again and again XDDD