Issue #8600 - bogus SDP Content Length in T.38 re-invite
[asterisk/asterisk.git] / channels / chan_sip.c
index b02d0a7..2d4ab86 100644 (file)
@@ -6113,8 +6113,9 @@ static int add_t38_sdp(struct sip_request *resp, struct sip_pvt *p)
        ast_build_string(&a_modem_next, &a_modem_left, "a=T38FaxMaxDatagram:%d\r\n",x);
        if (p->t38.jointcapability != T38FAX_UDP_EC_NONE)
                ast_build_string(&a_modem_next, &a_modem_left, "a=T38FaxUdpEC:%s\r\n", (p->t38.jointcapability & T38FAX_UDP_EC_REDUNDANCY) ? "t38UDPRedundancy" : "t38UDPFEC");
+       len = strlen(v) + strlen(s) + strlen(o) + strlen(c) + strlen(t);
        if (p->udptl)
-               len = strlen(m_modem) + strlen(a_modem);
+               len += strlen(m_modem) + strlen(a_modem);
        add_header(resp, "Content-Type", "application/sdp");
        add_header_contentLength(resp, len);
        add_line(resp, v);