Это очень открытый вопрос, и у вас будет много базовых исследований, прежде чем вы начнете работать с этим.Для начала: CTI означает «Интеграция компьютерной телефонии» и является общим термином для управления или мониторинга систем телефонии, таких как УАТС, с использованием API. CTI Descrption в Википедии .Cisco Unified Call Manager - это то, что Cisco называет сегодня своей АТС.По сути, это устройство, похожее на маршрутизатор, к нему можно подключить телефонные аппараты на основе VoIP через порт Ethernet, и он говорит на SIP или Skinny (собственный протокол сигнализации Cisco), а также на RTP-телефонах.CUCM является основным компонентом системы телефонии бизнеса, если они используют технологии Cisco.
Существует два основных варианта CTI: управление вызовами первой стороны и управление вызовами сторонних производителей.Первая сторона - это то, где ваше приложение работает или связано с одним добавочным номером телефона и может отправлять команды для получения информации о том, что делает этот телефон, и контроля за ним.Например, ваша программа может определить, звонит ли телефон, снять трубку телефона, набрать номер и т. Д. Это часто используется для таких вещей, как интеграция с адресной книгой, где пользователь может использовать программу, чтобы щелкнуть контакт на экране иих телефон набрать этот контакт.Двумя наиболее распространенными протоколами для управления вызовами первой стороны являются TAPI и JTAPI.(JTAPI также поддерживает некоторые функции управления вызовами сторонних производителей, хотя многие системы, предоставляющие API-интерфейс JTAPI, не предоставляют их)
Cisco CUCM обеспечивает как TAPI, так и JTAPI, хотя я часто слышал об их TAPIРеализация описывается как изворотливая и нежелательная, поэтому JTAPI чаще используется.JTAPI предоставляет API для взаимодействия с телефонной системой из Java-программы. Описание JTAPI и ссылки .Более всеобъемлющим API для управления вызовами сторонних производителей является TSAPI, но Cisco CUCM не предоставляет API в стиле TSAPI, если у вас нет дополнительного модуля унифицированного контакт-центра, который является дорогим, и даже в этом случае API довольно груб (в основном, это просто спецификация длядвоичный ввод-вывод через сокет и API, который обеспечивает модель состояния вызова в стиле TSAPI).
Что касается интеграции SIP или VoIP Call с использованием JTAPI, это зависит от того, что вы хотите сделать.Например, можно использовать функцию под названием «Встроенный в мост» в телефонах Cisco последнего поколения, чтобы обеспечить SIP Trunk, оканчивающийся в вашей программе, и отправлять SIP-передачу каждого вызова, поступающего на / с каждого телефонного аппарата илиподмножество контролируемых вами звонков в вашу программу в режиме реального времени.Таким образом, вы получаете 2 канала RTP для каждого разговора - локальный конец и дальний конец.Это полезно для пассивных приложений, таких как мониторинг или запись.
Для более активных приложений вы можете использовать JTAPI и другие API-интерфейсы Cisco для удаленного мониторинга или даже управления физическим IP-телефоном или программным телефоном в системе, или даже зарегистрировать ваше приложение как виртуальный добавочный номер и принимать вызовы, присоединяться к конференциям., принудительная передача вызовов третьим лицам и т. д.
Для получения дополнительной информации см .: http://developer.cisco.com/web/jtapi