RFC 3966 (http://tools.ietf.org/html/rfc3966) defines the tel URI and its parameters. However, urlparse / urllib.parse doesn't recognize "tel" URIs as taking parameters: >>> urlparse.urlparse('tel:7042;phone-context=example.com') ParseResult(scheme='tel', netloc='', path='7042;phone-context=example.com', params='', query='', fragment='')
I don't know whether 'tel' is a common scheme, but it's easy to add it to urlparse from the outside: >>> urlparse.uses_param.append('tel') >>> urlparse.urlparse('tel:7042;phone-context=example.com') ParseResult(scheme='tel', netloc='', path='7042', params='phone-context=example.com', query='', fragment='')