At 09:58 AM 7/17/2004, Andrei Pelinescu-Onciul wrote:
On Jul 16, 2004 at 19:09, ks lf <ksabc(a)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