Существует ли технология замены для TAPI, которая поддерживает управление вызовами сторонних производителей (3 шт.)?
Я хочу предоставить в приложение следующие функции 3pcc:
Исходящий звонок:
- Пользователь нажимает кнопку в приложении.
- Телефон пользователя снимает трубку, и телефон вызываемого абонента звонит.
- В телефоне вызываемого абонента отображается номер телефона вызываемого абонента, а не номер телефона, используемый для приложения.
- Когда вызываемый абонент берет трубку, соединение установлено.
Входящий звонок:
- Когда звонит телефон пользователя, номер звонящего и вызываемый номер отправляются в приложение.
- Приложение оценивает числа и показывает, например, запись клиента.
Раньше я делал бы это с TAPI, но, похоже, Microsoft больше не разрабатывает TAPI (даже несмотря на то, что TAPI поддерживается во всех текущих версиях Windows, вплоть до Windows 7). Поэтому я ищу технологию, которая в будущем, скорее всего, будет поддерживаться большинством поставщиков систем телефонии.
Мне известно о CSTA, который можно использовать для этого, но это также довольно старая технология, которая не очень широко распространена (например, она имеет в 100 раз меньше посещений Google, чем TAPI).
Мне также известен SIP, который не имеет прямой поддержки функций 3pcc, но есть способы обойти это:
Для исходящих вызовов: используйте конечную точку SIP приложения, чтобы сначала подключиться к двум телефонам, затем подключите их, выполнив своего рода «конференц-связь».
Для входящих звонков: используйте ПОДПИСАТЬСЯ, УВЕДОМЛЕНИЯ и пакет диалоговых событий.
Проблема в том, что процедура исходящих вызовов очень неуклюжая, и вызываемый телефон не отображает правильный номер телефона (т.е. номер вызывающего абонента) при звонке.
Кроме того, SIP не является единым стандартом, а представляет собой совокупность множества различных RFC, и кажется, что производители систем телефонии реализуют только части этих RFC, и обычно нет хорошей документации, какие части реализованы.
Итак, мой вопрос: есть ли другой стандарт интеграции телефонии, который
поддерживает стороннее управление вызовами, и это можно считать широко поддерживаемым стандартом в обозримом будущем?