[error] Bad session state . HTTP/1.1 400 Bad Request

hi ,
I am running CPE instance on my laptop(CPE instance is netcwmp opensource tr-069 client) .I am trying to connect that client to our genieacs server . I am getting BAD SESSION STATE RESPONSE(HTTP/1.1 400 Bad Request)

here i am attaching logs of both server and client

genieacs-server logs

2021-01-09T14:05:52.823Z [INFO] genieacs-cwmp starting; pid=26486 version=“1.2.3+20201027064135”
2021-01-09T14:05:57.617Z [INFO] Worker listening; pid=26544 address=“0.0.0.0” port=7547
2021-01-09T14:05:57.669Z [INFO] Worker listening; pid=26543 address=“0.0.0.0” port=7547
2021-01-09T14:36:12.742Z [INFO] 127.0.0.1 A00001-OT2800-12345: Inform; cpeRequestId=“1” informEvent=“0 BOOTSTRAP” informRetryCount=0
2021-01-09T14:36:12.762Z [ERROR] 127.0.0.1 A00001-OT2800-12345: Bad session state

for CPE logs , as there are many logs ,i am attaching logs screenshots. you can find error in “screenshot_9”.

why is this error coming? is there a way to solve it?
thank you,

This error means that the request coming from the client isn’t what the ACS expected. For example, the CPE sending an empty HTTP request message as a response to GetParameterNames message from the ACS (typically empty request should only come after InformResponse). Run a packet capture and look at the request/response flow between the ACS and the CPE.

in my case, client is sending another 1 inform message without closing (terminating)the previous inform message session.is that what causing error??and also does client need to send keep-alive request every time after time after receiving inform response message?? as this flow is followed by genie-sim(genie-simulator) i have observed it in wireshark.

The 400 (Bad Request) status code indicates that the server cannot or will not process the request because the received syntax is invalid, nonsensical, or exceeds some limitation on what the server is willing to process. It means that the request itself has somehow incorrect or corrupted and the server couldn’t understand it. The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method . Therefore, it prevents the website from being properly displayed. The main thing to understand is that the 400 Bad Request error is a client-side error.

The cause of a 400 error can be a wrongly written URL or a URL that contains unrecognizable characters. Another cause of the error might be an invalid or expired cookie. Also, if you try to upload a file that’s too large. If the server is programmed with a file size limit, then you might encounter a 400 error.

1 Like