The syntax for SIP Universal Resource Identifiers (URIs) is described in the SIP RFC (RFC 3261). SIP URIs follow the more general conventions of URIs described in RFC 2396. They are divided into five sections, each separated by a specific character. The sections are the scheme, username, host, parameters and headers. The scheme is either ‘sip’ or ‘sips’, where sips is used when secure SIP is required. Following the scheme is a ‘:’ character. After that there is either a username or host. If there is a username, it is followed by an ‘@’ character. The host is either a domain name (preferred) or an IP address. The host might include a port number separated by a ‘:’ character.
The host might be followed by a ‘;’ character. If it is, the ‘;’ character is followed by parameters. Each parameter is composed of a name and value pair separated by an ‘=’ character. The SIP RFC defines a few parameters that may be used, and other parameters can be defined by extensions. The SIP URI might be followed by headers. If it is, there is a ‘?’ character after the URI, and the headers are after that. The headers are supposed to be encoded as SIP headers in any SIP requests that are generated from the URI. Each header is composed of a name and value pair, separated by an ‘=’ character, just like a SIP header. SIP URI headers are separated from each other by an ‘&’ character.
Basic SIP URI with a username and host.
URI with no username.
This SIP URI contains a parameter specifying that someone’s favorite food is pizza.
SIP requests for this URI should include a header that specifies we’re having tacos for lunch.