Re: [Stox] core: connecting to remote domain

Peter Saint-Andre <stpeter@stpeter.im> Fri, 21 June 2013 12:32 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: stox@ietfa.amsl.com
Delivered-To: stox@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 30BC221F9F97 for <stox@ietfa.amsl.com>; Fri, 21 Jun 2013 05:32:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.119
X-Spam-Level:
X-Spam-Status: No, score=-102.119 tagged_above=-999 required=5 tests=[AWL=-0.390, BAYES_00=-2.599, SARE_MLH_Stock1=0.87, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9soU-0GK+cFT for <stox@ietfa.amsl.com>; Fri, 21 Jun 2013 05:32:01 -0700 (PDT)
Received: from stpeter.im (mailhost.stpeter.im [207.210.219.225]) by ietfa.amsl.com (Postfix) with ESMTP id B291A21F9F8D for <stox@ietf.org>; Fri, 21 Jun 2013 05:32:01 -0700 (PDT)
Received: from ergon.local (unknown [71.237.13.154]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 93ECB412C3; Fri, 21 Jun 2013 06:32:05 -0600 (MDT)
Message-ID: <51C447C2.3090809@stpeter.im>
Date: Fri, 21 Jun 2013 06:32:02 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Adrian Georgescu <ag@ag-projects.com>
References: <51C23237.30203@stpeter.im> <1050DBB5-7660-477A-BF07-F8BE853D0DFA@ag-projects.com> <B66E77A7-ADB3-48F4-B359-8839D6EAAD64@ag-projects.com> <51C2C882.5050107@ericsson.com> <E44893DD4E290745BB608EB23FDDB7620A01DB9D@008-AM1MPN1-042.mgdnok.nokia.com> <2015DC2B-E03A-4DD8-BB6E-51F26FD9C7FE@ag-projects.com> <51C3421E.8020808@stpeter.im> <43FDD54B-A471-4F7C-A1C6-888A14271D0B@ag-projects.com>
In-Reply-To: <43FDD54B-A471-4F7C-A1C6-888A14271D0B@ag-projects.com>
X-Enigmail-Version: 1.5.1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: salvatore.loreto@ericsson.com, stox@ietf.org, Markus.Isomaki@nokia.com
Subject: Re: [Stox] core: connecting to remote domain
X-BeenThere: stox@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP-TO-XMPP Working Group discussion list <stox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stox>, <mailto:stox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/stox>
List-Post: <mailto:stox@ietf.org>
List-Help: <mailto:stox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stox>, <mailto:stox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 21 Jun 2013 12:32:06 -0000

On 6/21/13 12:49 AM, Adrian Georgescu wrote:
>>> Yes, this is a scenario where an operator provides a service
>>> using only one of the protocols (typically SIP) and only uses
>>> gateway for bridging traffic transparently to other XMPP domains
>>> without users having to know that the foreign user is using
>>> either SIP or XMPP. It is the SIP server that has the logic to
>>> make this routing decision and the gateway has a trusted
>>> relations ship with this server to avoid fraudulent usage of such
>>> service. The clients only talk to their respective native
>>> servers, not directly to the gateway. Same as clients do not talk
>>> directly to PSTN gateways, they rely on their servers to make
>>> such decisions.
>> 
>> Right, that makes sense.
>> 
>> I was thinking about the interdomain communication: if the SIP
>> user romeo@example.com sends a message to juliet@example.org, he
>> doesn't need to know or care if Juliet uses SIP or XMPP, but the
>> service at example.org needs to determine how it will route the
>> message to Juliet (i.e., using SIP or XMPP). So it needs to
>> complete some kind of discovery or it needs to be configured to
>> "just know" that example.org is (say) a SIP service.
>> 
>> However, while completing a copy edit on the groupchat spec this
>> morning I noticed that we already have the following text:
>> 
>> Upon receiving the INVITE, the SIP-to-XMPP gateway needs to
>> determine the identity of the remote domain, which it does by
>> performing one or more DNS SRV lookups [RFC2782].  The SIP-to-XMPP
>> gateway SHOULD resolve the address present in the To header of the
>> INVITE to an im URI, then follow the rules in [RFC3861] regarding
>> the "_im" SRV service for the target domain contained in the To
>> header.  If SRV address resolution fails for the "_im" service, the
>> SIP-to-XMPP gateway MAY attempt a lookup for the "_xmpp-server"
>> service as specified in [RFC6120] or MAY return an error to the
>> sender (i.e. 502 Bad Gateway).
> 
> In practice we do lookup _xmmp_server, I  personally never saw a
> deployment of those _im records in the real world as of yet but
> others may confirm if this is the rule or the exception. Does anyone
> know a public service using those?

I deployed them at jabber.org, but we might be the only ones. :-)

>> Now, that text is probably old (we've been working on these
>> mapping specs for a long time) and thus probably predates the
>> updated XMPP RFCs. If we're not going to recommend use of the "_im"
>> and "_pres" SRV records, then connections to remote domains a
>> likely a matter for implementation and deployment.
> 
> It is a matter of implementation

Although I'd like to have something more automated, I think you're right.

>> However, I'd hate to do all this work on the mapping specs and then
>> leave the hard federation bits up to folks in the field who might
>> not be able to easily configure these services.
> 
> Nothing breaks if a gateway tries to lookup those records too, it is
> harmless yet useless as far as I can see because of lack of adoption.

Sadly, yes.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/