[sr-dev] Safe to change expires column in location table to type timestamp?

Alistair Cunningham acunningham at integrics.com
Mon Nov 4 16:47:50 CET 2013


Over the weekend, one of our customers in the USA suffered a mass 
de-registration of handsets during the daylight saving change. After one 
registration interval, they all re-registered, but inbound calls failed 
for one full registration interval of each handset.

The same customer had this happen last year when they were running 
OpenSIPS. At that time, it was determined by the OpenSIPS developers 
that the problem was that the "expires" column in the location table 
(stored in MySQL, with db_mode 3) was of type "datetime", which does not 
handle daylight saving changes gracefully. They suggested changing the 
db_mode, but this isn't an option because other software reads the 
location table in real time to decide which SIP proxy machine the 
handset is registered to. We discussed changing this column (and 
last_modified which is also a datetime) to type "timestamp", but our 
customer switched to Kamailio before we could make a final decision on this.

My question is therefore: can we safely do a MySQL "alter table" command 
to change these two columns to timestamps so that this problem won't 
happen again next year?

-- 
Alistair Cunningham
+1 888 468 3111
+44 20 799 39 799
http://integrics.com/



More information about the sr-dev mailing list