branch parameter

40 views
Skip to first unread message

idkpmiller

unread,
Jul 17, 2015, 10:30:50 PM7/17/15
to sip-in...@googlegroups.com
Hi There Zarko,
I have made a scenario that registers and then originates a call.
I am wondering how I can use the branch parameter in the Register transaction and the reseed the parameter for use in the INVITE dialog.
having the same branch value in both the register and the INVITE is not being accepted by the UAS,
As I wish to emulate a scenario I would like that the branch parameter is presented in the INVITE request to the UAS.
I may be misinterpreting what I am observing, any thoughts?

Note: Removing the branch parameter from the INVITE dialog (old RFC 2543 behavior)  works fine with no retransmission of the 401 from the UAS.

Thanks

Paul

SIP Inspector

unread,
Jul 17, 2015, 10:37:45 PM7/17/15
to sip-in...@googlegroups.com, idkpm...@sip2serve.com
I believe you are looking for the scenario that looks like the attachment.

Z
reg_inv_branch.txt

Zarko C

unread,
Jul 17, 2015, 10:49:30 PM7/17/15
to sip-in...@googlegroups.com, Paul Miller

A quote from SIP RFC:

"The branch parameter value MUST be unique across space and time for all requests sent by the UA. The exceptions to this rule are CANCEL and ACK for non-2xx responses. As discussed below, a CANCEL request will have the same value of the branch parameter as the request it cancels. As discussed in Section 17.1.1.3, an ACK for a non-2xx response will also have the same branch ID as the INVITE whose response it acknowledges. The uniqueness property of the branch ID parameter, to facilitate its use as a transaction ID, was not part of RFC 2543. The branch ID inserted by an element compliant with this specification MUST always begin with the characters "z9hG4bK". These 7 characters are used as a magic cookie (7 is deemed sufficient to ensure that an older RFC 2543 implementation would not pick such a value), so that servers receiving the request can determine that the branch ID was constructed in the fashion described by this.."

It just confirms that REGISTER and INVITE have to have different branch values.

On Jul 17, 2015 10:37 PM, "SIP Inspector" <sipinsp...@gmail.com> wrote:
I believe you are looking for the scenario that looks like the attachment.

Z

--
To post to this group, send email to sip-in...@googlegroups.com
To unsubscribe from this group, send email to
sip-inspecto...@googlegroups.com
http://groups.google.com/group/sip-inspector?hl=en?hl=en

idkpmiller

unread,
Jul 18, 2015, 6:00:03 AM7/18/15
to sip-in...@googlegroups.com, idkpm...@sip2serve.com
Thanks Zarko, I will give the manual seeding of the branch parameter ago.
I was thrown off by the provided example scenario "Client_reg_outgoing_call.txt".

Thanks

Paul

Paul Miller

unread,
Jul 18, 2015, 6:00:12 AM7/18/15
to sip-in...@googlegroups.com
Hi Zarko,
I can confirm that taking your manual approach solved the issue once I extended it to the ACK and BYE also.
Any chance that the logic behind the [branch] keyword could extended automatically cope with this?

I have attached my final working scenario for others to use as an example.

Thanks

Paul

UAC-NEONET-REG_Call-AV.txt
Reply all
Reply to author
Forward
0 new messages