[Serusers] ACK message Via field branch=0 problem

Jiri Kuthan jiri at iptel.org
Sat Jul 17 11:47:04 CEST 2004


At 09:58 AM 7/17/2004, Andrei Pelinescu-Onciul wrote:
>On Jul 16, 2004 at 19:09, ks lf <ksabc at lycos.com> wrote:
>> Use SER 0.8.12 stable release, enabled nathelper+rtpproxy for NAT traversal, forward 1(xxx)xxx-xxxx to SIp termiantion gateway, when the call was connected, PSTN gateway send 200 OK back, sip client ( behind NAT ) response with ACK ( which has branch value in Via head ), but when SER forward the ACK back to PSTN gateway, in Via header it includes branch=0, PSTN gateway refuse this ACk because it think the branch id is invalid, 

I don't know if this is the reason why the gateway denies the ACK, but if so,
you should submit a trouble ticket to the gateway vendor. According to RFC3261,
ACK for positive replies is a separate transaction and there is no guarantee
that it would have the same branch id. People who have difficults to understand
that typically get the "aha" effect when they see a scenario with multiple proxy
servers as follows:


           UAC                PROXY1                PROXY2                UAS
                              (record-routing)      (no rr-ing)

INVITE     ----------------->     ---------------->      -------------->
ACK        ----------------->     ------------------------------------->

in this scenario, only proxy 1 record routes, i.e., subsequent requests such
as ACK will not visit proxy2. Consequently, proxy2 cannot generate the same
branch ID as it did for proxy1. UAS will thus see proxy1's branch in the ACK,
which is different from proxy2's branch in the original INVITE.

Tell the vendor to match ACKs _DIALOG-WISE_.

-jiri




More information about the sr-users mailing list