...
Code Block |
---|
_sip._udp.example.com 86400 IN SRV 10 100 5060 examplecorp.dyndns.net _sip._tcp.example.com 86400 IN SRV 10 100 5060 examplecorp.dyndns.net |
Notes on DNS & SRV Records with Polycom Phones
A flaw in Polycom's SRV record use has been identified. Polycom phones don't honor the DNS SRV weight, but they do honor the priority. What this means is that they don't resort the list of records when they get it from DNS. Most DNS servers by default produce the SRV records in cyclical order. This means that for a 3 server cluster there are only 3 combinations that the records will show up in.
A suggested work-around for this problem is to use the bind (9.6 & later) command rrset-order.
Code Block |
---|
rrset-order { type SRV order random; }; |
Documentation for rrset-order here: http://www.zytrax.com/books/dns/ch7/queries.html
rrset-order
rrset-order
...
{
...
order_spec
...
;
...
[
...
order_spec
...
;
...
...
...
]
...
rrset-order
...
defines
...
the
...
order
...
in
...
which
...
multiple
...
records
...
of
...
the
...
same
...
type
...
are
...
returned.
...
This
...
works
...
for
...
any
...
record
...
type
...
in
...
which
...
the
...
records
...
are
...
similar
...
not
...
just
...
A
...
or
...
AAAA
...
RRs
...
and
...
covers
...
results
...
in
...
the
...
ANSWER
...
SECTION
...
and
...
the
...
ADDITIONAL
...
SECTION.
...
The
...
default
...
is
...
cyclic
...
(round-robin).
...
The
...
full
...
specification
...
of
...
rrset-order
...
is
...
shown
...
below.
...
An
...
'order_spec'
...
is
...
defined
...
as:
...
class
...
class_name
...
][
...
type
...
type_name
...
][
...
name
...
"domain_name"]
...
order
...
ordering;
...
Where
...
'class_name'
...
is
...
the
...
record
...
class,
...
for
...
example,
...
IN
...
(default
...
is
...
'any'),
...
type
...
is
...
the
...
Resource
...
Record
...
type
...
(if
...
none
...
specified
...
defaults
...
to
...
'any'),
...
domain_name
...
limits
...
the
...
statement
...
to
...
a
...
specific
...
domain
...
suffix
...
and
...
defaults
...
to
...
root
...
(all
...
domains),
...
order
...
is
...
a
...
key
...
word
...
and
...
ordering
...
may
...
take
...
one
...
of
...
the
...
following
...
values:
...
fixed
...
-
...
records
...
are
...
returned
...
in
...
the
...
order
...
they
...
are
...
defined
...
in
...
the
...
zone
...
file
...
random
...
-
...
records
...
are
...
returned
...
in
...
a
...
random
...
order
...
cyclic
...
-
...
records
...
are
...
returned
...
in
...
a
...
round-robin
...
fashion
...
Note:
...
For
...
reasons
...
best
...
known
...
to
...
the
...
ISC
...
(BIND's
...
author)
...
the
...
fixed
...
value
...
is
...
now
...
(BIND
...
9.6+)
...
only
...
available
...
if
...
the
...
configure
...
option
...
--with-fixed-rrset
...
is
...
used
...
in
...
the
...
build.
...
Neither
...
BSD
...
nor
...
Debian
...
standard
...
packages
...
use
...
this
...
option.
...
This
...
is
...
likely
...
to
...
be
...
true
...
for
...
Fedora
...
and
...
other
...
RPMs
...
but
...
has
...
not
...
been
...
verified
...
(use
...
named
...
-V
...
to
...
check).
...
For
...
practical
...
purposes
...
only
...
cyclic
...
and
...
random
...
are
...
the
...
available
...
choices.
...
Examples
...
Defines
...
that
...
all
...
equal
...
records
...
for
...
all
...
domains
...
will
...
be
...
returned
...
in
...
random
...
order.
Code Block
...
rrset-order {order random;};
Defines
...
that
...
all
...
equal
...
MX
...
records
...
for
...
example.com
...
will
...
be
...
returned
...
in
...
random
...
order
...
all
...
others
...
in
...
cyclic
...
order.
...
Code Block rrset-order {type MX name "example.com" order random; order cyclic};
This
...
statement
...
may
...
be
...
used
...
in
...
a
...
view
...
or
...
a
...
global
...
options
...
clause.
...
Advanced DNS configuration
...