Hi Brian, [email protected] wrote: > Hello Bogdan, > > An lun., févr 08, 2010, Bogdan-Andrei Iancu schrieb: > >> [email protected] wrote: >> >>> Thinking today about why my messages are sometimes routed to >>> nonexistent TCP endpoints, I came upon the following idea: >>> >>> It seems that if the usrloc db_mode is anything but 0, >>> then TCP AORs could be read from the database after a >>> crash. This can't work because once OpenSIPS stops, >>> the TCP connections are destroyed. They aren't reusable >>> again, because routers and firewalls would block the >>> connections that OpenSIPS tries to reestablish. >>> >>> First of all, is that right? >>> >>> >> That is correct. >> >> >>> If so, then for what reason are the db_modes 1, 2, and 3 >>> even useful at all? For UDP-only systems, right? >>> >>> >> not really. Even if the TCP conn is lost while the registration >> still valid, the conn can be re-established from the client side >> (like the client placing a call). >> >> > I tested this and at least with my routers when a TCP connection > to OpenSIPS is lost the NAT binding is destroyed. Should the UAC > place a call once OpenSIPS is started again, a new TCP connection > is created with a new NAT binding and a different outgoing TCP port. > yes, it may depend on the policy of the NAT device - but it is true, it may work or not > That means that should OpenSIPS reuse the old TCP port from the > registration in usrloc, then it could send for example a NOTIFY > to the wrong place, right? > not really - the TCP conn reusage is done based on destination - when opensips needs to send via TCP to IP:port, it looks through all existing connections if there is one pointing to IP:port -> if found, it will use that one. Otherwise, it will try to open a new one. > By the way, I set db_mode to 0 to avoid this problem. The location > table in db_text is still being populated when save() is called. > Doesn't the db_mode '0' parameter of usrloc mean that nothing will > be written to the database when save() is called? > in mode 0 there is not interaction with the DB (neither read, not write)..
Regards, Bogdan > Regards, > Brian > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > -- Bogdan-Andrei Iancu www.voice-system.ro _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
