[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 Users
mailing list