Topology Builder
ms-diagnostics:33038 reason “Cannot transfer the call to another pool” and Conference ID not Found (English)
Hello all,
Again here, with one of those curious mistakes this time one of those of a global topology there are two “Skype sites” with two “Front-End Pools” separated by a dedicated network for the customer, such as an MPLS network for example.
DESIGN:
We have this design:
We have two Site in Skype for Business, one in “SPAIN” and another in “UK” linked by a dedicated network, the two sites have their output to the local PSTN through “Gateway / SBC” and its corresponding Mediation Server, all right here.
PROBLEM DETECTED:
The client uses much the service “Skype Conference Call”, because in some of its offices still are not migrated to Unified Communications and has VoIP PBX, in this case all audio conferencing service is housed in one of the Front End Pool, specifically in the UK that houses all accounts “Dial in Access Number“.
El Servicio Doméstico “Dial in Access Number” se encuentra en el Pool del Reino Unido y el Conference ID se puede alojar en el Spain Pool y el Reino Unido.
- A user in Spain, creates a conference with Conference ID. 60051
- He sends the ID to the contacts for the meeting
- A UK User connected to the PSTN dials the number “Dial in Access Number” of UK with number +44 20 7234XX XX to enter the meeting
- The user dial the Conference ID 60051 and receive the following message “sorry, I can not connect to your meeting right now“.
When the call is received by “Dial in Access Number” in the UK and the Conference ID was on the Front End SPAIN this error occurred.
PROBLEM SOLUTION:
To solve the problem, the first thing we can put a trace with the “logging tool” in the Front End pool of UK and launch a test.
We could see the following error:
“Cannot transfer the call to another pool”
To solve this error simply change the parameter “Refer Support” to False
Set-CsTrunkConfiguration -Identity (Trunk_Name) -EnableReferSupport $false
After changing the Enable Support Refer parameter to “False” in the UK Pool was able to connect the call audio conferencing service with the conference ID of the user Spain Pool
ms-diagnostics:33038 reason “Cannot transfer the call to another pool” and Meeting ID not Found
Hola a todos,
Otra vez por aquí con uno de esos errores curiosos que se encuentra uno en las implantaciones de topologías globales en las que hay varios “SITES” con diferentes Front-End Pools separados por una red dedicada para el cliente, como puede ser una red MPLS por ejemplo.
DISEÑO:
Partimos del siguiente diseño:
Tenemos dos Site en Skype for Business, a nivel Topología, uno en “SPAIN” y otro en “UK” unidos por una red dedicada, cada infraestructura tiene su salida a la PSTN local por medio de Gateway/SBC y su Mediation Server correspondiente, hasta aquí todo correcto.
PROBLEMA DETECTADO:
El cliente tiene costumbre de uso el servicio de “Audioconferencia” de Skype, inlcuso de forma interna, ya que en algunas de sus sedes aun no están migrados a la solución de Comunicaciones unificadas y tiene PBX de VoIP, en este caso todo el servicio de Audioconferencia esta alojado en uno de los Front End Pool, concretamente en el de UK siento este el que aloja todas cuentas del “Dial In Access Number“.
De esta manera nos encontramos que el Servicio Principal “Dial in Access Number” esta el Pool de UK y en los ID de conferencia pueden estar alojados tanto en el propio Pool de UK como en el de SPAIN.
Es aquí donde nos encontrábamos el problema:
- Un usuario del Pool de Spain, crea una conferencia con el ID de conferencia. 60051
- Este envía la convocatoria a los contactos para la reunión
- Un usuario de UK conectado a la PSTN marca el numero “Dial in Access Number” de UK con numero +44 20 7234 XX XX para entrar a la reunión
- Marca el ID de conferencia 60051 y recibe el siguiente mensaje “sorry, I can’t connect to your meeting right now“.
- Y se cuelga la llamada
Cuando la llamada entraba por el “Dial in Access Number” de UK y el ID de conferencia estaba en el Front End de SPAIN se producía este error.
SOLUCION DEL PROBLEMA:
Para solucionar el problema, lo primero que hicimos pue poner una traza con el “logging tool” en el Front End de UK y lanzar una prueba.
Pudimos ver el siguiente error:
“Cannot transfer the call to another pool”
Para solucionar este error simplemente hay que cambiar el habilitar el parámetro “ReferSupport”
Set-CsTrunkConfiguration -Identity (Trunk_Name) -EnableReferSupport $false
Una vez cambiado el parámetro EnableReferSupport a False el Pool de UK era capaz de conectar la llamada del servicio de audio conferencia con el ID de la sala del usuario del pool de España
Error “Cannot open database “xds” en Lync 2013
Buenas a todos,
Por fin consigo un rato para escribir, iré poniendo todos los post atrasados (lo prometo..), de los problemas y casos curiosos que me he ido encontrando en mis ultimas instalaciones de Microsoft Lync Server 2013 y Skype for Business. A parte continuo en mis ratos libres probando la instalación de Cloud Connector que me resulta un producto de lo mas interesante, al menos para las pequeñas y medianas empresas que han decidido irse a la nube de Microsoft y que quieren migrar sus viejas centralitas a un entorno de comunicaciones unificadas sin tener que desembolsar mucho dinero en una infraestructura de servidores.
Bueno ya tendré mas tiempo de hablar del Cloud Connector, pero en este articulo quiero hablaros de un problema que me he encontrado recientemente en un cliente.
Concretamente necesitábamos conectarnos para realizar una auditoria de la infraestructura que tenia en Lync 2013 y con información obtenida hacerle una propuesta de migración a Skype for Business con integración de Voz y servicios externos a través de un EDGE, pues bien, lo primero en estos casos es o pedirle el fichero de la topología o conectarte con un usuario que te faciliten con los permisos RBAC adecuados para descargarla tu mismo.
En este caso el cliente nos proporcionó un usuario con pertenecía a los siguientes grupos y permisos:
Pero a la hora de conectarme al FrontEnd y descargar la topología, primero recibía este mensajes “Topology Builder could not copy to the topology from the Central Management Store. Cannot read Topology. Verify that the topology data is accessible“
Después volví a forzar la descarga y recibí la siguiente ventana de error:
El texto del error completo decía lo siguiente:
DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) atSystem.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.Rtc.Common.Data.DBCore.PerformSprocContextExecution(SprocContext sprocContext) — End of inner exception stack trace — at Microsoft.Rtc.Management.Store.Sql.XdsSqlConnection.ReadDocItems(ICollection`1 key) at Microsoft.Rtc.Management.ScopeFramework.AnchoredXmlReader.Read(ICollection`1 key) at Microsoft.Rtc.Management.WritableConfig.AnchoredXmlSchemaCache.get_Item(ScopeClass scopeClass) at Microsoft.Rtc.Management.Xds.ManagementConnection.GetAnchoredXmlWrapperFromReader(SchemaId schemaId) at Microsoft.Rtc.Management.Xds.ManagementConnection.ReadTopologyXml(TypedXml& typedXml, AnchoredXml& anchoredXml) at Microsoft.Rtc.Management.Xds.ManagementConnection.ReadTopology(TypedXml& topologyXml, Topology& topology) at Microsoft.Rtc.Management.Xds.XdsCmdlet.<ReadTopology>b__5() at Microsoft.Rtc.Management.Internal.Utilities.DeImpersonator.<>c__DisplayClass1.<Run>b__0() at Microsoft.Rtc.Management.Internal.Utilities.DeImpersonator.Run[T](Boolean dropImpersonation, Func`1 func) atMicrosoft.Rtc.Management.Xds.XdsCmdlet.ReadTopology() — End of inner exception stack trace — at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper() at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()
Failed
Finished
Tras revisar con el cliente los permisos del usuario, etc…, probé a lanzar el comando Get-CsAdminRole desde la Shell de Lync para ver que estaban bien aplicados los permisos, y recibí lo siguiente “Cannot open database xds requested by the login. The login failed“.
Con este error si pude indagar mas por la red, finalmente para solucionarlo simplemente de la manera mas fácil, arrancar el Topology Builder como Administrador
De esta forma pude descargar de forma correcta la topología, también para ejecutar comandos con el PowerShell utilizando la misma formula.
Seguramente que este post no sea de lo mas atractivo pero os lo cuento porque he visto en algún otro blog que con el mismo error que aconsejaban desinstalar todos los componentes de Lync como “Administrative Tools, Core Components, etc ..” y borrar la carpeta “RTCLOCAL” cosa que un entorno en producción es impensable y si de esta manera al menos podemos ir administrando la plataforma sin tener que provocar tanto trastorno al cliente. A mi de esta manera me sirvió y pude trabajar con normalidad.
Saludos