From IndieWeb

phone in the context of the IndieWeb refers to both the verb, using a personal site to supplant or replace typical phone functionality like making & receiving audio (or video) calls, and the noun, like using a smart phone for mobile IndieWeb access, reading, and posting.

A phone or phoning in general refers to the UI, UX and infrastructure involved with such audio(video) calls.

IndieWeb Examples

Sam Machin

Sam Machin on is using WebRTC on his personal site (as of 2013-09-?? or earlier) for a way for people to call him which then connects through his server to ring his actual physical phone depending on what country he's in which his server determines from his Foursquare checkins.

He demonstrated this working at IndieWebCamp 2013 UK during the Opening Demo Session.

Ben Werdmuller

Ben Werdmuller on has icons for contacting him (since 2013-12-04) including icons (PDA, phone receiver, camera) with sms:, tel:, and facetime: URLs which if tapped when on a mobile browser will create a txt message, initiate a phone call, or start a FaceTime AV connection respectively from the user to Ben.

Barnaby Walters

Barnaby Walters on has a SIP address link which, as of 2013-12-14, if the user’s browser supports WebRTC, gets progressively enhanced into a “Call Me” button using Phono which initiates a call in-browser.

Michiel de Jong

Michiel de Jong on has a "leave a private message" textarea which becomes a "Call me" button after an ajax call checks first to see if he is currently online. This then leads to a simplewebrtc instance (the software that powers It was put together during IndieWebCamp SF 2014 and still in very early stages.


UI goal: have a “Call Me” button on my homepage which initiates a call with me regardless of location, carrier etc. — provided I want to receive the call. No long number memorization or complex international dialing codes required, ever. No requirement for the caller to install any software other than a modern web browser.

Infrastructure goal: to use open, free standards over data connections as much as possible, only falling back to interacting with actual GSM/landline phones for social back compatibility.

How this could be implemented:

  • Tropo app with SIP address, local numbers for whatever countries you can get them for. This is a catch-all endpoint which forwards calls to the next item…
  • A SIP account on a free server or maybe self-hosted SIP. This is what you log in to SIP clients with to receive calls.
  • A API key and js library which acts as a WebRTC to SIP bridge

On your homepage:

  • detect current user has WebRTC support. If they do:
    • Show a “call me” button which starts a WebRTC->SIP call to your Tropo SIP address
    • Tropo app forwards the call to your actual SIP address
    • your SIP client rings and you choose whether or not to accept the call
  • if no WebRTC support:
    • Figure out the closest local number you have for your Tropo app to the current user using approximate IP geolocation
    • Determine if any dialing codes need to be used to dial that number from the user’s location
    • Show a tel: link to the derived number, and a sip: link direct to the Tropo app SIP address
    • If either are clicked on a mobile device, a call will be made to your Tropo account, which forwards and rings as above

A session can also be used to receive calls direct in the browser — so when you logged in, your site would store the temporary SIP address for that session and add it to the list of addresses your Tropo app forwards calls to.

To be determined:

  • how best to authenticate people? let anyone call you without knowing who they are, or use Web Sign-In or Persona to authenticate people?
  • how to signal away/busy/not accepting calls status?


Cell use seen as surveillance permission


As argued in a legal document by a (presumably US) government representative.


IndieWebCamp sessions about phones, phone UI, etc.:


At IndieWebCamp 2013 UK:

  • Opening Demo Session: Sam Machin showed how he set up his personal site for a way for people to call him via WebRTC which then connected through his server to ring his actual physical phone.


See Also