SIP альтернатива TAPI?

Мы используем технологию TAPI в наших клиентах на основе Java для подключения к аппаратной АТС для использования операций CTI (начало вызова, обработка приема вызовов и т. д.). Для подключения к TAPI мы используем проект gjtapi. Мы запускаем вызов из нашего графического интерфейса клиента, и мы можем отслеживать события, и мы видим события на телефонном устройстве, подключенном к клиенту.

Как вариант попробовал протокол SIP, мы тоже можем начинать звонки, но при подключении по протоколу SIP телефонное устройство обходит, мы ничего не видим на устройстве. Например, при использовании TAPI и нам поступает звонок, мы видим входящий вызов на телефоне, а также на нашем гуи, они работают синхронно. Но когда я подключаюсь с помощью SIP и получаю вызов, на телефонном устройстве ничего не происходит. Это неправильная настройка/реализация или это поведение SIP, он предоставляет какой-то программный телефон?


person benchpresser    schedule 24.04.2017    source источник
comment
Использование SIP всегда будет обходить ваше устройство, поскольку оно попытается подключиться к другой стороне, используя стек IP на вашей сетевой карте. Для работы с вашим оборудованием у вас должны быть какие-то специальные привязки (gjtapi для Windows TAPI или что-то проприетарное). SIP может управлять сеансами вызовов и облегчать согласование SDP для каналов IP / RTP, но не знает об аппаратных устройствах (модемах, картах CTI), поэтому он будет их обходить.   -  person Daniel Voina    schedule 24.04.2017


Ответы (2)


TAPI — это сторонняя технология: это означает, что ваше приложение не выполняет «работу», оно отправляет команды на АТС для выполнения «работы» от вашего имени.

В SIP вы должны делать все сами: вы можете настроить вызов куда-то, но вы очень ограничены в том, чтобы указывать другим вещам, что делать.

Вы можете получить аналогичную функциональность, как TAPI, от SIP, но это гораздо сложнее. Вы должны представить себя как «человека посередине». Например, вы хотите позвонить с устройства на улицу:

  • Сначала позвоните (из вашего приложения) на устройство
  • Второй вызов (из вашего приложения) внешней стороне
  • Третий соедините оба конца

Однако, если после этого вы хотите получить управление, подобное TAPI, вам нужно держать свое приложение «в курсе». SIP может контролировать только то, в чем вы непосредственно участвуете. Это означает, что вам необходимо:

  • Звонки на тромбоне (аудио проходит через ваше приложение)
  • Используйте обход мультимедиа (аудио идет между двумя сторонами), но вы сохраняете сигнализацию

Это также может быть опасно, так как это означает, что ваше приложение находится «между» всеми вызовами: это означает, что в случае сбоя все вызовы будут потеряны!

Я советую вам не недооценивать объем работы, который требуется, чтобы что-то подобное работало должным образом. Существуют и другие альтернативы, такие как CSTA, и многие АТС поддерживают собственные проприетарные интерфейсы для такого управления. Но, на мой взгляд, TAPI, вероятно, является лучшим выбором для стороннего управления вызовами (особенно если вы хотите поддерживать более одного поставщика АТС).

person Kris Vanherck    schedule 25.04.2017

Вы можете комбинировать SIP и TAPI и не менять код. Например, вы можете использовать TSP (поставщика услуг телефонии) для своей АТС, как сейчас, и, скорее всего, справиться со всем, что вам нужно. Однако вы также можете подключиться к АТС по протоколу SIP. Существует техническая разница в том, как контролируются вызовы, но конечный результат в основном одинаков. Вы также можете обойти УАТС и использовать любую магистраль SIP или магистраль SIP, открытую УАТС. Чтобы использовать SIP, вы можете использовать что-то вроде нашего программного обеспечения SIP Communication Server, которое является мостом между TAPI и SIP. Это вариант, который позволяет вам использовать весь ваш существующий код TAPI для работы с SIP. Отказ от ответственности: я работаю в компании ExceleTel, которая производит и продает компоненты и решения TAPI/SIP.

person Fred    schedule 30.06.2017