Интернет-сайт protosip.ru является собственностью компании ООО «Бамлекс», специализирующейся на внедрениии следующих систем: voip телефонии (консультации в области телефонии через интернет - бесплатной офисной связи, единый план нумерации офисных телефонных номеров для компаний с распределенными офисами), голосовой почты, click to dial - звонки с сайта, обучении Asterisk (SER, OpenSER, SEMS, Red5), консалтинговых услуг построение call center (проект voip системы, обучение персонала, разработка бизнесс процессов под нужды заказчика).

Сайт содержит актуальную информацию по услугам компании, последние новости voip отрасли, интересный телекоммуникационный форум, отличный справочник по протоколу SIP, рекомендации по выбору оконечных устройств (SIP телефоны, voip телефоны и телефонные станции).

Подробнее описание оказываемых услуг Далфи Смарт: запуск и внедрение voip телефонии, внедрение SIP систем, консалтинг (в т.ч. и на телекоммуникационном форуме) компаний планирующих построение распределенной телефонной системы, специалистов разрабатывающих приложения для voip телефонии, а так же непрофессиональных любителей sip телефонии.

На сайте www.protosip.ru представлена исчерпывающая информация о компании: история, последние новости. Есть возможность осуществления он-лайн заявки на выполнение услуг по voip телефонии.

Мы искренне надеемся, что наш сайт окажется полезным и информативным для каждого из наших посетителей.

Rambler's Top100
Banner
Прием запроса INVITE

Ядро UAS формирует ответ класса 2хх, который устанавливает диалог. Ответ класса 2хх на запрос INVITE, как правило, содержит заголовки Allow и Supported и, возможно, заголовок Accept. Содержимое этих заголовков позволяет UAC определить типы запросов и расширения, поддерживаемые UAS на протяжении сеанса, без дополнительных проб. Если запрос INVITE содержит offer, и UAS еще не передал answer, ответ класса 2хх должен включать в себя answer. Если в запросе INVITE нет offer, ответ класса 2хх должен содержать offer в случае, если UAS еще не передал offer. Как только ответ сформирован, он передается серверной INVITE-транзакции. Заметим, что серверная INVITE-транзакция будет разрушена, как только она получит окончательный ответ и передаст его на транспортный уровень SIR Следовательно, необходимо периодически передавать ответы непосредственно на транспортный уровень SIP, пока не придет подтверждение АСК. Ответ класса 2хх передается на транспортный уровень SIP с интервалом, начинающимся сТ1 и удваивающимся после каждой повторной передачи, пока не достигнет Т2 (величины Т1 и Т2.

Повторения передачи ответа прекращаются, как только приходит подтверждение АСК, не зависимо оттого, какие транспортные протоколы используются для доставки ответов. Повторная передача ответа класса 2хх является «сквозной», в тоже время, не исключается возможность наличия в сети звеньев, использующих для передачи ответов протокол UDP. Чтобы гарантировать надежную доставку на этих участках, повторная передача ответа класса 2хх производится даже при использовании UAS надежного транспортного протокола, такого как TCP. Если за время повторной передачи ответа класса 2хх, равное 64 Т1, подтверждение АСК не приходит, диалог устанавливается, но сеанс должен быть разрушен. Это происходит путем передачи сообщения BYE.

 
Отклонение запроса INVITE

Наиболее простой сценарий имеет место, когда вызываемый пользователь не может или не желает принять дополнительный вызов на свой терминал. При этом вызывающему пользователю передается ответ с кодом 486 (Busy Here). Если UAS знает о том, что никакой другой терминал не в состоянии принять этот вызов, передается ответ с кодом 600 (Busy Everywhere). Так как маловероятно, что UAS может располагать такими широкими сведениями, ответе кодом 600 обычно не используется. Ответ передается серверной INVITE-транзакции, которая занимается его повторной передачей.

UAS, отклоняющий информацию offer, которая содержится в запросе INVITE, должен передать ответе кодом 488 (Not Acceptable Here). Такой ответ должен включать в себя заголовок Warning с содержимым, объясняющим причину отказа.

 
Перенаправление запроса INVITE
Если UAS решает перенаправить вызов, он передает ответ класса Зхх. Ответ с кодом 300 (Multiple Choices), 301 (Moved Permanently) или 302 (Moved Temporarily) должен содержать заголовок Contact с одним или несколькими новыми адре¬сами, на которые следует перенаправить вызов. Ответ передается серверной INVITE-транзакции, которая производит его повторную передачу.
 
Текущая стадия обработки

Если UAS не в состоянии ответить на приглашение немедленно, он может предоставить UAC некоторую информацию о текущей стадии обработки запроса (например, оповестить о том, что в данный момент пользователю передается вызывной сигнал). Это выполняется путем передачи предварительных ответов с кодами от 101 по 199. Передача таких предварительных ответов приводит к установлению диалогов, находящихся на «ранней стадии». UAS может передать неограниченное число предварительных ответов. Каждый из них должен иметь одно и тоже значение идентификатора диалога (dialog ID).

Если UAS нуждается в отсрочке передачи ответа на запрос INVITE, он должен запросить «увеличение времени обработки» для того, чтобы предотвратить аннулирование транзакции прокси-серверами. Прокси-сервер может разрушить транзакцию, когда интервал между ответами достигает трех минут. Чтобы не допустить этого, UAS должен передавать предварительные ответы (за исключением ответа с кодом 100) каждую минуту с учетом того, что некоторые из них могут быть утеряны (т.к. по умолчанию предварительные ответы передаются ненадежно). INVITE-транзакция может продолжать свое существование на время действия отсрочки в случаях, когда пользователь поставлен на ожидание или при межсетевом взаимодействии с системами ТфОП, которые поддерживают соединения в предот-ветном состоянии (например, интерактивные системы речевого ответа IVR).

 
Процедуры UAS. Обработка запроса INVITE

Ядро UAS получает запросы INVITE от уровня транзакций. Вначале выполняются общие процедуры обработки для UAS (как для запросов INVITE вне диалога, так и для запросов INVITE в режиме диалога). Допуская, что эти процедуры обработки выполняются без создания ответа, ядро UAC выполняет дополнительные шаги обработки:

продолжить...

 
Процедуры UAC. Обработка ответов на запрос INVITE

Как только UAC передает запрос INVITE клиентской транзакции, он переходит в режим ожидания ответов на запрос. Если клиентская INVITE-транзакция вместо передачи ответа сообщает об истечении времени ожидания окончательного ответа, пользователь транзакции (TU) действует, как в случае получения ответа с кодом 408 (Request Timeout).

продолжить...

 
Процедуры UAC. Создание начального запроса INVITE

Формирование первоначального запроса INVITE происходит вне диалога с использованием соответствующих стандартных процедур. Дополнительная обработка требуется лишь в особых случаях.

Как правило, INVITE содержит заголовок Allow. Он указывает, какие типы запросов могут быть использованы вызывающей стороной в процессе диалога. Скорее всего, в запросе будет также присутствовать заголовок Supported. Он перечисляет все расширения, поддерживаемые клиентом агента пользователя. Возможно присутствие заголовка Accept, который указывает поддерживаемые данным УАтипы тел сообщения из предложенных в принятом ответе или запросе в ходе диалога. Заголовок Accept особенно важен для индикации поддержки различных форматов описания сеансов. UAC можеттакже добавить заголовок Expires, чтобы ограничить время действия приглашения к установлению соединения. Если время, указанное в Expires, истечет до получения окончательного ответа на INVITE, UAC передает сообщение CANCEL. Кроме этого, UAC может посчитать нужным добавить заголовки Subject, Organization и User-Agent; все они содержат информацию, относящуюся к запросу INVITE. UAC может добавить в запрос INVITE тело сообщения. Существуют отдельные правила для тел, содержащих описание сеанса связи, - их заголовок Content-Disposition имеет значение session. Протокол SIP использует модель типа «запрос/ответ» (offer/answer), где один UA посылает предложение - запрос с описанием сеанса. Запрос предлагает желаемые средства общения (аудио, видео), их параметры (такие как типы кодека) и адреса для получения медиа-информации от отвечающей стороны.

продолжить...

 
Инициирование сеансов связи

Когда клиент агента пользователя желает установить сеанс связи (аудио или видео), он формирует запрос INVITE. INVITE - запрос сервера установить сеанс связи. Он пересылается прокси-серверами и, в конечном счете, приходит на один или несколько UAS, которые потенциально могут принять предложение клиента.

Эти UAS, как правило, требуют от пользователя подтверждения приема вызова. По прошествии некоторого времени UAS может принять предложение путем передачи ответа 2хх (ОК); после этого сеанс связи считается установленным. Если предложение не принято, передаются ответы с кодами Зхх, 4хх, 5хх или бхх, в зависимости от причины отказа. Перед передачей окончательного ответа UAS может передавать предварительные ответы (1хх) для того, чтобы уведомлять UAC о состоянии процесса обработки вызова на стороне вызываемого пользователя.

продолжить...

 
Действия сервера

Сообщение CANCEL запрашивает TU на стороне сервера отмену незавершенной транзакции. Чтобы определить транзакцию, которую требуется отменить, TU принимает запрос CANCEL, а затем применяет процедуры сопоставления транзакций, описанные в § 4.4.8. Отменена может быть только единственная транзакция.

Обработка запроса CANCEL сервером зависит от типа сервера. Stateless прокси-сервер его перешлет, stateful прокси-сервер может ответить на него и самостоятельно создать несколько запросов CANCEL, a UAS ответит на него.

продолжить...

 
Действия клиента

Запросы CANCEL передаются для отмены запросов INVITE. Поскольку на прочие запросы ответы приходят незамедлительно, передача CANCEL для He-INVITE-запросов всегда будет приводить к явлению, когда с равной вероятностью первым могут быть доставлен и окончательный ответ - клиенту, и запрос CANCEL - серверу.

Для формирования запроса CANCEL применяются следующие процедуры. Поля Request-URI, Call-ID, To, числовая часть поля CSeq и From в запросе CANCEL должны быть идентичны полям в отменяемом запросе, включая параметры «tag». CANCEL, формируемый клиентом, должен иметь только одно значение заголовка Via, соответствующее верхнему значению Via отменяемого запроса. Использование тех же значений для этих полей позволяет установить соответствие CANCEL отменяемому запросу. Однако поле типа запроса в заголовке CSeq должно иметь значение CANCEL. Это приводит к тому, что сообщение будет идентифицировано и обработано как отдельная транзакция.

продолжить...

 
Процедура отмены запроса

Запрос CANCEL, как следует из его названия, используется для отмены предшествующего запроса, переданного клиентом. Точнее, он требует от UAS прекратить обработку запроса и создать ответ на него с определенным кодом. Запрос CANCEL не оказывает воздействия на запрос, на который UAS уже передал окончательный ответ. Поэтому отмена запросов представляет наибольшую важность для запросов, формирование ответов на которые требует больших затрат серверного времени. По этой причине CANCEL лучше всего подходит для запросов INVITE, которые требуют длительного времени для генерации ответа. В этом случае UAS, который получает CANCEL для INVITE, но еще не передал окончательного ответа, прекращает передавать пользователю сигнал вызова и посылает ответ на INVITE с определенным кодом ошибки (487).

Запросы CANCEL могут быть сформированы и переданы и прокси-серверами, и клиентами агента пользователя. Раздел 4.4 описывает, при каких условиях UAC отменит запрос INVITE, в разделе 5.2 дано описание использования запроса CANCEL прокси-сервером.

 
<< Start < Prev 1 2 3 4 5 Next > Конец >>

Страница 1 of 5