我正在使用JSSIP来实现WebRTC电话,当视频呼叫进来时我遇到了麻烦(SDP包含m=video)。我希望创建的 SDP 仅包含音频,而不是 m=video。但 createAnswer sdp 始终包含 m=video 和 a=recvonly。
一些 SIP 电话(例如 MicroSIP 和 Linphone)只能通过音频应答。 是否没有 api 可以仅使用 WebRTC API 返回音频 sdp?我发现 createAnswer 中的选项已被弃用,并且 OfferToReceiveVideo 没有用。我该怎么办?
我尝试添加所有可能的参数,但没有效果。 而且jssip google群已经被拉了,我不知道去哪里提问
session.answer({
rtcOfferConstraints: {
offerToReceiveAudio: true,
offerToReceiveVideo: false,
//@ts-ignore
OfferToReceiveAudio: true,
OfferToReceiveVideo: false,
//@ts-ignore
mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
},
rtcAnswerConstraints: {
offerToReceiveAudio: true,
offerToReceiveVideo: false,
//@ts-ignore
OfferToReceiveAudio: true,
OfferToReceiveVideo: false,
//@ts-ignore
mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
},
rtcConstraints: {
offerToReceiveAudio: true,
offerToReceiveVideo: false,
//@ts-ignore
OfferToReceiveAudio: true,
OfferToReceiveVideo: false,
//@ts-ignore
mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
},
mediaConstraints: {
audio: true,
video: false
},
sessionTimersExpires: 180
})
解析收到的SDP,找到行'm=video xxx RTP/AVP',其中xxx - 它是端口号。将此端口号替换为“0”。使用修改后的 SDP 作为“SetRemoteDescription”的参数 => webrtc 将忽略视频媒体。