Subject: [Sipping] Requirement for a Transaction ID in each SIP message?

From: "Cullen Jennings" <[email-masked]>
Date: Mon, 17 Dec 2001 22:56:39 -0800

Should we add an optional field somewhere in every SIP message that can hold
a transaction ID?

This would be an identifier that the proxy that sent a request could use to
track responses to it. An element that received a transaction ID in a
request, would put the same id into the response. The proxy receiving the
message could quickly find the ID and not have to parse a boat load of other
fields to match the response to the correct transaction. (Sort of like MPLS
for SIP :-)

Recently it was argued that we should use SCTP stream IDs to do this and
that it would significantly improve performance of proxies. Though I am not
sure I fully buy this, it does make some sense. But if it is good for SCTP,
why not provide the same benefit for TCP, TLS, and UDP messages?

I can also see a large benefit when we get serious about compressing SIP
messages. A transaction ID provides a clear indication of which of the
previous message you are referencing the delta coding of the message to.
Because it is only locally unique it is much smaller than a globally unique
identifier like a call ID. It allows you to structurally remove several of
the headers instead of relying on arithmetic coding to remove them resulting
in better coding efficiency.

On the down side, it is adding something to the protocol that primary use is
to increase proxy performance and improve compression but it not absolutely
required by the protocol.

Thoughts appreciated - if people thing this is reasonable I can try and put
together a few requirements for it.

Thanks, Cullen

_______________________________________________
Sipping mailing list  http://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip
Use [email-masked] for new developments of core SIP

---

From: Jonathan Rosenberg <[email-masked]>
Date: Tue, 18 Dec 2001 02:05:54 -0500

> Should we add an optional field somewhere in every SIP message that can

Yes. Its called the branch ID. THis was open issue #144, and it was 
agreed during the sip meeting that bis should specify construction of 
the branch ID in such a way to allow it to be used as a transaction 
idedntifier.

> fields to match the response to the correct transaction. (Sort of like

Well, this you can do today without MPLS or a new header. Since the 
client chooses the branch ID, it can choose it to be unique. We do need 
standards work in order to allow a server transaction machine to look at 
the branch ID to determine the transaction ID, and thats issue #144.

> why not provide the same benefit for TCP, TLS, and UDP messages?

Indeed. Thus the proposal in #144.

-Jonathan R.
-- 
Jonathan Rosenberg, PhD                 72 Eagle Rock Avenue
Chief Scientist                         First Floor
dynamicsoft                             East Hanover, NJ 07936
[email-masked]                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH: (973) 952-5000
http://www.dynamicsoft.com