-
I am seeing an issue with SRP service registration seeming to timeout & looking for some general debugging tips to better understand what is going wrong. Or maybe just clarification on what is the expected client behavior for finalizing a registration request. The code I have is for a fairly simple MTD, which is acting as an SRP client that performs service registration after having an RLOC assigned. SRP service registration seems to work but only superficially: I see in the After the service is added (e.g. control flow returns from the But even so, the service still seems to be published? Or maybe I am misunderstanding something fundamental here. This is the output while tailing the logs right when starting up the MTD (with
Also strangely get the same callback error (28) when the code proceeds to attempt to unregister the service and the host as well, which also superficially seems to work (but enters a similar retry state):
Other potentially relevant details:
Is there some specific OT function that needs to be called to finalize the registration after By the way, if it is helpful I can provide code snippets for the MTD if needed, its just written in Rust so it will probably look a bit weird (Im using generated C++ bindings to call into statically linked ot libs). Can also provide cmake build options if that is helpful to know, too. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
@nand-nor , the server-side logs look good and show that the client's SRP registration message is successfully parsed and processed, and a success response is sent back to the client.
It appears the client either doesn't receive the response or rejects it, triggering a response timeout error and causing the client to retry registration. The increasing delay between client attempts is intended behavior. I would suggest Investigating further on the MTD side, to determine why it might not be receiving or rejecting the response. If you can collect the ogs from the MTD side, they may shed some light on this. BTW, from server/parent log I guess/assume the MTD is not sleepy.
No action or API is needed on the client side. The client will prepare and send the registration once all of the following conditions are met. It adds a short delay in case the caller is registering multiple services (multiple calls to
|
Beta Was this translation helpful? Give feedback.
@nand-nor , the server-side logs look good and show that the client's SRP registration message is successfully parsed and processed, and a success response is sent back to the client.