Problem with voice call when openvpn is on

hello
In the Openfire software, when both parties are using VPN, the voice call cannot be established. However, as soon as one party disables their VPN, the voice call is established. It is worth noting that there are no issues with sending text messages and files.
Openfire version: 4.8.0

When performing voice calls, voice data is typically not flowing through Openfire, but either directly from client to client, or through a TURN service.

Something in your VPN setup apparently prevents this from happening properly. This might be a problem during the negotiation of the call, or a more generic networking issue. I’d look for the solution to this in your networking setup. There’s little that Openfire can do here (apart from maybe helping clients get informed about the IP addresses of proxies to use - for this, you can use the External Service Discovery plugin).

I had previously installed the External Service Discovery Plugin and had also performed the necessary configurations, but the issue still persists. Additionally, I have opened the required ports both on the VPN server and the Openfire server, but the problem remains unresolved. Finally, I even disabled the firewalls on both servers, but the problem persists. Please provide guidance. Thank you.

Do you realize that this is a question that is unanswerable? You’re basically saying “it doesn’t work” without providing much more details other than “I opened the required ports” and expect us to tell you how to fix your problem. What do you expect us to answer?

Thank you for your response.

I have configured the Ext. Service Discovery as follows:
Host: Openfire server IP address
Port: 3478
Transport: Both UDP and TCP
Type: Both STUN and TURN

I have also installed the Pion TURN/STUN Server for Openfire plugin and made the following settings:
PionTurn Settings:
Enabled
Username: admin
Password: my_password
IP Address: Openfire server IP
Port: 3478
UDP Port Range Min: 50000
UDP Port Range Max: 55000

The VPN protocol used is OpenVPN.

If you want more information, let me know and I will provide it

Hi, first lets correct the small things,
in the External Service Discovery
Transport: (select UDP only. the TCP is only for TURNS that is not the recommended for most use cases)
Type: i would select TURN. I am not sure here but it is either the client or the TURN server or both that decides whether to use TURN or STUN.

The PionTURN settings are ok. but i would advice changing from the 3478 to another one(preferably higher just to avoid automated attacks on your server(very common).
then there is the “unknown” that i must ask you:
did you port foward both: 3478 UDP, and the range 50000-55000 also UDP?
are you operating with Dynamic or Static IP?

Also, can you explain better the VPN story? is this VPN located in the same machine/or same LAN as your Openfire server? is some of the callers inside the same LAN as Openfire? or we are talking about a far away VPN?

You can also tell us about the calls, for example the calls that are not happening are from users both outside LAN from different locations? example: Server = Location A, Client1 = Location B, Client 2= Location C.

Also in the PionTurn configuration the “IP address” you are setting is the real external IP of your Openfire server? as in a number and not a domain name?

And last but not least, you can also try to peak into Openfire logs and see whats is happening in the Pionturn logs there, it gives you valuable information for debugging.

thanks for your answer
Regarding the question, did you port forward both: 3478 UDP, and the range 50000-55000 also UDP?
Yes, both are 3478 and the range is 50000-55000 and udp

Regarding the question, are you operating with Dynamic or Static IP?
Yes, the IP is static. It is actually a vps

Regarding the question Also, can you explain better the VPN story? Is this VPN located in the same machine/or same LAN as your Openfire server? are some of the callers inside the same LAN as Openfire? or are we talking about a far away VPN?
The vpn server is separate and it is also a vps abroad.

Regarding the question, you can also tell us about the calls, for example the calls that are not happening are from users both outside LAN from different locations? example: Server = Location A, Client1 = Location B, Client 2 = Location C.
As I said, the vpn server is separate and the openfire server is separate, both of which are vps that I renew monthly. Each is one of them in different countries.

Regarding the question Also in the PionTurn configuration the “IP address” you are setting is the real external IP of your Openfire server? as in a number and not a domain name?
Yes, I enter the IP address of the openfire server in the PionTurn settings, not the domain name.

Regarding the question And last but not least, you can also try to peak into Openfire logs and see what is happening in the Pionturn logs there, it gives you valuable information for debugging.
Please tell me where its path is stored so that I can tell.
Thanks

What client are you using for voice calls?

IIRC the Pionturn logs go with Openfire logs, you can either search for the file or even look at the the logs being show via the admin panel.
If you are on debian, you can probably find it in /var/log/openfire/

Conversations app

my os is ubuntu

Please help friends

can you check what Pionturn logs(together with the Openfire logs) are saying? there are many ways to read your logs. but the easiest one would be to simply check via admin panel.
Server>server manager>logs
at the same time you are there you can make your call(the one that cant connect) and look at the logs.
refresh the page and you will see Pionturn plugin start to delivery info about the call and whats going wrong.

Pionturn logs

2024.02.28 09:52:25.875 INFO [nioEventLoopGroup-3-1]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="zVUpKHY53Cw3" from="My_Address_Site.com" to="user2@My_Address_Site.com/Conversations.wDYy"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="zVUpKHY53Cw3" from="user2@My_Address_Site.com/Conversations.wDYy" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:52:26.012 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=R3RZd21EN0Nla1Rw,
2024.02.28 09:52:26.012 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=R3RZd21EN0Nla1Rw, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:26.012 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=U1NFLzJZd0JxaGVZ,
2024.02.28 09:52:26.013 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=U1NFLzJZd0JxaGVZ, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:26.064 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=ZmpDazdTRUZPSE1j, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:26.064 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=ZmpDazdTRUZPSE1j, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:26.064 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=NnpGMjhEVFdmcGhV, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:26.064 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=NnpGMjhEVFdmcGhV, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:26.163 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=Q3ZFTTdaSmYxZjZT, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:26.163 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=Q3ZFTTdaSmYxZjZT, attr0=ERROR-CODE
2024.02.28 09:52:26.163 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:26 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:40509: integrity check failed
2024.02.28 09:52:26.164 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=S2RuR1BSOUkyRTFO, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:26.164 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=S2RuR1BSOUkyRTFO, attr0=ERROR-CODE
2024.02.28 09:52:26.164 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:26 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:11417: integrity check failed
2024.02.28 09:52:27.965 INFO [nioEventLoopGroup-3-2]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="msoSDlsqhSEX" from="My_Address_Site.com" to="user1@My_Address_Site.com/Conversations.V4x9"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="msoSDlsqhSEX" from="user1@My_Address_Site.com/Conversations.V4x9" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:52:28.396 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=OGFzS2dPWXRaZ3Bz,
2024.02.28 09:52:28.396 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=OGFzS2dPWXRaZ3Bz, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:28.439 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=ZlRndm1IR3VyWXFI, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:28.439 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=ZlRndm1IR3VyWXFI, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:28.540 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=Tkw5eTB2Vk5qUnRU, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:28.540 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=Tkw5eTB2Vk5qUnRU, attr0=ERROR-CODE
2024.02.28 09:52:28.541 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:28 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:23651: integrity check failed
2024.02.28 09:52:36.108 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=NE9SdjdTM3gwWmhk,
2024.02.28 09:52:36.109 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=NE9SdjdTM3gwWmhk, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:36.109 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=K1ZTY0VjS1FZT3Jj,
2024.02.28 09:52:36.109 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=K1ZTY0VjS1FZT3Jj, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:46.934 WARN [nioEventLoopGroup-3-2]: org.jivesoftware.openfire.nio.NettyXMPPDecoder - Error occurred while decoding XMPP stanza, closing connection: NettyConnection{peer: /88.100.52.200:13115, state: OPEN, session: LocalClientSession{address=user1@My_Address_Site.com/Conversations.V4x9, streamID=7nknovwlui, status=AUTHENTICATED, isEncrypted=true, isDetached=false, serverName='My_Address_Site.com', isInitialized=true, hasAuthToken=true, peer address='88.100.52.200', presence='
<presence from="user1@My_Address_Site.com/Conversations.V4x9">
    <c xmlns="http://jabber.org/protocol/caps" ver="VaFH3zLveT77pOMcOwsKdlw2IPE=" node="http://conversations.im" hash="sha-1"></c>
</presence>'}, Netty channel handler context name: NettyClientConnectionHandler#0}
java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[?:?]
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) ~[?:?]
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) ~[?:?]
    at sun.nio.ch.IOUtil.read(IOUtil.java:233) ~[?:?]
    at sun.nio.ch.IOUtil.read(IOUtil.java:223) ~[?:?]
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:356) ~[?:?]
    at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:254) ~[netty-buffer-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) ~[netty-buffer-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at java.lang.Thread.run(Thread.java:829) [?:?]
2024.02.28 09:52:46.936 ERROR [nioEventLoopGroup-3-2]: org.jivesoftware.openfire.nio.NettyConnection - Problem during connection close or cleanup
java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:?]
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:113) ~[?:?]
    at sun.nio.ch.IOUtil.write(IOUtil.java:58) ~[?:?]
    at sun.nio.ch.IOUtil.write(IOUtil.java:50) ~[?:?]
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:462) ~[?:?]
    at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:415) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:921) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.handler.ssl.SslHandler.forceFlush(SslHandler.java:2236) ~[netty-handler-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:825) ~[netty-handler-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:802) ~[netty-handler-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:925) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:127) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:923) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:941) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:984) ~[netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at org.jivesoftware.openfire.nio.NettyConnection.close(NettyConnection.java:213) [xmppserver-4.8.0.jar:4.8.0]
    at org.jivesoftware.openfire.nio.NettyXMPPDecoder.exceptionCaught(NettyXMPPDecoder.java:72) [xmppserver-4.8.0.jar:4.8.0]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1203) [netty-handler-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:177) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.100.Final.jar:4.1.100.Final]
    at java.lang.Thread.run(Thread.java:829) [?:?]
2024.02.28 09:52:54.956 INFO [nioEventLoopGroup-3-3]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="driLx71Cjljz" from="My_Address_Site.com" to="user1@My_Address_Site.com/Conversations.V4x9"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="driLx71Cjljz" from="user1@My_Address_Site.com/Conversations.V4x9" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:52:55.162 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=TGpTdCt2bk84S0lM,
2024.02.28 09:52:55.162 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=TGpTdCt2bk84S0lM, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:55.166 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=THVWcng3c08xc1Yv,
2024.02.28 09:52:55.166 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=THVWcng3c08xc1Yv, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:55.215 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=b2xST3RMRDcyTlBR, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:55.215 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=b2xST3RMRDcyTlBR, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:55.217 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=a3hmOUQ5ajNBVnU0, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:55.217 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=a3hmOUQ5ajNBVnU0, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:55.325 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=OVcvSmdMZ3B4UkRk, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:55.325 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=OVcvSmdMZ3B4UkRk, attr0=ERROR-CODE
2024.02.28 09:52:55.325 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:55 Failed to handle datagram: failed to handle Allocate-request from 36.65.55.198:36182: integrity check failed
2024.02.28 09:52:55.331 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=aUk1ZDI0R3dIaFBE, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:55.332 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=aUk1ZDI0R3dIaFBE, attr0=ERROR-CODE
2024.02.28 09:52:55.332 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:55 Failed to handle datagram: failed to handle Allocate-request from 36.65.55.198:43332: integrity check failed
2024.02.28 09:52:55.447 INFO [nioEventLoopGroup-3-1]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="KmKE-U26alOD" from="My_Address_Site.com" to="user2@My_Address_Site.com/Conversations.wDYy"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="KmKE-U26alOD" from="user2@My_Address_Site.com/Conversations.wDYy" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:52:55.629 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=RnBLK0pxWitvRVZU,
2024.02.28 09:52:55.629 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=RnBLK0pxWitvRVZU, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:52:55.678 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=dEZBUWpsUU9zUTVD, attr0=REQUESTED-TRANSPORT
2024.02.28 09:52:55.678 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=dEZBUWpsUU9zUTVD, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:52:55.777 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=ckNjTUxUMDVGYjEz, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:52:55.778 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=ckNjTUxUMDVGYjEz, attr0=ERROR-CODE
2024.02.28 09:52:55.778 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:52:55 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:41675: integrity check failed
2024.02.28 09:53:05.274 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=aHMwNERtTzhvZGxY,
2024.02.28 09:53:05.274 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=aHMwNERtTzhvZGxY, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:53:05.278 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=QXpiQ0RwNjJSVGxn,
2024.02.28 09:53:05.279 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=QXpiQ0RwNjJSVGxn, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:53:20.222 INFO [nioEventLoopGroup-3-1]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="ZYHS5FRz8qXl" from="My_Address_Site.com" to="user2@My_Address_Site.com/Conversations.wDYy"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="ZYHS5FRz8qXl" from="user2@My_Address_Site.com/Conversations.wDYy" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:53:20.347 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=ME10bHhRZENFMVJW,
2024.02.28 09:53:20.347 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=ME10bHhRZENFMVJW, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:53:20.347 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=ckZTeWtjb0xKQ2Jt,
2024.02.28 09:53:20.347 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=ckZTeWtjb0xKQ2Jt, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:53:20.396 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=dU1ORnM4ZVVHQzk1, attr0=REQUESTED-TRANSPORT
2024.02.28 09:53:20.397 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=dU1ORnM4ZVVHQzk1, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:53:20.397 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=Tmc2UW1kMFV3NXlz, attr0=REQUESTED-TRANSPORT
2024.02.28 09:53:20.397 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=Tmc2UW1kMFV3NXlz, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=OC84THJoNkhwd0JZ, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=OC84THJoNkhwd0JZ, attr0=ERROR-CODE
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:53:20 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:13428: integrity check failed
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=Q0xmRzhHNmp4S2E3, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=Q0xmRzhHNmp4S2E3, attr0=ERROR-CODE
2024.02.28 09:53:20.495 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:53:20 Failed to handle datagram: failed to handle Allocate-request from 88.100.52.200:51316: integrity check failed
2024.02.28 09:53:20.971 INFO [nioEventLoopGroup-3-3]: org.igniterealtime.openfire.plugins.externalservicediscovery.ExternalServiceDiscoveryIQHandler - Responding with <iq type="result" id="BCLynctxc1iH" from="My_Address_Site.com" to="user1@My_Address_Site.com/Conversations.V4x9"><services xmlns="urn:xmpp:extdisco:2"><service username="admin" password="admin" host="64.77.130.166" port="3478" restricted="true" transport="udp" type="turn"/></services></iq> to request <iq type="get" id="BCLynctxc1iH" from="user1@My_Address_Site.com/Conversations.V4x9" to="My_Address_Site.com"><services xmlns="urn:xmpp:extdisco:2"></services></iq>
2024.02.28 09:53:21.534 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=YnpNOVQrdHNQQU04,
2024.02.28 09:53:21.535 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=YnpNOVQrdHNQQU04, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT
2024.02.28 09:53:21.579 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=8 attrs=1 id=Ry9YREhzWjNkanRN, attr0=REQUESTED-TRANSPORT
2024.02.28 09:53:21.579 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=60 attrs=3 id=Ry9YREhzWjNkanRN, attr0=ERROR-CODE attr1=NONCE attr2=REALM
2024.02.28 09:53:21.689 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Allocate request l=96 attrs=5 id=dTR2RkJXaGxXVVpi, attr0=REQUESTED-TRANSPORT attr1=USERNAME attr2=REALM attr3=NONCE attr4=MESSAGE-INTEGRITY
2024.02.28 09:53:21.690 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Allocate error response l=8 attrs=1 id=dTR2RkJXaGxXVVpi, attr0=ERROR-CODE
2024.02.28 09:53:21.690 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine turn ERROR: 2024/02/28 09:53:21 Failed to handle datagram: failed to handle Allocate-request from 36.65.55.198:54552: integrity check failed
2024.02.28 09:53:27.498 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Inbound STUN: Binding request l=0 attrs=0 id=SktNcEJRNkkxUU01,
2024.02.28 09:53:27.498 INFO [Thread-16]: org.ifsoft.turn.openfire.PionTurn - PionTurn onOutputLine Outbound STUN: Binding success response l=20 attrs=2 id=SktNcEJRNkkxUU01, attr0=XOR-MAPPED-ADDRESS attr1=FINGERPRINT

from the looks of it you might have set a wrong password on the “client”(external service discovery)

maybe change the password to something more simple alphanumerical only not too long, just for a test. dont forget to change both the Pionturn side and the External Service discovery side. And dont forget to reload the plugins, or restart Openfire.

Hi dear friend
After I left the password simple (just a number), the problem was solved and the connection was connected through OpenVPN and the voice call was established.
very very thanks

Now you know what was wrong. but do yourself a favor, dont leave it like that.
improve your password to something stronger, but some characters for some reason do not work.
and dont forget to change your “3478” port. this port is famous for taking lots of automated brute force attacks. if you let your server in that port its just a question of time for someone to be using your TURN server.

Yes, I changed both the port and the password
Thanks for your advice