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