Index: channels/chan_sip.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v retrieving revision 1.814 diff -u -r1.814 chan_sip.c --- channels/chan_sip.c 23 Aug 2005 17:59:26 -0000 1.814 +++ channels/chan_sip.c 24 Aug 2005 06:50:13 -0000 @@ -1014,7 +1014,7 @@ struct sip_history *hist, *prev; char *c; - if (!recordhistory) + if (!recordhistory || !p) return 0; if(!(hist = malloc(sizeof(struct sip_history)))) { ast_log(LOG_WARNING, "Can't allocate memory for history"); @@ -4743,7 +4743,7 @@ if (!r) return 0; - if (recordhistory) { + if (r->call && recordhistory) { char tmp[80]; snprintf(tmp, sizeof(tmp), "Account: %s@%s", r->username, r->hostname); append_history(r->call, "RegistryRenew", tmp); @@ -4755,7 +4755,7 @@ r->expire = -1; __sip_do_register(r); - ASTOBJ_UNREF(r,sip_registry_destroy); + ASTOBJ_UNREF(r, sip_registry_destroy); return 0; } @@ -4763,7 +4763,8 @@ static int __sip_do_register(struct sip_registry *r) { int res; - res=transmit_register(r, SIP_REGISTER, NULL, NULL); + + res = transmit_register(r, SIP_REGISTER, NULL, NULL); return res; }