001: /**
002: * $RCSfile$
003: * $Revision: $
004: * $Date: $
005: *
006: * Copyright (C) 2007 Jive Software. All rights reserved.
007: *
008: * This software is published under the terms of the GNU Public License (GPL),
009: * a copy of which is included in this distribution.
010: */package org.jivesoftware.openfire.sip.sipaccount;
011:
012: import org.jivesoftware.util.JiveGlobals;
013:
014: /**
015: * SipAccount instance. This class handle all SIP account information for a user
016: *
017: * @author Thiago Rocha Camargo
018: */
019: public class SipAccount {
020:
021: private String username = null;
022:
023: private String sipUsername = "";
024:
025: private String authUsername = "";
026:
027: private String displayName = "";
028:
029: private String password = "";
030:
031: private String server = "";
032:
033: private String outboundproxy = "";
034:
035: private String stunServer = "";
036:
037: private String stunPort = "";
038:
039: private String voiceMailNumber = "";
040:
041: private boolean useStun = false;
042:
043: private boolean enabled = false;
044:
045: private boolean promptCredentials = false;
046:
047: private SipRegisterStatus status = SipRegisterStatus.Unregistered;
048:
049: public SipAccount(String username, String sipUsername,
050: String authUsername, String displayName, String password,
051: String server, String outboundproxy,
052: boolean promptCredentials) {
053: this .username = username;
054: this .sipUsername = sipUsername;
055: this .authUsername = authUsername;
056: this .displayName = displayName;
057: this .password = password;
058: this .server = server;
059: this .outboundproxy = outboundproxy;
060: this .promptCredentials = promptCredentials;
061: }
062:
063: public SipAccount(String username) {
064: this .username = username;
065: }
066:
067: public String getAuthUsername() {
068: return authUsername == null ? "" : authUsername;
069: }
070:
071: public void setAuthUsername(String authUsername) {
072: this .authUsername = authUsername;
073: }
074:
075: public String getDisplayName() {
076: return displayName == null ? "" : displayName;
077: }
078:
079: public void setDisplayName(String displayName) {
080: this .displayName = displayName;
081: }
082:
083: public boolean isEnabled() {
084: return enabled;
085: }
086:
087: public void setEnabled(boolean enabled) {
088: this .enabled = enabled;
089: }
090:
091: public String getVoiceMailNumber() {
092: return voiceMailNumber == null ? JiveGlobals.getProperty(
093: "phone.voiceMail", "") : voiceMailNumber;
094: }
095:
096: public void setVoiceMailNumber(String voiceMailNumber) {
097: this .voiceMailNumber = voiceMailNumber;
098: }
099:
100: public String getServer() {
101: return server == null ? JiveGlobals.getProperty(
102: "phone.sipServer", "") : server;
103: }
104:
105: public void setServer(String server) {
106: this .server = server;
107: }
108:
109: public String getOutboundproxy() {
110: return outboundproxy;
111: }
112:
113: public void setOutboundproxy(String outboundproxy) {
114: this .outboundproxy = outboundproxy;
115: }
116:
117: public String getSipUsername() {
118: return sipUsername == null ? "" : sipUsername;
119: }
120:
121: public void setSipUsername(String sipUsername) {
122: this .sipUsername = sipUsername;
123: }
124:
125: public String getUsername() {
126: return username == null ? "" : username;
127: }
128:
129: public String getPassword() {
130: return password == null ? "" : password;
131: }
132:
133: public void setPassword(String password) {
134: this .password = password;
135: }
136:
137: public String getStunPort() {
138: return stunPort == null ? JiveGlobals.getProperty(
139: "phone.stunPort", "") : stunPort;
140: }
141:
142: public void setStunPort(String stunPort) {
143: this .stunPort = stunPort;
144: }
145:
146: public String getStunServer() {
147: return stunServer == null ? JiveGlobals.getProperty(
148: "phone.stunServer", "") : stunServer;
149: }
150:
151: public void setStunServer(String stunServer) {
152: this .stunServer = stunServer;
153: }
154:
155: public boolean isUseStun() {
156: if (stunPort == null && stunServer == null) {
157: return JiveGlobals.getBooleanProperty("phone.stunEnabled",
158: false);
159: }
160: return useStun;
161: }
162:
163: public void setUseStun(boolean useStun) {
164: this .useStun = useStun;
165: }
166:
167: public SipRegisterStatus getStatus() {
168: return status == null ? SipRegisterStatus.Unregistered : status;
169: }
170:
171: public void setStatus(SipRegisterStatus status) {
172: this .status = status;
173: }
174:
175: public boolean isPromptCredentials() {
176: return promptCredentials;
177: }
178:
179: public void setPromptCredentials(boolean promptCredentials) {
180: this.promptCredentials = promptCredentials;
181: }
182: }
|