/* * Copyright (C) 2005-2008 Jive Software. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jivesoftware.openfire.sip.sipaccount; import org.jivesoftware.util.JiveGlobals; /** * SipAccount instance. This class handle all SIP account information for a user * * @author Thiago Rocha Camargo */ public class SipAccount { private String username = null; private String sipUsername = ""; private String authUsername = ""; private String displayName = ""; private String password = ""; private String server = ""; private String outboundproxy = ""; private String stunServer = ""; private String stunPort = ""; private String voiceMailNumber = ""; private boolean useStun = false; private boolean enabled = false; private boolean promptCredentials = false; private SipRegisterStatus status = SipRegisterStatus.Unregistered; public SipAccount(String username, String sipUsername, String authUsername, String displayName, String password, String server, String outboundproxy, boolean promptCredentials) { this.username = username; this.sipUsername = sipUsername; this.authUsername = authUsername; this.displayName = displayName; this.password = password; this.server = server; this.outboundproxy = outboundproxy; this.promptCredentials = promptCredentials; } public SipAccount(String username) { this.username = username; } public String getAuthUsername() { return authUsername == null ? "" : authUsername; } public void setAuthUsername(String authUsername) { this.authUsername = authUsername; } public String getDisplayName() { return displayName == null ? "" : displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public String getVoiceMailNumber() { return voiceMailNumber == null ? JiveGlobals.getProperty("phone.voiceMail", "") : voiceMailNumber; } public void setVoiceMailNumber(String voiceMailNumber) { this.voiceMailNumber = voiceMailNumber; } public String getServer() { return server == null ? JiveGlobals.getProperty("phone.sipServer", "") : server; } public void setServer(String server) { this.server = server; } public String getOutboundproxy() { return outboundproxy; } public void setOutboundproxy(String outboundproxy) { this.outboundproxy = outboundproxy; } public String getSipUsername() { return sipUsername == null ? "" : sipUsername; } public void setSipUsername(String sipUsername) { this.sipUsername = sipUsername; } public String getUsername() { return username == null ? "" : username; } public String getPassword() { return password == null ? "" : password; } public void setPassword(String password) { this.password = password; } public String getStunPort() { return stunPort == null ? JiveGlobals.getProperty("phone.stunPort", "") : stunPort; } public void setStunPort(String stunPort) { this.stunPort = stunPort; } public String getStunServer() { return stunServer == null ? JiveGlobals.getProperty("phone.stunServer", "") : stunServer; } public void setStunServer(String stunServer) { this.stunServer = stunServer; } public boolean isUseStun() { if (stunPort == null && stunServer == null) { return JiveGlobals.getBooleanProperty("phone.stunEnabled", false); } return useStun; } public void setUseStun(boolean useStun) { this.useStun = useStun; } public SipRegisterStatus getStatus() { return status == null ? SipRegisterStatus.Unregistered : status; } public void setStatus(SipRegisterStatus status) { this.status = status; } public boolean isPromptCredentials() { return promptCredentials; } public void setPromptCredentials(boolean promptCredentials) { this.promptCredentials = promptCredentials; } }