Назначение прокси-сервера SIP |
|
Прокси-серверы это элементы сети SIP, которые маршрутизируют SIP-запросы к серверам агента пользователя и SIP-ответы - к клиентам агента пользователя. На пути к UAS запрос может проходить несколько прокси-серверов. Каждый из них будет принимать решение о дальнейшей маршрутизации, внося изменения в запрос перед его пересылкой следующему элементу сети. Ответы будут маршрутизироваться через ту же группу прокси-серверов, которая была пройдена запросами, но в обратном порядке. Прокси-сервер - это логический элемент сети SIP. Когда приходит запрос, элемент, выполняющий роль прокси-сервера, первоначально решает, существует ли необходимость отвечать на запрос самостоятельно. Например, запрос может содержать ошибки, или прокси-сервер может нуждаться в аутентификации клиента для выполнения своих функций. Элемент может передать ответ с подходящим кодом ошибки. Отвечая на запрос непосредственно, SIP-элемент выполняет роль UAS и должен действовать в соответствии с общими правилами для UAS вне диалога. Прокси-сервер может функционировать с сохранением состояний (stateful) и без сохранения состояний (stateless) для каждого нового запроса. Сервер без сохранения состояний работает как ретранслирующий узел сети. Он пересылает каждый запрос следующему элементу, принимая решение о маршрутизации на основе информации, содержащейся в запросе. Полученные ответы он просто возвращает обратно. Прокси-серверы без сохранения состояний удаляют информацию о полученном сообщении, как только оно было ретранслировано. Прокси-серверы с сохранением состояний хранят информацию (состояние транзакции) о каждом входящем запросе и о каждом переданном запросе, возникающем вследствие обработки входящего запроса. Прокси-сервер с сохранением состояний может принять решение о размножении запроса, передавая его на несколько разных адресов, где может находиться вызываемый пользователь. Любой запрос, направляемый более чем на один SIP-элемент, должен обрабатываться с сохранением состояний. В некоторых случаях прокси-сервер может пересылать запросы с использованием транспортного протокола с сохранением состояния (например, TCP), не используя возможность сохранения транзакционных состояний. Например, прокси-сервер может передавать запрос через определенное TCP-соединение без сохранения транзакционных состояний до тех пор, пока он способен поместить в сообщение объем информации, достаточный для того, чтобы ответ мог быть передан обратно через то соединение, по которому пришел запрос. Запросы, передающиеся с заменой транспортного протокола, когда TU прокси-сервера играет ведущую роль в обеспечении надежной доставки, должны передаваться с сохранением транзакционных состояний. Stateful прокси-сервер может перейти в stateless режим в любой момент обработки запроса при условии, что он ранее не сделал ничего, что могло бы предотвратить переход в stateless режим (например, размножение запросов или создание ответа с кодом 100). При выполнении такого перехода вся информация о состоянии транзакций удаляется. Большинство процедур обработки запроса в режимах stateless и stateful идентичны. Следующий раздел описывает действия прокси-сервера в режиме stateful. В разделе, описывающем режим stateless, будут указаны отличия от действий в режиме stateful. |

