Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 101224) +++ channels/chan_sip.c (arbetskopia) @@ -9518,6 +9518,7 @@ ast_string_field_set(p, peermd5secret, peer->md5secret); ast_string_field_set(p, language, peer->language); ast_string_field_set(p, accountcode, peer->accountcode); + p->peerauth = peer->auth; p->amaflags = peer->amaflags; p->callgroup = peer->callgroup; p->pickupgroup = peer->pickupgroup; @@ -11488,7 +11489,9 @@ snprintf(cnonce, sizeof(cnonce), "%08lx", ast_random()); /* Check if we have separate auth credentials */ - if ((auth = find_realm_authentication(authl, p->realm))) { + if (p->peerauth) + auth = find_realm_authentication(p->peerauth, p->realm); + if (auth || (auth = find_realm_authentication(authl, p->realm))) { ast_log(LOG_WARNING, "use realm [%s] from peer [%s][%s]\n", auth->username, p->peername, p->username); username = auth->username;