Hello,

On 12/12/11 12:02 PM, Phillman25 Kyriacou wrote:
Dear Daniel

Thanks, this worked!
I will inform my carrier that they are handling the ACK 200 message wrong.
just one question: the syn_branch=0 is used for only stateless ACK messages?
it is used for all stateless forwarded requests. By its nature, ACK is always stateless because it does not take any reply, so there is no dedicated transaction for it -- in other words, no matter how you send the ACK from config (e.g., t_relay() or forward()), it will be done stateless.

Cheers,
Daniel


Thanks again for your assistance!
Phillip


On Mon, Dec 12, 2011 at 11:25 AM, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Hello,



On 12/12/11 8:18 AM, Phillman25 Kyriacou wrote:
Dear List

I'm currently facing an issue with a carrier whereby they are complaining that the via header branch parameter (sip.Via.branch == "z9hG4bKcydzigwkX") in the ACK messages is not unique which results in some calls being successful and some terminating after 20 seconds as their sip proxy determines it as a duplicate request. Is there a way to make the via header branch parameter in the ACK message unique across every transaction?
set in your config file the global parameter:

syn_branch=0

On the other hand, the behavior of the devises used by carrier is completely broken. ACK can have a different path than INVITE, so there should be no match done on Via branch parameter. Since it is ACK for 200OK, it has to be matched for dialog. Having the RFC3261 cookie in the branch parameter, it has to be matched with (callid, from tag, to tag).

Cheers,
Daniel
-- 
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda