[Home]

Summary:ASTERISK-14139: [patch] Video support in SIP channel driver appears to be totally broken
Reporter:Jared Smith (jsmith)Labels:
Date Opened:2009-05-15 11:52:14Date Closed:2009-08-10 09:15:32
Priority:MinorRegression?Yes
Status:Closed/CompleteComponents:Channels/chan_sip/Video
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) messages.txt
( 1) SDP_video_port.patch
( 2) sipdebug.txt
Description:I'm unable to get video working at all in either the 1.6.0 or 1.6.1 branches (latest SVN).

****** STEPS TO REPRODUCE ******

1. Install Asterisk
2. Configure a video device (I have both a Grandstream video phone and Eyebeam softphone)
3) Try to make a call involving video
4) Notice that video doesn't work

****** ADDITIONAL INFORMATION ******

I'm attaching a complete SIP trace from a call to the Echo() application, which works correctly (with video!) on the 1.4 branch.  What's interesting is that it shows at certain times that video is enabled and supported, but at other times it doesn't.

Once I've uploaded the log file, I'll add notes to point out lines in the debug file I think should be examined in further detail.
Comments:By: Jared Smith (jsmith) 2009-05-15 12:02:31

Some interesting line numbers to look at in the debug log I sent:

247: It shows that our combined codecs include h263, h263p, and h264
284: Still showing video codecs
285: Funny... why did ast_codec_choose choose *only* an audio codec?  Is this where the bug is?
316: Why is the Video flag set to false?
318: What is meant by "This call needs video offers!"
358: I'm not SDP expert, but is this showing the video port as port 0?

By: Jared Smith (jsmith) 2009-05-15 12:25:36

I just uploaded a patch that gets us *part* of the way there... I think this was a simply typo in the code, but I'm not sure.

I'm now able to get video working on the Grandstream, but haven't yet figured out what's happening on Eyebeam.

By: Jared Smith (jsmith) 2009-05-19 11:20:18

OK, so it appears my patch a bit hackish... let me explain why.

The reason why the RTP port was getting set to 0 was that the "needvideo" variable is being set in line 8352, but we're using its value before that in the call to get_our_media_address in line 8325.  My patch short-circuited the logic, but I think the real way to fix this will be to move the logic around the "needvideo" variable above the call to get_our_media_address.

I'll work on another (less hackish) patch.

By: Jared Smith (jsmith) 2009-05-19 11:20:43

(Sorry, those line numbers were on the 1.6.0 branch... in case someone goes looking.)

By: Ronald Chan (loloski) 2009-06-07 05:42:14

i can confirm this issue, today when i was testing SVN trunk for another issue before we decided to jump on 1.6.x i stumble upon this. videosupport was turn on on a per user basis and h263 and h263p codec was turn on respectively.

SVN-trunk-r199298M



In SVN 1.4 video support was working at x-lite UA.



By: Ronald Chan (loloski) 2009-06-07 05:46:39

I tried the attach patch above, patching is ok but compiling is a bit way off maybe because i'm in trunk and the patch is for 1.6.0 branch.

By: Malcolm Davenport (mdavenport) 2009-06-09 13:54:01

Issue confirmed here, too.  I independently arrived at the same conclusion when debugging a no-video issue with some video phones.  Issue affects 1.6.1 branch, 1.6.2 branch, and trunk.  Haven't checked into 1.6.0 as 1.6.0.1 release is not affected.

By: Leif Madsen (lmadsen) 2009-06-11 09:38:17

Sorry, I'm unassigning this from myself since I don't really have any good way to test this, and since a couple others have already verified jsmith's conclusion (which was what I was going to do), there isn't much point in it sitting in an Assigned state.

Status changed to Acknowledged.

By: Alex Richardson (alexrch) 2009-07-06 06:52:23

Video is not working even with the jsmith's patch applied. Please see messages.txt for SIP log.

By: Malcolm Davenport (mdavenport) 2009-07-06 10:05:19

Howdy,

alexrch:

That's because the endpoint you're calling is a Polycom VVX1500, which doesn't interoperate with video and Asterisk presently.

Cheers.

By: Alex Richardson (alexrch) 2009-07-07 02:24:17

Thanks for the info malcolmd. So, contacting Polycom support should be my next step, right? Or is it *'s fault? Thanks!

By: Malcolm Davenport (mdavenport) 2009-07-07 08:30:22

Howdy,

Polycom support isn't going to be able to assist you on this one.  The root of the matter is that Asterisk's media negotiation is incomplete in that it doesn't understand the additional fmtp parameter that is related to the H.263P SDP element.  

This bug (15121) in particular is still valid for 1.6.1/2/trunk as the second leg of the call has its video destination improperly negotiated.  

For your case, you're better off with a feature request on the Asterisk side.

By: Alex Richardson (alexrch) 2009-07-07 08:45:25

Hi malcolmd,

You were right about Polycom support. Their reply to this issue was: "Those platform [Asterisk] are not supported with VVx 1500. please click on the link below to see what platform is supported. http://www.polycom.com/global/documents/partners_alliances/channel_partners/partner_programs/voip_interoperability_partner_program/polycom_voip_partner_interoperability_matrix.pdf."

I will post a feature request on the Asterisk side. Cheers for everything!

By: Digium Subversion (svnbot) 2009-08-10 09:08:06

Repository: asterisk
Revision: 211347

U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r211347 | file | 2009-08-10 09:08:06 -0500 (Mon, 10 Aug 2009) | 5 lines

Fix retrieval of the port used for the video stream when adding SDP to a SIP message.

(closes issue ASTERISK-14139)
Reported by: jsmith

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=211347

By: Digium Subversion (svnbot) 2009-08-10 09:10:29

Repository: asterisk
Revision: 211348

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_sip.c

------------------------------------------------------------------------
r211348 | file | 2009-08-10 09:10:29 -0500 (Mon, 10 Aug 2009) | 12 lines

Merged revisions 211347 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r211347 | file | 2009-08-10 11:07:44 -0300 (Mon, 10 Aug 2009) | 5 lines
 
 Fix retrieval of the port used for the video stream when adding SDP to a SIP message.
 
 (closes issue ASTERISK-14139)
 Reported by: jsmith
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=211348

By: Digium Subversion (svnbot) 2009-08-10 09:12:40

Repository: asterisk
Revision: 211349

_U  branches/1.6.1/
U   branches/1.6.1/channels/chan_sip.c

------------------------------------------------------------------------
r211349 | file | 2009-08-10 09:12:40 -0500 (Mon, 10 Aug 2009) | 12 lines

Merged revisions 211347 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r211347 | file | 2009-08-10 11:07:44 -0300 (Mon, 10 Aug 2009) | 5 lines
 
 Fix retrieval of the port used for the video stream when adding SDP to a SIP message.
 
 (closes issue ASTERISK-14139)
 Reported by: jsmith
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=211349

By: Digium Subversion (svnbot) 2009-08-10 09:15:30

Repository: asterisk
Revision: 211350

_U  branches/1.6.2/
U   branches/1.6.2/channels/chan_sip.c

------------------------------------------------------------------------
r211350 | file | 2009-08-10 09:15:30 -0500 (Mon, 10 Aug 2009) | 12 lines

Merged revisions 211347 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r211347 | file | 2009-08-10 11:07:44 -0300 (Mon, 10 Aug 2009) | 5 lines
 
 Fix retrieval of the port used for the video stream when adding SDP to a SIP message.
 
 (closes issue ASTERISK-14139)
 Reported by: jsmith
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=211350