[asterisk-bugs] [JIRA] (ASTERISK-29963) res_rtp_asterisk: mapping->ssrc_invalid on unidirectional videostream after confbridge reinvite

Joshua C. Colp (JIRA) noreply at issues.asterisk.org
Thu Mar 10 05:14:07 CST 2022


    [ https://issues.asterisk.org/jira/browse/ASTERISK-29963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=258354#comment-258354 ] 

Joshua C. Colp commented on ASTERISK-29963:
-------------------------------------------

I attached the SIP trace, there is no need to embed it in the description.

> res_rtp_asterisk: mapping->ssrc_invalid on unidirectional videostream after confbridge reinvite
> -----------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29963
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29963
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_rtp_asterisk
>    Affects Versions: 18.8.0
>         Environment: Alma Linux 8, Chrome WebRTC with JsSIP
>            Reporter: Erik Bergschöld
>              Labels: webrtc
>         Attachments: sip.txt
>
>
> When a client joins a Confbridge and there is another participant in the conference already then the client get an INVITE from asterisk looking like this (see attached file)
> Asterisk will send the other participants video stream on the second video with ssrc=12683906 and everything is working with video and voice coming from and to both participants.
> The problem is when the client loses a packet and sends a NACK request to Asterisk, then asterisk is unable to map that rtcp instance to the sendonly stream since the mapping is marked as ssrc_invalid=0. Asterisk will then fail to map to the correct instance and try to act on the voice instance instead and write res_rtp_asterisk.c:6551 ast_rtcp_interpret: (0x7ff0c8083bc0) RTCP before handle NACK request, retransmissions are not enabled ignore this message!
> I can see by adding some extra logging in asterisk that the function ast_rtp_bundle sets the mapping.ssrc_valid=child_rtp->themssrc_valid wich in this case is 0 right after asterisk processes the sdp.
> It's possible to get retransmissions to work by changing this line in __rtp_find_instance_by_ssrc
> if (mapping->ssrc_valid && mapping_ssrc == ssrc) {
> to
> if (mapping_ssrc == ssrc) {



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list