TCAP (англ. Transaction Capabilities Application Part) — Прикладная Часть Средств Транзакций, часть Общеканальной Системы Сигнализации № 7. Средства транзакций относятся к услугам и протоколам уровня приложений модели OSI. Работа TCAP определена в рекомендациях ITU-T Q.771-Q.775.
Основная цель TCAP заключается в том, чтобы облегчить реализацию множественного параллельного диалога между одинаковыми подсистемами на одних и тех же машинах, используя для их различения идентификаторы транзакций, аналогично работают TCP-порты, мультиплексируя параллельные соединения между одинаковыми IP-адресами в Internet.
TCAP используется для передачи INAP в Интеллектуальных сетях и MAP в мобильных сетях.
Средства транзакций могут использоваться для поддержки обмена информацией между:
Пользователями средств транзакций могут быть разные приложения, в частности:
Все приложения такого рода можно разделить на две категории:
Взаимодействие между пользователями услугами TCAP может быть представлено в виде обмена командами и ответами, который составляет диалог пользователя услугами TCAP, находящегося в одном пункте сети ОКС-7 и являющегося инициатором взаимодействия, с пользователем услугами TCAP, находящимся в другом пункте этой сети и являющимся партнёром инициатора. Инициатор передаёт запрос выполнения партнёром определённой операции, а отклик партнёра содержит сведения о результате выполнения операции.
Запрос и отклик называются компонентом. Каждый компонент имеет свой идентификатор (ID обращения). Благодаря этому, одновременно могут быть активными несколько обращений.
Последовательность компонентов, которыми обмениваются между собой два пользователя услугами TCAP при выполнении одного приложения, образует диалог. Компоненты содержат параметр, идентифицирующий диалог (ID диалога). Диалоги могут быть двух видов:
Любой примитив имеет общее имя, которое отражает содержание элемента взаимодействия и начинается латинскими буквами, обозначающими имя услуг, и специфическое имя, которое обозначает тип элемента взаимодействия (запрос, индикация и др.). Кроме того, примитив содержит обязательные и необязательные параметры, которые несут информацию, связанную со смыслом и назначением примитива.
Примитивы бывают двух родов: 1. Связанные с содержанием компонентов — компонентные примитивы.
Общее имя | Тип | Параметры |
---|---|---|
TC-INVOKE (обращение к операции) |
Запрос, Индикация |
ID диалога, Класс, ID обращения, ID связанного обращения, Операция, Параметры, Последний компонент, Выдержка времени |
TC-RESUL-L (результат успешной операции — последняя или единственная часть) |
Запрос, Индикация |
ID диалога, ID обращения, Параметры, Последний компонент |
TC-RESUL-NL (результат успешной операции — не последняя часть) |
Запрос, Индикация |
ID диалога, ID обращения, Параметры, Последний компонент |
TC-U-ERROR (отклик на обращение к операции, указывающий на неуспех) |
Запрос, Индикация |
ID диалога, ID обращения, Ошибка, Параметры, Последний компонент |
TC-L-CANCEL (уведомление «своего» пользователя об отмене операции по тайм-ауту) |
Индикация | ID диалога, ID обращения |
TC-U-CANCEL (отмена операции по решению «своего» пользователя) |
Запрос | ID диалога, ID обращения |
TC-L-REJECT (отказ «своему» пользователю из-за неверного компонента) |
Индикация | ID диалога, ID обращения, Код причины, Последний компонент |
TC-R-REJECT (отказ пользователю со стороны партнера) |
Индикация | ID диалога, ID обращения, Код причины, Последний компонент |
TC-U-REJECT (отказ от компонента со стороны пользователя) |
Запрос, Индикация |
ID диалога, ID обращения, Код причины, Последний компонент |
2. Связанные с сопровождением диалога — диалоговые примитивы.
Общее имя | Тип | Параметры |
---|---|---|
TC-UNI (запрос/индикация неструктурированного диалога) |
Запрос, Индикация |
Качество обслуживания, Адрес получателя, Адрес отправителя, ID диалога, Наличие компонентов |
TC-BEGIN (начало диалога) |
Запрос, Индикация |
Качество обслуживания, Адрес получателя, Адрес отправителя, ID диалога, Наличие компонентов |
TC-CONTINUE (продолжение диалога) |
Запрос, Индикация |
ID диалога, Наличие компонентов |
TC-END (окончание диалога) |
Запрос, Индикация |
ID диалога, Наличие компонентов, Версия окончания |
TC-U-ABORT (внезапное прекращение диалога пользователем) |
Запрос, Индикация |
ID диалога, Информация пользователя |
TC-P-ABORT (внезапное прекращение диалога пользователем) |
Запрос, Индикация |
ID диалога, Информация пользователя |
Информация, содержащаяся в примитивах, оформляется в виде сообщений TCAP, подлежащих передаче к системе-партнёру. Существуют сообщения пяти типов:
Unidirectional (однонаправленное) | передаёт содержание примитивов TR-UNI. |
Begin (начало) | передаёт содержание примитивов TR-BEGIN. |
Continue (продолжение) | передаёт содержание примитивов TR-CONTINUE. |
End (окончание) | передаёт содержание примитивов TR-END. |
Abort (непредвиденное окончание) | передаёт содержание примитивов TR-P-ABORT и TR-U-ABORT. |
Для переноса сообщений через сеть ОКС, TCAP обращается к услугам подсистемы SCCP.