--- asterisk/channels/chan_sip.c.original 2014-02-12 15:51:34.341036111 +0400 +++ asterisk/channels/chan_sip.c 2014-02-18 13:18:08.949406126 +0400 @@ -18196,7 +18196,7 @@ ast_string_field_set(p, peersecret, NULL); ast_string_field_set(p, peermd5secret, NULL); } - if (!(res = check_auth(p, req, peer->name, p->peersecret, p->peermd5secret, sipmethod, uri2, reliable))) { + if (!(res = check_auth(p, req, ast_strlen_zero(peer->fromuser) ? peer->name : peer->fromuser, p->peersecret, p->peermd5secret, sipmethod, uri2, reliable))) { /* If we have a call limit, set flag */ if (peer->call_limit) ast_set_flag(&p->flags[0], SIP_CALL_LIMIT);