Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 230380) +++ channels/chan_sip.c (working copy) @@ -9126,6 +9126,10 @@ res = AUTH_PEER_NOT_DYNAMIC; } else { ast_copy_flags(&p->flags[0], &peer->flags[0], SIP_NAT); + if ((ast_test_flag(&p->flags[0], SIP_NAT) & SIP_NAT_RFC3581) && ast_test_flag(&p->flags[1], SIP_PAGE2_RPORT_PRESENT)) { + ast_set_flag(&p->flags[0], SIP_NAT_ROUTE); + } + transmit_response(p, "100 Trying", req); if (!(res = check_auth(p, req, peer->name, peer->secret, peer->md5secret, SIP_REGISTER, uri, XMIT_UNRELIABLE, ast_test_flag(req, SIP_PKT_IGNORE)))) { if (sip_cancel_destroy(p))