Передача запроса |
|
При передаче запроса первоначально определяется место назначения. Если местная политика безопасности не определена по-иному, адрес места назначения должен быть определен с применением DNS-процедур. Если первым в маршруте стоит strict router (прокси-сервер, удаляющий содержимое Request-URI при наличии в сообщении заголовка Route), то вышеуказанные DNS-процедуры должны быть применены к полю Request-URI, содержащемуся в стартовой строке запроса. В противном случае эти процедуры применяются к первому значению заголовка Route или к Request-URI, если заголовок Route отсутствует. Процедуры устанавливают упорядоченную последовательность, состоящую из адреса, порта и типа транспортного протокола для запроса. Независимо оттого, какой URI используется в качестве входящего для процедур «Locating SIP Servers», если Request-URI указывает на SIPS-pecypc, UAC должен выполнять эти процедуры, как если бы входящим URI был SIPS URI. Местная политика может предусматривать для использования в запросах набор альтернативных мест назначения. Если Request-URI содержит SIPS URI, то соединение с любым альтернативным местом назначения должно проходить с использованием протокола TLS. Более того, ограничений для альтернативных мест назначения не существует, если запрос не содержит заголовка Route. Это представляет собой упрощенную альтернативу предустановленному маршруту, как способу указать исходящий прокси-сервер. Однако такой подход к конфигурации исходящего прокси-сервера не рекомендуется; вместо этого лучше использовать предустановленный маршрут с единственным URI. Если запрос содержит поле заголовка Route, то он будет передан на сервер, определенный в верхнем значении Route, но может быть направлен и на другой сервер, придерживающийся той же политики в отношении Route и Request-URI, что и UA. В частности, UA, сконфигурированный исходящим прокси-сервером, должен пытаться передать запрос по адресу, указанному в первом значении поля заголовка Route, вместо передачи всех сообщений исходящему прокси-серверу. Этим гарантируется, что исходящие прокси-серверы, которые не добавляют поле заголовка Record-Route, выпадут из маршрута следующих запросов. Оконечные точки, которые не могут определить первое значение для поля заголовка Route, делегируют выполнение этой задачи исходящему прокси-серверу. UAC должен следовать процедурам определенным для stateful SIP-элементов, передавая запросы по каждому адресу, пока не будет установлено соединение с сервером. Каждая попытка составляет новую транзакцию, и поэтому каждый новый запрос содержит заголовок Via с новым параметром «branch» в первом значении. |

