SIP - Прокси и маршрутизация

Как мы знаем, прокси-сервер может быть как без состояния, так и с отслеживанием состояния. В этой главе мы подробнее обсудим прокси-серверы и маршрутизацию SIP.

Прокси-сервер без сохранения состояния

Прокси-сервер без сохранения состояния просто пересылает полученное сообщение. Этот тип сервера не хранит никакой информации о вызове или транзакции.

  • Прокси-серверы без сохранения состояния забывают о запросе SIP после его перенаправления.
  • Транзакция будет быстрой через прокси без сохранения состояния.

Прокси-сервер с отслеживанием состояния

Прокси-сервер с отслеживанием состояния отслеживает каждый полученный запрос и ответ. При необходимости он может использовать сохраненную информацию в будущем. Он может повторно передать запрос, если не получит ответа от другой стороны.

  • Прокси-серверы с отслеживанием состояния запоминают запрос после того, как он был перенаправлен, поэтому они могут использовать его для предварительной маршрутизации. Прокси-серверы с отслеживанием состояния поддерживают состояние транзакции . Транзакция подразумевает состояние транзакции,notсостояние вызова .

  • Транзакция с прокси-серверами с отслеживанием состояния выполняется не так быстро, как без отслеживания состояния.

  • Прокси-серверы с отслеживанием состояния могут при необходимости выполнять ответвление и повторную передачу (например: переадресация вызова занята).

Через и Рекорд-маршрут

Запись-Маршрут

Заголовок Record-Route вставляется в запросы прокси-серверами, которые хотели быть на пути последующих запросов для того же идентификатора вызова. Затем он используется пользовательским агентом для маршрутизации последующих запросов.

Через

Заголовки Via вставляются серверами в запросы для обнаружения петель и помогают ответам найти путь обратно к клиенту. Это полезно только для ответов, которые достигают места назначения.

  • UA сам генерирует и добавляет свой собственный адрес в поле заголовка Via при отправке запроса.

  • Прокси-сервер, пересылающий запрос, добавляет поле заголовка Via, содержащее его собственный адрес, в начало списка полей заголовка Via.

  • Прокси-сервер или UA, генерирующий ответ на запрос, копирует все поля заголовка Via из запроса по порядку в ответ, а затем отправляет ответ на адрес, указанный в верхнем поле заголовка Via.

  • Прокси-сервер, получающий ответ, проверяет верхнее поле заголовка Via и сопоставляет его собственный адрес. Если он не совпадает, ответ был отклонен.

  • Затем верхнее поле заголовка Via удаляется, а ответ пересылается на адрес, указанный в следующем поле заголовка Via.

Поля заголовка Via содержат имя протокола, номер версии и транспорт (SIP / 2.0 / UDP, SIP / 2.0 / TCP и т. Д.) И содержат номера портов и параметры, такие как полученный, rport, ветвь.

  • Полученный тег добавляется в поле заголовка Via, если UA или прокси-сервер получает запрос с адреса, отличного от адреса, указанного в верхнем поле заголовка Via.

  • UA и прокси-серверы добавляют параметр ветвления в поля заголовка Via, который вычисляется как хэш-функция Request-URI, а также номера To, From, Call-ID и CSeq.