SIP routes response messages by inserting a VIA header into the request message. This VIA
header contains a branch parameter that is used to contain the internal identifier of the
connection that originated the request. The contents of the branch header are encrypted.
When the response message is received, it will contain the inserted VIA header. This inserted
header is removed from the message and the branch parameter is decrypted to get the connection
identifier of the request's originator. The message will be forwarded to the originating
connection. If the originating connection has since been closed, the address in the next top-most
header will be used for routing the response message.
This method frees MRF SIP from having to store any data internally while waiting for a response
message. All information needed to route the response is added to the message and will be
returned with the response. This method works whether the message is returned to the same
connection that it was sent from or a new connection.
But if the response message is returned to a different router instance, the branch parameter of
the VIA header cannot be decrypted. "MR SIP: Decrypt branch parameter failed with error : Buffer
error" will be recorded in /var/log/tmm.