Summary: | ASTERISK-28528: Local channel video stream broken with ConfBridge and first_marked=yes | ||
Reporter: | Yuuki Hogo (yuuki) | Labels: | pjsip |
Date Opened: | 2019-09-06 10:26:45 | Date Closed: | |
Priority: | Major | Regression? | Yes |
Status: | Open/New | Components: | Channels/chan_local |
Versions: | 16.2.1 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | Debian10@amd64 | Attachments: | |
Description: | It was working on 13.14.1, do not on 16.2.1
Tried using chan_pjsip and chan_sip. Video support enabled in sip.conf. confbridge.conf: {noformat} [user_marked] type=user marked=yes startmuted=no quiet=yes [default_user] type=user marked=no quiet=yes wait_marked=yes end_marked=yes [default_bridge] type=bridge video_mode=first_marked {noformat} extensions.conf: {noformat} [recorder] exten => _X.,1,Record(/tmp/ast.wav,,10,qkxu) [local] exten => _0X.,1,Originate(Local/${CALLERID(num)}-${EXTEN}@recorder/n,app,ConfBridge,${CALLERID(num)},,180,a) same => n,ConfBridge(${CALLERID(num)},,user_marked) {noformat} asterisk -r: {noformat} > core show channel SIP/12323924-00000002 -- General -- Name: SIP/12323924-00000002 Type: SIP UniqueID: 1567783023.16 LinkedID: 1567783023.16 Caller ID: 12323924 Caller ID Name: P-1-1-1 Connected Line ID: (N/A) Connected Line ID Name: (N/A) Eff. Connected Line ID: (N/A) Eff. Connected Line ID Name: (N/A) DNID Digits: 049035 Language: ru State: Up (6) NativeFormats: (h264|ulaw) WriteFormat: slin ReadFormat: slin WriteTranscode: Yes (slin@8000)->(ulaw@8000) ReadTranscode: Yes (ulaw@8000)->(slin@8000) Time to Hangup: 1567783203 Elapsed Time: 0h0m2s Bridge ID: 5eb24dbf-5f03-43de-a010-5b2559820df5 -- PBX -- Context: local Extension: 049035 Priority: 7 Call Group: 0 Pickup Group: 0 Application: ConfBridge Data: "12323924",,user_marked Call Identifer: [C-00000003] Variables: BRIDGEPEER=CBAnn/12323924-00000005;2,Local/12323924-049035@recorder-00000004;1 ORIGINATE_STATUS=SUCCESS CONFBRIDGE_ID=12323924 SIPCALLID=23776843 SIPDOMAIN=asterisk SIPURI=sip:12323924@172.19.89.68:5060 CDR Variables: level 1: dnid=049035 level 1: clid="P-1-1-1" <12323924> level 1: src=12323924 level 1: dst=049035 level 1: dcontext=local level 1: channel=SIP/12323924-00000002 level 1: dstchannel=Local/12323924-049035@recorder-00000004;1 level 1: lastapp=ConfBridge level 1: lastdata="12323924",,user_marked level 1: start=1567783023.242143 level 1: answer=1567783023.242750 level 1: end=0.000000 level 1: duration=2 level 1: billsec=2 level 1: disposition=1 level 1: amaflags=3 level 1: uniqueid=1567783023.16 level 1: linkedid=1567783023.16 level 1: sequence=6 -- Streams -- Name: audio Type: audio State: sendrecv Group: -1 Formats: (ulaw) Metadata: Name: video Type: video State: sendrecv Group: -1 Formats: (h264) Metadata: {noformat} {noformat} *CLI> core show channel Local/12323924-049035@recorder-00000004;1 -- General -- Name: Local/12323924-049035@recorder-00000004;1 Type: Local UniqueID: 1567783023.17 LinkedID: 1567783023.17 Caller ID: (N/A) Caller ID Name: (N/A) Connected Line ID: (N/A) Connected Line ID Name: (N/A) Eff. Connected Line ID: (N/A) Eff. Connected Line ID Name: (N/A) DNID Digits: (N/A) Language: en State: Up (6) NativeFormats: (slin192) WriteFormat: slin ReadFormat: slin WriteTranscode: Yes (slin@8000)->(slin@192000) ReadTranscode: Yes (slin@192000)->(slin@8000) Time to Hangup: 0 Elapsed Time: 0h0m7s Bridge ID: 5eb24dbf-5f03-43de-a010-5b2559820df5 -- PBX -- Context: recorder Extension: 12323924-049035 Priority: 1 Call Group: 0 Pickup Group: 0 Application: ConfBridge Data: 12323924 Call Identifer: [C-00000003] Variables: BRIDGEPEER=CBAnn/12323924-00000005;2,SIP/12323924-00000002 CDR Variables: level 1: clid="" <> level 1: dst=12323924-049035 level 1: dcontext=recorder level 1: channel=Local/12323924-049035@recorder-00000004;1 level 1: lastapp=ConfBridge level 1: lastdata=12323924 level 1: start=1567783023.276959 level 1: answer=1567783023.277470 level 1: end=1567783023.278203 level 1: duration=0 level 1: billsec=0 level 1: disposition=8 level 1: amaflags=3 level 1: uniqueid=1567783023.17 level 1: linkedid=1567783023.17 level 1: sequence=7 -- Streams -- Name: audio Type: audio State: sendrecv Group: -1 Formats: (slin192) Metadata: {noformat} {noformat} *CLI> core show channel Local/12323924-049035@recorder-00000004;2 -- General -- Name: Local/12323924-049035@recorder-00000004;2 Type: Local UniqueID: 1567783023.18 LinkedID: 1567783023.17 Caller ID: 12323924 Caller ID Name: (N/A) Connected Line ID: (N/A) Connected Line ID Name: (N/A) Eff. Connected Line ID: (N/A) Eff. Connected Line ID Name: (N/A) DNID Digits: (N/A) Language: en State: Up (6) NativeFormats: (slin192) WriteFormat: slin192 ReadFormat: slin192 WriteTranscode: No ReadTranscode: No Time to Hangup: 0 Elapsed Time: 0h0m8s Bridge ID: (Not bridged) -- PBX -- Context: recorder Extension: 12323924-049035 Priority: 7 Call Group: 0 Pickup Group: 0 Application: Record Data: /tmp/ast.wav,,10,qkxu Call Identifer: [C-00000003] Variables: RECORDED_FILE=/tmp/ast SYSTEMSTATUS=SUCCESS dest=049035 cid=12323924 CDR Variables: level 1: clid="" <12323924> level 1: src=12323924 level 1: dst=12323924-049035 level 1: dcontext=recorder level 1: channel=Local/12323924-049035@recorder-00000004;2 level 1: lastapp=Record level 1: lastdata=/tmp/ast.wav,,10,qkxu level 1: start=1567783023.277021 level 1: answer=1567783023.277449 level 1: end=0.000000 level 1: duration=8 level 1: billsec=8 level 1: disposition=1 level 1: amaflags=3 level 1: uniqueid=1567783023.18 level 1: linkedid=1567783023.17 level 1: sequence=8 -- Streams -- Name: audio Type: audio State: sendrecv Group: -1 Formats: (slin192) Metadata: *CLI> {noformat} | ||
Comments: | By: Asterisk Team (asteriskteam) 2019-09-06 10:26:46.197-0500 Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report. Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process]. Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur. By: Kevin Harwell (kharwell) 2019-09-09 18:04:50.894-0500 Please attach your pjsip.conf, or relevant information from it. Such as endpoint, aor, and transport configuration sections. Also you've stated the video stream is broken, but how so? Is there no video when video is expected? Does video occur, but suddenly stop? By: Yuuki Hogo (yuuki) 2019-09-10 03:08:45.879-0500 We use chan_sip with realtime. While researching the issue, I switched a test environment from chan_sip to chan_pjsip to be sure it is not related to a SIP channel in use. The issue persisted - while video stream is in a SIP channel, there is no such in a Local channel joined ConfBridge using Originate(). While marked user is in a ConfBridge, inviting other calling party to same ConfBridge using a SIP channel, video stream appears on a SIP channel of this calling party and works as intended. I stated a video stream is broken meaning a video stream is absent at all in a Local channel after Originate(Local/...,ConfBridge) followed by ConfBridge() of a calling party. Record() produces no .h264 video at all on 16 version, but it is there with asterisk 13 on an absolutely same setup and configuration. Maybe I'm wrong, but I guess it is somehow related to an order in which a channels join ConfBridge. Since a Local channel joins ConfBridge before a video source (marked user) joined it, it can be possible a Local channel not updated with a new stream list upon appearance of a video source. By: Kevin Harwell (kharwell) 2019-09-10 14:36:22.229-0500 I was able to duplicate using the configuration above, and configuring a pjsip endpoint with video capabilities. It appears video is not being recorded in Asterisk 16 in this scenario at least. By: Yuuki Hogo (yuuki) 2019-09-11 02:01:41.521-0500 Example in the bug report is for ease to describe. If you replace Record() with Dial(SIP/...) you will notice same issue although there is a video stream in an outbound SIP channel and a video description in outbound SIP INVITE SDP is there and it is correct. |