Good thing I waited 10 days...

Initially, I was very swayed by the argument that things would be much, much easier if we restricted an INFO request to a single Info- Package.

However, and especially as the last person to touch RFC 4483, I can see the argument that *any* SIP message can end up with a multipart/ mime body, even if you think you can limit it to just your stuff, because the UA can always have a content indirection pointer in the header pointing to a mime body part.

Therefore, even if we restrict an INFO request to carry a single Info- Package, we need a mechanism to uniquely identify and, at the SIP header level, indicate which body part belongs to the package.

I would offer once we solve that, we also get multiple INFO request bodies for free.

I would also offer that since INFO does not change SIP state, which means there is not even a concept of a message succeeding but the INFO body doing something that "fails", the objection that it would be hard for a UA to report on one body "failing" with another body "succeeding" is a non-issue. Yes, this does mean that you cannot use INFO to tunnel IP. See RFC 3252 for more on this. I do not see this as a problem.

Therefore, on to the solution. We use the MIME approach. The body parts get tagged with Content-IDs. The Info-Package has a parameter, CID, which points to the body part. The ONLY question I have is whether we should simply mandate always having this parameter to make the protocol and parser easier, but a small burden on UAC's that really are only sending a single body. Other than that, the mechanism looks like:

INFO .....
To: ....
From: ....
Info-Package: foo
Content-Type: application/foo;cid=this
Content-Id: this
...

<foo body>



Multipart mixed example with indirect content:

INFO ....
To: ....
From: ....
Info-Package: foo;cid=abcd1234zz
Mumble: <cid:abcd9999qq>
Content-Type: multipart/mixed;boundary="theboundary"
...

--theboundary
Content-Type: application/mumble
Content-Id: abcd9999qq
...

<mumble stuff>

--theboundary
Content-Type: application/foo
Content-Id: abcd1234zz

<foo body>

--theboundary--




Multiple Info Packages follow. Note that by using Content-Id, order is irrelevant.

INFO ....
To: ....
From: ....
Info-Package: foo;cid=abcd1234zz
Info-Package: bar;cid=wxyz9876
Content-Type: multipart/mixed;boundary="theboundary"
...

--theboundary
Content-Type: application/bar
Content-Id: wxyz9876
...

<bar stuff>

--theboundary
Content-Type: application/foo
Content-Id: abcd1234zz

<foo body>

--theboundary--

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to