var socket = new JsSIP.WebSocketInterface('ws://................./ws');
socket.via_transport = "tcp";
var configuration = {
uri: 'sip:903@.........................:8088',
authorization_user: "903",
port: '8088',
register: true,
username: '903@.........................:8088',
name: '903',
id: '903',
session_timers: false,
password: '903',
sockets: [socket],
display_name: '903',
debug: true
};
var remoteAudio = new window.Audio()
remoteAudio.autoplay = true;
const mediaSource = new MediaSource();
JsSIP.debug.enable('JsSIP:*');
const phone = new JsSIP.UA(configuration);
phone.on('registrationFailed', function (ev) {
alert('Registering on SIP server failed with error: ' + ev.cause);
configuration.uri = null;
configuration.password = null;
});
phone.on('newRTCSession', function (ev) {
var newSession = ev.session;
if (session) { // hangup any existing call
session.terminate();
}
session = newSession;
var completeSession = function () {
session = null;
};
if (session.direction === 'outgoing') {
console.log('stream outgoing -------->');
session.on('connecting', function () {
console.log('CONNECT');
});
session.connection.addEventListener('addstream', function (e) {
console.log(e, "^^^^^^^^^^^^")
remoteAudio.srcObject = e.stream;
remoteAudio.play();
console.log(remoteAudio.srcObject, "$$$$$$$$$$$4")
console.log("2acceptedo")
});
session.on('peerconnection', function (e) {
console.log('1acceptedo');
const peerconnection = e.peerconnection;
peerconnection.onaddstream = function (e) {
remoteAudio.srcObject = e.stream;
remoteAudio.play();
}
});
session.on('ended', completeSession);
session.on('failed', completeSession);
session.on('accepted', function (e) {
console.log('accepted')
});
session.on('confirmed', function (e) {
console.log('CONFIRM STREAM');
});
};
phone.start();
var session;
function callAsterisk(numTels) {
const eventHandlers = {
'progress': function (e) {
console.log('call is in progress');
},
'failed': function (e) {
console.log('call failed with cause: ' + (e.data ? e.data.cause : 'no cause'), e);
},
'ended': function (e) {
console.log('call ended with cause: ' + (e.data ? e.data.cause : 'no cause'), e);
},
'confirmed': function (e) {
console.log('call confirmed');
},
'addstream': (e) => {
console.log('Add stream (event handlers)')
remoteAudio.srcObject = e.stream
remoteAudio.play()
}
};
var options = {
'eventHandlers': eventHandlers,
'mediaConstraints': { 'audio': true, 'video': false },
'pcConfig': {'rtcpMuxPolicy': 'require'},
'rtcOfferConstraints': {'offerToReceiveAudio': true,'offerToReceiveVideo': false},
'rtcAnswerConstraints': {'offerToReceiveAudio': true,'offerToReceiveVideo': false}
};
phone.call(numTels, options)
};
callAsterisk('sip:901@..............')
and I am getting an error message and astrisk attached to this mail
and I am getting no audio packets and no streaming at all.
I am stuck so please help me thanks.