1 | | When we send SDP offer with multiple m= lines (e.g. one for audio and another for video), some user agents send response with only one m= line (e.g. just audio). This understandably will cause SDP negotiation to fail since the remote behavior is not compliant with RFC 3264. |
2 | | |
3 | | However it may be better to handle this situation to promote more interoperability. |
| 1 | Accept the following non-standard scenarios in the SDP negotiator: |
| 2 | 1. Receiving answer with non-matching media lines (e.g. offer has m=audio and m=video lines, and answer only has m=audio line). In this case set the unmatched local media line with port zero. |
| 3 | 1. Generating subsequent offer using {{{sdp_neg_modify_local_offer()}}} with non-matching media lines (e.g. current/active SDP's have m=audio and m=video lines, and the new offer only has m=audio line). In this case, the negotiator will fix the new offer by adding the missing media line, with port number set to zero. Also the negotiator will overwrite the session ID and version number in the SDP origin field to make sure that the session ID stays the same and version number has been increased. |