Hi Daniel
the B should not do record_route() when forwards back INVITE to A.
Right, moving record_route() from the beginning of request_route{} to the branch routes requiring this, solved this for the RR header on my registrar node.
Via is for routing back replies, if you remove it, node B does retransmissions because it does not receives any response and will also send a failure code at some point.
Hmm, ok, so that is a problem, as replies with SDP are passed via B. My attempt to set an AVP on cfw to remember we don't want to rtpengine_manage() the reply, looks promising so far.
Alternative is to send 302 or something else back to A, which does the redirect using script operations to fetch the contact address or uac_redirect module.
I would love to handle all call forwarding situations on the registrar, so the core (running the dialog module for CDR and channel count per customer) can rely on getting full call legs from one dispatcher to another.
Mit freundlichen Grüssen
-Benoît Panizzon-