다음을 통해 공유


미디어 이벤트 타이머

많은 애플리케이션은 요청된 작업의 특성을 확인하기 위해 미디어 이벤트 간의 타이밍 관계(예: 수신된 DTMF 숫자)에 따라 달라집니다. 예를 들어 음성 메일 애플리케이션에서 두 개의 연속 DTMF "1" 숫자는 두 자리 사이에 경과된 시간에 따라 "두 세그먼트 백업" 또는 "메시지 시작 부분에서 재생"을 의미할 수 있습니다. 클라이언트/서버 환경에서 DTMF 검색이 애플리케이션이 실행 중인 프로세서와 별도의 프로세서에서 수행되는 경우 로컬 영역 네트워크의 대기 시간으로 인해 미디어 이벤트 간의 타이밍 관계가 왜곡되어 이러한 타이밍 기반 차이가 손실되거나 불안정해질 수 있습니다.

이 문제를 해결하기 위해 여러 TAPI 메시지를 타임스탬프할 수 있습니다. 중요한 이벤트 간의 상대 타이밍이기 때문에 이벤트의 "시계 시간"은 중요하지 않으며 하위 초 타이밍이 관련되므로 이러한 타임스탬프는 GetTickCount 함수에서 반환된 밀리초 해상도 "Windows 시작 이후 시간"을 사용합니다. 애플리케이션은 서버(또는 하드웨어를 직접 관리하는 서비스 공급자가 실행 중인 컴퓨터)의 틱 개수임을 알고 있어야 하며 애플리케이션이 실행 중인 컴퓨터와 동일하지는 않습니다. 따라서 이러한 TAPI 메시지의 타임스탬프는 서로만 비교할 수 있으며 애플리케이션이 실행 중인 프로세서의 GetTickCount 반환된 값과 비교할 수 없습니다.

타임스탬프가 될 수 있는 TAPI 메시지는 LINE_GATHERDIGITS, LINE_GENERATE, LINE_MONITORDIGITS, LINE_MONITORMEDIALINE_MONITORTONE. 틱 수는 이러한 메시지의 dwParam3 삽입됩니다. 서비스 공급자가 타임스탬핑을 지원하지 않는 경우(이러한 메시지의 dwParam3 서비스 공급자 설정으로 표시됨) TAPI 자체는 이러한 모든 메시지의 dwParam3 틱 수를 삽입합니다(메시지가 인터프로세스 통신 체계를 통과한 후 애플리케이션이 동일한 작업을 수행한 경우보다 작을 수 있음).