Теперь рассмотрим алгоритм установления соединения с участием прокси-сервера. Администратор сети сообщает пользователям адрес прокси-сервера. Вызывающий пользователь передает запрос INVITE (1) на адрес прокси-сервера и порт 5060, используемый по умолчанию (рис. 4.4).
В запросе он указывает известный ему адрес вызываемого пользователя. Прокси-сервер запрашивает текущий адрес вызываемого абонента у сервера определения местоположения (2), который и сообщает ему требуемый адрес (3). Далее прокси-сервер передает запрос INVITE непосредственно вызываемому абоненту (4). Опять в запросе указываются возможности терминала, но при этом в запрос добавляется поле Via с адресом прокси-сервера для того, чтобы ответы на обратном пути шли через него. После получения запроса и его обработки оборудование вызываемого пользователя сообщает ему о том, что поступил входящий вызов, а встречной стороне передает ответ 180 Ringing (5), копируя в него из запроса поля To, From, Call-ID, CSeq и Via.
После приема вызываемым пользователем входящего вызова удаленной стороне передается сообщение 200 ОК (9), в котором содержится описание в формате протокола SDP возможностей вызываемого терминала. Терминал вызывающего пользователя подтверждает прием ответа запросом АСК (10). На этом фаза установления соединения закончена, и начинается разговорная фаза. По завершении разговорной фазы передается запрос BYE (11), который подтверждается ответом 200 ОК (12). Все сообщения проходят через прокси-сервер, который может модифицировать некоторые поля сообщений.
|
|
Запросы Ответы Рис. 4.4. Сценарий установления соединения через прокси-сервер |