-
Notifications
You must be signed in to change notification settings - Fork 408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Leshan server demo does not seem to manage observations propertly with clients updated after an IP address change #1636
Comments
@dbarallat did you test with or without DTLS ? Anyway, you should read LWM2M Observe wiki page and eventually LWM2M Devices with Dynamic IP wiki page |
I am testing without DTLS. Every time client wakes up and resumed the LwM2M handshake, it starts with a Registration Update (to allow server updating clients' IP/Port). Am I doing something wrong at client? Thks |
So this is the expected behavior for
I think you should read : https://github.com/eclipse-leshan/leshan/wiki/LWM2M-Observe#for-udp-without-security |
Many thanks Simon, very helpful. As I understand from provided links:
I am currently focused on building client' app firmware. Once I complete client's logic, I will upgrade connectivity stack with DTLS support knowing that under DTLS scenario the observation state can be persisted if DTLS session resumption is properly managed. Thanks Daniel |
I'm not sure this is even needed anymore. Maybe just using same identity is needed. |
Could we close this issue ? |
Yes, sure!! |
Yes, sure |
Version(s)
server demo hosted at https://leshan.eclipseprojects.io/#/clients
Which components
leshan server demo
Tested With
wakaama client adapted to work in queue mode
What happened
It seems that Leshan is not handling propertly reconfiguration of observations after a client being impacted by a change in its IP address.
How to reproduce
Context explanation:
Relevant Output
...
targetP: 0x4b8f80a0 uri:/3/0/9
watcherP: 0x4b8f80c0 active: 1 update: 0
...
[engine]: *** event battery changed to 56
...
targetP: 0x4b8f80a0 uri:/3/0/9
watcherP: 0x4b8f80c0 active: 1 update: 1
[engine]: ERROR at sendto(), invalid socket: assuming we are OFFLINE...
[engine]: failed sending 21 bytes to 23.97.187.154:13078 [connP addr: 000001294b8f74f0]
[engine]: *** Observed Failed ==> going offline?
...
[engine]: <<< OFFLINE >>> at 1722706388
[engine]: *** Trigered notification without conditions at /3/0/9
[engine]: > pending notification, requesting going online
...
[engine]: <<< ONLINE >>> at 1722706391
...
[>>]: 126 bytes sent to Server [sock = 320] --> REGISTER UPDATE
...
targetP: 0x4b8f80a0 uri:/3/0/9
watcherP: 0x4b8f80c0 active: 1 update: 1
...
[>>]: 21 bytes sent to Server [sock = 320] --> NOTIFY /3/0/9
NON | 205 CONTENT | | MsgID = 0x5c86 | Token = 0x8D6147F4F372681E | Content type = TLV |
Request Type: DEVICE MNG Uri: /65535/65535/65535
...
[<<]: 8 bytes received from [23.97.187.154] --> ACK REGISTER UPDATE
...
targetP: 0x4b8f80a0 uri:/3/0/9
watcherP: 0x4b8f80c0 active: 1 update: 0
...
[<<]: 4 bytes received from [23.97.187.154] --> acknoledge is a RST NOTIFY
RST | 000 NO_ERROR | | MsgID = 0x5c86 | Token = 0x | Content type = Text plain |
Request Type: DEVICE MNG Uri: /65535/65535/65535 No Payload
...
[engine]: *** event battery changed to 27
...
[engine]: <<< OFFLINE >>> at 1722706488
[engine]: <<< OFFLINE >>> 113 secs to expire
[engine]: *** event battery changed to 72
The text was updated successfully, but these errors were encountered: