Hi,
I already know why there have new branch ID in the response ACK ( as Jiri explained,
it's belongs to a new session so SIPURA and SER use different branch ID ), we double
checked with terminaiton gateway side, they said because the response branch ID isn't
same to the value in 200 OK so their gateway refuse the message, we will push them to do a
trouble-shooting on their sip firmware, any way, thank you guys, have a nice weekend.
----- Original Message -----
From: Jiri Kuthan <jiri(a)iptel.org>
Date: Sat, 17 Jul 2004 11:47:04 +0200
To: Andrei Pelinescu-Onciul <pelinescu-onciul(a)fokus.fraunhofer.de>,ks lf
<ksabc(a)lycos.com>
Subject: Re: [Serusers] ACK message Via field branch=0 problem
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
--
_______________________________________________
Find what you are looking for with the Lycos Yellow Pages