Заголовок Path |
|
Между UA и сервером регистрации, исходя из особенностей топологии сети, может находиться один или несколько прокси-серверов. Запрос REGISTER должен проходить через эти прокси-серверы. Однако REGISTER не обеспечивает механизма обнаружения и записи последовательности этих посредников для дальнейшего использования. Такой механизм предоставляет заголовок Path. Заголовок используется в запросах REGISTER и ответах класса 2хх на них. Поле заголовка Path может быть добавлено в запрос REGISTER любым SIP-элементом, через который проходит запрос. Значения заголовка Path размещаются в строгой последовательности: по мере продвижения запроса каждое новое значение добавляется прокси-серверами сверху, смещая вниз все присутствующие значения. Кроме того, так же, как в заголовке Route, поля заголовка могут быть объединены. Сервер регистрации отображает в заголовке ответа на REGISTER все значения в обратном порядке, и указанные посредники доставляют ответ обратно агенту пользователя. В итоге UA получает информацию об узлах, лежащих на пути прохождения сообщений регистрации, и может в дальнейшем использовать ее для своих задач.
Path отличается от Record-Route тем, что он применяется в запросах REGISTER и ответах класса 2хх на них, которые передаются вне диалога, в то время как заголовок Record-Route используется только в режиме диалога. Более того, информация из Record-Route используется только в рамках существующего диалога, а информация из Path - для использования в будущих диалогах. При этом значения заголовка Path придерживаются синтаксиса, определенного для заголовка Route. Поскольку заголовок Path является расширением SIP, подержка этого заголовка агентом пользователя может быть указана с помощью option-tag «path» в заголовке Supported. Пример: |

