<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I was able to add video to a non-video initiated call by using the <b style="font-size: 12px; ">sip_renegotiate_codec_on_reinvite</b> setting which ended up being elusive.<div><div><span class="Apple-style-span" style="font-size: 12px; "><br></span></div><div><span class="Apple-style-span" style="font-size: 12px; ">My understanding of this setting from reviewing the code, is:</span></div><div>- the default behavior of FS is that once the codec is negotiated, re-INVITEs skip the codec negotiation logic and only process changes in media IP/port/etc.</div><div>- by turning this setting on, every re-INVITE goes through the same codec negotiation logic as happens during the initial INVITE.</div><div><br></div><div>Hope this helps someone else too.</div><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><br class="Apple-interchange-newline">-Tyler<br></span></div>
<br><div><div>On Sep 27, 2011, at 2:58 PM, Tyler Winter wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi,<br><br>I'm trying to add video to a non-video initiated call. I should mention that I have no problems initiated and answering a call as video (using Bria softphone and H.264 codec). I captured several test calls to compare the SDP. I found that adding video doesn't work only when initiating the call as audio. In other words, I can initiate the call as video on the A-leg, and answer the call as audio on the B-leg and then add video on the B-leg and video starts working. I think problem is due to there being no fmtp "media attribute" on the 200 OK w/SDP response from FS to the A-leg when I initialize the call as audio, then add video to it.<br><br>I believe I narrowed down the problem to be the following:<br>- Caller (a-leg) initiated the call as audio.<br>- Callee (b-leg) answered the call as video<br>- Caller (a-leg) "adds" video which sends an INVITE to the switch to negotiate the video codecs<br>- FS responds to Caller (a-leg) with 200 OK (SDP) but the "fmtp" media attribute is missing. <br><br>On a working video call the fmtp attribute is appended to the SDP along with the rest of the video codec details. <br><br>Here's an example:<br><br>this is the INVITEs SDP information to FS from the caller (a-leg) on a working video call (initiated as video):<br>Media Description, name and address (m): video 55752 RTP/AVP 123 124<br>Bandwidth Information (b): TIAS:1574400<br>Media Attribute (a): rtpmap:123 H264/90000<br>Media Attribute (a): fmtp:123 profile-level-id=42801f;packetization-mode=0;level-asymmetry-allowed=1<br>Media Attribute (a): rtpmap:124 H264/90000<br>Media Attribute (a): fmtp:124 profile-level-id=42801f;packetization-mode=1;level-asymmetry-allowed=1<br>Media Attribute (a): sendrecv<br><br>200 OK from FS to the Caller (a-leg):<br>Media Description, name and address (m): video 16454 RTP/AVP 123<br>Media Attribute (a): rtpmap:123 H264/90000<br>Media Attribute (a): fmtp:123 profile-level-id=42801f;packetization-mode=0;level-asymmetry-allowed=1<br><br>Now, when I try to initiate a call as audio, then add video:<br><br>INVITE from the caller (a-leg) to FS ("adding" video during call):<br>Media Description, name and address (m): video 64698 RTP/AVP 123 124<br>Bandwidth Information (b): TIAS:1574400<br>Media Attribute (a): rtpmap:123 H264/90000<br>Media Attribute (a): fmtp:123 profile-level-id=42801f;packetization-mode=0;level-asymmetry-allowed=1<br>Media Attribute (a): rtpmap:124 H264/90000<br>Media Attribute (a): fmtp:124 profile-level-id=42801f;packetization-mode=1;level-asymmetry-allowed=1<br>Media Attribute (a): sendrecv<br><br>200 OK from FS to the caller (a-leg):<br>Media Description, name and address (m): video 23678 RTP/AVP 123<br>Media Attribute (a): rtpmap:123 H264/90000<br><br>So, it appears that the "fmtp" attribute is missing on the 200 OK response:<br>Media Attribute (a): fmtp:123 profile-level-id=42801f;packetization-mode=0;level-asymmetry-allowed=1<br><br>I can upload the captures somewhere if the full details will be helpful to anyone. If anyone has had any luck with this feature, I'm interested in how you accomplished it. I also tried using the setting "sip_force_video_fmtp" to no avail.<br><br>I appreciate any help.<br><br>Regards,<br><br>Tyler<br><br>FreeSWITCH-users mailing list<br><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>http://lists.freeswitch.org/mailman/listinfo/freeswitch-users<br>UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br>http://www.freeswitch.org<br><br><br></div></blockquote></div><br></div></body></html>