[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Simple] What ACM is all about [was: RE: MSRP-ACM compatibility]



Ben Campbell wrote:
If we are going to change MSRP to enable SBCs or any other sort of middlebox, I'd really like to see more documentation on how that middlebox is expected to behave in context, and how the whole architecture works when said middlebox is present. I'm not necessarily talking about normative specification.This is the point I was trying to get across in previous reviews when I suggested we needed some use case analysis and possibly call flows to describe the requirements that section 4.2 sets out to solve.

We spun up a whole working group (BEHAVE) to do this for NATs, and subsequently learned that many of or generally held assumptions were wrong.

I agree wholeheartedly with Ben's sentiment regarding the assumptions we're making about SBC behavior, and I think the comparison to NATs is quite appropriate. Saying that SBCs operate "by modifying the SDP"[1] is as useful as saying that NATs operate "by changing IP addresses." You can make certain assumptions about what these changes look like, but they're just assumptions. And right now, they're not even documented assumptions.

We've been down this road before. For example, we spent a lot of work to develop a protocol to characterize NATs based on untested assumptions about NAT behavior. It was only after we actually spun up BEHAVE and did the work documented in draft-jennings-behave-test-results that we realized we had wasted vast man-years of engineering resources for naught. RFC 3489 stands as a tombstone to our hubris and carelessness.

I am certain that we have relevant lessons to learn from BEHAVE, and that many of them fall in the category of "trying to engineer protocols around an undefined entity is folly."

/a

[1] http://www.ietf.org/mail-archive/web/simple/current/msg08392.html