routr
routr copied to clipboard
[BUG]: Bad response handling for multi EdgePort scenarios
What happened?
The compliance scenario RR.Tst.Plan.1.5.1
, also known as Verification of callee BYE for Agent to Agent routing with Peer EdgePorts is broken.
After some digging, I noticed that we are overwriting the Contact header for all responses with information from the sender.
While this works in simple scenarios, it breaks when the response needs to cross multiple EdgePorts. The "sender" is no longer the original but the last EdgePort.
As a result of this issue, Ack messages are being re-sent back to the EdgePort until the system reaches the MaxForwards Exception.
Steps to reproduce
Enable the said scenario in the seet.json file and run the compliance tests.
Expected behavior
The Contact Header should reflect the original sender, and the test must pass.
Additional context
No response