diff -Nurp -x .svn a/channels/chan_sip.c b/channels/chan_sip.c --- a/channels/chan_sip.c 2009-09-24 11:06:59.705767833 -0400 +++ b/channels/chan_sip.c 2009-09-24 11:08:38.615770162 -0400 @@ -11804,6 +11804,8 @@ static int transmit_register(struct sip_ if (!ast_strlen_zero(r->peername)) { if (!(peer = find_peer(r->peername, NULL, 1, FINDPEERS, FALSE, 0))) { ast_log(LOG_WARNING, "Could not find peer %s in transmit_register\n", r->peername); + } else { + p->peerauth = peer->auth; } } ref_proxy(p, obproxy_get(p, peer)); /* it is ok to pass a NULL peer into obproxy_get() */