Compartir a través de


Client-Initiated solicitud para cerrar una llamada

Si un cliente está cerrando una llamada multipunto a la que todavía está conectada más de una entidad, primero debe llamar a NdisClDropParty tantas veces como sea necesario para quitar todo excepto la última parte de la llamada (consulte Quitar una entidad de una llamada multipunto).

Un cliente inicia el cierre de una llamada con NdisClCloseCall. En la ilustración siguiente se muestra un cliente que inicia el cierre de una llamada a través de un administrador de llamadas.

diagrama que ilustra un cliente que inicia el cierre de una llamada a través de un administrador de llamadas.

En la ilustración siguiente se muestra un cliente que inicia el cierre de una llamada a través de un controlador MCM.

diagrama que ilustra un cliente que inicia el cierre de una llamada a través de un controlador mcm.

Un cliente orientado a la conexión normalmente llama a NdisClCloseCall en cualquiera de las siguientes circunstancias:

La llamada de un cliente a NdisClCloseCall hace que NDIS llame a la función ProtocolCmCloseCall del administrador de llamadas o del controlador MCM. ProtocolCmCloseCall debe comunicarse con los dispositivos de control de red para finalizar una conexión entre el nodo local y un nodo remoto.

Si ProtocolCmCloseCall se pasa a callMgrPartyContext explícito, la llamada que se está finalizando es una llamada multipunto. El administrador de llamadas o el controlador MCM deben realizar cualquier comunicación de red necesaria con su hardware de red, según corresponda a su tipo de medio, para finalizar la llamada como una llamada multipunto.

NDIS puede pasar ProtocolCmCloseCall a un puntero a un búfer que contiene los datos proporcionados por el cliente en la llamada a NdisClClose. Estos datos pueden ser datos de diagnóstico que indican por qué se cerró la llamada o cualquier otro dato que requiera el protocolo de señalización. ProtocolCmCloseCall debe enviar dichos datos a través de la red antes de completar la finalización de la llamada. Si no se admite el envío de datos simultáneos con una conexión terminada, un administrador de llamadas o un controlador MCM deben devolver NDIS_STATUS_INVALID_DATA.

ProtocolCmCloseCall puede completarse sincrónicamente o, más probablemente, de forma asincrónica con NdisCmCloseCallComplete(en el caso de un administrador de llamadas) o NdisMCmCloseCallComplete(en el caso de un controlador MCM). Una llamada a Ndis(M)CmCloseCallComplete hace que NDIS llame a la función ProtocolClCloseCallComplete del cliente.

Después, el administrador de llamadas o el controlador MCM deben iniciar la desactivación de la credencial verificable utilizada para la llamada mediante la llamada a NdisCmDeactivateVc o NdisMCmDeactivateVc(consulte Desactivación de una credencial verificable). El creador de la credencial verificable (cliente, administrador de llamadas o controlador MCM) puede iniciar opcionalmente la eliminación de la credencial verificable (consulte Eliminación de una credencial verificable).