4

I was dreaming about the DNS system and how awesome it is. In my dream I realized that my cell phone had a somewhat similar system to DNS built in – when I browse to a contact and select someone to call, the phone automatically resolves the name to a phone number.

Then the idea came to me:

What if I could add a “T” (telephone) record to any of my existing domain names? So if someone tries to call kirkouimet.com, it resolves to my personal cell phone number? The business implications are really cool IMO: what if I could just call pizzahut.com? If they were smart they would have their system geolocate me, find the nearest Pizza Hut, and route the call there.

  1. How hard would it be to extend the DNS functionality to include this?
  2. Is the idea good enough to pursue beyond just thinking about it?
Kirk Ouimet
  • 549
  • 2
  • 11
  • 27
  • 1
    I think SIP already does this. – derobert Aug 23 '09 at 19:38
  • 1
    The srv record structure is designed to support whatever weird application you can think of and have it map properly to whatever system handles that weird service in your DNS domain. MX records (and the hypothetical T record) can be thought of as domain specific solutions while the srv record is a generic structure for supporting arbitrary service resolution via DNS. – chris Aug 23 '09 at 20:44
  • 2
    You dream about DNS? You need to get out more. ;) – John Gardeniers Aug 24 '09 at 01:21
  • I dream about DNS sometimes too, but then DNS is my day job :) – Alnitak Aug 24 '09 at 05:56

7 Answers7

6

This is what srv records are for.

chris
  • 11,784
  • 6
  • 41
  • 51
  • I have exactly this running. Works like a charm .... although no one uses it. ;) – Niels Basjes Aug 23 '09 at 20:22
  • We tried advertising our SIP number as an email address and nobody understood it, so we removed it. In fact it might have done more harm than good, because people used to say "WTF is SIP?"... – Mark Henderson Aug 23 '09 at 21:43
  • 2
    @farseeker -- that's what you get for living 10 years in the future.... – chris Aug 23 '09 at 21:49
  • actually SRV records aren't the complete solution for this. As specified they can only be used to find the advertised SIP gateway when calling "someone@pizzahut.com" - they can't be used to make the hypothetical call just to "pizzahut.com". Nor can SRV records be used for SMS, fax, Skype usernames, etc. For that you need NAPTR records (See my answer). – Alnitak Aug 24 '09 at 05:55
  • If you want to extend the functionality to include other features, it could be accomplished within the srv record format without creating another dns record type. Such a thing would require coordination and agreement on the specifics, but it wouldn't require the creation of a new record type. – chris Aug 24 '09 at 15:48
  • @chris - no, the SRV format is deliberately fairly limited. All it can do is map a UDP or TCP service to a specific set of host:port pairs. A full-featured system would be perfectly feasible using NAPTR records, though. – Alnitak Aug 24 '09 at 19:21
  • @alntak -- I suppose now we'd get into a philosophical discussion of what belongs in DNS and what doesn't. What is clear, though, is that another record type isn't really necessary. – chris Aug 24 '09 at 19:35
2

At the domain level this is already perfectly possible - just put ENUM style NAPTR (or alternately SRV) records in your zone file.

The reason to use NAPTR over SRV is that SRV is only defined for a limited set of communications services. NAPTR records on the other hand can be used to rewrite any domain name into a URI. If the result URI is in sip: format then you use the SRV records (for _sip._udp.example.com) to find example.com's SIP gateway.

What hasn't yet been defined at IETF (although it has been talked about) is how you extend this to have different NAPTR records for each individual user at the specified domain (i.e. localpart@example.com).

You could just have localpart.example.com in the DNS, but there are concerns about how that could be managed, and also potential conflicts with real subdomains that you might want to have. i.e., what do you do if site convention is that localpart is your initials but your initials are 'www'?

This could be solved relatively easy by using localpart._name.example.com but I know from discussion I've had with one of the IETF DNSOP chairs that there's some resistance to the tendencies for DNS to be used as a generic distributed database and for the increasing use of underscore-prefix labels.

Alnitak
  • 20,901
  • 3
  • 48
  • 81
  • Funny thought: regarding the IETF resistance to have DNS act as a distributed database ....UltraDNS does advertise the fact their implementation actually resides on top of an Oracle database. With many people this is a selling point. – makerofthings7 Nov 24 '10 at 06:16
1

This is already being done for VoIP see for instance http://www.nominet.org.uk/enum/

tallus
  • 136
  • 2
1

The opposite of your idea already exists:

Juliano
  • 5,402
  • 27
  • 28
1

The answer to question #1 is "write an RFC, submit it to the IETF". That's a long process, but if you can get some people interested it would be a great experience, even if it's not accepted :)

Bill Weiss
  • 10,782
  • 3
  • 37
  • 65
0

You can use a .tel for that

-1

You can do roughly this with WHOIS information, however it's not that accurate these days. You could certainly layer something on top of DNS without having to mess with the underlying protocol. That's pretty trivial to do.

joshk0
  • 465
  • 2
  • 5
  • 1
    FWIW: WHOIS data has never been particularly accurate. In the early days they used to go on about how you had to give them correct data, but there was no enforcement. These days, as long as you have a credit card, you can get a domain name, pretty much no questions asked. – Michael Kohne Aug 23 '09 at 19:58