Closed GoogleCodeExporter closed 9 years ago
Do you test under IPv6 ? Emulator or device ?
Original comment by jmauffret@gmail.com
on 7 Jun 2012 at 2:15
No, I test under IPv4 with a device, specifically, a Samsung Galaxy.
Original comment by natalia....@gmail.com
on 8 Jun 2012 at 7:18
Original comment by jmauffret@gmail.com
on 11 Jun 2012 at 6:14
[deleted comment]
Hi,
I've been looking for something that was wrong through the classes that appear
in the above exception, but I can't know why it puts the address 127.0.0.1%2
Any news on this issue?
Thanks.
Original comment by natalia....@gmail.com
on 21 Jun 2012 at 8:14
We have implemented RFC4007 and RFC2373. This will be available in the next
release, planed to be delivered next week
Original comment by jmauffret@gmail.com
on 21 Jun 2012 at 9:39
Hi,
I have seen the new release and I have made checkout but the classes
IpAddressUtils.java and GsmaUiConnector.java are missing in repository so there
are errors in classes like RcsCoreService.java or Android NetworkFactory.java.
Can you confirm me that this classes are in the repository?
Thanks you very much.
Original comment by natalia....@gmail.com
on 29 Jun 2012 at 9:44
sorry for this disagreement
Original comment by jmauffret@gmail.com
on 2 Jul 2012 at 12:01
Hi,
I still have problems with android 4.0.3 version. The device doesn't start and
I get the exception:
07-03 15:26:05.746: I/[RCS][RegistrationManager](19540): Send REGISTER,
expire=3600
07-03 15:26:05.746: V/[RCS][SipInterface](19540): Create a transaction context
PAPBNhTMAA@::127.0.0.1
07-03 15:26:05.746: V/[RCS][SipInterface](19540): >>> Send SIP REGISTER
07-03 15:26:05.746: I/System.out(19540): >>> REGISTER sip:solaiemes.com SIP/2.0
07-03 15:26:05.746: I/System.out(19540): Call-ID: PAPBNhTMAA@::127.0.0.1
07-03 15:26:05.746: I/System.out(19540): CSeq: 1 REGISTER
07-03 15:26:05.746: I/System.out(19540): From:
<sip:666658864@solaiemes.com>;tag=wCPBNhTOAA
07-03 15:26:05.746: I/System.out(19540): To: <sip:666658864@solaiemes.com>
07-03 15:26:05.751: I/System.out(19540): Via: SIP/2.0/UDP
[::127.0.0.1]:5987;branch=z9hG4bKb91f0b82caa4a19e1cfd54ccf589931c383535;rport
07-03 15:26:05.751: I/System.out(19540): Max-Forwards: 70
07-03 15:26:05.751: I/System.out(19540): Contact:
<sip:[::127.0.0.1]:5987;transport=udp>;+g.oma.sip-im
07-03 15:26:05.751: I/System.out(19540): Supported: path
07-03 15:26:05.751: I/System.out(19540): Allow:
INVITE,UPDATE,ACK,CANCEL,BYE,NOTIFY,OPTIONS,MESSAGE,REFER
07-03 15:26:05.751: I/System.out(19540): Route:
<sip:91.215.65.62:7060;lr;transport=UDP>
07-03 15:26:05.751: I/System.out(19540): Expires: 3600
07-03 15:26:05.751: I/System.out(19540): User-Agent: IM-client/OMA1.0
OrangeLabs-RCS-client/2.4.5
07-03 15:26:05.751: I/System.out(19540): Content-Length: 0
07-03 15:26:05.751: I/System.out(19540):
07-03 15:26:05.751: I/System.out(19540):
-----------------------------------------------------------------------------
07-03 15:26:05.776: E/[RCS][SipInterface](19540): Can't send SIP message
07-03 15:26:05.776: W/System.err(19540): javax2.sip.SipException: IO Error
sending request
07-03 15:26:05.776: W/System.err(19540): at
gov2.nist.javax2.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction
.java:971)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.protocol.sip.SipInterface.sendSipMessageAndWait(SipI
nterface.java:682)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.sip.SipManager.sendSipMessageAndWait(SipMana
ger.java:155)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.sendRegiste
r(RegistrationManager.java:352)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.registratio
n(RegistrationManager.java:248)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.ImsNetworkInterface.register(ImsNetworkInter
face.java:494)
07-03 15:26:05.776: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.ImsConnectionManager.run(ImsConnectionManage
r.java:480)
07-03 15:26:05.776: W/System.err(19540): at
java.lang.Thread.run(Thread.java:856)
07-03 15:26:05.776: W/System.err(19540): Caused by: java.net.SocketException:
sendto failed: ENETUNREACH (Network is unreachable)
07-03 15:26:05.776: W/System.err(19540): at
libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:496)
07-03 15:26:05.776: W/System.err(19540): at
libcore.io.IoBridge.sendto(IoBridge.java:465)
07-03 15:26:05.776: W/System.err(19540): at
java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:182)
07-03 15:26:05.776: W/System.err(19540): at
java.net.DatagramSocket.send(DatagramSocket.java:287)
07-03 15:26:05.776: W/System.err(19540): at
gov2.nist.javax2.sip.stack.UDPMessageChannel.sendMessage(UDPMessageChannel.java:
724)
07-03 15:26:05.776: W/System.err(19540): at
gov2.nist.javax2.sip.stack.MessageChannel.sendMessage(MessageChannel.java:250)
07-03 15:26:05.776: W/System.err(19540): at
gov2.nist.javax2.sip.stack.SIPTransaction.sendMessage(SIPTransaction.java:734)
07-03 15:26:05.781: W/System.err(19540): at
gov2.nist.javax2.sip.stack.SIPClientTransaction.sendMessage(SIPClientTransaction
.java:476)
07-03 15:26:05.781: W/System.err(19540): at
gov2.nist.javax2.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction
.java:967)
07-03 15:26:05.781: W/System.err(19540): ... 7 more
07-03 15:26:05.781: W/System.err(19540): Caused by: libcore.io.ErrnoException:
sendto failed: ENETUNREACH (Network is unreachable)
07-03 15:26:05.796: W/System.err(19540): at
libcore.io.Posix.sendtoBytes(Native Method)
07-03 15:26:05.796: W/System.err(19540): at
libcore.io.Posix.sendto(Posix.java:146)
07-03 15:26:05.796: W/System.err(19540): at
libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
07-03 15:26:05.796: W/System.err(19540): at
libcore.io.IoBridge.sendto(IoBridge.java:463)
07-03 15:26:05.796: W/System.err(19540): ... 14 more
07-03 15:26:05.796: E/[RCS][RegistrationManager](19540): Registration has failed
07-03 15:26:05.796: W/System.err(19540):
com.orangelabs.rcs.core.ims.protocol.sip.SipException: Can't send SIP message
07-03 15:26:05.796: W/System.err(19540): at
com.orangelabs.rcs.core.ims.protocol.sip.SipInterface.sendSipMessageAndWait(SipI
nterface.java:725)
07-03 15:26:05.796: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.sip.SipManager.sendSipMessageAndWait(SipMana
ger.java:155)
07-03 15:26:05.796: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.sendRegiste
r(RegistrationManager.java:352)
07-03 15:26:05.801: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.registratio
n(RegistrationManager.java:248)
07-03 15:26:05.801: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.ImsNetworkInterface.register(ImsNetworkInter
face.java:494)
07-03 15:26:05.801: W/System.err(19540): at
com.orangelabs.rcs.core.ims.network.ImsConnectionManager.run(ImsConnectionManage
r.java:480)
07-03 15:26:05.801: W/System.err(19540): at
java.lang.Thread.run(Thread.java:856)
07-03 15:26:05.801: I/[RCS][RegistrationManager](19540): Registration has
failed: 1, reason=Can't send SIP message
07-03 15:26:05.801: V/[RCS][RcsCoreService](19540): Handle event registration
failed
07-03 15:26:05.801: D/dalvikvm(19540): GC_CONCURRENT freed 386K, 7% free
9311K/9991K, paused 1ms+2ms
07-03 15:26:05.821: D/dalvikvm(19540): GC_EXPLICIT freed 26K, 8% free
9284K/9991K, paused 2ms+2ms
07-03 15:26:05.836: V/[RCS][WifiNetworkInterface](19540): IMS registration has
failed
07-03 15:26:05.841: V/[RCS][ImsConnectionManager](19540): Can't register to the
IMS
07-03 15:26:05.841: V/[RCS][ImsConnectionManager](19540): Wait 100s before
retry registration (failures=2, coeff=0.84)
I work with release 2.4.5., last version in repository.
Thanks.
Original comment by natalia....@gmail.com
on 3 Jul 2012 at 1:37
I give you some information to help you.
I turn on the RCS service (release 2.4.5.) in the following devices:
- Samsung Galaxy with android 2.2.1. It starts OK.
- HTC device with android 4.0.3. It starts OK.
- Samsung device with android 4.0.3. It doesn't start and I get the above
exception.
Original comment by natalia....@gmail.com
on 3 Jul 2012 at 2:17
I'm seeing the same ENETUNREACH exception.
Motorola Droid 4, LTE, Android 4.0.4, ENETUNREACH exception. Host is certainly
reachable as I can ping it from terminal emulator on the device, might port
problem?
Motorola Droid, CDMA, Android 2.2.3, registration succeeded
Samsung Droid Charge, LTE, Android 2.3 registration succeeded
I thought it's problem with Android ICS, from the previou post it might not.
Original comment by mcd...@mcdull.us
on 16 Jul 2012 at 7:32
Here are the reasons I found that the RCS service (2.4.5) is not working on the
Motorola Droid 4 and probably some Android ICS devices.
It is becasue it always pick the wrong local IP address.
This seems not related to the original issue but just provide the information
here rather than open up a new issue.
When connected with wifi, on an IPv4 network, unlike previous Android version,
the device actually have a few network interfaces available:
rmnet0 (when mobile is enabled, regardless connected or not)
usb1 (always available)
wlan0 (when wifi is connected)
Because AndroidNetworkFActory.getLocalIPAddress() will pick the first IP
Address which is not loopback and link local, so it will pick either "rmnet0"
if mobile is enabled or "usb1" if mobile is diabled, but never the correct
"wlan0".
As a result, the request can never get a reponse and will receive a TIMEOUT
error.
When connected on mobile data, the following network interfaces are available:
rmnet0 (when mobile is enabled, regardless connected or not)
rmnet1 (when mobile data is connected)
usb1 (always available)
Again, RCS service will pick the "rmnet0" which seems not the default interface
for mobile data, and it always throws the ENETUNREACH exception.
"rmnet0" has only IPv6 IP which I bleieve all LTE Android ICS devices on
Verizon network are using IPv6.
I have to manually make it to use "rmnet1", which both has IPv6 and IPv4 IP
address.
The RCS server I'm connecting has IPv4 IP, I can make a connection if using
IPv4 of "rmnet1". But if I use the IPv6 of "rmnet1", I will also always receive
ENETUNREACH exception. Is that expected?
Here is the log:
07-17 09:49:21.648: I/System.out(7588): >>> REGISTER sip:my.rcssever.com SIP/2.0
07-17 09:49:21.648: I/System.out(7588): Call-ID:
3CB2ViTAAA@2600:1012:8009:e487::101
07-17 09:49:21.648: I/System.out(7588): CSeq: 1 REGISTER
07-17 09:49:21.648: I/System.out(7588): From:
<sip:9253248941@my.rcsserver.com>;tag=GDB2ViTCAA
07-17 09:49:21.648: I/System.out(7588): To: <sip:9253248941@my.rcsserver.com>
07-17 09:49:21.648: I/System.out(7588): Via: SIP/2.0/TCP
[2600:1012:8009:e487::101]:5062;branch=z9hG4bK64a2c1ad1f417ac70c27969a05a877be33
3238;rport
07-17 09:49:21.648: I/System.out(7588): Max-Forwards: 70
07-17 09:49:21.648: I/System.out(7588): Contact:
<sip:[2600:1012:8009:e487::101]:5062>;+g.oma.sip-im
07-17 09:49:21.648: I/System.out(7588): Supported: path
07-17 09:49:21.648: I/System.out(7588): Allow:
INVITE,UPDATE,ACK,CANCEL,BYE,NOTIFY,OPTIONS,MESSAGE,REFER
07-17 09:49:21.648: I/System.out(7588): Route:
<sip:12.139.6.248:5060;lr;transport=TCP>
07-17 09:49:21.648: I/System.out(7588): Expires: 60
07-17 09:49:21.648: I/System.out(7588): User-Agent: IM-client/OMA1.0
OrangeLabs-RCS-client/2.4.5
07-17 09:49:21.648: I/System.out(7588): Content-Length: 0
07-17 09:49:21.648: I/System.out(7588):
07-17 09:49:21.648: I/System.out(7588):
-----------------------------------------------------------------------------
07-17 09:49:21.679: D/dalvikvm(7588): GC_CONCURRENT freed 1764K, 16% free
9714K/11555K, paused 3ms+2ms
07-17 09:49:21.710: E/[RCS][SipInterface](7588): Can't send SIP message
07-17 09:49:21.710: W/System.err(7588): javax2.sip.SipException: IO Error
sending request
07-17 09:49:21.710: W/System.err(7588): at
gov2.nist.javax2.sip.stack.SIPClientTransaction.sendRequest(SIPClientTransaction
.java:971)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.protocol.sip.SipInterface.sendSipMessageAndWait(SipI
nterface.java:688)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.network.sip.SipManager.sendSipMessageAndWait(SipMana
ger.java:155)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.sendRegiste
r(RegistrationManager.java:352)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.network.registration.RegistrationManager.registratio
n(RegistrationManager.java:248)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.network.ImsNetworkInterface.register(ImsNetworkInter
face.java:494)
07-17 09:49:21.710: W/System.err(7588): at
com.orangelabs.rcs.core.ims.network.ImsConnectionManager.run(ImsConnectionManage
r.java:477)
07-17 09:49:21.710: W/System.err(7588): at
java.lang.Thread.run(Thread.java:856)
07-17 09:49:21.710: W/System.err(7588): Caused by: java.net.ConnectException:
failed to connect to /12.139.6.248 (port 5060): connect failed: ENETUNREACH
(Network is unreachable)
07-17 09:49:21.718: W/System.err(7588): at
libcore.io.IoBridge.connect(IoBridge.java:114)
07-17 09:49:21.718: W/System.err(7588): at
java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
07-17 09:49:21.718: W/System.err(7588): at
java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
07-17 09:49:21.718: W/System.err(7588): at
java.net.Socket.startupSocket(Socket.java:566)
07-17 09:49:21.718: W/System.err(7588): at
java.net.Socket.<init>(Socket.java:249)
07-17 09:49:21.718: W/System.err(7588): at
gov2.nist.core.net.DefaultNetworkLayer.createSocket(DefaultNetworkLayer.java:120
)
07-17 09:49:21.718: W/System.err(7588): at
gov2.nist.javax2.sip.stack.IOHandler.sendBytes(IOHandler.java:204)
Original comment by mcd...@mcdull.us
on 18 Jul 2012 at 7:05
The local IP Address is picked before the DNS lookup on the server hostname.
However, it would be better to select the local IP after.
If the server is resolved as IPv4, it should pick the IPv4 local IP Address
from network interface, or if the server IP is IPv6, it should pick the IPv6
local IP Address.
Otherwise, it will become the current situation, it tries to connect to a IPv4
server using a local IPv6 address even the correct network interface is being
used.
Original comment by mcd...@mcdull.us
on 18 Jul 2012 at 8:06
Original issue reported on code.google.com by
natalia....@gmail.com
on 7 Jun 2012 at 1:55