|
|
@ -28,7 +28,7 @@ const UASimplesIP = (function () { |
|
|
|
document.head.appendChild(script); |
|
|
|
document.head.appendChild(script); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
carregandoScriptSimpleSIP("simplesiplib.js", (error) => { |
|
|
|
carregandoScriptSimpleSIP("./appWebrtc/simplesiplib.js", (error) => { |
|
|
|
if (!error) { |
|
|
|
if (!error) { |
|
|
|
console.log("::: Script loaded successfully!"); |
|
|
|
console.log("::: Script loaded successfully!"); |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -76,8 +76,6 @@ const UASimplesIP = (function () { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const _Autenticacao = new Autenticacao(); |
|
|
|
const _Autenticacao = new Autenticacao(); |
|
|
|
let localAudio = new window.Audio(); |
|
|
|
|
|
|
|
localAudio.autoplay = true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const incomingCallAudio = new window.Audio( |
|
|
|
const incomingCallAudio = new window.Audio( |
|
|
|
"https://cdn.pixabay.com/download/audio/2021/08/04/audio_bb630cc098.mp3?filename=short-success-sound-glockenspiel-treasure-video-game-6346.mp3" |
|
|
|
"https://cdn.pixabay.com/download/audio/2021/08/04/audio_bb630cc098.mp3?filename=short-success-sound-glockenspiel-treasure-video-game-6346.mp3" |
|
|
@ -93,7 +91,9 @@ const UASimplesIP = (function () { |
|
|
|
|
|
|
|
|
|
|
|
incomingCallAudio.loop = true; |
|
|
|
incomingCallAudio.loop = true; |
|
|
|
outgoingCallAudio.loop = true; |
|
|
|
outgoingCallAudio.loop = true; |
|
|
|
let remoteAudio = new window.Audio(); |
|
|
|
const localAudio = new window.Audio(); |
|
|
|
|
|
|
|
localAudio.autoplay = true; |
|
|
|
|
|
|
|
const remoteAudio = new window.Audio(); |
|
|
|
remoteAudio.autoplay = true; |
|
|
|
remoteAudio.autoplay = true; |
|
|
|
|
|
|
|
|
|
|
|
let phone; |
|
|
|
let phone; |
|
|
@ -104,8 +104,8 @@ const UASimplesIP = (function () { |
|
|
|
uri: "sip:" + _Autenticacao.RAMAL + "@" + _Autenticacao.SERVIDOR, |
|
|
|
uri: "sip:" + _Autenticacao.RAMAL + "@" + _Autenticacao.SERVIDOR, |
|
|
|
password: _Autenticacao.SENHA, |
|
|
|
password: _Autenticacao.SENHA, |
|
|
|
sockets: new SimpleSIP.WebSocketInterface( |
|
|
|
sockets: new SimpleSIP.WebSocketInterface( |
|
|
|
_Autenticacao.PROTOCOLO +
|
|
|
|
_Autenticacao.PROTOCOLO + |
|
|
|
"://" + |
|
|
|
"://" + |
|
|
|
_Autenticacao.SERVIDOR + |
|
|
|
_Autenticacao.SERVIDOR + |
|
|
|
":" + |
|
|
|
":" + |
|
|
|
_Autenticacao.PORTA + |
|
|
|
_Autenticacao.PORTA + |
|
|
@ -114,7 +114,13 @@ const UASimplesIP = (function () { |
|
|
|
display_name: |
|
|
|
display_name: |
|
|
|
_Autenticacao.NOME !== null ? _Autenticacao.NOME : _Autenticacao.RAMAL, |
|
|
|
_Autenticacao.NOME !== null ? _Autenticacao.NOME : _Autenticacao.RAMAL, |
|
|
|
user_agent: "UASimpleSIP 1.2.0", |
|
|
|
user_agent: "UASimpleSIP 1.2.0", |
|
|
|
'contact_uri': 'sip:' + _Autenticacao.RAMAL + '@' + _Autenticacao.SERVIDOR + ':5061;transport=' + _Autenticacao.PROTOCOLO, |
|
|
|
contact_uri: |
|
|
|
|
|
|
|
"sip:" + |
|
|
|
|
|
|
|
_Autenticacao.RAMAL + |
|
|
|
|
|
|
|
"@" + |
|
|
|
|
|
|
|
_Autenticacao.SERVIDOR + |
|
|
|
|
|
|
|
";transport=" + |
|
|
|
|
|
|
|
_Autenticacao.PROTOCOLO, |
|
|
|
pcConfig: { |
|
|
|
pcConfig: { |
|
|
|
iceServers: [ |
|
|
|
iceServers: [ |
|
|
|
{ |
|
|
|
{ |
|
|
@ -167,7 +173,7 @@ const UASimplesIP = (function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
eventoSip.on("enviarDTMF", (data) => { |
|
|
|
eventoSip.on("enviarDTMF", (data) => { |
|
|
|
session.sendDTMF("#"); |
|
|
|
session.sendDTMF(data); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
eventoSip.on("transferir", (data) => { |
|
|
|
eventoSip.on("transferir", (data) => { |
|
|
@ -184,11 +190,11 @@ const UASimplesIP = (function () { |
|
|
|
eventoSip.emit("confirmedEnded"); |
|
|
|
eventoSip.emit("confirmedEnded"); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
session.on("dtmf", function (event) { |
|
|
|
session.on("newDTMF", function (event) { |
|
|
|
console.log("DTMF recebido:", event.dtmf.tone); |
|
|
|
console.log("DTMF recebido:", event.dtmf.tone); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
//QUANDO UMA CHAMADA É REJEITADA
|
|
|
|
//QUANDO UMA CHAMADA É REJEITADA
|
|
|
|
session.on("failed", () => { |
|
|
|
session.on("failed", () => { |
|
|
|
incomingCallAudio.pause(); |
|
|
|
incomingCallAudio.pause(); |
|
|
|
outgoingCallAudio.pause(); |
|
|
|
outgoingCallAudio.pause(); |
|
|
@ -196,22 +202,24 @@ const UASimplesIP = (function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
session.on("confirmed", function (confirmed) { |
|
|
|
session.on("confirmed", function (confirmed) { |
|
|
|
// Verifica se session.connection está definido
|
|
|
|
// Verifica se session.connection está definido
|
|
|
|
if ( |
|
|
|
if ( |
|
|
|
session.connection && |
|
|
|
session.connection && |
|
|
|
session.connection.getRemoteStreams().length > 0 |
|
|
|
session.connection.getRemoteStreams().length > 0 |
|
|
|
) { |
|
|
|
) { |
|
|
|
const remoteStreams = session.connection.getRemoteStreams()[0]; |
|
|
|
const remoteStreams = session.connection.getRemoteStreams()[0]; |
|
|
|
remoteAudio.srcObject = remoteStreams; |
|
|
|
remoteAudio.srcObject = remoteStreams; |
|
|
|
|
|
|
|
remoteAudio.volume = 1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Verifica se session.connection está definido e se existem streams locais
|
|
|
|
// Verifica se session.connection está definido e se existem streams locais
|
|
|
|
if ( |
|
|
|
if ( |
|
|
|
session.connection && |
|
|
|
session.connection && |
|
|
|
session.connection.getLocalStreams().length > 0 |
|
|
|
session.connection.getLocalStreams().length > 0 |
|
|
|
) { |
|
|
|
) { |
|
|
|
const localStreams = session.connection.getLocalStreams()[0]; |
|
|
|
const localStreams = session.connection.getLocalStreams()[0]; |
|
|
|
localAudio.srcObject = localStreams; |
|
|
|
localAudio.srcObject = localStreams; |
|
|
|
|
|
|
|
localAudio.volume = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
//PAUSA TODOS OS AUDIOS DE FEEDBACK
|
|
|
|
//PAUSA TODOS OS AUDIOS DE FEEDBACK
|
|
|
|
incomingCallAudio.pause(); |
|
|
|
incomingCallAudio.pause(); |
|
|
@ -230,9 +238,9 @@ const UASimplesIP = (function () { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
session.on("addstream", function (e) { |
|
|
|
session.on("addstream", function (e) { |
|
|
|
// Verifica se session.connection está definido
|
|
|
|
// Verifica se session.connection está definido
|
|
|
|
if (session.connection) { |
|
|
|
if (session.connection) { |
|
|
|
remoteAudio.src = window.URL.createObjectURL(e.stream); |
|
|
|
remoteAudio.srcObject = e.stream; |
|
|
|
remoteAudio.play(); |
|
|
|
remoteAudio.play(); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
@ -308,7 +316,7 @@ const UASimplesIP = (function () { |
|
|
|
_Autenticacao.SENHA === undefined |
|
|
|
_Autenticacao.SENHA === undefined |
|
|
|
) { |
|
|
|
) { |
|
|
|
console.error( |
|
|
|
console.error( |
|
|
|
":::: Configuração do Usuário Inválida para Autenticação no PBX !" |
|
|
|
":::: Configuração do Usuário Inválida para Autenticação no PBX !" |
|
|
|
); |
|
|
|
); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
ativaDebug(true); |
|
|
|
ativaDebug(true); |
|
|
@ -338,7 +346,7 @@ const UASimplesIP = (function () { |
|
|
|
|
|
|
|
|
|
|
|
help: function () { |
|
|
|
help: function () { |
|
|
|
console.log("========================================================"); |
|
|
|
console.log("========================================================"); |
|
|
|
console.log("=== Unified Communications - Simples Ip - Versão 1.2 ==="); |
|
|
|
console.log("=== Unified Communications - Simples Ip - Versão 1.2 ==="); |
|
|
|
console.log("========================================================"); |
|
|
|
console.log("========================================================"); |
|
|
|
console.log("UASimplesIP.start() - Para iniciar o SDK"); |
|
|
|
console.log("UASimplesIP.start() - Para iniciar o SDK"); |
|
|
|
}, |
|
|
|
}, |
|
|
|