ICE (от Internet Communications Engine) - является объектно-ориентированной системой промежуточного слоя (middleware), использующей механизм удаленного вызова процедур.
Smartswitch использует ICE для предоставления API к своему функционалу.
Этот API позволяет вызывать функции Smartswitch из внешних программ путем удаленного вызова процедур.
При этом внешние программы просто вызывают функции в нативном исполнении, как если бы они вызывали функции из стандартных библиотек.
Всю остальную работу берет на себя библиотека ICE.
Пошаговая инструкция по разработке с использованием ICE API находится в разделе Использование ICE API.
В каждой установке Smartswitch соответствующей редакции ICE API содержится на Вашем сервере Smartswitch по ссылке https://имя.вашего.сервера/ice/.
Например, https://demo.streamco.org/ice/.
При обновлении версии ПО эта директория автоматически обновляется актуальными файлами, соответствующими установленной версии.
Мануал по функциям актуальной версии API содержится по ссылке https://имя.вашего.сервера/ice/html/ и генерируется автоматически при сборке новой версии ПО.
Таким образом, мануал постоянно синхронизирован с выкладываемой версией ПО, например https://demo.streamco.org/ice/html/.
В файлах .ice находящимся в корневой директории находится описание интерфейсов на языке Slice.
Вы можете сгенерировать из них заголовочные файлы и объектные модули для линковки для вашего языка программирования самостоятельно, имея установленную библиотеку ICE у себя на хосте.
Либо же можете воспользоваться уже сгенерированными интерфейсами на Вашем сервере Smartswitch, которые находятся в директориях, соответствующих названию языка программирования.
Например, https://имя.вашего.сервера/ice/cpp/, https://имя.вашего.сервера/ice/php/ итп.
Сгенерированные интерфейсы генерируется автоматически при сборке ПО, потому они постоянно синхронизированы с установленной версией Smartswitch.
Также есть примеры, они находятся в директории https://имя.вашего.сервера/ice/examples/ (например, https://demo.streamco.org/ice/examples/).
См. также: