[asterisk-bugs] [JIRA] (ASTERISK-29907) app_confbridge: Video call through ConfBridge with normal endpoints causes infinite loop/crash

N A (JIRA) noreply at issues.asterisk.org
Wed Feb 9 11:44:06 CST 2022


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

N A commented on ASTERISK-29907:
--------------------------------

Just an observation, the problem area in the code is right around here: https://github.com/asterisk/asterisk/blob/726d6dd166e65ce043d42df0ebb96e1e3b5495cb/channels/chan_pjsip.c

The fact that it says this right before the bad branch seems concerning:

/* FIXME: Only use this for VP8. Additional work would have to be done to
				 * fully support other video codecs */

Unfortunately, I have no way of testing anything but H264 on an end-to-end basis.

I would think as h264 is there it would take the true branch but apparently it is taking the false branch because that is what produces the infinite XML.
And then somehow, it's doing that over and over again.

> app_confbridge: Video call through ConfBridge with normal endpoints causes infinite loop/crash
> ----------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29907
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29907
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_confbridge
>    Affects Versions: 18.9.0
>         Environment: Debian 10
>            Reporter: N A
>            Assignee: Unassigned
>
> Something seems to be very wrong with the bridging logic for handing video calls.
> When making a direct call between two endpoints, including going through local channels, all seems well.
> However, when a call is made and originated into a ConfBridge with video, Asterisk enters an infinite loop processing video updates (or something) and crashes within 5-10 seconds. Sometimes if it takes longer to crash, you'll start seeing "Extremely long queue length queueing to..." messages before it actually crashes.
> Softphone used for testing is MicroSIP on both ends.
> Call is made between two PJSIP endpoints on the same system.
> Issue replicates 100% of the time, even with just two endpoints involved on an otherwise idle system. Infinite loop of media updates, followed by a crash.
> No issues when not using ConfBridge. No issues when failing to specify the h264 codec in Originate, which causes video call to fail and use audio only. No issues when using audio only, no video.
> It almost *seems* like somehow the conf bridge is not handling something right and is causing something to bounce around and go back and forth forever.
> Culprit seems to be hundreds/thousands of these bouncing around: Content-Type: application/media_control+xml
> Debug attached, providing an example of the infinite loop: https://paste.interlinked.us/xsr1mtgc6r.txt
> Additionally, here is a SIP debug from the perspective of the called line during all of this (different call but same thing): https://paste.interlinked.us/hky3ws7o3w.txt



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



More information about the asterisk-bugs mailing list