[Users] ACK Routing: Best practices?

Carsten Bock openser-list at qbiz.de
Thu Aug 3 15:44:54 CEST 2006


Hi Klaus,

Thanks! It really works great!

Carsten

Klaus Darilion schrieb:
> Hi Carsten!
>
> First I would differ between ACK and CANCEL.
>
> If you use statefull forwarding, then it is sufficient to just 
> t_relay, as tm will take care of hop-by-hop canceling. There is no 
> need to rewrite the R-URI. There is only one problem: If the INVITE 
> processing takes more time, than it may happen that the CANCEL hits 
> the tm module before the tm module created a transaction. Thus, I 
> discard CANCEL without existing transactions.
>
> ACK: There are 3 kinds of possible ACK.
> 1. stateless, e.g. if you use sl_send_reply("404",""), then the client 
> will send a "stateless" ACK. This ACK will be absorbed by openser as 
> soon as it is received and will never enter the routing logic. Thus, 
> we do not have to care about them.
>
> 2. statefull, sucessful call: The INVITE was answered with 200, thus 
> the caller sends an ACK to the callee. This ACK is in-dialog, and thus 
> should be routed by the loose_route block (no need to rewrite any URI)
>
> 3. statefull, unsuccessful call: The call was rejected or cancelled. 
> Thus, we have hop-by-hop ACKs. Thus, the ACK must be handled to the tm 
> moudle, which takes care of it (no need to rewrite any URI).
>





More information about the sr-users mailing list