Hello,
I'm quite new to SIPjs.
I'm trying the SIPjs 0.7.8 to establish an audio-only call between SIPjs and a third party extension.
The session config is set to receive remote video if the remote endpoint decide to enable his camera.
The scenario is :
Caller (
cal...@subdomain.onsip.com) call the remote endpoint (
00...@subdomain.3cx.fr) which is in busy state.
The remote Proxy forward internally the call to other extension that are available.
Another callee (
00...@subdomain.3cx.fr) pick the call, as from a forward rule.
Under the hood, I notice the remote endpoint send INVITE and SIPjs receive successfully the INVITE.
During the call session, now between
cal...@subdomain.onsip.com and
00...@subdomain.3cx.fr, the remote endpoint enable his video, so the remote endpoint send another INVITE
Upong receiving, the call is dropped with an error (Firefox only) :
DOMException [InvalidSessionDescriptionError: "Invalid description, no fingerprint attribute"
code: 0
nsresult: 0x0]Here is the session config :
config_session = {
media: {
constraints: {
audio: true,
video: false,
},
render: {
remote: document.getElementById("video_remote"),
local: document.getElementById("video_local"),
}
},
RTCConstraints: {
optional: [],
mandatory: {
'OfferToReceiveAudio': true,
'OfferToReceiveVideo': true
}
}
}Here is the ua config :
var config_ua = {
uri: 'sip:cal...@subdomain.onsip.com',
authorizationUser: 'callerid',
password: 'passwd',
displayName: 'Caller',
stunServers: [...],
turnServers: [...],
traceSip: true,
hackWssInTransport: true,
// HackIpInContact for Asterisk-type server
hackIpInContact: true,
// rtcpMuxPolicy for Asterisk-type server
rtcpMuxPolicy: 'negotiate',
};
...
ua = new SIP.UA(config_ua);
session = ua.invite("sip:00...@subdomain.3cx.fr:5060", config_session);
This settings work well on Chrome but I get an InvalidSessionDescriptionError on Firefox.
The full log is attached to this message.
Thanks for any help.