@ -11796,7 +11796,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
char tmp [ 80 ] ;
char tmp [ 80 ] ;
char addr [ 80 ] ;
char addr [ 80 ] ;
struct sip_pvt * p ;
struct sip_pvt * p ;
struct sip_peer * peer ;
struct sip_peer * peer = NULL ;
int res ;
int res ;
/* exit if we are already in process with this registrar ?*/
/* exit if we are already in process with this registrar ?*/
@ -11813,7 +11813,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
snprintf ( transport , sizeof ( transport ) , " _sip._%s " , get_transport ( r - > transport ) ) ; /* have to use static get_transport function */
snprintf ( transport , sizeof ( transport ) , " _sip._%s " , get_transport ( r - > transport ) ) ; /* have to use static get_transport function */
ast_dnsmgr_lookup ( peer ? peer - > tohost : r - > hostname , & r - > us , & r - > dnsmgr , sip_cfg . srvlookup ? transport : NULL ) ;
ast_dnsmgr_lookup ( peer ? peer - > tohost : r - > hostname , & r - > us , & r - > dnsmgr , sip_cfg . srvlookup ? transport : NULL ) ;
if ( peer ) {
if ( peer ) {
unref_peer ( peer , " removing peer ref for dnsmgr_lookup " ) ;
peer = unref_peer ( peer , " removing peer ref for dnsmgr_lookup " ) ;
}
}
}
}
@ -11828,8 +11828,6 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
}
}
} else {
} else {
/* Build callid for registration if we haven't registered before */
/* Build callid for registration if we haven't registered before */
struct sip_peer * peer = NULL ;
if ( ! r - > callid_valid ) {
if ( ! r - > callid_valid ) {
build_callid_registry ( r , internip . sin_addr , default_fromdomain ) ;
build_callid_registry ( r , internip . sin_addr , default_fromdomain ) ;
r - > callid_valid = TRUE ;
r - > callid_valid = TRUE ;
@ -11846,6 +11844,8 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char *
if ( ! ast_strlen_zero ( r - > peername ) ) {
if ( ! ast_strlen_zero ( r - > peername ) ) {
if ( ! ( peer = find_peer ( r - > peername , NULL , 1 , FINDPEERS , FALSE , 0 ) ) ) {
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 ) ;
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() */
ref_proxy ( p , obproxy_get ( p , peer ) ) ; /* it is ok to pass a NULL peer into obproxy_get() */