--- channels/chan_sip.c (Asterisk 13.38.0) +++ channels/chan_sip.c (working copy) @@ -3796,7 +3796,10 @@ static int __sip_xmit(struct sip_pvt *p, static void build_via(struct sip_pvt *p) { /* Work around buggy UNIDEN UIP200 firmware */ - const char *rport = (ast_test_flag(&p->flags[0], SIP_NAT_FORCE_RPORT) || ast_test_flag(&p->flags[0], SIP_NAT_RPORT_PRESENT)) ? ";rport" : ""; + const char *rport = (p->socket.type == AST_TRANSPORT_UDP && + (ast_test_flag(&p->flags[0], SIP_NAT_FORCE_RPORT) || + ast_test_flag(&p->flags[0], SIP_NAT_RPORT_PRESENT))) + ? ";rport" : ""; /* z9hG4bK is a magic cookie. See RFC 3261 section 8.1.1.7 */ snprintf(p->via, sizeof(p->via), "SIP/2.0/%s %s;branch=z9hG4bK%08x%s",