Учебники

SIP — Прокси и Маршрутизация

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

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

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

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

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

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

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

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

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

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

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

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

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

Record-Route

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

С помощью

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

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

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

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

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

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

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

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

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

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

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

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

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

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