Compartir a través de


Agregar una entidad a una llamada de varios puntos

Un cliente solicita agregar una entidad a una llamada de varios puntos con NdisClAddParty. Un cliente solo puede agregar una entidad a una llamada de varios puntos existente, es decir, una llamada para la que el cliente proporcionó un ProtocolPartyContext a NdisClMakeCall(consulte Realizar una llamada).

En la ilustración siguiente se muestra un cliente de un administrador de llamadas que solicita agregar una entidad a una llamada de varios puntos.

Diagrama que muestra un cliente de un administrador de llamadas que solicita agregar una entidad a una llamada de varios puntos.

En la ilustración siguiente se muestra un cliente de un controlador MCM que solicita agregar una entidad a una llamada de punto múltiple.

Diagrama que muestra un cliente de un controlador MCM que solicita agregar una entidad a una llamada de varios puntos.

Antes de llamar a NdisClAddParty, un cliente debe asignar e inicializar su área de contexto para que se agregue la entidad. Normalmente, los clientes pasan un puntero a un área de contexto como ProtocolPartyContext y un puntero a una variable dentro de ese área de contexto como parámetros NdisPartyHandle cuando llaman a NdisClAddParty.

Además de NdisVcHandle y ProtocolPartyContext, el cliente pasa parámetros de llamada (una estructura de CO_CALL_PARAMETERS almacenada en búfer) a NdisClAddParty. El medio de red subyacente determina si un cliente puede especificar parámetros de tráfico por entidad en un VC de varios puntos.

La llamada a NdisClAddParty hace que NDIS reenvíe esta solicitud a la función ProtocolCmAddParty del administrador de llamadas o controlador MCM con el que el cliente comparte el NdisVcHandle dado. NDIS pasa lo siguiente a ProtocolCmAddParty:

  • CallMgrVcContext que indica el VC de la llamada.

  • Puntero a una estructura de CO_CALL_PARAMETERS que contiene los parámetros de llamada que el cliente pasa a NdisClAddParty.

  • NdisPartyHandle que identifica la entidad que se va a agregar.

ProtocolCmAddParty asigna e inicializa los recursos dinámicos necesarios para la entidad que se va a agregar a la llamada. Desde ProtocolCmAddParty, un administrador de llamadas o un controlador MCM se comunica con dispositivos de control de red u otros agentes específicos de medios, según sea necesario, para agregar la entidad especificada a la llamada de varios puntos.

Si el cliente pasó parámetros de llamada que no coincidieron con los ya establecidos para la credencial verificable de varios puntos, el administrador de llamadas o el controlador MCM pueden, por ejemplo:

  • Configure los parámetros de tráfico por entidad si el medio de red subyacente admite esta característica en máquinas virtuales de varios puntos.

  • Restablezca los parámetros de tráfico proporcionados por el cliente a los establecidos originalmente para la credencial verificable.

  • Cambie los parámetros de llamada para la credencial verificable y para cada entidad conectada actualmente.

  • Produce un error en el intento del cliente de agregar una entidad.

ProtocolCmAddParty puede completarse sincrónicamente o, más probablemente, de forma asincrónica con NdisCmAddPartyComplete, en el caso de un administrador de llamadas o NdisMCmAddPartyComplete, en el caso de un controlador MCM. Tanto si el administrador de llamadas como el controlador MCM completan la operación de forma sincrónica o asincrónica, pasa los parámetros de llamada almacenados en búfer a NDIS.

La llamada a Ndis(M)CmAddPartyComplete hace que NDIS llame a la función ProtocolClAddPartyComplete del cliente. Si la solicitud del cliente para agregar la entidad se realizó correctamente y si el protocolo de señalización permite al administrador de llamadas o al controlador MCM modificar los parámetros de llamada, ProtocolClAddPartyComplete debe probar la marca CALL_PARAMETERS_CHANGED en la estructura de CO_CALL_PARAMETERS almacenada en búfer para determinar si se modificaron los parámetros de llamada. El protocolo de señalización determina lo que el cliente puede hacer si encuentra las modificaciones en CO_CALL_PARAMETERS inaceptables. Normalmente, un cliente llama a NdisClDropParty en este caso (consulte Quitar una entidad de una llamada multipoint).