From: Torrey Searle Date: Fri, 6 Mar 2020 16:13:34 +0000 (+0100) Subject: res_rtp_asterisk: Send correct sender SSRC when p2p bridge in use X-Git-Tag: 16.10.0-rc1~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2ba1919e636010ad80a84d4b40015a68adf7945;p=thirdparty%2Fasterisk.git res_rtp_asterisk: Send correct sender SSRC when p2p bridge in use bridge_p2p_rtp_write will forward rtp to the bridged rtp instance without modifying the ssrc. However, it is not updating the SSRC in the bridged rtp. Thus, when SSRC packets are generated, they have the correct SSRC for the sender. ASTERISK-28773 #close Change-Id: I39f923bde28ebb4f0fddc926b92494aed294a478 --- diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 4705e929ef..366539f9fe 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -6604,6 +6604,11 @@ static int bridge_p2p_rtp_write(struct ast_rtp_instance *instance, reconstruct |= (mark << 23); rtpheader[0] = htonl(reconstruct); + if (mark) { + /* make this rtp instance aware of the new ssrc it is sending */ + bridged->ssrc = ntohl(rtpheader[2]); + } + /* Send the packet back out */ res = rtp_sendto(instance1, (void *)rtpheader, len, 0, &remote_address, &ice); if (res < 0) {