res_pjsip_sdp_rtp: No rtpmap for static RTP payload IDs in SDP.

This saves around 100 bytes when G.711, G.722, G.729, and GSM are advertised in
SDP. This reduces the chance to hit the MTU bearer of 1300 bytes for SIP over
UDP, if many codecs are allowed in Asterisk. This new feature is enabled
together with the optional feature compact_headers=yes via the file pjsip.conf.

ASTERISK-26932 #close

Change-Id: Iaa556ab4c8325cd34c334387ab2847fab07b1689
This commit is contained in:
Alexander Traud
2017-04-10 12:13:39 +02:00
parent 62386dd1df
commit 72c5f3b0ba
4 changed files with 26 additions and 15 deletions

View File

@@ -13097,7 +13097,7 @@ static void add_codec_to_sdp(const struct sip_pvt *p,
/* Opus mandates 2 channels in rtpmap */
if (ast_format_cmp(format, ast_format_opus) == AST_FORMAT_CMP_EQUAL) {
ast_str_append(a_buf, 0, "a=rtpmap:%d %s/%u/2\r\n", rtp_code, mime, rate);
} else if ((35 <= rtp_code) || !(sip_cfg.compactheaders)) {
} else if ((AST_RTP_PT_LAST_STATIC < rtp_code) || !(sip_cfg.compactheaders)) {
ast_str_append(a_buf, 0, "a=rtpmap:%d %s/%u\r\n", rtp_code, mime, rate);
}