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).



_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to