Module sipurl

Function Index

escape_parameters/1 Do SIP URL parameter escaping on Str.
get_port/1 return the port value in a consistent manner.
new/1 Create a sipurl record().
parse/1 parses a sip url of the following format (see RFC 3261 chapter 19.1.1 for more details): sip:user:password@host:port;uri-parameters?headers * uri-parameters = any number of "parameter_name=value" separated by ; * headers = any number of "hname=hvalue" separated by & Phone numbers can also be encoded as sip uris (see chapter 19.1.6).
parse_url_with_default_protocol/2 Try to parse URLstr (using {link parse/1}), and if that fails then try to parse Proto + UrlStr.
print/1 create parseable sip url string Note : user, password, uri-parameters and headers can use char codes that need to be escaped using the %HH (H = 0-F) notation.
print_hostport/2 return a "host:port" string.
set/2 Update one or more attributes of a sipurl record().
unescape_str/1 replaces %HH escape codes in a string with its value.
url_is_equal/2 return 'true' if A = B according to RFC 3261 chapter 19.1.4 Note : assume that A and B are properly parsed sipurl records with unencoded chars i.e.
url_is_equal/3 Return 'true' if A = B according to RFC 3261 chapter 19.1.4, in the aspects you list.

Function Details

escape_parameters/1

escape_parameters(Str) -> string()

Do SIP URL parameter escaping on Str.

get_port/1

get_port(Sipurl) -> none | integer()

return the port value in a consistent manner

new/1

new(AttrList) -> #sipurl{}

Create a sipurl record(). Value is context specific, see {link set/2} below. Note : sipurl record() is defined in siprecords.hrl XXX headers are currently no supported

parse/1

parse(RURL::URLStr) -> #sipurl{} | {unparseable, URLStr}

parses a sip url of the following format (see RFC 3261 chapter 19.1.1 for more details): sip:user:password@host:port;uri-parameters?headers * uri-parameters = any number of "parameter_name=value" separated by ; * headers = any number of "hname=hvalue" separated by & Phone numbers can also be encoded as sip uris (see chapter 19.1.6). A tel uri: "tel:+358-555-1234567;postd=pp22" becomes "sip:+358-555-1234567;postd=pp22@foo.com;user=phone" i.e. "user" is replaced by "phone-no;tel-paramters", and a default domain for the entity doing the conversion is appended. Note : only the sip and sips protocols are supported Note : the headers field is currently not supported Note : tel URIs encoded as sip URIs are currently not supported

parse_url_with_default_protocol/2

parse_url_with_default_protocol(Proto, URLstr) -> URL | error

Try to parse URLstr (using {link parse/1}), and if that fails then try to parse Proto + UrlStr.

print/1

print(URL) -> string()

create parseable sip url string Note : user, password, uri-parameters and headers can use char codes that need to be escaped using the %HH (H = 0-F) notation

print_hostport/2

print_hostport(Host, Port) -> string()

return a "host:port" string

set/2

set(T::AttrList, URL) -> #sipurl{}

Update one or more attributes of a sipurl record(). Value is context specific, depending on Id :

   proto =
           string(), may be of any case, is stored in a case
           insensitive manner, may be = "sip" | "tel" (not yet
           supported) | the protocol to use user = string(), case
           sensitive user name pass = string(), case sensitive
           password host = string(), usually a domain name, will be
           stored in a case insensitive manner port = integer()
           param = list() of "name=value" string() | url_param
           record()
Note : sipurl record() is defined in siprecords.hrl XXX headers are currently no supported

unescape_str/1

unescape_str(RStr::Str) -> none | string()

replaces %HH escape codes in a string with its value

url_is_equal/2

url_is_equal(A, B) -> true | false

return 'true' if A = B according to RFC 3261 chapter 19.1.4 Note : assume that A and B are properly parsed sipurl records with unencoded chars i.e. no hex encoded chars

url_is_equal/3

url_is_equal(A, B, T::Compare) -> true | false

Return 'true' if A = B according to RFC 3261 chapter 19.1.4, in the aspects you list. Use url_is_equal/2 to do a full compare. Note : assume that A and B are properly parsed sipurl records with unencoded chars i.e. no hex encoded chars


Generated by EDoc, Oct 17 2007, 16:48:27.