Описание слайда:
Транзакции
Команды, передаваемые между Softswitch и MG, группируются в структуры, которые устроены так, что за набором команд, относящихся к одному контексту, может следовать набор команд, относящихся к другому контексту. Сгруппированные команды передаются вместе в едином блоке TransactionRequest. Это можно представить так:
TransactionRequest (TransactionID {
ContextID1 {Command, Command, ... Command},
ContextID2 {Command, Command, ... Command},
ContextID3 {Command, Command, ... Command} } )
После приема TransactionRequest получатель выполняет вложенные команды. Команды выполняются последовательно, в том порядке, в каком они указаны в TransactionRequest. После выполнения всех команд передается ответ TransactionReply. Он имеет содержит несколько ответов для нескольких контекстов: TransactionReplv можно представить так:
TransactionReplv (TransactionID{
ContextlD1 { Response, Response, ... Response },
ContextID2 { Response, Response, ... Response },
ContextID3 { Response, Response, ... Response } } )
Если получателю TransactionRequest потребуется некоторое время для выполнения запроса, он может передать отправителю этого запроса предварительный ответ, чтобы тот не считал запрос потерянным. Этот предварительный ответ TransactionPending извещает,
что TransactionRequest принят и в данный момент обрабатывается. Такой ответ содержит принятый TransactionID без каких-либо параметров:
TransactionPending (TransactionID {.})