Commit 8c3e40ea authored by Robin Collier's avatar Robin Collier Committed by rcollier

OF-39 Merge from trunk.

git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/branches/pubsub_clustering@13033 b35dd754-fafc-0310-a699-88a17e54d16e
parents b93efab0 ab38739a
......@@ -32,7 +32,7 @@ jaxen.jar | 1.1 beta 4 (from DOM4J 1.6.1)
jdic.jar | 0.9.1 (for windows only) | LGPL
jdom.jar | 1.0 (required by rome) | Apache 1.1
jstl.jar | Jakarta standard taglib 1.1.2 |
jmdns.jar | PRE 1.0, patched | Apache 2.0
jmdns.jar | 3.4.1 | Apache 2.0
jmock.jar | 2.1.0 |
jmock-junit4.jar | 2.1.0 |
jmock-legacy.jar | 2.1.0 |
......
......@@ -2157,9 +2157,6 @@ ports.http_bind.desc_secured=Port pou\u017e\u00edvan\u00fd pro zabezpe\u010den\u
ports.media_proxy=Proxy pro m\u00e9dia v re\u00e1ln\u00e9m \u010dase
ports.media_proxy.desc=Port pou\u017e\u00edvan\u00fd slu\u017ebou proxy, kter\u00fd umo\u017e\u0148uje Jingle spojen\u00ed mezi dv\u011bma entitami \
v s\u00edti XMPP.
ports.stun=Slu\u017eba STUN
ports.stun.desc=Port pou\u017e\u00edvan\u00fd slu\u017ebou, kter\u00e1 zaji\u0161\u0165uje konktivitu mezi dv\u011bma entitami za NAT.
# Media Proxy
......@@ -2191,31 +2188,6 @@ mediaproxy.summary.session.type = Typ
mediaproxy.summary.session.noactive = \u017d\u00e1dn\u00e9 aktivn\u00ed relace
mediaproxy.summary.stopbutton = Zastavit aktivn\u00ed relace
# STUN Settings
stun.settings.alert.notvalidip = Vybran\u00e9 IP hodnoty nejsou platn\u00e9. Pros\u00edm vyberte jin\u00e9 IP.
stun.settings.alert.notvalidport = Vybran\u00e9 porty nejsou platn\u00e9. Pros\u00edm vyberte jin\u00e1 \u010d\u00edsla port\u016f.
stun.settings.title = Nastaven\u00ed STUN serveru
stun.settings.desc = Pou\u017eijte spodn\u00ed formul\u00e1\u0159 pro spr\u00e1vu serveru STUN. \
STUN vy\u017eaduje po svoji \u010dinnost nejm\u00e9n\u011b dv\u011b r\u016fzn\u00e9 IP adresy na stejn\u00e9m stroji a dva r\u016fzn\u00e9 porty na ka\u017ed\u00e9 IP adrese.
stun.settings.success = Nastaven\u00ed ulo\u017eena \u00fasp\u011b\u0161n\u011b.
stun.settings.error = Server nem\u016f\u017ee nastartovat. Zkontrolujte Va\u0161e \u010d\u00edsla port\u016f a prim\u00e1rn\u00ed a sekund\u00e1rn\u00ed adresy.
stun.settings.comment = Nastaven\u00ed se projev\u00ed ihned po sv\u00e9m ulo\u017een\u00ed.
stun.settings.primaryaddress = Prim\u00e1rn\u00ed adresa
stun.settings.secondaryaddress = Sekund\u00e1rn\u00ed adresa
stun.settings.primaryport = Prim\u00e1rn\u00ed port
stun.settings.secondaryport = Sekund\u00e1rn\u00ed
stun.settings.enabled = Povoleno
stun.settings.change = Zm\u011bna\
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
index.certificate-warning=Found RSA certificate that is not valid for the server domain.
httpbind.settings.script.label_enable=Enabled
httpbind.settings.script.label_enable_info=Allows BOSH Clients With Limited Access to Connect to the Server
......@@ -2281,7 +2253,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -2076,9 +2076,6 @@ ports.http_bind.desc_secured=The port used for secured HTTP client connections.
ports.media_proxy=Real time media proxy
ports.media_proxy.desc=The port used for the proxy service that allows Jingle connections between two entities on \
the XMPP network.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# Media Proxy
......@@ -2110,22 +2107,6 @@ mediaproxy.summary.session.type = Type
mediaproxy.summary.session.noactive = No active Sessions
mediaproxy.summary.stopbutton = Stop Active Sessions
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
admin.console.restarting=Restarting admin console...
global.click_test=Click to test...
global.day=day
......@@ -2267,7 +2248,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -569,8 +569,6 @@ tab.server.descr=Click to manage server settings
sidebar.sidebar-media-services=Media Services
sidebar.media-proxy=Media Proxy
sidebar.media-proxy.descr=Click to view media proxy settings.
sidebar.stun=STUN Settings
sidebar.stun.descr=Click to view STUN settings.
tab.tab-users=Users/Groups
tab.tab-users.descr=Click to manage users and groups
sidebar.sidebar-users=Users
......@@ -2874,8 +2872,6 @@ ports.http_bind.desc_secured=The port used for secured HTTP client connections.
ports.media_proxy=Real time media proxy
ports.media_proxy.desc=The port used for the proxy service that allows Jingle connections between two entities on \
the XMPP network.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
ports.flash_cross_domain=Flash Cross Domain
ports.flash_cross_domain.desc=Service that allows Flash clients connect to other hostnames and ports.
......@@ -2909,33 +2905,6 @@ mediaproxy.summary.session.type = Type
mediaproxy.summary.session.noactive = No active Sessions
mediaproxy.summary.stopbutton = Stop Active Sessions
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Settings
stun.settings.desc = STUN is a protocol that lets clients discover their network settings, \
including firewall and NAT device configuration. Use of the protocol is required for clients \
to establish peer to peer media sessions. The server can be configured as a STUN service itself, or it \
can send third-party STUN server addresses to clients.<br/><br/> \
In order to act as a STUN server, two different public IP addresses on the \
same machine are required, as well as two different port numbers for each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = STUN server cannot start. Check your port numbers and Primary and Secondary addresses.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.localenabled = Local Server Enabled
stun.settings.change = Change
stun.external.title = External STUN Servers
stun.external.comment = The server will also send the following address(es) for third-party STUN \
services to clients. Clients will try each STUN service until able to find one that is working.
stun.external.server = Server
stun.external.port = Port
stun.external.error = Invalid server or port.
# Import signed certificate page
ssl.import.certificate.title=Import Signed Certificate
......
......@@ -2157,8 +2157,6 @@ ports.http_bind.desc_secured=Puerto utilizado para conexiones seguras de cliente
ports.media_proxy=Proxy de medios en tiempo real
ports.media_proxy.desc=Puerto utilizado por el servicio para permitir conexiones Jingle entre dos entidades de la \
red XMPP.
ports.stun=Servicio STUN
ports.stun.desc=Puerto utilizado por el servicio para asegurar conectividad entre entidades detr\u00e1s de NATs.
# Media Proxy
......@@ -2191,22 +2189,6 @@ mediaproxy.summary.session.type = Tipo
mediaproxy.summary.session.noactive = No se han encontrado sesiones activas
mediaproxy.summary.stopbutton = Para Sesiones Activas
# STUN Settings
stun.settings.alert.notvalidip = Las direcciones IP seleccionadas no son v\u00e1lidas. Seleccione otras direcciones IP.
stun.settings.alert.notvalidport = Los puertos seleccionados no son v\u00e1lidos. Seleccione otros n\u00fameros de puerto.
stun.settings.title = Seteos del Servidor STUN
stun.settings.desc = Utilice el siguiente formulario para configurar al servidor STUN. El servidor STUN necesita al \
menos dos direcciones IP diferentes en el mismo servidor y dos puertos diferentes en cada direcci\u00f3n IP.
stun.settings.success = Seteos actualizados exitosamente.
stun.settings.error = No se ha podido arrancar el servidor. Verifique las direcciones primarias y secundarias y los puertos.
stun.settings.comment = Los seteos entraran en efecto luego de haber salvado los cambios.
stun.settings.primaryaddress = Direcci\u00f3n Primaria
stun.settings.secondaryaddress = Direcci\u00f3n Secundaria
stun.settings.primaryport = Puerto Primario
stun.settings.secondaryport = Puerto Secundario
stun.settings.enabled = Habilitado
stun.settings.change = Cambiar
index.certificate-warning=Se ha encontrado un certificado RSA que no es v\u00e1lido para el dominio del servidor.
user.roster.nickname=Apodo
user.roster.none_found=No se han encontrado contactos.
......@@ -2243,11 +2225,6 @@ user.roster.add.error_adding_item=Error al agregar nuevo contacto. Verifique los
user.roster.add.add_another=Agregar & Agregar Nuevo
user.roster.add.add=Agregar Contacto
user.roster.add=Agregar Contacto
stun.settings.localenabled=Servidor Local Habilitado
stun.external.title=Servidores STUN Externos
stun.external.server=Servidor
stun.external.port=Puerto
stun.external.error=Servidor o puerto incorrecto.
ssl.import.certificate.boxtitle=Importar Clave Privada y Certificado
ssl.import.certificate.pass-phrase=Pass Phrase usada para crear la Clave Privada:
ssl.import.certificate.certificate=Contenido del Archivo del Certificado:
......@@ -2263,8 +2240,6 @@ ssl.import.certificate.info=Complete el siguiente formulario para importar una c
Unlimited Strength Jurisdiction Policy Files" de {0}aqu\u00ed{1}.
sidebar.user-roster=Lista de Contactos
sidebar.user-roster.descr=Haga clic para ver la lista de contactos de usuarios
sidebar.stun=Seteos de STUN
sidebar.stun.descr=Haga clic para ver seteos de STUN.
sidebar.sidebar-media-services=Servicios de Multimedios
sidebar.media-proxy=Proxy de Multimedios
sidebar.media-proxy.descr=Haga clic para ver la configuraci\u00f3n del proxy de multimedios.
......
......@@ -1743,9 +1743,6 @@ ports.http_bind.desc_secured=The port used for secured HTTP client connections.
ports.media_proxy=Real time media proxy
ports.media_proxy.desc=The port used for the proxy service that allows Jingle connections between two entities on \
the XMPP network.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# Media Proxy
......@@ -1777,30 +1774,6 @@ mediaproxy.summary.session.type = Type
mediaproxy.summary.session.noactive = No active Sessions
mediaproxy.summary.stopbutton = Stop Active Sessions
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
httpbind.settings.enabled.legend=Service Enabled
httpbind.settings.info=HTTP binding allows clients using the HTTP protocol to connect to Openfire.
httpbind.settings.label_disable=Disabled
......@@ -1887,7 +1860,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -244,8 +244,6 @@ tab.server.descr=\u30b5\u30fc\u30d0\u30fc\u8a2d\u5b9a\u3092\u7ba1\u7406\u3059\u3
sidebar.sidebar-media-services=\u30e1\u30c7\u30a3\u30a2\u30b5\u30fc\u30d3\u30b9
sidebar.media-proxy=\u30e1\u30c7\u30a3\u30a2\u30d7\u30ed\u30ad\u30b7\u30fc
sidebar.media-proxy.descr=\u30e1\u30c7\u30a3\u30a2\u30d7\u30ed\u30ad\u30b7\u30fc\u8a2d\u5b9a\u3092\u53c2\u7167\u3059\u308b\u5834\u5408\u306b\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
sidebar.stun=STUN\u8a2d\u5b9a
sidebar.stun.descr=STUN\u8a2d\u5b9a\u3092\u53c2\u7167\u3059\u308b\u5834\u5408\u306b\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
tab.tab-users=\u30e6\u30fc\u30b6\u30fc/\u30b0\u30eb\u30fc\u30d7
tab.tab-users.descr=\u30e6\u30fc\u30b6\u30fc\u3068\u30b0\u30eb\u30fc\u30d7\u3092\u7ba1\u7406\u3059\u308b\u5834\u5408\u306b\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
sidebar.sidebar-users=\u30e6\u30fc\u30b6\u30fc
......@@ -2325,8 +2323,6 @@ ports.http_bind.desc_secured=\u30bb\u30ad\u30e5\u30a2\u30fc\u306aHTTP\u30af\u30e
ports.media_proxy=\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e1\u30c7\u30a3\u30a2\u30d7\u30ed\u30ad\u30b7\u30fc
ports.media_proxy.desc=XMPP\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u30012\u3064\u306e\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u306e\u9593\u3067\u306eJingle\u63a5\u7d9a\u3092\u8a31\u53ef\u3057\u3066\u3044\u308b\
\u30d7\u30ed\u30ad\u30b7\u30fc\u30b5\u30fc\u30d3\u30b9\u304c\u4f7f\u7528\u3059\u308b\u30dd\u30fc\u30c8\u3067\u3059\u3002
ports.stun=STUN\u30b5\u30fc\u30d3\u30b9
ports.stun.desc=NAT\u306e\u3046\u3057\u308d\u3067\u30012\u3064\u306e\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u306e\u63a5\u7d9a\u3092\u78ba\u4fdd\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u304c\u4f7f\u7528\u3059\u308b\u30dd\u30fc\u30c8\u3067\u3059\u3002
# Media Proxy
......@@ -2358,33 +2354,6 @@ mediaproxy.summary.session.type = \u30bf\u30a4\u30d7
mediaproxy.summary.session.noactive = \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u305b\u3093\u3002
mediaproxy.summary.stopbutton = \u30a2\u30af\u30c6\u30a3\u30d6\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u505c\u6b62
# STUN Settings
stun.settings.alert.notvalidip = \u9078\u629e\u3055\u308c\u305fIP\u30a2\u30c9\u30ec\u30b9\u304c\u9069\u5207\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u7570\u306a\u308bIP\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.alert.notvalidport = \u9078\u629e\u3055\u308c\u305f\u30dd\u30fc\u30c8\u756a\u53f7\u306f\u9069\u5207\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u7570\u306a\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.title = STUN\u8a2d\u5b9a
stun.settings.desc = STUN\u306f\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3084NAT\u30c7\u30d0\u30a4\u30b9\u306e\u8a2d\u5b9a\u3092\u542b\u3080\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\
\u5224\u65ad\u3055\u305b\u308b\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u5bfe\u3057\u3066peer to peer\u30e1\u30c7\u30a3\u30a2\u30bb\u30c3\u30b7\u30e7\u30f3\u63a5\u7d9a\u3092\
\u78ba\u7acb\u3059\u308b\u3053\u3068\u304c\u5fc5\u8981\u3067\u3059\u3002\u30b5\u30fc\u30d0\u30fc\u306fSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u30b5\u30fc\u30d0\u30fc\u3068\u3057\u3066\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3057\u3001\u3082\u3057\u304f\u306f\
\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u88fdSTUN\u30b5\u30fc\u30d0\u30fc\u30a2\u30c9\u30ec\u30b9\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u4fe1\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<br/><br/>\
STUN\u30b5\u30fc\u30d0\u30fc\u304c\u52d5\u4f5c\u3059\u308b\u305f\u3081\u306b\u3001\u540c\u4e00\u30de\u30b7\u30fc\u30f3\u4e0a\u306b2\u3064\u306e\u7570\u306a\u308bIP\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u3068\u306a\u308a\u3001\
\u307e\u305f\u540c\u69d8\u306b2\u3064\u306e\u7570\u306a\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u304c\u305d\u308c\u305e\u308c\u306eIP\u30a2\u30c9\u30ec\u30b9\u3054\u3068\u306b\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002
stun.settings.success = \u8a2d\u5b9a\u304c\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002
stun.settings.error = STUN\u30b5\u30fc\u30d0\u30fc\u3092\u958b\u59cb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u30dd\u30fc\u30c8\u756a\u53f7\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u3068\u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u306e2\u3064\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.primaryaddress = \u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30a2\u30c9\u30ec\u30b9
stun.settings.secondaryaddress = \u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u30a2\u30c9\u30ec\u30b9
stun.settings.primaryport = \u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30dd\u30fc\u30c8\u5024
stun.settings.secondaryport = \u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u30dd\u30fc\u30c8\u5024
stun.settings.enabled = \u4f7f\u7528\u53ef\u80fd
stun.settings.localenabled = \u30ed\u30fc\u30ab\u30eb\u30b5\u30fc\u30d0\u30fc\u304c\u4f7f\u7528\u53ef\u80fd
stun.settings.change = \u5909\u66f4
stun.external.title = \u5916\u90e8STUN\u30b5\u30fc\u30d0\u30fc
stun.external.comment = \u30b5\u30fc\u30d0\u30fc\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u5bfe\u3057\u3066\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u88fdSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u305f\u3081\u306e\u6b21\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\
\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u52d5\u4f5c\u3057\u3066\u3044\u308b1\u3064\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u307e\u3067\u3001\u305d\u308c\u305e\u308c\u306eSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u4f7f\u7528\u3092\u8a66\u307f\u307e\u3059\u3002
stun.external.server = \u30b5\u30fc\u30d0\u30fc
stun.external.port = \u30dd\u30fc\u30c8
stun.external.error = \u4e0d\u9069\u5207\u306a\u30b5\u30fc\u30d0\u30fc\u3082\u3057\u304f\u306f\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
# Import signed certificate page
ssl.import.certificate.title=\u7f72\u540d\u6e08\u307f\u8a3c\u660e\u66f8\u306e\u30a4\u30f3\u30dd\u30fc\u30c8
......
......@@ -2077,9 +2077,6 @@ ports.http_bind.desc_secured=The port used for secured HTTP client connections.
ports.media_proxy=Real time media proxy
ports.media_proxy.desc=The port used for the proxy service that allows Jingle connections between two entities on \
the XMPP network.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# Media Proxy
......@@ -2111,30 +2108,6 @@ mediaproxy.summary.session.type = Type
mediaproxy.summary.session.noactive = No active Sessions
mediaproxy.summary.stopbutton = Stop Active Sessions
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
admin.console.restarting=Restarting admin console...
global.click_test=Click to test...
global.day=day
......@@ -2272,7 +2245,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -2058,9 +2058,6 @@ ports.http_bind.desc_secured=The port used for secured HTTP client connections.
ports.media_proxy=Real time media proxy
ports.media_proxy.desc=The port used for the proxy service that allows Jingle connections between two entities on \
the XMPP network.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# Media Proxy
......@@ -2092,30 +2089,6 @@ mediaproxy.summary.session.type = Type
mediaproxy.summary.session.noactive = No active Sessions
mediaproxy.summary.stopbutton = Stop Active Sessions
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
global.click_test=Click to test...
global.day=day
global.days=days
......@@ -2247,7 +2220,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -2157,9 +2157,6 @@ ports.http_bind.desc_secured=Porta utilizada para conex\u00e3o segura a clientes
ports.media_proxy=Media Proxy
ports.media_proxy.desc=Porta utilizada para conex\u00e3o ao servi\u00e7o de proxy para conex\u00f5es Jingle\
na rede XMPP.
ports.stun=Servi\u00e7o STUN
ports.stun.desc=A porta utilizada pelo servi\u00e7o que testa conectividade nos clientes que est\u00e3o atr\u00e1s de NAT.
# Media Proxy
......@@ -2190,30 +2187,6 @@ mediaproxy.summary.session.type = Tipo
mediaproxy.summary.session.noactive = Nenhuma Sess\u00e3o Ativa
mediaproxy.summary.stopbutton = Parar Sess\u00f5es Ativas
# STUN Settings
stun.settings.alert.notvalidip = Os IPs selecionados n\u00e3o s\u00e3o v\u00e1lidos. Escolha dois IPs diferentes.
stun.settings.alert.notvalidport = As portas selecionadas n\u00e3o s\u00e3o v\u00e1lidas. Selecione duas portas diferentes.
stun.settings.title = Configura\u00e7\u00f5es do Servidor STUN
stun.settings.desc = Utilize o formul\u00e1rio abaixo para configurar o servidor STUN. \
Um servidor STUN precisa de dois IPs diferentes na mesma m\u00e1quina e duas portas diferentes em cada IP.
stun.settings.success = Configura\u00e7\u00f5es salvas com sucesso.
stun.settings.error = O Servidor n\u00e3o pode ser iniciado. Verifique as portas e os endere\u00e7os de IP.
stun.settings.comment = As configura\u00e7\u00f5es ter\u00e3o efeito depois de salva.
stun.settings.primaryaddress = Endere\u00e7o Prim\u00e1rio
stun.settings.secondaryaddress = Endere\u00e7o Secund\u00e1rio
stun.settings.primaryport = Porta Prim\u00e1ria
stun.settings.secondaryport = Porta Secund\u00e1ria
stun.settings.enabled = Habilitado
stun.settings.change = Modificar
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
setup.admin.settings.username-error=Nenhum usu\u00e1rio informado, ou o usu\u00e1rio informado n\u00e3o foi encontrado.
httpbind.settings.script.label_enable=Enabled
httpbind.settings.script.label_enable_info=Allows BOSH Clients With Limited Access to Connect to the Server
......@@ -2279,7 +2252,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
This diff is collapsed.
......@@ -427,8 +427,6 @@ sidebar.transfer-proxy.descr t=Zobrazenie nastavenia prenosu s\u00faborov
sidebar.sidebar-media-services=Multimedi\u00e1lne slu\u017eby
sidebar.media-proxy P=Multimedi\u00e1lny proxy
sidebar.media-proxy.descr t=Kliknut\u00edm zobraz\u00edte nastavenia multimedi\u00e1lneho proxy.
sidebar.stun Se=Nastavenia STUN
sidebar.stun.descr t=Zobrazenie nastaven\u00ed STUN
tab.tab-users=Pou\u017e\u00edvatelia/skupiny
tab.tab-users.descr=Spr\u00e1va pou\u017e\u00edvate\u013eov a skup\u00edn
sidebar.sidebar-users=Pou\u017e\u00edvatelia
......@@ -2422,8 +2420,6 @@ ports.http_bind.desc_unsecured=Tento port sa pou\u017e\u00edva pre nezabezpe\u01
ports.http_bind.desc_secured=Tento port sa pou\u017e\u00edva pre zabezpe\u010den\u00e9 klientsk\u00e9 HTTP spojenia.
ports.media_proxy=Multimedi\u00e1lny proxy realtime media
ports.media_proxy.desc=Tento port pou\u017e\u00edva proxy slu\u017eba, ktor\u00e1 umo\u017e\u0148uje spojenia Jingle medzi dvomi entitami v sieti XMPP.
ports.stun=Slu\u017eba STUN
ports.stun.desc=Tento port pou\u017e\u00edva slu\u017eba, ktor\u00e1 zabezpe\u010duje spojenia medzi entitami za NAT.
ports.flash_cross_domain=Medzidom\u00e9nov\u00fd Flash
ports.flash_cross_domain.desc=Slu\u017eba, ktor\u00e1 umo\u017e\u0148uje Flash klientom prip\u00e1ja\u0165 sa k in\u00fdm strojom pod\u013ea n\u00e1zvu a portom.
......@@ -2454,27 +2450,6 @@ mediaproxy.summary.session.type = Typ
mediaproxy.summary.session.noactive = \u017diadne akt\u00edvne rel\u00e1cie
mediaproxy.summary.stopbutton = Zastavi\u0165 akt\u00edvne rel\u00e1cie
# STUN Settings
stun.settings.alert.notvalidip = Vybran\u00e9 hodnoty IP nie s\u00fa platn\u00e9. Pros\u00edm, vyberte in\u00e9 IP.
stun.settings.alert.notvalidport = Vybran\u00e9 \u010d\u00edsla portov nie s\u00fa platn\u00e9. Pros\u00edm, vyberte in\u00e9 \u010d\u00edsla portov.
stun.settings.title = Nastavenia STUN
stun.settings.desc = STUN je protokol, ktor\u00fd umo\u017e\u0148uje klientom zisti\u0165 svoje nastavenia siete vr\u00e1tane konfigur\u00e1cie firewallu a NAT. Pou\u017eitie tohto protokolu sa vy\u017eaduje, aby klienti mohli nadv\u00e4zova\u0165 medzi sebou multimedi\u00e1lne spojenia. Sko STUN slu\u017ebu je mo\u017en\u00e9 nakonfigurova\u0165 samotn\u00fd server alebo m\u00f4\u017ee posiela\u0165 klientom adresy STUN serverov tret\u00edch str\u00e1n.<br/><br/> Aby stroj mohol fungova\u0165 ako STUN server, musia na \u0148om by\u0165 aspo\u0148 dve rozli\u010dn\u00e9 verejn\u00e9 IP adresy a pre ka\u017ed\u00fa IP rozny port.
stun.settings.success = Nastavenia \u00faspe\u0161ne aktualizovan\u00e9.
stun.settings.error = Nie je mo\u017en\u00e9 spusti\u0165 STUN server. Skontrolujte \u010d\u00edsla portov a prim\u00e1rnu a sekund\u00e1rnu adresu.
stun.settings.primaryaddress = prim\u00e1rna adresa
stun.settings.secondaryaddress = Sekund\u00e1rna adresa
stun.settings.primaryport = Hodnota prim\u00e1rneho portu
stun.settings.secondaryport = Hodnota sekund\u00e1rneho portu
stun.settings.enabled = Zapnut\u00e9
stun.settings.localenabled = Lok\u00e1lny sever zapnut\u00fd
stun.settings.change = Zmeni\u0165
stun.external.title = Extern\u00e9 STUN servery
stun.external.comment = Server tie\u017e po\u0161le klientom nasledovn\u00e9 adresy STUN slu\u017eieb tret\u00edch str\u00e1n. Kliento sa pok\u00fasia spoji\u0165 s ka\u017edou STUN slu\u017ebou, k\u00fdm nen\u00e1jdu funguj\u00facu.
stun.external.server = Server
stun.external.port = Port
stun.external.error = Neplatn\u00fd port servera.
# Import signed certificate page
ssl.import.certificate.title=Importova\u0165 podp\u00edsan\u00fd certifik\u00e1t
......
......@@ -1941,9 +1941,6 @@ ports.http_bind.desc_unsecured=\u4f7f\u7528\u4e0d\u5b89\u5168\u7684HTTP\u5ba2\u6
ports.http_bind.desc_secured=\u4f7f\u7528\u5b89\u5168\u7684HTTP\u5ba2\u6237\u7aef\u8fde\u63a5\u7aef\u53e3
ports.media_proxy=\u5b9e\u65f6\u5a92\u4f53\u4ee3\u7406\u670d\u52a1\u5668
ports.media_proxy.desc=\u4ee3\u7406\u670d\u52a1\u4f7f\u7528\u7684\u7aef\u53e3\u5141\u8bb8\u5728XMPP\u7f51\u7edc\u4e0a\u4e24\u4e2a\u5b9e\u4f53\u4e4b\u95f4\u8fdb\u884cJingle\u8fde\u63a5.
ports.stun=STUN\u670d\u52a1\u5668
ports.stun.desc=\u7aef\u53e3\u7528\u4e8e\u786e\u4fdd\u5b9e\u4f53\u4e4b\u95f4\u5728NAT\u4e0b\u7684\u8fde\u63a5.
# Media Proxy
......@@ -1972,29 +1969,6 @@ mediaproxy.summary.session.type = \u7c7b\u578b
mediaproxy.summary.session.noactive = \u4e0d\u6d3b\u8dc3\u7684\u4f1a\u8bdd
mediaproxy.summary.stopbutton = \u505c\u6b62\u6d3b\u8dc3\u7684\u4f1a\u8bdd
# STUN Settings
stun.settings.alert.notvalidip = \u9009\u62e9\u7684IP\u503c\u65e0\u6548\uff0c\u8bf7\u9009\u62e9\u4e0d\u540c\u7684IP\u503c\u3002
stun.settings.alert.notvalidport = \u9009\u62e9\u7684\u7aef\u53e3\u65e0\u6548\uff0c\u8bf7\u9009\u62e9\u4e0d\u540c\u7684\u7aef\u53e3\u503c\u3002
stun.settings.title = STUN\u670d\u52a1\u5668\u8bbe\u7f6e
stun.settings.desc = \u4f7f\u7528\u4e0b\u9762\u7684\u8868\u5355\u7ba1\u7406STUN\u670d\u52a1\u5668\u8bbe\u7f6e\u3002\u4e00\u4e2aSTUN\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u9700\u8981\u81f3\u5c11\u4e24\u4e2a\u4e0d\u540c\u7684IP\u624d\u80fd\u8fd0\u884c\uff0c\u5e76\u4e14\u6bcf\u4e2aIP\u4e0a\u4f7f\u7528\u4e24\u4e2a\u4e0d\u540c\u7684\u7aef\u53e3\u3002
stun.settings.success = \u8bbe\u7f6e\u66f4\u65b0\u6210\u529f
stun.settings.error = \u670d\u52a1\u5668\u4e0d\u80fd\u542f\u52a8\uff0c\u8bf7\u68c0\u5bdf\u4f60\u7684\u7aef\u53e3\u548c\u4e24\u4e2aIP\u5730\u5740
stun.settings.comment = \u8bbe\u7f6e\u5728\u4fdd\u5b58\u540e\u751f\u6548.
stun.settings.primaryaddress = \u4e00\u7ea7\u5730\u5740
stun.settings.secondaryaddress = \u4e8c\u7ea7\u5730\u5740
stun.settings.primaryport = \u4e00\u7ea7\u7aef\u53e3\u503c
stun.settings.secondaryport = \u4e8c\u7ea7\u7aef\u53e3\u503c
stun.settings.enabled = \u542f\u7528
stun.settings.change = \u53d8\u66f4\
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
httpbind.settings.script.label_enable=Enabled
httpbind.settings.script.label_enable_info=Allows BOSH Clients With Limited Access to Connect to the Server
httpbind.settings.script.label_disable=Disable
......@@ -2059,7 +2033,6 @@ system.clustering.not-valid-license=Clustering license is not valid. You need to
system.clustering.starting=Clustering is being started. It may take up to 30 seconds to complete. Click {0}here{1} to refresh.
sidebar.system-clustering=Clustering
sidebar.system-clustering.descr=Click to manage clustering settings
sidebar.stun=STUN Settings
sidebar.user-roster=Roster
component.settings.modification.denied=Requested operation is not allowed.
setup.clearspace.continue=Save & Continue
......
......@@ -98,7 +98,6 @@ import org.jivesoftware.openfire.spi.PacketTransporterImpl;
import org.jivesoftware.openfire.spi.PresenceManagerImpl;
import org.jivesoftware.openfire.spi.RoutingTableImpl;
import org.jivesoftware.openfire.spi.XMPPServerInfoImpl;
import org.jivesoftware.openfire.stun.STUNService;
import org.jivesoftware.openfire.transport.TransportHandler;
import org.jivesoftware.openfire.update.UpdateManager;
import org.jivesoftware.openfire.user.UserManager;
......@@ -557,7 +556,6 @@ public class XMPPServer {
loadModule(DefaultFileTransferManager.class.getName());
loadModule(FileTransferProxy.class.getName());
loadModule(MediaProxyService.class.getName());
loadModule(STUNService.class.getName());
loadModule(PubSubModule.class.getName());
loadModule(IQDiscoInfoHandler.class.getName());
loadModule(IQDiscoItemsHandler.class.getName());
......@@ -1423,17 +1421,6 @@ public class XMPPServer {
return (MediaProxyService) modules.get(MediaProxyService.class);
}
/**
* Returns the <code>STUNService</code> registered with this server. The
* <code>MediaProxyService</code> was registered with the server as a module while starting up
* the server.
*
* @return the <code>STUNService</code> registered with this server.
*/
public STUNService getSTUNService() {
return (STUNService) modules.get(STUNService.class);
}
/**
* Returns the <code>FlashCrossDomainHandler</code> registered with this server. The
* <code>FlashCrossDomainHandler</code> was registered with the server as a module while starting up
......
......@@ -61,7 +61,7 @@ public class MulticastDNSService extends BasicModule {
PropertyEventDispatcher.addListener(new PropertyEventListener() {
public void propertySet(String property, Map params) {
public void propertySet(String property, Map<String, Object> params) {
// Restart the service if component settings changes.
if (property.equals("xmpp.component.socket.active") ||
property.equals(" xmpp.component.socket.port"))
......@@ -71,7 +71,7 @@ public class MulticastDNSService extends BasicModule {
}
}
public void propertyDeleted(String property, Map params) {
public void propertyDeleted(String property, Map<String, Object> params) {
// Restart the service if component settings changes.
if (property.equals("xmpp.component.socket.active") ||
property.equals(" xmpp.component.socket.port"))
......@@ -81,10 +81,10 @@ public class MulticastDNSService extends BasicModule {
}
}
public void xmlPropertySet(String property, Map params) {
public void xmlPropertySet(String property, Map<String, Object> params) {
}
public void xmlPropertyDeleted(String property, Map params) {
public void xmlPropertyDeleted(String property, Map<String, Object> params) {
}
});
}
......@@ -116,17 +116,17 @@ public class MulticastDNSService extends BasicModule {
}
try {
if (jmdns == null) {
jmdns = new JmDNS();
jmdns = JmDNS.create();
}
String serverName = XMPPServer.getInstance().getServerInfo().getXMPPDomain();
if (clientPortNum != -1) {
ServiceInfo clientService = new ServiceInfo("_xmpp-client._tcp.local.",
ServiceInfo clientService = ServiceInfo.create("_xmpp-client._tcp.local.",
serverName + "._xmpp-client._tcp.local.", clientPortNum, "XMPP Server");
jmdns.registerService(clientService);
}
if (componentPortNum != -1) {
ServiceInfo componentService = new ServiceInfo("_xmpp-component._tcp.local.",
ServiceInfo componentService = ServiceInfo.create("_xmpp-component._tcp.local.",
serverName + "._xmpp-component._tcp.local.", componentPortNum, "XMPP Component Server");
jmdns.registerService(componentService);
}
......@@ -136,7 +136,7 @@ public class MulticastDNSService extends BasicModule {
}
}
};
// Schedule the task to run in 5 seconds, to give Wildire time to start the ports.
// Schedule the task to run in 5 seconds, to give Openfire time to start the ports.
TaskEngine.getInstance().schedule(startService, 5000);
}
......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>STUN Server Plugin Changelog</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
padding-left : 1em;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
</style>
</head>
<body>
<h1>
STUN Server Plugin Changelog
</h1>
<p><b>1.0.0</b> -- February 26th, 2012 (GdK)</p>
<ul>
<li>Initial release based on the existing functionality in Openfire source code
(see <a href="http://issues.igniterealtime.org/browse/OF-534">issue OF-534</a>).</li>
</ul>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>org.jivesoftware.openfire.stun.STUNService</class>
<name>STUN server plugin</name>
<description>Adds STUN functionality to Openfire</description>
<author>Ignite Realtime</author>
<version>1.0.0</version>
<date>February 26, 2012</date>
<minServerVersion>3.5.0</minServerVersion>
<adminconsole>
<tab id="sidebar-media-services">
<item id="stun-settings" name="${sidebar.stun}"
url="stun-settings.jsp"
description="${sidebar.stun.descr}"/>
</tab>
</adminconsole>
</plugin>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>STUN server Plugin Readme</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
</style>
</head>
<body>
<h1>STUN server Plugin Readme</h1>
<h2>Overview</h2>
<p>
The STUN Server plugin provides address discovery for peer-to-peer sessions to be used for media transmission and
receiving of UDP packets. It's especially useful for clients behind NAT devices. More details on STUN is available
on <a href="http://en.wikipedia.org/wiki/STUN">http://en.wikipedia.org/wiki/STUN</a>.
</p>
<h2>Installation</h2>
<p>
Copy the file, &quot;stunserver.jar&quot; into the plugins directory of your Openfire installation. The plugin will
then be automatically deployed. To upgrade to a new version just replace the &quot;stunserver.jar&quot; file with
the newest version or you can just update the plugin from the admin console in the plugins page.
</p>
<h2>Using the Plugin</h2>
<p>
Once the plugin has been installed you can log into the admin console to modify the STUN server settings.
</p>
<p>
Log into the admin console and in the main page you will see the <b>Media Settings</b> tab. In that tab,
you will find the <b>STUN settings</b> menu item. Go to that page to configure the STUN server.
</p>
</body>
</html>
global.add=P\u0159idat
global.delete=Smazat
sidebar.stun=STUN Settings
ports.stun=Slu\u017eba STUN
ports.stun.desc=Port pou\u017e\u00edvan\u00fd slu\u017ebou, kter\u00e1 zaji\u0161\u0165uje konktivitu mezi dv\u011bma entitami za NAT.
# STUN Settings
stun.settings.alert.notvalidip = Vybran\u00e9 IP hodnoty nejsou platn\u00e9. Pros\u00edm vyberte jin\u00e9 IP.
stun.settings.alert.notvalidport = Vybran\u00e9 porty nejsou platn\u00e9. Pros\u00edm vyberte jin\u00e1 \u010d\u00edsla port\u016f.
stun.settings.title = Nastaven\u00ed STUN serveru
stun.settings.desc = Pou\u017eijte spodn\u00ed formul\u00e1\u0159 pro spr\u00e1vu serveru STUN. \
STUN vy\u017eaduje po svoji \u010dinnost nejm\u00e9n\u011b dv\u011b r\u016fzn\u00e9 IP adresy na stejn\u00e9m stroji a dva r\u016fzn\u00e9 porty na ka\u017ed\u00e9 IP adrese.
stun.settings.success = Nastaven\u00ed ulo\u017eena \u00fasp\u011b\u0161n\u011b.
stun.settings.error = Server nem\u016f\u017ee nastartovat. Zkontrolujte Va\u0161e \u010d\u00edsla port\u016f a prim\u00e1rn\u00ed a sekund\u00e1rn\u00ed adresy.
stun.settings.comment = Nastaven\u00ed se projev\u00ed ihned po sv\u00e9m ulo\u017een\u00ed.
stun.settings.primaryaddress = Prim\u00e1rn\u00ed adresa
stun.settings.secondaryaddress = Sekund\u00e1rn\u00ed adresa
stun.settings.primaryport = Prim\u00e1rn\u00ed port
stun.settings.secondaryport = Sekund\u00e1rn\u00ed
stun.settings.enabled = Povoleno
stun.settings.change = Zm\u011bna\
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
global.add=Hinzuf\u00fcgen
global.delete=L\u00f6schen
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
sidebar.stun=STUN Settings
global.add=Add
global.delete=Delete
sidebar.stun=STUN Settings
sidebar.stun.descr=Click to view STUN settings.
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Settings
stun.settings.desc = STUN is a protocol that lets clients discover their network settings, \
including firewall and NAT device configuration. Use of the protocol is required for clients \
to establish peer to peer media sessions. The server can be configured as a STUN service itself, or it \
can send third-party STUN server addresses to clients.<br/><br/> \
In order to act as a STUN server, two different public IP addresses on the \
same machine are required, as well as two different port numbers for each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = STUN server cannot start. Check your port numbers and Primary and Secondary addresses.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.localenabled = Local Server Enabled
stun.settings.change = Change
stun.external.title = External STUN Servers
stun.external.comment = The server will also send the following address(es) for third-party STUN \
services to clients. Clients will try each STUN service until able to find one that is working.
stun.external.server = Server
stun.external.port = Port
stun.external.error = Invalid server or port.
global.add=Agregar
global.delete=Borrar
ports.stun=Servicio STUN
ports.stun.desc=Puerto utilizado por el servicio para asegurar conectividad entre entidades detr\u00e1s de NATs.
# STUN Settings
stun.settings.alert.notvalidip = Las direcciones IP seleccionadas no son v\u00e1lidas. Seleccione otras direcciones IP.
stun.settings.alert.notvalidport = Los puertos seleccionados no son v\u00e1lidos. Seleccione otros n\u00fameros de puerto.
stun.settings.title = Seteos del Servidor STUN
stun.settings.desc = Utilice el siguiente formulario para configurar al servidor STUN. El servidor STUN necesita al \
menos dos direcciones IP diferentes en el mismo servidor y dos puertos diferentes en cada direcci\u00f3n IP.
stun.settings.success = Seteos actualizados exitosamente.
stun.settings.error = No se ha podido arrancar el servidor. Verifique las direcciones primarias y secundarias y los puertos.
stun.settings.comment = Los seteos entraran en efecto luego de haber salvado los cambios.
stun.settings.primaryaddress = Direcci\u00f3n Primaria
stun.settings.secondaryaddress = Direcci\u00f3n Secundaria
stun.settings.primaryport = Puerto Primario
stun.settings.secondaryport = Puerto Secundario
stun.settings.enabled = Habilitado
stun.settings.change = Cambiar
stun.settings.localenabled=Servidor Local Habilitado
stun.external.title=Servidores STUN Externos
stun.external.server=Servidor
stun.external.port=Puerto
stun.external.error=Servidor o puerto incorrecto.
sidebar.stun=Seteos de STUN
sidebar.stun.descr=Haga clic para ver seteos de STUN.
global.add = Ajouter
global.delete = Supprimer
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
sidebar.stun=STUN Settings
global.add=\u8ffd\u52a0
global.delete=\u524a\u9664
sidebar.stun=STUN\u8a2d\u5b9a
sidebar.stun.descr=STUN\u8a2d\u5b9a\u3092\u53c2\u7167\u3059\u308b\u5834\u5408\u306b\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
ports.stun=STUN\u30b5\u30fc\u30d3\u30b9
ports.stun.desc=NAT\u306e\u3046\u3057\u308d\u3067\u30012\u3064\u306e\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u306e\u63a5\u7d9a\u3092\u78ba\u4fdd\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u304c\u4f7f\u7528\u3059\u308b\u30dd\u30fc\u30c8\u3067\u3059\u3002
# STUN Settings
stun.settings.alert.notvalidip = \u9078\u629e\u3055\u308c\u305fIP\u30a2\u30c9\u30ec\u30b9\u304c\u9069\u5207\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u7570\u306a\u308bIP\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.alert.notvalidport = \u9078\u629e\u3055\u308c\u305f\u30dd\u30fc\u30c8\u756a\u53f7\u306f\u9069\u5207\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u7570\u306a\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.title = STUN\u8a2d\u5b9a
stun.settings.desc = STUN\u306f\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3084NAT\u30c7\u30d0\u30a4\u30b9\u306e\u8a2d\u5b9a\u3092\u542b\u3080\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\
\u5224\u65ad\u3055\u305b\u308b\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u5bfe\u3057\u3066peer to peer\u30e1\u30c7\u30a3\u30a2\u30bb\u30c3\u30b7\u30e7\u30f3\u63a5\u7d9a\u3092\
\u78ba\u7acb\u3059\u308b\u3053\u3068\u304c\u5fc5\u8981\u3067\u3059\u3002\u30b5\u30fc\u30d0\u30fc\u306fSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u30b5\u30fc\u30d0\u30fc\u3068\u3057\u3066\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3057\u3001\u3082\u3057\u304f\u306f\
\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u88fdSTUN\u30b5\u30fc\u30d0\u30fc\u30a2\u30c9\u30ec\u30b9\u3092\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u4fe1\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<br/><br/>\
STUN\u30b5\u30fc\u30d0\u30fc\u304c\u52d5\u4f5c\u3059\u308b\u305f\u3081\u306b\u3001\u540c\u4e00\u30de\u30b7\u30fc\u30f3\u4e0a\u306b2\u3064\u306e\u7570\u306a\u308bIP\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u3068\u306a\u308a\u3001\
\u307e\u305f\u540c\u69d8\u306b2\u3064\u306e\u7570\u306a\u308b\u30dd\u30fc\u30c8\u756a\u53f7\u304c\u305d\u308c\u305e\u308c\u306eIP\u30a2\u30c9\u30ec\u30b9\u3054\u3068\u306b\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002
stun.settings.success = \u8a2d\u5b9a\u304c\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002
stun.settings.error = STUN\u30b5\u30fc\u30d0\u30fc\u3092\u958b\u59cb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u30dd\u30fc\u30c8\u756a\u53f7\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u3068\u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u306e2\u3064\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
stun.settings.primaryaddress = \u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30a2\u30c9\u30ec\u30b9
stun.settings.secondaryaddress = \u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u30a2\u30c9\u30ec\u30b9
stun.settings.primaryport = \u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30dd\u30fc\u30c8\u5024
stun.settings.secondaryport = \u30bb\u30ab\u30f3\u30c0\u30ea\u30fc\u30dd\u30fc\u30c8\u5024
stun.settings.enabled = \u4f7f\u7528\u53ef\u80fd
stun.settings.localenabled = \u30ed\u30fc\u30ab\u30eb\u30b5\u30fc\u30d0\u30fc\u304c\u4f7f\u7528\u53ef\u80fd
stun.settings.change = \u5909\u66f4
stun.external.title = \u5916\u90e8STUN\u30b5\u30fc\u30d0\u30fc
stun.external.comment = \u30b5\u30fc\u30d0\u30fc\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u5bfe\u3057\u3066\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30fc\u88fdSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u305f\u3081\u306e\u6b21\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\
\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u3001\u52d5\u4f5c\u3057\u3066\u3044\u308b1\u3064\u306e\u30b5\u30fc\u30d0\u30fc\u3092\u898b\u3064\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u307e\u3067\u3001\u305d\u308c\u305e\u308c\u306eSTUN\u30b5\u30fc\u30d3\u30b9\u306e\u4f7f\u7528\u3092\u8a66\u307f\u307e\u3059\u3002
stun.external.server = \u30b5\u30fc\u30d0\u30fc
stun.external.port = \u30dd\u30fc\u30c8
stun.external.error = \u4e0d\u9069\u5207\u306a\u30b5\u30fc\u30d0\u30fc\u3082\u3057\u304f\u306f\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
global.add=Toevoegen
global.delete=Verwijderen
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
sidebar.stun=STUN Settings
global.add=Dodaj
global.delete=Usu\u0144
ports.stun=STUN Service
ports.stun.desc=The port used for the service that ensures connectivity between entities when behind a NAT.
# STUN Settings
stun.settings.alert.notvalidip = The selected IP values are not valid. Please select different IPs.
stun.settings.alert.notvalidport = The selected port numbers are not valid. Please select different port numbers.
stun.settings.title = STUN Server Settings
stun.settings.desc = Use the form below to manage STUN Server settings. \
A STUN need at least two different IPs in the same machine to run and two different port numbers on each IP.
stun.settings.success = Settings updated successfully.
stun.settings.error = Server cannot started. Check your port numbers and Primary and Secondary addresses.
stun.settings.comment = The settings will just take effects after savings settings.
stun.settings.primaryaddress = Primary Address
stun.settings.secondaryaddress = Secondary Address
stun.settings.primaryport = Primary Port Value
stun.settings.secondaryport = Secondary Port Value
stun.settings.enabled = Enabled
stun.settings.change = Change
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
sidebar.stun=STUN Settings
global.add=Adicionar
global.delete=Apagar
ports.stun=Servi\u00e7o STUN
ports.stun.desc=A porta utilizada pelo servi\u00e7o que testa conectividade nos clientes que est\u00e3o atr\u00e1s de NAT.
# STUN Settings
stun.settings.alert.notvalidip = Os IPs selecionados n\u00e3o s\u00e3o v\u00e1lidos. Escolha dois IPs diferentes.
stun.settings.alert.notvalidport = As portas selecionadas n\u00e3o s\u00e3o v\u00e1lidas. Selecione duas portas diferentes.
stun.settings.title = Configura\u00e7\u00f5es do Servidor STUN
stun.settings.desc = Utilize o formul\u00e1rio abaixo para configurar o servidor STUN. \
Um servidor STUN precisa de dois IPs diferentes na mesma m\u00e1quina e duas portas diferentes em cada IP.
stun.settings.success = Configura\u00e7\u00f5es salvas com sucesso.
stun.settings.error = O Servidor n\u00e3o pode ser iniciado. Verifique as portas e os endere\u00e7os de IP.
stun.settings.comment = As configura\u00e7\u00f5es ter\u00e3o efeito depois de salva.
stun.settings.primaryaddress = Endere\u00e7o Prim\u00e1rio
stun.settings.secondaryaddress = Endere\u00e7o Secund\u00e1rio
stun.settings.primaryport = Porta Prim\u00e1ria
stun.settings.secondaryport = Porta Secund\u00e1ria
stun.settings.enabled = Habilitado
stun.settings.change = Modificar
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
sidebar.stun=STUN Settings
global.add=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C
global.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C
ports.stun=\u0423\u0421\u041B\u0423\u0413\u0410 STUN
ports.stun.desc=\u041F\u043E\u0440\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u043B\u0443\u0433\u0438, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0433\u0430\u0440\u0430\u043D\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0432\u044F\u0437\u044C \u0437\u0430 NAT.
sidebar.stun=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 STUN
sidebar.stun.descr=\u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C STUN \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438.
stun.external.add=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C
stun.external.comment=\u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0430\u043A\u0436\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0430\u0434\u0440\u0435\u0441(\u0430) \u0441\u0442\u043E\u0440\u043E\u043D\u043D\u0438\u0445 \u0441\u043B\u0443\u0436\u0431 STUN \u0434\u043B\u044F \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432.\u041A\u043B\u0438\u0435\u043D\u0442\u044B \u0431\u0443\u0434\u0443\u0442 \u043F\u044B\u0442\u0430\u0442\u044C\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u043A\u0430\u0436\u0434\u044B\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 STUN,\u043F\u043E\u043A\u0430 \u0438\u043C \u043D\u0435\u0443\u0434\u0430\u0441\u0442\u0441\u0430 \u043D\u0430\u0439\u0442\u0438 \u0445\u043E\u0442\u044C \u043E\u0434\u0438\u043D,\u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442.
stun.external.delete=\u0423\u0434\u0430\u043B\u0438\u0442\u044C
stun.external.error=\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u043B\u0438 \u043F\u043E\u0440\u0442.
stun.external.port=\u041F\u043E\u0440\u0442
stun.external.server=\u0421\u0435\u0440\u0432\u0435\u0440
stun.external.title=\u0412\u043D\u0435\u0448\u043D\u0438\u0435 STUN-\u0441\u0435\u0440\u0432\u0435\u0440\u044B
stun.settings.alert.notvalidip=\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 IP \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435\u0441\u044C \u0434\u0440\u0443\u0433\u0438\u0435 IPs.
stun.settings.alert.notvalidport=\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u043F\u043E\u0440\u0442\u043E\u0432 \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435\u0441\u044C \u0434\u0440\u0443\u0433\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u043F\u043E\u0440\u0442\u043E\u0432.
stun.settings.change=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C
stun.settings.comment=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0432\u0441\u0442\u0443\u043F\u044F\u0442 \u0432 \u0441\u0438\u043B\u0443 \u043F\u0440\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u043C \u0432\u0445\u043E\u0434\u0435.
stun.settings.desc=STUN\u2014\u044D\u0442\u043E \u0441\u0435\u0442\u0435\u0432\u043E\u0439 \u043F\u0440\u043E\u0442\u043E\u043A\u043E\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u0443, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0435\u043C\u0443\u0441\u044F \u0437\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u043C \u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043E\u0432 (\u0438\u043B\u0438 \u0437\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u0438\u043C\u0438 \u0442\u0430\u043A\u0438\u043C\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043C\u0438) \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0441\u0432\u043E\u0439 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 IP-\u0430\u0434\u0440\u0435\u0441, \u0441\u043F\u043E\u0441\u043E\u0431 \u0442\u0440\u0430\u043D\u0441\u043B\u044F\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u043F\u043E\u0440\u0442 \u0432\u043E \u0432\u043D\u0435\u0448\u043D\u0435\u0439 \u0441\u0435\u0442\u0438, \u0441\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0439 \u0441 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u043C \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u0438\u043C \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u043F\u043E\u0440\u0442\u0430. \u042D\u0442\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F UDP \u043C\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043C\u044F \u0445\u043E\u0441\u0442\u0430\u043C\u0438 \u0432 \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u043E\u043D\u0438 \u043E\u0431\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0437\u0430 \u043C\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043E\u0440\u043E\u043C NAT.
stun.settings.enabled=\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u043E
stun.settings.error=STUN \u0441\u0435\u0440\u0432\u0435\u0440 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0441\u0442\u0430\u0440\u0442\u043E\u0432\u0430\u0442\u044C. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043D\u043E\u043C\u0435\u0440\u0430 \u043F\u043E\u0440\u0442\u043E\u0432, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043F\u0435\u0440\u0432\u0438\u0447\u043D\u044B\u0439 \u0438 \u0432\u0442\u043E\u0440\u0438\u0447\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441.
stun.settings.localenabled=\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u043A\u043B\u044E\u0447\u0435\u043D
stun.settings.primaryaddress=\u041F\u0435\u0440\u0432\u0438\u0447\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441
stun.settings.primaryport=\u041F\u0435\u0440\u0432\u0438\u0447\u043D\u0430\u044F \u043D\u043E\u043C\u0435\u0440 \u043F\u043E\u0440\u0442\u0430
stun.settings.secondaryaddress=\u0412\u0442\u043E\u0440\u0438\u0447\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441
stun.settings.secondaryport=\u0412\u0442\u043E\u0440\u0438\u0447\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 \u043F\u043E\u0440\u0442\u0430
stun.settings.success=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B \u0443\u0441\u043F\u0435\u0448\u043D\u043E.
stun.settings.title=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 STUN
global.add=Prida\u0165
global.delete=Zmaza\u0165
sidebar.stun Se=Nastavenia STUN
sidebar.stun.descr t=Zobrazenie nastaven\u00ed STUN
ports.stun=Slu\u017eba STUN
ports.stun.desc=Tento port pou\u017e\u00edva slu\u017eba, ktor\u00e1 zabezpe\u010duje spojenia medzi entitami za NAT.
# STUN Settings
stun.settings.alert.notvalidip = Vybran\u00e9 hodnoty IP nie s\u00fa platn\u00e9. Pros\u00edm, vyberte in\u00e9 IP.
stun.settings.alert.notvalidport = Vybran\u00e9 \u010d\u00edsla portov nie s\u00fa platn\u00e9. Pros\u00edm, vyberte in\u00e9 \u010d\u00edsla portov.
stun.settings.title = Nastavenia STUN
stun.settings.desc = STUN je protokol, ktor\u00fd umo\u017e\u0148uje klientom zisti\u0165 svoje nastavenia siete vr\u00e1tane konfigur\u00e1cie firewallu a NAT. Pou\u017eitie tohto protokolu sa vy\u017eaduje, aby klienti mohli nadv\u00e4zova\u0165 medzi sebou multimedi\u00e1lne spojenia. Sko STUN slu\u017ebu je mo\u017en\u00e9 nakonfigurova\u0165 samotn\u00fd server alebo m\u00f4\u017ee posiela\u0165 klientom adresy STUN serverov tret\u00edch str\u00e1n.<br/><br/> Aby stroj mohol fungova\u0165 ako STUN server, musia na \u0148om by\u0165 aspo\u0148 dve rozli\u010dn\u00e9 verejn\u00e9 IP adresy a pre ka\u017ed\u00fa IP rozny port.
stun.settings.success = Nastavenia \u00faspe\u0161ne aktualizovan\u00e9.
stun.settings.error = Nie je mo\u017en\u00e9 spusti\u0165 STUN server. Skontrolujte \u010d\u00edsla portov a prim\u00e1rnu a sekund\u00e1rnu adresu.
stun.settings.primaryaddress = prim\u00e1rna adresa
stun.settings.secondaryaddress = Sekund\u00e1rna adresa
stun.settings.primaryport = Hodnota prim\u00e1rneho portu
stun.settings.secondaryport = Hodnota sekund\u00e1rneho portu
stun.settings.enabled = Zapnut\u00e9
stun.settings.localenabled = Lok\u00e1lny sever zapnut\u00fd
stun.settings.change = Zmeni\u0165
stun.external.title = Extern\u00e9 STUN servery
stun.external.comment = Server tie\u017e po\u0161le klientom nasledovn\u00e9 adresy STUN slu\u017eieb tret\u00edch str\u00e1n. Kliento sa pok\u00fasia spoji\u0165 s ka\u017edou STUN slu\u017ebou, k\u00fdm nen\u00e1jdu funguj\u00facu.
stun.external.server = Server
stun.external.port = Port
stun.external.error = Neplatn\u00fd port servera.
global.add=\u6dfb\u52a0
global.delete=\u5220\u9664
ports.stun=STUN\u670d\u52a1\u5668
ports.stun.desc=\u7aef\u53e3\u7528\u4e8e\u786e\u4fdd\u5b9e\u4f53\u4e4b\u95f4\u5728NAT\u4e0b\u7684\u8fde\u63a5.
# STUN Settings
stun.settings.alert.notvalidip = \u9009\u62e9\u7684IP\u503c\u65e0\u6548\uff0c\u8bf7\u9009\u62e9\u4e0d\u540c\u7684IP\u503c\u3002
stun.settings.alert.notvalidport = \u9009\u62e9\u7684\u7aef\u53e3\u65e0\u6548\uff0c\u8bf7\u9009\u62e9\u4e0d\u540c\u7684\u7aef\u53e3\u503c\u3002
stun.settings.title = STUN\u670d\u52a1\u5668\u8bbe\u7f6e
stun.settings.desc = \u4f7f\u7528\u4e0b\u9762\u7684\u8868\u5355\u7ba1\u7406STUN\u670d\u52a1\u5668\u8bbe\u7f6e\u3002\u4e00\u4e2aSTUN\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u9700\u8981\u81f3\u5c11\u4e24\u4e2a\u4e0d\u540c\u7684IP\u624d\u80fd\u8fd0\u884c\uff0c\u5e76\u4e14\u6bcf\u4e2aIP\u4e0a\u4f7f\u7528\u4e24\u4e2a\u4e0d\u540c\u7684\u7aef\u53e3\u3002
stun.settings.success = \u8bbe\u7f6e\u66f4\u65b0\u6210\u529f
stun.settings.error = \u670d\u52a1\u5668\u4e0d\u80fd\u542f\u52a8\uff0c\u8bf7\u68c0\u5bdf\u4f60\u7684\u7aef\u53e3\u548c\u4e24\u4e2aIP\u5730\u5740
stun.settings.comment = \u8bbe\u7f6e\u5728\u4fdd\u5b58\u540e\u751f\u6548.
stun.settings.primaryaddress = \u4e00\u7ea7\u5730\u5740
stun.settings.secondaryaddress = \u4e8c\u7ea7\u5730\u5740
stun.settings.primaryport = \u4e00\u7ea7\u7aef\u53e3\u503c
stun.settings.secondaryport = \u4e8c\u7ea7\u7aef\u53e3\u503c
stun.settings.enabled = \u542f\u7528
stun.settings.change = \u53d8\u66f4
stun.external.title = External Stun Servers
stun.external.comment = Server will also send the following address(es) to client.
stun.external.server = Server
stun.external.port = Port
stun.external.error = You must inform Server and Port.
stun.external.add = Add
stun.external.delete = Delete
sidebar.stun=STUN Settings
......@@ -16,6 +16,7 @@
package org.jivesoftware.openfire.stun;
import java.io.File;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
......@@ -29,7 +30,8 @@ import org.dom4j.Element;
import org.jivesoftware.openfire.IQHandlerInfo;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.auth.UnauthorizedException;
import org.jivesoftware.openfire.container.BasicModule;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.handler.IQHandler;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.PropertyEventDispatcher;
......@@ -48,7 +50,7 @@ import de.javawi.jstun.test.demo.StunServer;
*
* @author Thiago Camargo
*/
public class STUNService extends BasicModule {
public class STUNService implements Plugin {
private static final Logger Log = LoggerFactory.getLogger(STUNService.class);
......@@ -72,23 +74,7 @@ public class STUNService extends BasicModule {
private List<StunServerAddress> externalServers = null;
/**
* Constructs a new STUN Service
*/
public STUNService() {
super("STUN Service");
}
@Override
public void destroy() {
super.destroy();
stunServer = null;
}
@Override
public void initialize(XMPPServer server) {
super.initialize(server);
public void initializePlugin(PluginManager manager, File pluginDirectory) {
this.enabled = JiveGlobals.getBooleanProperty("stun.enabled", true);
primaryAddress = JiveGlobals.getProperty("stun.address.primary");
......@@ -114,6 +100,8 @@ public class STUNService extends BasicModule {
}
}
start();
// Add listeners for STUN service being enabled and disabled via manual property changes.
PropertyEventDispatcher.addListener(new PropertyEventListener() {
......@@ -150,7 +138,10 @@ public class STUNService extends BasicModule {
});
}
@Override
public void destroyPlugin() {
stop();
}
public void start() {
if (isEnabled()) {
startSTUNService();
......@@ -200,9 +191,7 @@ public class STUNService extends BasicModule {
}
}
@Override
public void stop() {
super.stop();
this.enabled = false;
stopSTUNService();
stopLocal();
......@@ -215,11 +204,6 @@ public class STUNService extends BasicModule {
stunServer = null;
}
@Override
public String getName() {
return "stun";
}
public List<StunServerAddress> getExternalServers() {
return externalServers;
}
......
......@@ -57,8 +57,7 @@
</script>
<%
STUNService stunService = XMPPServer.getInstance().getSTUNService();
STUNService stunService = (STUNService) XMPPServer.getInstance().getPluginManager().getPlugin("stunserver");
boolean save = request.getParameter("save") != null;
boolean add = request.getParameter("add") != null;
......@@ -91,7 +90,6 @@
JiveGlobals.setProperty("stun.local.enabled", String.valueOf(localEnabled));
stunService.stop();
stunService.initialize(XMPPServer.getInstance());
if (!enabled) localEnabled = false;
stunService.setEnabled(enabled, localEnabled);
......
......@@ -150,11 +150,6 @@
<item id="media-proxy-service" name="${sidebar.media-proxy}"
url="media-proxy.jsp"
description="${sidebar.media-proxy.descr}"/>
<!-- STUN Server Settings -->
<item id="stun-settings" name="${sidebar.stun}"
url="stun-settings.jsp"
description="${sidebar.stun.descr}"/>
</sidebar>
</tab>
......
......@@ -34,7 +34,6 @@
<%@ page import="org.jivesoftware.openfire.session.LocalClientSession" %>
<%@ page import="org.jivesoftware.openfire.session.LocalConnectionMultiplexerSession" %>
<%@ page import="org.jivesoftware.openfire.spi.ConnectionManagerImpl" %>
<%@ page import="org.jivesoftware.openfire.stun.STUNService" %>
<%@ page import="org.jivesoftware.openfire.update.Update" %>
<%@ page import="org.jivesoftware.openfire.update.UpdateManager" %>
<%@ page import="org.jivesoftware.util.*" %>
......@@ -86,7 +85,6 @@
FileTransferProxy fileTransferProxy = XMPPServer.getInstance().getFileTransferProxy();
HttpBindManager httpBindManager = HttpBindManager.getInstance();
MediaProxyService mediaProxyService = XMPPServer.getInstance().getMediaProxyService();
STUNService stunService = XMPPServer.getInstance().getSTUNService();
FlashCrossDomainHandler flashCrossDomainHandler = XMPPServer.getInstance().getFlashCrossDomainHandler();
// Search for s2s and external component ports info
......@@ -607,17 +605,6 @@
<td><fmt:message key="ports.media_proxy.desc" /></td>
</tr>
<% } %>
<%
if (stunService.isEnabled()) {
%>
<tr>
<td><%= interfaceName == null ? LocaleUtils.getLocalizedString("ports.all_ports") : interfaceName %></td>
<td><%= stunService.getPrimaryPort() %> & <%= stunService.getSecondaryPort() %></td>
<td><img src="images/blank.gif" width="1" height="1" alt=""></td>
<td><fmt:message key="ports.stun" /></td>
<td><fmt:message key="ports.stun.desc" /></td>
</tr>
<% } %>
<tr>
<td><%= interfaceName == null ? LocaleUtils.getLocalizedString("ports.all_ports") : interfaceName %></td>
<td><%= flashCrossDomainHandler.getPort() %></td>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment