애플리케이션에 통신 세션에 대한 소유자 권한 있는 경우 애플리케이션은 소유권을 다른 애플리케이션에 전달하도록 선택할 수 있습니다. 핸드오프 작업은 일반적으로 통화의 미디어 형식을 변경할 수 있도록 하는 데 사용됩니다. 새 미디어 유형에 대한 우선 순위가 가장 높은 애플리케이션은 호출을 받고 처리해야 합니다. 미디어 유형 변경은 일반적으로 다음 이유 중 하나로 발생합니다.
사용자 명령: 사용자 인터페이스를 통해 또는 창 메시지를 통해 애플리케이션은 로컬 사용자가 미디어 유형을 변경하려고 한다는 것을 알게 됩니다. 예를 들어 사용자는 새 대상 애플리케이션(아직 소유자가 아님)에게 데이터 전송을 위한 기존 음성 호출을 가져오라고 말했습니다. 이제 대상 애플리케이션이 호출을 제어해야 합니다. 이 경우 현재 소유자는 소유자 수가 증가하는 것을 확인하고 통화 제어를 포기합니다. 또는 사용자는 호출의 현재 소유자에게 새 미디어 유형을 처리할 수 있는 애플리케이션에 전달하도록 지시할 수 있습니다.
미디어 유형 변경: 서비스 공급자가 미디어 형식 변경을 검색할 수 있습니다. 예를 들어 로컬 애플리케이션은 발신자에게 녹음된 음성 메시지를 재생합니다. 이 메시지 중에 발신자는 자발적으로 팩스 통화 톤을 전송하기로 결정하고, 로컬 애플리케이션은 미디어 유형을 팩스로 변경하고 필요한 경우 팩스 응용 프로그램에 전화를 걸어 그에 따라 응답할 수 있습니다. 이 작업을 수행할 수 있는 또 다른 방법은 모니터링 애플리케이션이 미디어 형식 모니터링을 사용하도록 설정하는 것이며, 통화 시 관심 있는 미디어 유형이 감지되면 통화 소유권을 요청할 수 있습니다. 이 메커니즘을 사용하면 모든 애플리케이션이 모든 미디어 유형에 대한 모든 호출을 모니터링할 필요가 없습니다.
원격 당사자 명령: 원격 당사자는 로컬 애플리케이션이 원격 호출자의 DTMF 입력을 모니터링하는 경우와 같이 기존 호출 중에 미디어 형식의 변화를 대화형으로 나타낼 수 있습니다. 이 모니터링을 통해 호출자는 예를 들어 팩스를 보내려고 했음을 나타냅니다. 호출자가 로컬 애플리케이션을 제어할 수 있는 다른 방법은 다른 데이터 연결 및 ISDN 사용자 정보 메시지를 통해 수신된 명령을 사용하는 것입니다.
호출 핸드오프는 다음 결과 중 하나를 갖습니다.
- 호출은 다른 애플리케이션(SUCCESS)에 제공됩니다.
- 전달-해제 애플리케이션 자체는 대상(TARGETSELF)입니다.
- 핸드오프가 실패합니다(TARGETNOTFOUND).
전달된 호출을 수신하는 애플리케이션에 이미 호출에 대한 호출 핸들이 있는 경우 이 이전 호출 핸들이 사용됩니다. 그렇지 않으면 새 호출 핸들이 만들어집니다. 두 경우 모두 애플리케이션은 호출에 대한 소유자 권한으로 끝납니다. 전달 애플리케이션이 대상 애플리케이션과 동일하지 않을 때마다 대상은 새 호출을 수신하는 것처럼 세션 상태 메시지의 핸드오프에 대해 알립니다.
현재 소유자 애플리케이션에서 미디어 형식을 변경하라는 지시를 받으면 대상 미디어 유형에 사용되는 애플리케이션에 대한 호출을 전달합니다. 두 가지 유형의 통화 핸드오프는 Directed Handoffs 및 Media 형식 핸드오프설명합니다.
모든 서비스 공급자가 이 작업의 사용을 지원하지는 않습니다.
TAPI 2.x:lineHandoff참조하세요. lpszFileName 직접 전달을 위해 애플리케이션 이름으로 설정되거나 간접 전달을 위해 하나의 미디어 형식으로 설정된 dwMediaMode.
TAPI 3.x:ITBasicCallControl::HandoffDirect, ITBasicCallControl::HandoffIndirect참조하세요.
Directed Handoffs
대상 애플리케이션이 원래 애플리케이션에 이름으로 알려지면 전달 발생합니다. 이 상황은 예를 들어 동일한 공급업체에서 작성한 애플리케이션 집합 중에서 발생합니다. 사용자는 일반적으로 지시된 핸드오프의 제어를 구성할 수 있습니다. 이러한 핸드오프를 사용하면 호출이 있는 줄을 연 경우 지정된 애플리케이션에 호출이 제공됩니다. 애플리케이션에서 줄을 열 때 지정된 미디어 형식은 무시됩니다. 한 가지 일반적인 예로 음성 통화와 같은 통화에서 팩스 전송이 뒤따릅니다. 직접 전달은 다른 방법으로도 연결된 동일한 개발자의 애플리케이션에서 가장 자주 사용됩니다.
또한 동일한 미디어 형식의 수신 호출을 기다리는 여러 애플리케이션을 중재하는 프로세스의 일부로 이후 버전에서 전달을 사용할 수 있으며, 미디어 형식이 아닌 데이터 링크 또는 상위 수준 프로토콜 검색을 기반으로 하는 호출을 처리하도록 애플리케이션을 선택할 수 있습니다. 사용의 예로는 원격 인수, 게시판, 원격 네트워크 액세스 및 원격 전자 메일 액세스와 같은 애플리케이션이 있는 들어오는 데이터 모뎀 라인이 동시에 호출을 기다리는 것입니다.
미디어 형식 핸드오프
미디어 유형 핸드오프 새로운 대상 미디어 유형이 있는 경우, 일반적으로 소유 애플리케이션이 통화에 필요한 미디어 유형이 없거나 변경하려고 할 때 발생합니다.
미디어 유형 UNKNOWN 비트가 설정된 경우 미디어 종속 핸드오프 프로세스는 검색 프로세스가 될 수 있습니다. 가장 높은 우선 순위 애플리케이션을 찾기 위해 미디어 유형을 순환하는 것은 소유 애플리케이션의 책임입니다. TAPI는 첫 번째 소유자를 찾기 위해 처음 들어오는 호출에서만 이 순환을 수행합니다. 핸드오프 작업에 대해서는 이 작업을 수행하지 않습니다. 그렇지 않으면 핸드오프는 애플리케이션에 대한 호출의 초기 할당과 거의 동일합니다. 차이점은 간접(미디어 형식) 핸드오프에 대해 하나의 미디어 형식만 설정할 수 있다는 점입니다.
단일 미디어 형식 비트만 지정할 수 있으므로 해당 미디어 형식에 대한 우선 순위가 가장 높은 애플리케이션에 호출이 제공됩니다. 그러나 두 개 이상의 미디어 형식이 핸드오프에 고려될 수 있습니다. 이 경우 전달 애플리케이션은 가능한 미디어 형식의 가장 높은 우선 순위를 매개 변수로 지정해야 합니다.
미디어 형식 핸드오프를 수행할 때 애플리케이션이 UNKNOWN 비트를 지정하고 핸드오프가 실패하는 경우 미디어 형식 결정을 수행할 수 있는 알 수 없는 애플리케이션이 현재 실행되고 있지 않음을 의미합니다. 그런 다음 전달되는 애플리케이션은 다음으로 높은 미디어 유형에 대해 등록된 가장 우선 순위가 높은 애플리케이션에 호출을 전달해야 합니다.
수신 애플리케이션은 이제 호출을 담당합니다. 이제 호출의 실제 미디어 유형을 검색합니다. 애플리케이션이 통화의 미디어 유형을 처리할 수 있는 경우 해당 미디어 유형에 대해 등록된 가장 우선 순위가 높은 애플리케이션인지 확인해야 합니다. 그렇다면 호출을 유지하고 정상적으로 처리합니다. 그렇지 않은 경우 해당 미디어 유형에 등록된 다른 애플리케이션에 대한 호출을 전달합니다.
그러나 해당 미디어 형식에 대한 프로브가 실패하면 애플리케이션이 다시 검색하여 나머지 미디어 모드 가능성을 시도합니다. 먼저 현재 미디어 형식 비트를 해제한 다음 다른 형식의 다른 핸드오프를 시도해야 합니다.
이 검색 및 전달 프로세스는 계속되고 나머지 미디어 유형은 하나씩 제거됩니다. 그 과정에서 애플리케이션 중 하나가 처리하는 미디어 유형이 호출 중이고 핸드오프가 성공했음을 알 수 있습니다.
그런 다음 애플리케이션은 올바른 미디어 형식을 설정하고 다른 모든 미디어 형식 비트를 지워야 합니다. 이렇게 하면 다른 관심 있는 애플리케이션에 올바른 미디어 유형이 표시됩니다. 이러한 다른 애플리케이션은 통화의 미디어 유형이 변경되었다는 이벤트 알림 메시지를 받습니다.