호출 관리자 또는 MCM 드라이버는 네트워크에서 메시지를 신호로 전송하여 활성 VC의 호출 매개 변수를 변경하기 위해 원격 당사자로부터 들어오는 요청에 대한 경고를 받습니다. 호출 관리자 또는 MCM 드라이버가 활성 호출에서 동적 QoS 변경을 지원하는지 여부는 신호 프로토콜에 따라 달라집니다.
다음 그림에서는 호출 매개 변수를 변경하기 위해 호출 관리자를 통해 들어오는 요청을 보여줍니다.
다음 그림에서는 호출 매개 변수를 변경하는 MCM 드라이버를 통해 들어오는 요청을 보여줍니다.
호출 매개 변수를 변경하라는 수신 요청을 받은 후 호출 관리자는 적절하게 수정된 호출 매개 변수를 NdisCmActivateVc 전달하여 제안된 QoS 변경 사항을 기본 미니포트 드라이버에 알립니다. MCM 드라이버는 수정된 호출 매개 변수를 NdisMCmActivateVc전달합니다(VC 활성화하는참조). 기본 미니포트 드라이버가 변경된 호출 매개 변수를 수락하는 경우 호출 관리자는 NdisCmDispatchIncomingCallQosChange호출합니다(수신 요청에서 호출 매개 변수 변경 참조). MCM 드라이버는 NdisMCmDispatchIncomingCallQosChange호출합니다(호출 매개 변수 변경 요청 참조). 호출 관리자 또는 MCM 드라이버는 Ndis(M)CmDispatchIncomingCallQoSChange NdisVcHandle 및 버퍼링된 CO_CALL_PARAMETERS 구조를 전달합니다.
Ndis(M)CmDispatchIncomingCallQoSChange 호출하면 NDIS가 클라이언트의 ProtocolClIncomingCallQoSChange 함수를 호출합니다. NDIS는 ProtocolClIncomingCallQoSChange 에 버퍼링된 CO_CALL_PARAMETERS 구조에서 VC 및 수정된 호출 매개 변수를 식별하는 ProtocolVcContext 핸들을 전달합니다.
클라이언트는 VC의 QoS에 대해 유지 관리하는 상태를 업데이트하고 컨트롤을 반환하는 것 외에는 아무 작업도 수행하지 않고 VC에 대한 호출 매개 변수에 대해 제안된 수정 사항을 수락합니다. 제안된 수정이 허용되지 않는 경우 클라이언트는 신호 프로토콜에서 허용하는 경우 NdisClModifyCallQoS 호출 매개 변수를 재협상할 수 있습니다(Client-Initiated 호출 매개 변수 변경 요청참조). 그렇지 않으면 클라이언트는 NdisCloseCall사용하여 호출을 중단하여 제안된 QoS 변경을 거부합니다(Client-Initiated 통화닫기 요청 참조).
ProtocolClIncomingCallQoS이 반환된 후, 호출 관리자 또는 MCM 드라이버는 요청을 시작한 원격 당사자에게 제안된 변경 사항에 대한 클라이언트의 수락 또는 거부를 전달합니다.