Hi
Having this situation while elaborating topos in lab.
* Kamailio Registration Instance with topos enabled where customers are registered.
* Kamailio Core Instance with Dialogue enabled and handling interconnections.
Calls in transit from customer to IC work flawlessly, topos does what it should, hides and restores headers needed on the core.
But I have run into an issue with customer calling another customer on same registrar instance. To generate a CDR with diaglogue and for decision where to route the calls to (registrar is kept simple and only handles registrations and locations), those calls are also routed via core.
This works as long as PRACK is disabled.
When PRACK is enabled and CPE B is requesting 100rel, the PRACK send from CPE A has no route set (it was removed by topos). Therefore the PRACK only makes it to the core who then does not know where to route that PRACK. It looks like topos on the REG only restores ONE Route pointing to the core (maybe because the 2nd one pointed to itself?) header when restoring them.
I have attempted to spam more record_route() here and there in the config of the core and the registrar to try to force creation of route headers, but failed.
Is this a known limitation of using topos?