Hello,
i'm still fighting with the very annoying lump model that OpenSER uses. I need to send out INVITE's with different From headers in a failover situation. More specifically I need to send out each step -original request and failure_routes- with a different From header. If any request forks (parallel or serial due to DNS SRV or registered contacts), it needs to keep current (same) the replacement From on all branches.
I tried the following:
try 1:
REQUEST_ROUTE: uac_replace_from(a) t_relay();
FAILURE_ROUTE: append_branch() uac_replace_from(b) t_relay()
the second uac_replace_from always produces garbage in the From
try 2: REQUEST_ROUTE: t_newtran() uac_replace_from(a) t_relay();
FAILURE_ROUTE: append_branch() uac_replace_from(b) t_relay()
Now the second uac_replace_from is correct, but when the first t_relay() does dns based failover, the original from is used for the second branch instead of the replacement. If the response code is locally generated 408, the second uac_replace_from produces garabage too.
Is someone aware of a working solution for this (very common) situation?