Re: Is cpim-srv document necessary at all? (Re: NAPTR and CPIM)

"Thanos Diacakis" <[email protected]> Wed, 27 Nov 2002 09:49:54 -0700
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
Can you please elaborate on the differences between protocol and service
gatewaying?  I think we may be in agreement using different words.

Thanos
---
Thanos Diacakis
Openwave Systems
[email protected]
+1-303 385 6705

----- Original Message -----
From: "Peterson, Jon" <[email protected]>
To: "'Thanos Diacakis'" <[email protected]>; "Jonathan Rosenberg"
<[email protected]>
Cc: <[email protected]>
Sent: Wednesday, November 27, 2002 12:13 AM
Subject: RE: Is cpim-srv document necessary at all? (Re: NAPTR and CPIM)


>
> I think that at least some of our historical confusions about this matter
> come down to whether a gateway interworks between protocols or between
> services (or both).
>
> I suspect that the original conception of the IM URI may have been
concerned
> with service interworking. For example, consider a case in which there is
a
> monolithic operator of an IM service (say, aol.com). In order to interwork
> with aol.com using SIMPLE, you must find the SIMPLE gateway associated
with
> AOL's service. In this case, a gateway operated by aol.com is likely to be
> the only way to reach the service. An IM URI of the form 'im:<screen
> name>@aol.com' would therefore be used to reach AOL's service. In this
> respect, the SRV record for, say, SIMPLE at _im._sip.aol.com would behave
> much like an MX record (perhaps this inspired some of the comments to that
> effect during the Atlanta meeting). This also maps roughly to Thanos'
> scenario 3 below.
>
> However, I think gatewaying between services doesn't solve all of the
> problems we're interested in here in IMPP. The fact is that (for example)
> SIMPLE is not a monolithic service, it's a protocol that might be used by
> any number of independent domains in the Internet. The IM URI would
> therefore have a different meaning in this context - that doesn't mean
it's
> useless, merely different. Nor is this meant to say that we should tailor
> the SRV draft to preclude the service gatewaying case - service gatewaying
> is potentially valuable, but it's not the only value proposition with IM
> URIs.
>
> To my mind, the use of SRV that we do need to document in the draft is a
bit
> higher level than the categories below; we need to document the use of SRV
> records by a domain to indicate protocols that can be used to reach the
> domain for IM and presence (which may or may not entail gateway location).
> That covers both the service gatewaying case and the protocol gatewaying
> case. The draft should be silent about the translation of these URI
schemes
> to any schemes native to various target protocols. There is no obvious
> technical difference in how the interpreter of an SRV record behaves in
> regard to these two cases.
>
> Jon Peterson
> NeuStar, Inc.
>
> > -----Original Message-----
> > From: Thanos Diacakis [mailto:[email protected]]
> > Sent: Monday, November 25, 2002 5:24 PM
> > To: Jonathan Rosenberg
> > Cc: Pekka Pessi; [email protected]; [email protected];
> > [email protected]
> > Subject: Re: Is cpim-srv document necessary at all? (Re:
> > NAPTR and CPIM)
> >
> >
> > Understood, thanks!  Just to restate briefly:
> >
> > The flaw in the argument is that receiver's protocols cannot
> > be used to
> > locate the receiver as only the receiver can translate the
> > im: / pres: URI
> > in its own schema, something that is required before one can use the
> > receiver's schema.
> >
> > I now see the clarification we need to add (maybe in the form of some
> > scenarios in or around Section 3), to get the SRV resolution
> > in context:
> >
> > Four things need to be done for two CPP/CPIM compiant systems to
> > interoperate, when they do not speak the same protocol.  (It
> > is assumed that
> > the originating system has a client request containing an im:
> > or pres: URI
> > or has translated the URI within a client request to the im:
> > or pres: URI.)
> >
> > (a)  locate destination of originating request (in original protocol)
> > (b) translate request to receiver's native protocol
> > (c)  locate destination of translated request (in receiver's
> > protocol) and
> >     send request
> > (d) translate im: / pres: to receiver's native URI (always
> > done at receiver)
> >
> > There are four general scenarios (mapped to the above 4 steps):
> >
> > Scenario 1 (Originator translates)
> >   (a) skipped
> >   (b) Originator translates protocol
> >   (c) Originator uses SRV to locate destination of translated
> > request and
> >     send request
> >   (d) Receiver translates URI schema
> >
> > Scenario 2 (Originator's intermediary translates)
> >   (a) Intermediary located using originator's protocol or manual
> >     configuration
> >   (b) Intermediary translates
> >   (c) Intermediary uses SRV to locate destination of
> > translated request and
> >     send request
> >   (d) Receiver translates URI schema
> >
> > Scenario 3 (Receiver's intermediary translates)
> >   (a) Intermediary located using SRV
> >   (b) Intermediary translates
> >   (c) Intermediary located receiver using manually or
> > otherwise configured
> >     data and send request
> >   (d) Receiver translates URI schema
> >
> > Scenario 4 (Receiver translates)
> >   (a) Receiver located using SRV
> >   (b) Receiver translates protocol
> >   (c) skipped
> >   (d) Receiver translates URI schema
> >
> > Thanos
> > ---
> > Thanos Diacakis
> > Openwave Systems
> > [email protected]
> > +1-303 385 6705
> >
> >
> > ----- Original Message -----
> > From: "Jonathan Rosenberg" <[email protected]>
> > To: "Thanos Diacakis" <[email protected]>
> > Cc: "Pekka Pessi" <[email protected]>; <[email protected]>;
> > <[email protected]>; <[email protected]>
> > Sent: Monday, November 25, 2002 4:34 PM
> > Subject: Re: Is cpim-srv document necessary at all? (Re:
> > NAPTR and CPIM)
> >
> >
> > > inline.
> > >
> > > Thanos Diacakis wrote:
> > > > We've been looking at the wrong problem - at least
> > according to the SRV
> > doc:
> > > >
> > > >
> > > >>  This document provides guidance for locating the
> > resources associated
> > > >
> > > >  >  with URIs that employ these schemes. [im: and pres:]
> > > >
> > > > It appears that SRV is indeed not required, as Pekka
> > described, we can
> > use
> > > > the individual protocol's mechanism to locate the remote
> > resource that
> > > > "speaks" it.
> > >
> > > I disagree, for the same reasons I disagreed during the meeting.
> > >
> > > SIP talks about how to resolve a SIP URI. SIP doesn't know anything
> > > about IM URIs. So, in order to use SIP (or any other
> > protocol - xmpp,
> > > apex, etc.) to resolve an IM URI, you need to convert that
> > URI into a
> > > URI in the native protocol.
> > >
> > > Such translation can only be done by an entity that is
> > authoritative for
> > > that domain. Thats because there are lots of ways to do the
> > translation,
> > > and its policy specific. For example, it should be possible to have:
> > >
> > > im:[email protected] ->
> > sip:[email protected]
> > >
> > > only a dynamicsoft.com server can do this.
> > >
> > > So, we need to get a request from the client, to the dynamicsoft.com
> > > domain, containing that IM URI, so it can translate it. Thus, the
> > > problem becomes this: how to find the FQDN of a server
> > which speaks SIP
> > > that can receive an IM URI. That is the purpose of the SRV draft.
> > >
> > > The alternative is for the domain to place NAPTR records
> > which tell the
> > > client how to do the translation. I think this is way too
> > complicated,
> > > and in any case, cannot represent the range of possible translations
> > > (regexp only goes so far...).
> > >
> > >
> > > >
> > > > Thinking about it more carefully, we really have three
> > distinct problems
> > > > that we were attempting to solve and SRV would only have
> > solved one or
> > two
> > > > of them (the 3rd one, and in a not so very nice way, the 1st one):
> > > >
> > > > 1. Figure out which protocols the other/remote domain supports
> > > > 2. Locate a resource that can translate from what the local domain
> > supports
> > > > to something that the remote domain supports (assuming
> > they don't speak
> > the
> > > > same thing).
> > > > 3. Locate the resource of the remote domain that the
> > translating gateway
> > > > would need to talk to
> > > >
> > > > We've sort of been focusing on 3, but in the wrong way,
> > as this can be
> > done
> > > > by the actual destination protocol's mechanims.
> > >
> > > To me, its simpler than that.
> > >
> > > I've got an IM URI. I got it one of many ways. Maybe I'm a
> > PC client and
> > > someone clicked on this URI in a web page. Maybe I'm a
> > gateway, and I
> > > received a request in PRIM containing this URI. In either
> > case, the next
> > > step is the same: locate a server which is authoritative for that
> > > domain, which can process a request containing this URI.
> > Part of that is
> > > to determine which protocols to use to talk to that domain.
> > >
> > > >
> > > > We don't really have a mechanism to do 1 (unless we go
> > the NAPRT way -
> > as I
> > > > understand it or we exhaustively perform 3 on all known
> > protocols) and
> > we
> > > > really have no mechanism to do 2.  The latter can of
> > course be solved by
> > > > manually configuring a particular domain with one or more
> > gateways that
> > will
> > > > do the translation and the opinions are so far divided on that.
> > >
> > > We determine which protocol is supported by searching
> > through the ones
> > > supported by the client. In practice I doubt this will be
> > so  bad, as I
> > > pointed out during the meeting.
> > >
> > > > Also, there seems to be an implicit requirement that
> > perhaps we should
> > make
> > > > explicit: CPP/CPIM compliant protocols need to be able to
> > handle im: and
> > > > pres: URIs by either passing them through, or translating
> > them to their
> > own
> > > > and/or gatewayed schemes.
> > >
> > > Yes. But, its not implicit. I stated this several times during the
> > > meeting, and its even documented in the minutes. Agree it
> > needs to be
> > > explicit in the specification. That was the main output of
> > the meeting -
> > > for Jon to document this.
> > >
> > >
> > > >
> > > > *****
> > > > Going forward, I think we need to answer two questions:
> > > >
> > > > a) Do we need to have an automated mechanism to locate a
> > resource that
> > will
> > > > perform protocol translation?
> > > > b) Can we get away with figuring out what protocol a remote domain
> > "speaks"
> > > > by serially trying each of the protocols that the
> > originating domain
> > and/or
> > > > translating gateway speak?  (this would be done by using
> > the native
> > protocol
> > > > mechanisms, not the CPP/CPIM SRV)
> > > > *****
> > > >
> > > > Note, that if the answer to (b) is yes, there is no way
> > of finding a
> > gateway
> > > > based on the remote domain's capabilities, as those are
> > not known until
> > the
> > > > "serial" interrogation by the gateway is complete).  So
> > the process
> > would
> > > > look like this (instead of the 1, 2, 3 above):
> > > >
> > > > (i) Locate a gateway resource that can translate from
> > what the local
> > domain
> > > > supports to any/all other protocols
> > > > (ii) Send our request to that gateway
> > > > (iii) Have the gateway try (serially) locating the remote
> > domain using
> > the
> > > > native mechanims for each of the protocols it supports
> > > > (iv) If one works then use it, else fail or repeat with a
> > different
> > gateway.
> > > >
> > > > How interesting...
> > >
> > > I always thought that discovery of third party gateways was out of
> > > scope; use SLP or something. DNS is hardly ideal for such discovery
> > > mechanisms.
> > >
> > > The issue was how to find the servers (which may or may not
> > be gateways
> > > - thats invisible to the client) for a specific domain and
> > protocol. The
> > > client knows which ones it can do. The DNS tells which ones
> > the server
> > > can do.
> > >
> > > -Jonathan R.
> > >
> > >
> > > --
> > > Jonathan D. Rosenberg, Ph.D.                72 Eagle Rock Ave.
> > > Chief Scientist                             First Floor
> > > dynamicsoft                                 East Hanover, NJ 07936
> > > [email protected]                     FAX:   (973) 952-5050
> > > http://www.jdrosen.net                      PHONE: (973) 952-5000
> > > http://www.dynamicsoft.com
> > >
> > >
> >
> >




  [reminder: [email protected] for non-technical discussions, please]