How to upgrade to video from audio-only call

Is there a specific configuration needed in sip.conf or pjsip.conf (or elsewhere in config files) to allow endpoints to upgrade an established audio only call to a call with audio and video? If a video call is started immediately when offered in an initial INVITE, everything works fine with two way video. However, my attempts to upgrade an established call from audio only to audio/video in a re-INVITE have experienced the following issues:

When I try to do this with Asterisk 11.24.1 using chan_sip, Asterisk responds to the new INVITE with a 200OK including SDP with only this line as regards video

m=video 0 RTP/AVP 127 126

This effectively rejects the attempt to upgrade to a video call. The INVITE is not passed on to the remote endpoint. I’ve tried with video_support=yes and video_support=always, to the same effect.

I also thought I’d try giving it a go with Asterisk 14.4.0 using pjsip as well. The behaviour with pjsip is different from chan_sip but still not right. Asterisk does respond to the upgrade to video INVITE with a 200OK including appropriate SDP for a video call, but it also doesn’t pass on said INVITE to the remote endpoint, so the other endpoint never gets notified that an upgrade to video has been requested (notifying user to take action). If the other endpoint also upgrades to video and sends an INVITE to Asterisk as well, the video component of the call will then function, but this isn’t ideal.

Am I missing some configuration items to get this working, or is this a problem with the SIP implementations for making an upgrade to audio/video from audio only in Asterisk?

1 Like

This is a problem with the core itself, which is being worked on for Asterisk 15. It will be improved then to work as you’d expect.

2 Likes

Thanks very much for the answer! I tried searching quite a bit for info as regards this elsewhere, but my searching skills may be supbar.

Hey guys, I am using Asterisk 12.8.2 and I also encountered this problem and tried a lot to figure it out. Obviously I failed. But I found something interesting, when I enabled the directmedia and let the peers(see peer A and peer B) to be connected directly, then Asterisk can redirect the INVITE to peer B which from peer A. Seems asterisk can send re-INVITE. I found this when I use wireshark to analyze the call flow.

The INVITE is a completely new INVITE; it is not redirected. What directmedia does is, if a number of conditions are fulfilled, it causes the SDP in the opposing Re-INVITE to contain the RTP address and port of the current side, rather than those for Asterisk.

Well, what I want to say is after the call is established I let peer A to send an INVITE which contian a new SDP(information about audio and video) to asterisk, then asterisk also send an INVITE to peer B but this INVITE only contain the information about audio. So the call between A and B can not upgrade to video.

PS: sorry for my poor english hope you guys can understand what I said. :slight_smile:

I believe upgrading is not supported for established calls.

I do not recall which version specifically resolved this issue, but it was back in 15.x at some point. This should be considered resolved, and anybody who views this thread should know that if you have a later release of 15 or if you use 16 then this is a non-issue.