I've been searching the web about SIP domain configuration and can't find what I'm looking for.
We have different services in different location capable of providing SIP services : Telepresence, CUCM, VCS, Office Communicator and who knows what.
My problem is how to I setup the environment in a way that the systems knows that :
for VoIP it has to talk to the CUCM server,
chat to the OCS server,
video to legacy tandberg endpoint to the VCS server,
video to Telepresence endpoint to the CUCM server,
Add to this that we have some systems duplicated in different location, a VoIP CUCM cluster in each region, a VCS-C&E in each region...
I could of course setup different SIP domains
and setup one DNS SRV record for each SIP domain
but then an external person would have to know what and where it is trying to connect to and it sounds to me that doing such I'm loosing the all purpose of SIP. I would like to use a single SIP domain which would be the SMTP domain : company.com (and reading some documentation it seems that it is what is recommended).
But then I don't understand how I can share this single SIP domain amongst different independant system and haven't been able to find any clear description of such a setup (maybe it's too easy to find that I missed it).
1- Should I setup in the backend different domains for each system (like listed above) use some kind of SIP proxy which would route SIP calls to company.com to the appropriate system following routing rules based on the SIP address ?
2- Sould I setup all system with the top level domain name (company.com) ? But then I don't understand by what mechanism the SIP request will reach the appropriate system.
It looks like because the SIP request are different between services (lync, vcs...) I can use that to toute to the proper service using distinct SRV record for each type of SIP request. But what about making the difference betweens geos ?
If I have multiple VCS-Expressway around the globe how can I get the external party to dial in to choose the closest one ? Is it even possible or can we just use a priority list ?