cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
949
Views
4
Helpful
4
Replies

Query over DNS entries for clustering and calling

Chris Swinney
Level 5
Level 5

Hey all,

We are testing an Expressway cluster which has been placed into its own DNS subdomian (e.g.)

cluster.domain.com

With DNS entries:

SRV

_sips._tcp.cluster.domain.com. 86400 IN SRV 1 1 5061 Expressway1.cluster.domain.com.

_sips._tcp.cluster.domain.com. 86400 IN SRV 1 1 5061 Expressway2.cluster.domain.com.

_sip._tcp.cluster.domain.com. 86400 IN SRV 1 1 5060 Expressway1.cluster.domain.com.

_sip._tcp.cluster.domain.com. 86400 IN SRV 1 1 5060 Expressway2.cluster.domain.com.

_h323ls._udp.cluster.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323ls._udp.cluster.domain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

_h323cs._tcp.cluster.domain.com. 86400 IN SRV 1 1 1720 Expressway1.cluster.domain.com.

_h323cs._tcp.cluster.domain.com. 86400 IN SRV 1 1 1720 Expressway2.cluster.domain.com.

_h323rs._udp.cluster.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323rs._udp.clusterdomain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

A

Expressway1.cluster.domain.com.           IN    A     x.x.x.x     (IP address of Expressway1)

Expressway2.cluster.domain.com.           IN    A     x.x.x.x     (IP Address of Expressway2)

However, I want actual calls placed to the root domain

domain.com

But with these DNS entries do I point to the cluster subdomain, or do I point to the individual peers of the cluster (as above). My feeling is this I should point to the cluster therefore I don't need to update DNS entries for the main domain if cluster peer change, such that:

SRV

_sips._tcp.domain.com. 3600 IN SRV 0 0 5061 cluster.domain.com.

_sip._tcp.domain.com. 3600  IN SRV 0 0 5060 cluster.domain.com.

But is this correct?

Message was edited by: Chris Swinney Added comment to A records showing what they point to

1 Accepted Solution

Accepted Solutions

Martin Koch
VIP Alumni
VIP Alumni

Hi Chris, how are you?

If I remember the SRV RFC correct that would be wrong as no recursive srv lookup would be done,

the address at the end of the srv record has to be an a record (so also no CNAME).

In your scenario you could use:

_sips._tcp.domain.com. 86400 IN SRV 1 1 5061 Expressway1.cluster.domain.com.

_sips._tcp.domain.com. 86400 IN SRV 1 1 5061 Expressway2.cluster.domain.com.

_sip._tcp.domain.com. 86400 IN SRV 1 1 5060 Expressway1.cluster.domain.com.

_sip._tcp.domain.com. 86400 IN SRV 1 1 5060 Expressway2.cluster.domain.com.

_h323ls._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323ls._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

_h323cs._tcp.domain.com. 86400 IN SRV 1 1 1720 Expressway1.cluster.domain.com.

_h323cs._tcp.domain.com. 86400 IN SRV 1 1 1720 Expressway2.cluster.domain.com.

_h323rs._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323rs._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

h323cs and rs might not be used (cs is if you dial the domain directly without a user@ upfront,

rs is used for registrations, most setups I have seen live fine without it, ...

Btw, if this is a copy paste, replace from your zonefile there is a error in the last rs entry, it lacks a . in between

cluster and domain.

Btw2, I would also set a A record for cluster.domain.com poiting to at least one of the VCS, thats

handy for endpoints not or badly supporting srv records.

Please remember to rate helpful responses and identify

View solution in original post

4 Replies 4

Martin Koch
VIP Alumni
VIP Alumni

Hi Chris, how are you?

If I remember the SRV RFC correct that would be wrong as no recursive srv lookup would be done,

the address at the end of the srv record has to be an a record (so also no CNAME).

In your scenario you could use:

_sips._tcp.domain.com. 86400 IN SRV 1 1 5061 Expressway1.cluster.domain.com.

_sips._tcp.domain.com. 86400 IN SRV 1 1 5061 Expressway2.cluster.domain.com.

_sip._tcp.domain.com. 86400 IN SRV 1 1 5060 Expressway1.cluster.domain.com.

_sip._tcp.domain.com. 86400 IN SRV 1 1 5060 Expressway2.cluster.domain.com.

_h323ls._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323ls._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

_h323cs._tcp.domain.com. 86400 IN SRV 1 1 1720 Expressway1.cluster.domain.com.

_h323cs._tcp.domain.com. 86400 IN SRV 1 1 1720 Expressway2.cluster.domain.com.

_h323rs._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway1.cluster.domain.com.

_h323rs._udp.domain.com. 86400 IN SRV 1 1 1719 Expressway2.cluster.domain.com.

h323cs and rs might not be used (cs is if you dial the domain directly without a user@ upfront,

rs is used for registrations, most setups I have seen live fine without it, ...

Btw, if this is a copy paste, replace from your zonefile there is a error in the last rs entry, it lacks a . in between

cluster and domain.

Btw2, I would also set a A record for cluster.domain.com poiting to at least one of the VCS, thats

handy for endpoints not or badly supporting srv records.

Please remember to rate helpful responses and identify

Thanks - my DNS knowledge may not be as good as it should be.

BTW - not quite cut'n'paste - manual edit so I wouldn't worry

BTW2 - Yes, we found that with the cluster trying to register a Polycom HDX unit, they didn't like the SRV records. I meant to put a comment next to the A records in that they do indeed point to the IP addresses of each of the Expressways. I'll update the post now.

In general you can also have even more domains or hostnames A and or SRV pointing for different reasons to your vcs.

Like the additional A record for your VCS. For example a 4pc.vcs.domain.com which is an a record poiting to one of the

vcs just for the polycom systems and then for example have a lower ttl just on that a record so you can quick change it to the other a record if the the first vcs dies. (not sure maybe they support the alternate gatekeeper so you would not need to).

Or you want to control on which cluster peer specific systems register, then you could have different

sets of priorities and or weight for two pairs of srv sets.

Btw, I would not use 1 as the priority and weight. If you need to fix something and you need to add an additional

srv record you can not go higher (to a lower number).

Think its worth learning a bit more about dns :-)

Please remember to rate helpful responses and identify

Martin Koch wrote:

In general you can also have even more domains or hostnames A and or SRV pointing for different reasons to your vcs.

Like the additional A record for your VCS. For example a 4pc.vcs.domain.com which is an a record poiting to one of the

vcs just for the polycom systems and then for example have a lower ttl just on that a record so you can quick change it to the other a record if the the first vcs dies. (not sure maybe they support the alternate gatekeeper so you would not need to).

Or you want to control on which cluster peer specific systems register, then you could have different

sets of priorities and or weight for two pairs of srv sets.

The example above a relatively simplistic with just a couple of VCSs in a test cluster. The A records provide Round Robin DNS as a fail back and yes, the Polycoms do use the alternate gatekeeper via H.323 RAS, but if one is down prior to registration, then the DNS A records do thier job.

Actually, what we are looking to do is something similar to what you suggest. We actually are looking to group 2 clusters of VCS-E's (a 4 and a 3) in different geographical locations, but connected via a very high speed core network (approx max 8ms round trip time between each VCS-to-VCS). At the moment they are independent and have several VCS-Cs that register with each. Essentially, I was going to create different DNS zones which referenced the different location such that:

e.g.

location-a.cluster1.domain.com

location-b.cluster1.domain.com

location-c.cluster1.domain.com

location-d.cluster1.domain.com

location-e.cluster2.domain.com

location-f.cluster2.domain.com

location-g.cluster2.domain.com

Each zone would have the relevant SRV and A records pointing to all the expressways, but with different weighting and priorities when referencing each of the individual peers

This would then mean that I could still logically get users to user their "local" DNS zone so registrations would (in the first instance) take place with their most local peer, but then fail over to other member of the local cluster - and further finally to the other peers in the other cluster.

Further, each root domain used for placing actual calls will be completely different such that:

e.g.

organisation1.com

organisation2.com

organisation2.com

....

Each of these DNS zones will have similar SRV and records pointing again to the individual peers (after you have now put me right about the fact that you can't do recursive SRV lookups - shame because this would have taken away a chunk of work), and weighted according to locality.

Many thanks Martin for the great feedback.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: