112 lines
1.9 KiB
JavaScript
112 lines
1.9 KiB
JavaScript
let Softphone = {
|
|
/**
|
|
* Make a new call
|
|
*/
|
|
call: function(number) {
|
|
if (ua.sessionInstance)
|
|
return;
|
|
|
|
ua.sessionInstance = ua.call(`sip:${number}@${uriHost}`, options);
|
|
},
|
|
|
|
/**
|
|
* Hang up current call
|
|
*/
|
|
hangup: function() {
|
|
if (!ua.sessionInstance)
|
|
return;
|
|
|
|
ua.sessionInstance.terminate();
|
|
},
|
|
|
|
/**
|
|
* Mute current call
|
|
*/
|
|
mute: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
ua.sessionInstance.mute();
|
|
},
|
|
|
|
/**
|
|
* Unmute current call
|
|
*/
|
|
unmute: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
ua.sessionInstance.unmute();
|
|
},
|
|
|
|
/**
|
|
* Get if current call is muted
|
|
*/
|
|
isMuted: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
return ua.sessionInstance.isMuted();
|
|
},
|
|
|
|
/**
|
|
* Hold current call
|
|
*/
|
|
hold: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
ua.sessionInstance.hold();
|
|
},
|
|
|
|
/**
|
|
* Unhold current call
|
|
*/
|
|
unhold: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
ua.sessionInstance.unhold();
|
|
},
|
|
|
|
/**
|
|
* Get if current call is on hold
|
|
*/
|
|
isOnHold: function() {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
return ua.sessionInstance.isOnHold().local;
|
|
},
|
|
|
|
/**
|
|
* Transfer current call
|
|
*/
|
|
transfer: function(number) {
|
|
if (!ua.sessionInstance)
|
|
return
|
|
|
|
ua.sessionInstance.refer(`sip:${number}@${uriHost}`);
|
|
},
|
|
|
|
/**
|
|
* Get volume
|
|
*/
|
|
getVolume: function() {
|
|
return options.volume;
|
|
},
|
|
|
|
isMicEnabled: function() {
|
|
if (options.microphone)
|
|
return true;
|
|
},
|
|
|
|
getStatus: function() {
|
|
|
|
},
|
|
|
|
setStatus: function() {
|
|
|
|
}
|
|
}
|