2017-04-24 25 views
2

TAPI 기술은 Java 기반 클라이언트에서 PBX 하드웨어에 연결하여 CTI 작업 사용 (전화 시작, 통화 수신 처리 등)에 연결합니다. TAPI에 연결하려면 gjtapi 프로젝트를 사용하십시오. 우리는 클라이언트 gui에서 전화를 시작하고 우리는 이벤트를 모니터 할 수 있으며 클라이언트에 연결된 전화 장치에서 이벤트를 볼 수 있습니다.TAPI 대신 SIP를 사용 하시겠습니까?

SIP 프로토콜을 시도했지만 전화를 걸 수도 있지만 SIP 프로토콜을 사용하여 전화를 연결하면 전화 장치가 무시되어 장치에 아무 것도 표시되지 않습니다. 예를 들어, TAPI를 사용할 때 전화가 걸려 오면 전화기에서 전화가 걸려오고 우리 GUI에서도 전화가 연결됩니다. 그러나 SIP를 사용하여 연결하고 전화를받을 때 전화 장치에는 아무런 변화가 없습니다. 그게 잘못된 설정/구현인가, 아니면 SIP의 동작인가, 그것은 어떤 종류의 소프트 폰을 제공합니까?

+1

SIP를 사용하면 네트워크 카드에서 IP 스택을 사용하여 상대방과 연결을 시도하므로 항상 장치를 우회합니다. 하드웨어를 사용하려면 Windows TAPI 용 gjtapi 또는 독점적 인 일부 바인딩이 있어야합니다. SIP는 통화 세션을 관리하고 IP/RTP 채널에 대한 SDP 협상을 용이하게 할 수 있지만 하드웨어 장치 (모뎀, CTI 카드)를 인식하지 못하기 때문에이를 우회합니다 –

답변

3

TAPI는 타사 기술입니다. 즉, 응용 프로그램이 "작업"을 수행하지 않는다는 것을 의미합니다. 사용자를 대신하여 "작업"을 수행하라는 명령을 PBX에 보냅니다.

SIP에서는 모든 것을 직접해야합니다. 어딘가에 전화를 걸 수 있지만 다른 일을하는 데는 매우 제한적입니다.

SIP에서 TAPI와 비슷한 기능을 얻을 수 있지만 훨씬 더 복잡합니다. 당신은 당신의 자아를 "man-in-the-middle"으로 두어야합니다. 외부 자

  • 세 번째로 (앱의) 전화를 걸

    • 먼저 (당신의 응용 프로그램에서) 전화를 걸 장치
    • 둘째로 : 예를 들어, 당신은 장치에서 외부로 전화를 원하는 양쪽 끝을 연결하십시오

    그러나 그 후에 TAPI와 같은 제어를 원할 경우 응용 프로그램을 "루프에 유지"해야합니다. SIP는 직접에 참여하는 것을 제어 할 수 있습니다 이것은 당신이 중 하나를해야 할 의미합니다.

    • 트롬본은 전화 (오디오 앱 통과)
    • 를 사용하여 미디어 바이 패스 (오디오가 두 당사자간에 간다)하지만 당신이 계속 신호음

    이는 앱이 모든 통화의 "중간에 있음"을 의미하므로 위험 할 수도 있습니다. 즉, 충돌이 발생하면 모든 통화가 끊어집니다.

    이와 같은 작업을 올바르게 수행하는 데 필요한 작업량을 과소 평가하지 말 것을 권합니다. CSTA와 같은 다른 대안도 있고 이러한 종류의 제어를위한 자체 소유 인터페이스를 지원하는 많은 PBX가 있습니다. 하지만 제 생각에는 TAPI가 제 3 자 호출 제어를위한 더 나은 선택 일 수 있습니다 (특히 PBX 공급 업체 1 대 이상을 지원하려는 경우)

  • 1

    SIP와 TAPI를 결합 할 수 있으며 코드를 변경할 필요가 없습니다. 예를 들어 현재와 같이 PBX 용 TSP (Telephony Service Provider)를 사용할 수 있으며 필요한 모든 것을 처리 할 가능성이 높습니다. 그러나 SIP를 통해 PBX에 연결할 수도 있습니다. 호출이 제어되는 방식에는 기술적 인 차이가 있지만 최종 결과는 기본적으로 동일합니다. 또한 PBX를 무시하고 PBX에서 노출 된 SIP 트렁크 나 SIP 트렁크를 사용할 수도 있습니다. SIP를 사용하려면 TAPI와 SIP 사이의 다리 인 SIP 통신 서버 소프트웨어와 같은 것을 사용할 수 있습니다. 기존의 모든 TAPI 코드를 SIP와 함께 사용할 수있는 옵션입니다.면책 조항 : 저는 TAPI/SIP 구성 요소 및 솔루션을 제작하고 판매하는 ExceleTel에서 일합니다.