[sip-comm] has sip-communicator worked with two internal ip addresses via NAT ?.


#1

Hi,

I am experimenting with sip-communicator on two machines that have internal ip-addresses. They go
through NAT/dynamic-ip (via dsl) to reach the sip server at iptel.org. Based on what I have
understood on sip/nat traversal this configuration should work. Is this understanding accurate ?.
Is there any reason to believe that this will not work ?.

Secondly, the stun-server config values in sip-communicator.xml are the default values i.e
<STUN_SERVER_ADDRESS value="stun01.sipphone.com"/>
<STUN_SERVER_PORT value="3478"/>

A simple "ping" message to "stun01.sipphone.com" returns successfully. Neverthless, I get many
exceptions related to "stun" when the sip-communicator starts up. These exceptions are pasted
below.

I am able to "authenticate" to the sip-proxy-server but unable to complete an "invite". I get
another bunch of exceptions ...

/rk

···

--------------------------------------------------------------------------
1266 [main] DEBUG common.NetworkAddressManager - Created a STUN Address detector for the
following STUN server: stun01.sipphone.com:3478^
1297 [main] DEBUG common.NetworkAddressManager - STUN server started;^M
1547 [NetworkDiagnosticsThread] ERROR common.NetworkDiagnostics - The network diagnostics process
has failed with the following exception
net.java.stun4j.StunException: An Exception occurred while sending message bytes through a network
socket!^M
        at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:355)^M
        at
net.java.stun4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:205)^M
        at net.java.stun4j.stack.StunProvider.sendRequest(StunProvider.java:95)^M
        at
net.java.stun4j.client.BlockingRequestSender.sendRequestAndWaitForResponse(BlockingRequestSender.java:79)^M
        at
net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.doTestI(NetworkConfigurationDiscoveryProcess.java:284)^M
        at
net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.determineAddress(NetworkConfigurationDiscoveryProcess.java:186)^M
        at net.java.sip.communicator.common.NetworkDiagnostics.run(NetworkDiagnostics.java:94)^M
Caused by: java.lang.NullPointerException: null address || null buffer^M
        at java.net.PlainDatagramSocketImpl.send(Native Method)^M
        at java.net.DatagramSocket.send(DatagramSocket.java:611)^M
        at net.java.stun4j.stack.NetAccessPoint.sendMessage(NetAccessPoint.java:195)^M
        at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:351)^M
        ... 6 more^M
------------------------------------------------------------------------------------------

=====

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: users-help@sip-communicator.dev.java.net


#2

hello rk,

As pointed out by the stun rfc3489 communication between clients behind the same NAT is a problematic issue. It is up to the client (sip-communicator in this case) to try and implement some kind of an algorithm and try to go around it but unfortunately we don't have that for the time being. So if you have 2 clients behind the same nat registered in an outside registrar and if your nat does not allow (which is the common case) udp streams coming from the inside to go back in ... well I'm afraid you won't be able to establish a session :(. I'd propose installing an internal registrar and proxy.

Hope this helps
Emil

rk tumuluri wrote:

···

Hi,

I am experimenting with sip-communicator on two machines that have internal ip-addresses. They go
through NAT/dynamic-ip (via dsl) to reach the sip server at iptel.org. Based on what I have
understood on sip/nat traversal this configuration should work. Is this understanding accurate ?.
Is there any reason to believe that this will not work ?.

Secondly, the stun-server config values in sip-communicator.xml are the default values i.e
<STUN_SERVER_ADDRESS value="stun01.sipphone.com"/>
<STUN_SERVER_PORT value="3478"/>

A simple "ping" message to "stun01.sipphone.com" returns successfully. Neverthless, I get many
exceptions related to "stun" when the sip-communicator starts up. These exceptions are pasted
below.

I am able to "authenticate" to the sip-proxy-server but unable to complete an "invite". I get
another bunch of exceptions ...

/rk

--------------------------------------------------------------------------
1266 [main] DEBUG common.NetworkAddressManager - Created a STUN Address detector for the
following STUN server: stun01.sipphone.com:3478^
1297 [main] DEBUG common.NetworkAddressManager - STUN server started;^M
1547 [NetworkDiagnosticsThread] ERROR common.NetworkDiagnostics - The network diagnostics process
has failed with the following exception
net.java.stun4j.StunException: An Exception occurred while sending message bytes through a network
socket!^M
        at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:355)^M
        at
net.java.stun4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:205)^M
        at net.java.stun4j.stack.StunProvider.sendRequest(StunProvider.java:95)^M
        at
net.java.stun4j.client.BlockingRequestSender.sendRequestAndWaitForResponse(BlockingRequestSender.java:79)^M
        at
net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.doTestI(NetworkConfigurationDiscoveryProcess.java:284)^M
        at
net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.determineAddress(NetworkConfigurationDiscoveryProcess.java:186)^M
        at net.java.sip.communicator.common.NetworkDiagnostics.run(NetworkDiagnostics.java:94)^M
Caused by: java.lang.NullPointerException: null address || null buffer^M
        at java.net.PlainDatagramSocketImpl.send(Native Method)^M
        at java.net.DatagramSocket.send(DatagramSocket.java:611)^M
        at net.java.stun4j.stack.NetAccessPoint.sendMessage(NetAccessPoint.java:195)^M
        at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:351)^M
        ... 6 more^M
------------------------------------------------------------------------------------------

=====

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: users-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: users-help@sip-communicator.dev.java.net


#3

Emil,

Thanks.

I will try the "jain-sip-presence-proxy" project.

BTW, I stopped getting errors w.r.t the stun server on a dialup line. I still get them on my DSL
(dynamic ip) line. I need to investigate this.

Cheers ...
/rk

hello rk,

As pointed out by the stun rfc3489 communication between clients behind
the same NAT is a problematic issue. It is up to the client
(sip-communicator in this case) to try and implement some kind of an
algorithm and try to go around it but unfortunately we don't have that
for the time being. So if you have 2 clients behind the same nat
registered in an outside registrar and if your nat does not allow (which
is the common case) udp streams coming from the inside to go back in ...
well I'm afraid you won't be able to establish a session :(. I'd propose
installing an internal registrar and proxy.

Hope this helps
Emil

rk tumuluri wrote:
> Hi,
>
> I am experimenting with sip-communicator on two machines that have internal ip-addresses.
They go
> through NAT/dynamic-ip (via dsl) to reach the sip server at iptel.org. Based on what I have
> understood on sip/nat traversal this configuration should work. Is this understanding
accurate ?.
> Is there any reason to believe that this will not work ?.
>
> Secondly, the stun-server config values in sip-communicator.xml are the default values i.e
> <STUN_SERVER_ADDRESS value="stun01.sipphone.com"/>
> <STUN_SERVER_PORT value="3478"/>
>
> A simple "ping" message to "stun01.sipphone.com" returns successfully. Neverthless, I get many
> exceptions related to "stun" when the sip-communicator starts up. These exceptions are pasted
> below.
>
> I am able to "authenticate" to the sip-proxy-server but unable to complete an "invite". I get
> another bunch of exceptions ...
>
> /rk
>
> --------------------------------------------------------------------------
> 1266 [main] DEBUG common.NetworkAddressManager - Created a STUN Address detector for the
> following STUN server: stun01.sipphone.com:3478^
> 1297 [main] DEBUG common.NetworkAddressManager - STUN server started;^M
> 1547 [NetworkDiagnosticsThread] ERROR common.NetworkDiagnostics - The network diagnostics
process
> has failed with the following exception
> net.java.stun4j.StunException: An Exception occurred while sending message bytes through a
network
> socket!^M
> at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:355)^M
> at
> net.java.stun4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:205)^M
> at net.java.stun4j.stack.StunProvider.sendRequest(StunProvider.java:95)^M
> at
>

net.java.stun4j.client.BlockingRequestSender.sendRequestAndWaitForResponse(BlockingRequestSender.java:79)^M

> at
>

net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.doTestI(NetworkConfigurationDiscoveryProcess.java:284)^M

> at
>

net.java.stun4j.client.NetworkConfigurationDiscoveryProcess.determineAddress(NetworkConfigurationDiscoveryProcess.java:186)^M

···

--- Emil Ivov <emil_ivov@yahoo.com> wrote:

> at
net.java.sip.communicator.common.NetworkDiagnostics.run(NetworkDiagnostics.java:94)^M
> Caused by: java.lang.NullPointerException: null address || null buffer^M
> at java.net.PlainDatagramSocketImpl.send(Native Method)^M
> at java.net.DatagramSocket.send(DatagramSocket.java:611)^M
> at net.java.stun4j.stack.NetAccessPoint.sendMessage(NetAccessPoint.java:195)^M
> at net.java.stun4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:351)^M
> ... 6 more^M
> ------------------------------------------------------------------------------------------
>
> =====
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@sip-communicator.dev.java.net
> For additional commands, e-mail: users-help@sip-communicator.dev.java.net
>

=====