On 11/4/13 4:47 PM, Alistair Cunningham wrote:
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?
Do you know if mysql accepts to set a timestamp column with a datetime value? I will look over the code to see if there are potential side effects and eventually some workarounds.
Cheers, Daniel