[OpenSIPS-Users] [nat_traversal] Replacement of bflag(NAT_CALLED) ?

Iñaki Baz Castillo ibc at aliax.net
Wed Nov 12 10:48:56 CET 2008


2008/11/12 Dan Pascu <dan at ag-projects.com>:

> As a side note, nat_traversal itself doesn't need that mechanism because
> it can figure out itself if a destination device is behind NAT and it
> needs to keep it alive during a call. So you only call nat_traversal()
> when you have a caller behind NAT that you want to keep reachable (for
> either REGISTER, SUBSCRIBE or INVITE sessions).

Could you explain it more? "nat_keepalive()" can be called just from
REQUEST_ROUTE, not in ON_REPLY_ROUTE.
If alice calls bob (who is registered behind NAT) the nat_traversal
was alreading mantaining the keepalive to bob after the REGISTER, but
anyway I need to fix the CONTACT in the 200 OK from bob (this can be
detected in ON_REPLY_ROUTE based on BFLAG_NAT_CALLED set or not during
bob registration, by doing "nat_test", by adding a Record-Route
paramenter in INVITE....).

But as far as I understand, nat_keepalive() has nothing to do in the
above, *except* mantaining the keepalive for bob since it is
registered behind NAT, but no more, did you mean other something
different?

Thanks.


-- 
Iñaki Baz Castillo
<ibc at aliax.net>


More information about the Users mailing list