snprintf(str_lastms, sizeof(str_lastms), "%d", lastms);
snprintf(regseconds, sizeof(regseconds), "%d", (int)nowtime); /* Expiration time */
- ast_copy_string(ipaddr, ast_sockaddr_stringify_addr(addr), sizeof(ipaddr));
- ast_copy_string(port, ast_sockaddr_stringify_port(addr), sizeof(port));
+ ast_copy_string(ipaddr, ast_sockaddr_isnull(addr) ? "" : ast_sockaddr_stringify_addr(addr), sizeof(ipaddr));
+ ast_copy_string(port, ast_sockaddr_port(addr) ? ast_sockaddr_stringify_port(addr) : "", sizeof(port));
if (ast_strlen_zero(sysname)) /* No system name, disable this */
sysname = NULL;
if (!sip_cfg.ignore_regexpire) {
if (peer->rt_fromcontact && sip_cfg.peer_rtupdate) {
- ast_update_realtime(tablename, "name", peer->name, "fullcontact", "", "ipaddr", "", "port", "", "regseconds", "0", "regserver", "", "useragent", "", "lastms", "", SENTINEL);
+ ast_update_realtime(tablename, "name", peer->name, "fullcontact", "", "ipaddr", "", "port", "", "regseconds", "0", "regserver", "", "useragent", "", "lastms", "0", SENTINEL);
} else {
ast_db_del("SIP/Registry", peer->name);
ast_db_del("SIP/PeerMethods", peer->name);
allow character varying(200) DEFAULT '!all,g729,ilbc,gsm,ulaw,alaw',
musiconhold character varying(100),
regseconds bigint DEFAULT 0::bigint NOT NULL,
-ipaddr character varying(40) DEFAULT '' NOT NULL,
+ipaddr character varying(45) DEFAULT '' NOT NULL,
regexten character varying(80) DEFAULT '' NOT NULL,
cancallforward character varying(3) DEFAULT 'yes',
-lastms integer DEFAULT -1 NOT NULL
+lastms integer DEFAULT 0 NOT NULL,
+defaultuser character varying(80),
+fullcontact character varying(80),
+regserver character varying(30),
+useragent character varying(40)
);
drop table voicemail_users;