/* * Copyright 2007 Sun Microsystems, Inc. * * This file is part of jVoiceBridge. * * jVoiceBridge is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation and distributed hereunder * to you. * * jVoiceBridge is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Sun designates this particular file as subject to the "Classpath" * exception as provided by Sun in the License file that accompanied this * code. */ package com.sun.voip.server; import com.sun.voip.Logger; import java.io.IOException; import java.io.InterruptedIOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.InetSocketAddress; public class Bridge { private static String privateHost; private static int privateControlPort = 6666; private static int privateSipPort = 5060; private static String publicHost = "127.0.0.1"; private static int publicControlPort = 6666; private static int publicSipPort = 5060; private static String bridgeLocation = "OPL"; private static char fileSep = System.getProperty("file.separator").charAt(0); private static final Bridge instance = new Bridge(); private static boolean localhostSecurity = false; private static String defaultProtocol = "SIP"; public static Bridge getInstance() { return instance; } public static String getVersion() { return "0.0.0.1"; } public static String getBridgeLocation() { return bridgeLocation; } public static void setBridgeLocation(String bridgeLocation) { Bridge.bridgeLocation = bridgeLocation; } public static String getBridgeLogDirectory() { return System.getProperty("user.dir") + fileSep + ".." + fileSep + "logs" + fileSep; } public static String getPrivateHost() { return privateHost; } public static String getPublicHost() { return publicHost; } public static void setPrivateHost(String privateHost) { Bridge.privateHost = privateHost; } public static void setPublicHost(String publicHost) { Bridge.publicHost = publicHost; } public static int getPrivateControlPort() { return privateControlPort; } public static int getPrivateSipPort() { return privateSipPort; } public static int getPublicControlPort() { return publicControlPort; } public static int getPublicSipPort() { return publicSipPort; } public static void setLocalhostSecurity(boolean localhostSecurity) { Bridge.localhostSecurity = localhostSecurity; } public static boolean getLocalhostSecurity() { return localhostSecurity; } public static void setDefaultProtocol(String defaultProtocol) { Bridge.defaultProtocol = defaultProtocol; } public static String getDefaultProtocol() { return defaultProtocol; } public static InetSocketAddress getLocalBridgeAddress() { return (InetSocketAddress) new InetSocketAddress(privateHost, privateControlPort); } }