Compartir a través de


Solicitud entrante para cerrar una llamada

Cuando el cliente remoto cierra una llamada, el administrador de llamadas local o el controlador MCM deben indicar esta solicitud entrante al cliente local. Para indicar esta solicitud, un administrador de llamadas llama a NdisCmDispatchIncomingCloseCall con closeStatus establecido en NDIS_STATUS_SUCCESS (consulte la ilustración siguiente).

Diagrama que ilustra una solicitud entrante para cerrar una llamada a través de un administrador de llamadas.

Un controlador MCM llama a NdisMCmDispatchIncomingCloseCall para indicar una solicitud entrante para cerrar una llamada (consulte la ilustración siguiente).

Diagrama que ilustra una solicitud entrante para cerrar una llamada a través de un controlador MCM.

Un administrador de llamadas o un controlador MCM también pueden llamar a Ndis(M)CmDispatchIncomingCloseCall:

  • Desde su función ProtocolCmIncomingCallComplete si determina que el cliente orientado a la conexión solicita un cambio inaceptable en los parámetros de llamada en respuesta a una llamada entrante indicada anteriormente por el administrador de llamadas o el controlador MCM (consulte Solicitud entrante para cambiar parámetros de llamada).

  • Si las condiciones de red anómalas obligan al administrador de llamadas a anular las llamadas activas.

La llamada a Ndis(M)CmDispatchIncomingCloseCall hace que NDIS llame a la función ProtocolClIncomingCloseCall del cliente orientado a la conexión en esa conexión. ProtocolClIncomingCloseCall debe llevar a cabo cualquier operación determinada por protocolo, como notificar a su propio cliente o a los clientes que se interrumpe la conexión. Si la llamada que se va a cerrar es un VC de varios puntos creado por el cliente, ProtocolClIncomingCloseCall debe llamar a NdisClDropParty una o varias veces hasta que solo una entidad permanezca en la credencial verificable (consulte Quitar una entidad de una llamada multipunto).

ProtocolClIncomingCloseCall debe llamar a NdisClCloseCall(con el identificador de la última parte en el VC si el VC es un VC multipoint creado por el cliente) para confirmar que el cliente ya no intentará enviar o esperar recibir datos en esta credencial verificable concreta. Si el administrador de llamadas o el controlador MCM crearon este VC, ProtocolClIncomingCloseCall debe devolver el control después de llamar a NdisClCloseCall. El administrador de llamadas o el controlador MCM también deben desactivar la credencial verificable (consulte Desactivación de una credencial verificable).

Si el cliente creó originalmente este VC para una llamada saliente y CloseStatus es NDIS_STATUS_SUCCESS, ProtocolClIncomingCloseCall puede anular opcionalmente el VC con NdisCoDeleteVc (consulte Eliminar un VC) o reutilizar el VC para otra llamada. Si CloseStatus no está NDIS_STATUS_SUCCESS, ProtocolClIncomingCloseCall debe llamar a NdisCoDeleteVc.

Si el administrador de llamadas o el controlador MCM crearon originalmente este VC para una llamada entrante, el administrador de llamadas o el controlador MCM pueden eliminar opcionalmente el VC llamando a NdisCoDeleteVc o NdisMCmDeleteVc.