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() { } }