[OpenSIPS-Devel] nat_traversal:get_register_expire: maximum expire for all contacts: 200

Dan Pascu dan at ag-projects.com
Fri Dec 5 18:24:59 CET 2008


On Friday 05 December 2008, Iñaki Baz Castillo wrote:
> El Viernes, 5 de Diciembre de 2008, Iñaki Baz Castillo escribió:
> > El Viernes, 5 de Diciembre de 2008, Iñaki Baz Castillo escribió:
> > > *********
> > > Dec  5 16:34:24 stock /usr/sbin/opensips[14847]:
> > > DBG:nat_traversal:get_register_expire: maximum expire for all
> > > contacts: 200 Dec  5 16:34:24 stock /usr/sbin/opensips[14847]:
> > > DBG:sl:sl_reply_error: error text is Server error occurred (1/SL)
> > > *********
> > >
> > > Why does it occur?
> >
> > Oh my god!, I've realized that the REGISTER is correctly replied with
> > 200 but after the 200 a 500 arrives !!!  Impossible !!
>
> [...]
>
> > Also, note that the 500 has a Contact header, the same as the 200 OK
> > !!!!!!!!!
>
> But note the above SIP flow is TCP, and I don't run "keep_alive()" when
> the REGISTER comes vua TCP (since it's useless). So it has nothing to
> do with "nat_traversal" module.
>
> The above message about nat_traversal module is related to a UDP
> registration (so in this case keep_alive() is runned), but the result
> is the same: 500 after 200 sharing Contact header :(

Keep in mind that the nat_traversal module will only process 2xx answers 
when deciding to keepalive a destination. Any other response class is 
ignored. So in your case (but only when over UDP), the 200 OK will 
trigger the nat_traversal module to add that endpoint to the keepalive 
list, but the next 500 will be ignored.

-- 
Dan



More information about the Devel mailing list