АССОЦИИРОВАНИЕ ТЕЛЕФОННОГО ВЫЗОВА С ДИАЛОГОМ, ОСНОВАННЫМ НА КОМПЬЮТЕРНОМ ПРОТОКОЛЕ, ТАКОМ КАК SIP
ASSOCIATING TELEPHONE CALL WITH DIALOGUE BASED ON COMPUTER PROTOCOL SUCH AS SIP

Уровень техники
В телефонных коммутируемых сетях общего пользования (ТфОП) часто может использоваться сигнализация для установления и завершения сеансов, каналов и т.п. Например, одним из протоколов сигнализации для ТфОП является протокол общеканальной сигнализации SS7 (Common Channel Signaling System 7). В ТфОП существующие протоколы сигнализации могут предоставлять поддержку для базового установления и завершения вызова, биллинга, беспроводных служб и роуминга, портативности локального номера, служб бесплатного вызова, идентификации вызывающего, трехсторонних вызовов, усовершенствованных функций перенаправления вызова и т.п. Однако эти существующие протоколы сигнализации предоставляют ограниченную поддержку. Например, относительно определения идентичности (ID) вызывающего, нет никаких гарантий, что информация ID будет передана из конца в конец. Еще одной проблемой является то, что ID вызывающего не уникальна для пользователя, если вызов исходит с дополнительного номера частной АТС или т.п. Например, если сотрудник компании "Acme" осуществляет вызов, то он может быть идентифицирован как "Acme", а не как сам сотрудник.
В отличие от протоколов сигнализации ТфОП, протокол инициации сеанса (Session Initiation Protocol, SIP) не ограничен осуществлением связи в течение установленных фаз сигнализации. SIP представляет собой протокол управления уровня приложения, который может использоваться компьютерными системами для обнаружения друг друга и для установления, модификации и завершения мультимедиа-сеансов. Например, SIP является одним из ключевых протоколов, которые используются в технологии передачи голоса по IP-протоколу (Voice over IP, VoIP). Реализация технологии VoIP, как правило, включает в себя преобразование голосовой информации в цифровую форму и ее передачу в дискретных пакетах, а не по обычным протоколам PSTN, выполняемым посредством коммутируемых линий. Протокол SIP также связан с реализацией таких функций как передача мгновенных сообщений, а также другие способы связи "в реальном масштабе времени". Например, служба передачи мгновенных сообщений предоставляет возможность участникам передавать сообщения, а также принимать эти сообщения другими участниками в течение секунды или двух. Тогда, принимающие сообщения участники аналогичным образом могут передать ответные сообщение другим участникам.
SIP является проектом стандарта Интернета. Его описание RFC 3261 доступно по адресу <http://www.ietf.org/rfc/rfc3261.txt>. Описание RFC 3265 расширений протокола SIP, относящихся к уведомлениям о событиях, доступно по адресу <http://www.ietf.org/rfc/rfc3265.txt>. Сеть SIP содержит объекты, которые могут участвовать в диалоге как клиент, как сервер или как и то, и другое. SIP поддерживает четыре типа объектов: агент пользователя, прокси-сервер, сервер перенаправления и регистратор. Агенты пользователя инициируют и завершают сеансы путем обмена сообщениями с другими объектами SIP. Агент пользователя может быть клиентом агента пользователя (User Agent Client, UAC), который представляет собой устройство, инициирующее запросы SIP, или сервером агента пользователя (User Agent Server, UAS), который представляет собой устройство, принимающее запросы SIP и отвечающее на эти запросы. Например, "IP-телефоны", персональные цифровые секретари (PDA) и другие типы вычислительных устройств могут быть агентами пользователя. Устройство может быть UAC в одном диалоге, и оно может быть UAS в другом диалоге, или оно может менять роли в течение диалога. Прокси-сервер представляет собой объект, который действует как сервер для клиентов и как клиент для серверов. В процессе выполнения этой функции прокси-сервера перехватывают, интерпретируют, или пересылают сообщения между UAC и UAS. Сервер перенаправления принимает запросы SIP и генерирует ответ, направляя UAC, который передал этот запрос, чтобы соединиться с альтернативным сетевым ресурсом. Регистратор является сервером, который принимает информацию регистрации от агентов пользователей и информирует службу местоположения о принятой информации регистрации.
SIP поддерживает два типа сообщений: запросы, которые передаются от UAC к UAS, и ответы, которые передаются от UAS к UAC, при ответе на запрос. Сообщение SIP состоит из трех частей. Первая часть сообщения SIP представляет собой "строку запроса", которая включает в себя поля, предназначенные для указания метода сообщения (например, "INVITE") и URI (унифицированный идентификатор ресурса) запроса, идентифицирующий пользователя или службу, которой направляется данный запрос. Вторая часть сообщения SIP содержит заголовки, значения которых представляются как пары имя-значение. Третья часть сообщения SIP представляет собой тело сообщения, используемое для описания сеанса, который должен быть инициирован, или оно содержит данные, которые относятся к сеансу. Тела сообщения могут присутствовать как в запросах, так и в ответах.
Сущность изобретения
Предоставлены способ и система для ассоциирования телефонного вызова с компьютерным диалогом, таким как согласно протоколу инициации сеанса (SIP). Диалог может обеспечить возможность предоставления вычислительному устройству информации, относящейся к телефонному вызову. Сторона А хочет вызвать сторону В. Как Сторона А, так и Сторона В имеют вычислительные устройства и телефоны. Используя передачу сообщений между их вычислительными устройствами, Сторона А передает запрос на начало телефонного вызова со Стороной В. При условии, если этот запрос принимается вычислительным устройством Стороны В, устанавливается фаза сигнализации компьютерного диалога (например, диалога транзакции приглашения SIP) и выполняется попытка инициировать телефонный вызов посредством телефонной коммутируемой сети общего пользования (ТфОП). Когда принимается подтверждение того, что телефонный вызов был успешно установлен, учитывая наличие должной конфигурации, вычислительное устройство Стороны А и вычислительное устройство Стороны В начинают фазу вызова компьютерного диалога (например, диалога SIP). Компьютерный диалог (как в фазе сигнализации, так и в фазе вызова) может использоваться, чтобы передавать сообщения об идентичности Стороны А и Стороны В, состоянии телефонного вызова, состоянии устройств, относящихся к телефонному вызову, и т.п.
Несколько компонентов системы могут предоставлять возможность устанавливания диалога. Эти компоненты могут включать в себя приложения связи, выполняемые на вычислительных устройствах Стороны А и Стороны В, оперативный сервер связи, который способствует при передаче сообщений между вычислительными устройствами Стороны А и Стороны В, интерфейсы между телефонной коммутируемой сетью общего пользования и вычислительными устройствами, компоненты телефонной коммутируемой сети общего пользования (которые могут включать в себя частные АТС) и т.п.
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже, в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков сущности формулы изобретения, ни для использования в качестве помощи при определении объема заявленного предмета изобретения.
Краткое описание чертежей
Фиг.1 - структурная схема, которая иллюстрирует компоненты системы для ассоциирования телефонного вызова с диалогом SIP в одном варианте осуществления;
Фиг.2 - сетевой график, иллюстрирующий процесс передачи для установления диалога SIP в связи с телефонным вызовом в одном варианте осуществления;
Фиг.3 - сетевой график, иллюстрирующий процесс передачи для установления диалога SIP в связи с телефонным вызовом, где присутствует состояние состязания;
Фиг.4 - иллюстрация содержимого сообщения "INVITE" протокола SIP, которое передается от клиента вызывающей стороны в одном варианте осуществления.
Фиг.5 - иллюстрация содержимого ответа на сообщение "INVITE" протокола SIP, которое передается от клиента вызываемой стороны в одном варианте осуществления;
Фиг.6 - блок-схема алгоритма, которая иллюстрирует процедуру, устанавливающую диалог SIP в связи с телефонным вызовом, в вычислительном устройстве вызывающего в одном варианте осуществления;
Фиг.7 - блок-схема алгоритма, которая иллюстрирует процедуру, устанавливающую диалог SIP в связи с телефонным вызовом, в вычислительном устройстве вызываемой стороны в одном варианте осуществления.
Подробное описание
Предоставлено средство (например, программное средство и соответствующая система) для ассоциирования телефонного вызова с компьютерным диалогом. В некоторых вариантах осуществления устанавливается диалог SIP типа конец-в-конец в сочетании с телефонным вызовом, выполняемым через "обычную старую телефонную сеть", такую как телефонная коммутируемая сеть общего пользования (ТфОП). Это средство синхронизирует состояния вызова ТфОП с состояниями диалога SIP. Например, вызывающая сторона может быть идентифицирована вызываемой стороне, используя диалог SIP. Это предоставляет возможность вызываемой стороне идентифицировать вызывающую сторону даже тогда, когда вызов не включает в себя информацию об ID вызывающего. В добавление, используя одно или более полей, протокол SIP расширяется, чтобы поддерживать синхронизацию состояний ТфОП с состояниями SIP. Примеры таких расширений включают в себя одно или более информационных полей вызова (например, передаваемых посредством сообщения "INVITE" протокола SIP), одно или более информационных полей ответа вызова (например, передаваемый посредством сообщения 200 "OK" протокола SIP) и одно или более информационных полей соответствия вызова (например, передаваемых посредством сообщения "ACK" протокола SIP).
В некоторых вариантах осуществления, когда пользователь (вызывающий) хочет вызвать кого-либо (вызываемую сторону), которая присутствует в его списке контактов в компьютере, он выбирает этот контакт и указывает, чтобы был выполнен вызов по данному контакту. Тогда, приложение на вычислительном устройстве вызывающего передает запрос (например, "INVITE" протокола SIP) в вычислительное устройство вызываемой стороны, начиная диалог фазы сигнализации. Этот запрос может включать в себя указание того, что информация телефона является аспектом установления диалога с контактом. Тогда, вызываемой стороне будет известно, что нужно ожидать телефонного вызова от вызывающего. Если вычислительное устройство вызываемой стороны отвечает приемом и указывает, что оно поддерживает информацию телефона, то вычислительное устройство вызывающего выполняет вызов через телефонную систему и, далее, ожидает до тех пор, пока оно не получит сообщение, указывающее, что оно начинает звонить на телефон вызываемой стороны. Когда вызываемая сторона слышит звонок телефона, вызываемая сторона может ожидать, что вызов будет от вызывающего, что будет иметь место, если не был принят вызов от другого вызывающего непосредственно до вызова вызывающего, который передал сообщение SIP. Когда вычислительное устройство вызывающего принимает указание о том, что на вызов ответили и что имел место компьютерный обмен данными, тогда вычислительному устройству вызывающего становится известно, что телефонный вызов через ТфОП был успешным, и он передает компьютерное сообщение, указывающее успешное выполнение. Тогда вызываемой стороне становится известно, что этот вызов от ожидаемого вызывающего.
После того как выполняется ответ на вызов, принимается подтверждение получения, устанавливается компьютерный диалог фазы вызова. Соответственно, между вычислительным устройством вызывающего и вычислительным устройством вызываемого может передаваться информация. Эта информация может включать в себя указание о том, что вызов был переведен в режим ожидания, отклонен, перенаправлен и т.п.
Фиг.1 представляет собой структурную схему, которая иллюстрирует компоненты средства в одном варианте осуществления изобретения. В некоторых вариантах осуществления средство включает в себя оперативный сервер 100 связи, соединенный с одним или более клиентами 150 и 175 через Интернет 135. Оперативный сервер 100 связи содержит сервер 105 присутствия, который может быть регистратором SIP, который сохраняет информацию о состоянии каждого пользователя службы обмена мгновенными сообщениями. Сервер 105 присутствия может содержать компонент 115 подписок и хранилище 120 документов присутствия. Компонент 115 подписок сохраняет для каждого пользователя текущий перечень пользователей, которые подписаны на информацию присутствия этого пользователя. Информация о состоянии для каждого пользователя может быть представлена в форме документа, который называется документом присутствия. Хранилище 120 документов присутствия для каждого пользователя содержит документ присутствия, который указывает текущее состояние пользователя на оперативном сервере 100 связи.
Сервер 110 пользовательских данных содержит данные долговременного хранения для каждого пользователя, и он содержит хранилище 125 перечня контактов. Хранилище 125 перечня контактов содержит перечень контактов каждого пользователя. В некоторых вариантах осуществления оперативный сервер 100 связи предоставляет перечень контактов пользователя зарегистрированным конечным точкам этого пользователя. Пример таких конечных точек включает в себя клиента А 150 и клиента В 175, оба из которых могут быть ассоциативно связаны с пользователями-людьми. В некоторых вариантах осуществления клиенты 150 и 175 включают в себя приложение 155 связи. Приложение 155 связи может содержать компонент 160 подписки, компонент 165 регистрации и компонент 170 интерфейса пользователя. Компонент 160 подписки выполняет подписку на информацию присутствия по контактам пользователя. Компонент регистрации 165 регистрирует конечные точки пользователя на оперативном сервере 100 связи и публикует обновления информации присутствия пользователя. Компонент 170 интерфейса пользователя может предоставлять окна, виды и другие графические элементы, которые представляются пользователю во время взаимодействия с приложением 155 связи.
Упомянутое средство может быть связано с сетью 130 ТфОП, через которую могут осуществлять связь телефоны (180 и 190), связанные с каждым клиентом. Телефоны 180 и 190 могут также быть связаны с обычными частными АТС 185 и 195. При необходимости сервер 196 удаленного управления вызовом может предоставлять интерфейс между частной АТС (или другим компонентом ТфОП) и вычислительными устройствами клиента. Таким образом, вычислительные устройства клиента уведомляются о действиях, происходящих в частной АТС, где выполняется вызов. Например, сервер удаленного управления вызовом может выполнять роль шлюза, чтобы преобразовывать стандартный протокол, используемый приложением связи, в конкретный протокол интеграции компьютерной телефонии (CTI), который поддерживается частной АТС. Несмотря на то, что они не показаны, один или более компонентов шлюза могут облегчить связь через ТфОП 130. Например, для содействия выполнения вызовов между вычислительным устройством и телефоном может быть предоставлен шлюз SIP-ТфОП.
Вычислительные устройства, на которых реализовано средство, могут включать в себя центральное процессорное устройство, память, устройства ввода (например, клавиатуру и указательные устройства), устройства вывода (например, устройства отображения) и устройства хранения (например, приводы дисков). Память и устройства хранения представляют собой машиночитаемые средства, которые могут содержать инструкции, которые реализуют систему. К тому же, структуры данных и структуры сообщения могут сохраняться или передаваться посредством среды передачи данных, такой как сигнал на линии связи. Могут использоваться различные линии связи, такие как Интернет, локальная сеть, глобальная сеть, коммутируемое соединение точка-точка, сотовая телефонная сеть и т.п.
Варианты осуществления средства могут быть реализованы в различных рабочих средах, которые включают в себя персональные компьютеры, серверы, карманные устройства или лаптопы, многопроцессорные системы, системы, основанные на микропроцессорах, программируемую потребительскую электронику, цифровые камеры, сетевые персональные компьютеры, миникомпьютеры, мэйнфреймы, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств и т.п. Компьютерными системами могут быть сотовые телефоны, персональные цифровые секретари, смартфоны, персональные компьютеры, программируемая потребительская электроника, цифровые камеры и т.п.
Настоящая система может быть описана в общем контексте выполняемых компьютером инструкций, таких как программные модули, которые выполняются одним или более компьютерами или другими устройствами. В общем, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных. Как правило, функциональность программных модулей может быть комбинирована или распределена согласно требованиям в различных вариантах осуществления.
Фиг.2 представляет собой сетевой график, иллюстрирующий передачу информации (например, сообщения, содержащие методы, и ответы) в процессе 200 установления диалога SIP между двумя клиентами (такими как клиент А 150 и клиент В 175 с Фиг.1), где клиент А вызывает клиента В через ТфОП. Процесс передачи информации с Фиг.2 происходит без состояния состязания (как, например, при наличии третьей стороны, пытающейся выполнить вызов). В проиллюстрированном варианте осуществления сигнализация ТфОП происходит (представлено пунктирными стрелками) посредством абстракции CSTA ECMA-269 управления вызовом (используемой компьютерными приложениями для мониторинга и управления коммутируемыми системами, такими как частные АТС). В некоторых вариантах осуществления подобная сигнализация реализуется в соответствующих частных АТС и, возможно, в сочетании с сервером удаленного управления вызовом. Несмотря на то, что на Фиг.2 сообщения SIP показаны как передающиеся от клиента к клиенту (то есть, сообщения, показанные сплошными линиями), вместо этого они могут передаваться через общий сервер, такой как оперативный сервер 100 связи с Фиг.1. Течение времени соответствует направлению вниз на фиг.2, то есть сообщения в верхней части схемы передаются раньше, чем сообщения в нижней части схемы.
Процесс начинается, когда клиент А передает сообщение "INVITE" 205 протокола SIP со стандартным заголовком приглашения SIP и заголовком информации вызова. Поля в этом сообщении 205 могут включать в себя унифицированный идентификатор ресурса (URI) телефона вызывающего, URI телефона вызываемого, опциональный идентификатор вызывающего (такой как корпоративный номер), тип вызова (например, обычный, консультационный, конференция и т.п.) и так далее. При условии, что между клиентом А и клиентом В существует потенциальная возможность связи SIP, в ответ клиент В передает ответ 210 "183" протокола SIP, включающий в себя заголовок "поддерживаемый телефон". Это представляет начало фазы сигнализации диалога SIP. Тогда клиент В может ожидать приема вызова от клиента А. Если для клиента А невозможно осуществлять связь с клиентом В посредством протокола SIP (например, недоступен адрес, отсутствует связь и т.п.), то клиент А вместо получения ответа "183 (в процессе)" протокола SIP получит ответный код 4xx (указывающий ошибку).
Следующие пять передач (215, 220, 225, 230 и 235) обозначают сигнализацию, происходящую относительно ТфОП. Если используется сервер удаленного управления вызовом, то эти передачи могут проходить между сервером удаленного управления вызовом и соответствующим клиентом. Альтернативно, они могут проходить непосредственно между частной АТС и соответствующим клиентом. В проиллюстрированном варианте осуществления первой из этих передач является сигнал 215 сервисного запроса "Выполнить Вызов". Этот сигнал может быть связан с назначением идентификатора соединения вызывающему устройству. Клиент А, тогда, принимает ответный сигнал 220 "Выполнить Вызов", за которым следует сигнал 225 "Создан". Сигнал 230 "Доставлен", принятый клиентом В (принятый от частной АТС или УУВ клиента В), соответствует звонку на телефоне клиента В. Клиент А также получает сигнал 235 "Доставлен", указывающий на событие звонка телефона.
После того как клиент А и клиент В оба получили сигнал "Доставлен", клиент В передает ответ 240 "180 (звонок)" протокола SIP. Этот ответ может включать в себя заголовок поддерживаемого телефона. Аналогично, в некоторых вариантах осуществления до того, как клиент В передает клиенту А ответ "180 (звонок)" протокола SIP, клиент А может передать клиенту В ответ "180 (звонок)" протокола SIP, содержащий идентифицирующую информацию, так что клиент В может определить, кто вызывает.
Когда пользователь, связанный с клиентом В, действительно отвечает на звонок, клиент В передает ответ 245 "200 OK" протокола SIP. В добавление к заголовку поддерживаемого телефона поля в этом ответе 245 могут включать в себя унифицированный идентификатор ресурса (URI) телефона вызывающего, URI вызываемого телефона и поле состояния.
Путем ответа на звонок пользователь, ассоциативно связанный с клиентом В, инициирует дополнительную сигнализацию ТфОП. Например, клиент В и клиент А оба могут получить сигнал "Установлен" (250 и 255, соответственно) от своих соответствующих частных АТС/УУВ. В результате этой сигнализации клиент А передает сообщение 260 "ACK" протокола SIP. Сообщение 260 "ACK" протокола SIP указывает конец транзакции "INVITE" и конец диалога фазы сигнализации. В добавление к информации заголовка это сообщение "ACK" может включать в себя информацию, относящую к флагу соответствия. Это позволяет клиенту В ассоциировать этот вызов с URI и окном разговора, тем самым устанавливая фазу вызова диалога SIP.
Фиг.3 представляет собой сетевой график, иллюстрирующий обмен информацией (например, сообщения, содержащие методы, и ответы) в процессе 300 установления диалога SIP между двумя клиентами (такими как клиент А 150 и клиент В 175 с Фиг.1), где клиент А вызывает клиента В через ТфОП. Процесс обмена информацией с Фиг.3 происходит при наличии состояния состязания. В частности, третий вызывающий С пытается выполнить вызов на телефон, ассоциативно связанный с клиентом В, и в то же время клиент А пытается вызвать клиента В. Как и в случае с Фиг.2, в проиллюстрированном варианте осуществления с Фиг.3, сигнализация ТфОП происходит посредством абстракции ECMA-269 управления вызова. В некоторых вариантах осуществления подобная сигнализация реализуется в соответствующих частных АТС и, возможно, в сочетании с сервером удаленного управления вызова. Несмотря на то, что на Фиг.3 сообщения SIP показаны как передающиеся от клиента к клиенту (то есть, сообщения, показанные сплошными линиями), вместо этого они могут передаваться через общий сервер, такой как оперативный сервер 100 связи с Фиг.1.
Процесс начинается, когда клиент А передает сообщение 305 "INVITE" протокола SIP со стандартным заголовком приглашения SIP и заголовком информации вызова, таким образом инициируя диалог сигнализации SIP. В ответ клиент В передает ответ 310 "183 (в процессе)" протокола SIP, включающий в себя заголовок "поддерживаемый телефон". В следующих трех передачах (315, 320 и 325) клиент А выполняет обмен сигналами с частной АТС/УУВ, пытаясь установить вызов через ТфОП. Однако, до того, как это имело место, вызывающий С выполнил вызов на телефон клиента В. Соответственно, несмотря на то, что сигнал 215 сервисного запроса "Выполнить Вызов", ответный сигнал 320 "Выполнить Вызов" и сигнал 325 "Создан" проходят нормально, клиент А получает сигнал 335 "Неуспешно", вскоре после того, как вызов клиента С на телефон клиента В доставляется (сигнал 330). В этот момент клиент В ожидает, что звонковый вызов происходит от клиента А. Затем клиент В может ответить на телефонный вызов с небольшим риском того, что это окажется не клиент А. В ответ клиент А передает клиенту В сообщение 340 "CANCEL" протокола SIP. Тогда клиенту В становится известно, что вызов не от клиента А. Этим завершается процесс установления диалога SIP фазы вызова. Тем временем пользователь, ассоциативно связанный с Клиентом В, отвечает на телефонный вызов от вызывающего С и принимает сигнал 345 "Установлен" от частной АТС/УУВ относительно вызова клиента С.
Фиг.4 иллюстрирует содержимое сообщения 440 "INVITE", передаваемого от первого клиента SIP (вызывающей стороны) второму клиенту SIP (вызываемой стороне) через оперативный сервер связи в одном варианте осуществления. Сообщение 400 "INVITE" включает в себя заголовок 405 IP, заголовок 410 TCP и сообщение 412 SIP. Для лежащей в основе транспортной среды могут использоваться протоколы, отличные от протокола TCP/IP. Сообщение 412 SIP включает в себя линию 415 запроса с методом "SUBSCRIBE", заголовок 420 "From" (От), заголовок 425 "To" (Кому), заголовок 430 "Caller Tel URI" (URI телефона вызывающей стороны), заголовок 435 "Called Tel URI" (URI телефона вызываемой стороны), заголовок 440 "Supplemental Caller ID" (дополнительный заголовок идентификатора Вызывающей стороны), заголовок 445 "Call Type" (Типа Вызова), заголовок 450 "Supported" (Поддерживаемый) и заголовок 455 "Content-Length" (Длина Содержимого). Заголовок 420 From идентифицирует вычислительное устройство (вызывающего) передающего клиента. Заголовок 425 To описывает, на какую конечную точку подписывается этот пакет (вызываемую сторону). Заголовок 430 "Caller Tel URI" описывает телефон вызывающего, а заголовок 435 "Called Tel URI" описывает телефон вызываемой стороны. Заголовок 440 "Supplemental Caller ID" предоставляет альтернативный Идентификатор Вызывающей стороны (например, Идентификатор компании, с которой связан вызывающий), и он является необязательным. Заголовок 445 "Call Type" описывает тип вызова, который может быть, например, обычным вызовом, вызовом конференции, консультационным вызовом и т.п. Заголовок 450 "Supported" описывает особое поведение, которое поддерживается отправителем. Заголовок 455 "Content-Length" имеет значение 0, которое указывает, что за заголовком сообщения SIP не следует каких-либо данных. Однако в альтернативном варианте осуществления некоторые данные, которые содержатся в заголовках (например, в заголовках "Caller Telephone URI", "Supplemental Caller ID", etc.), вместо этого могут быть предоставлены в данных сообщения.
Фиг.5 иллюстрирует содержимое ответа 500 "INVITE", передаваемого клиенту SIP вызываемой стороной (через оперативный сервер связи), в одном варианте осуществления. Сообщение 500 "INVITE" включает в себя заголовок 505 IP, заголовок 510 TCP и сообщение 515 SIP. Для лежащей в основе транспортной среды могут использоваться протоколы, отличные от протокола TCP/IP. Сообщение 515 SIP включает в себя идентификатор 520 ответа SIP, заголовок 525 "To" (Кому), заголовок 530 "From" (От), заголовок 531 "Caller Tel URI" (URI телефона вызывающего), заголовок 532 "Called Tel URI" (URI телефона вызываемого), заголовок 533 "Status" (Состояние), заголовок 535 "CSeq", заголовок 540 "Supported" (Поддерживаемый) и заголовок 545 "Content-Length" (Длина Содержимого). Идентификатор 520 ответа SIP идентифицирует версию протокола (в данном случае SIP 2.0), состояние запроса (например, 202 "Accepted" (Принят)), указывающий, что подписка прошла успешно. Заголовок 525 "To" описывает конечную точку, на которую подписался отправитель запроса. Заголовок 530 "From" описывает исходного отправителя запроса. Заголовок 531 "Caller Tel URI" описывает телефон вызывающего, а заголовок 532 "Called Tel URI" описывает телефон вызываемой стороны. Заголовок 533 "Status" описывает состояние вызывающей системы вызываемой стороны. Заголовок 535 "CSeq" содержится в каждом сообщении от оперативного сервера связи как в запросах, так и в ответах, и он используется как порядковый номер для определения относительного порядка сообщений от сервера. Для каждого диалога SIP создается отдельный порядковый номер, и порядковый номер, как правило, описывает тип запроса, который создал диалог. Например, заголовок 535 "CSeq" имеет значение "1 INVITE", указывающее, что это первое сообщение от сервера в диалоге, созданном запросом "INVITE" между конечными точками, описываемыми заголовками "To" и "From". Сообщения с меньшим порядковым номером были переданы от сервера раньше, чем сообщения с большим порядковым номером. Заголовок 540 "Supported" описывает особое поведение, которое поддерживается отправителем. Заголовок 545 "Content-Length" имеет значение 0, которое указывает, что за заголовком сообщения SIP следует 0 байтов данных. Однако в альтернативном варианте осуществления некоторые данные, которые содержатся в заголовках (например, в заголовках "Caller Telephone URI", "Called Telephone URI", "Match Flag" и т.д.), вместо этого могут быть предоставлены в данных сообщения.
Фиг.6 представляет собой блок-схему алгоритма, которая иллюстрирует процедуру 600 в клиентском вычислительном устройстве вызывающей стороны для установления диалога SIP в ассоциации с телефонным вызовом. Процедура 600 запускается, когда вызывающая сторона пытается выполнить телефонный вызов, используя приложение связи на своем клиентском вычислительном устройстве. В блоке 605 процедура 600 создает и передает сообщение "INVITE" протокола SIP, которое, например, передается в оперативный сервер связи, чтобы установить соединение с клиентским вычислительным устройством вызываемой стороны. В этом сценарии предполагается, что клиентское вычислительное устройство вызываемой стороны сконфигурировано для связи по протоколу SIP. Если нет, то аспекты телефонного вызова все же продолжаются, но без установления диалога SIP.
В блоке 610 после установления диалога фазы сигнализации SIP процедура получает от сервера ответ "Session Progress (183)" (Прогресс Сеанса) протокола SIP. В блоке 615 клиентское вычислительное устройство вызывающей стороны передает и принимает один или более сигналов ТфОП, которые могут включать в себя сигнал "Выполнить вызов", ответный сигнал "Выполнить вызов", ответный сигнал "Создан", ответный сигнал "Доставлен" и т.п. Как описано выше, эти сигналы могут передаваться между клиентом и частной АТС напрямую или через интерфейс удаленного управления вызовом (УУВ). В блоке 620 принятия решений, если сигналы в блоке 615 включают в себя ответный сигнал "Неуспешно", то это указывает, что процесс вызова ТфОП не удался, и процедура переходит к блоку 625, чтобы передать сообщение "CANCEL" (Отменить) протокола SIP, которое завершает какие-либо дальнейшие попытки установления диалога SIP (или, альтернативно, продолжает диалог SIP, так что факт того, что была предпринята попытка вызова, регистрируется в клиентском вычислительном устройстве вызываемой стороны).
Если, однако, в блоке 620 принятия решений определяется, что сигналы в блоке 615 не включают в себя ответный сигнал "Неуспешно", то процедура 600 переходит к блоку 630, где она получает ответ "Ringing (180)" (Звонок) протокола SIP. После ответа на вызов вызываемой стороной в блоке 635 процедура 600 получает ответ "OK (200)" SIP, который указывает на успешное завершение. Несмотря на то, что это в отдельности не проиллюстрировано, если от вызываемой стороны не принимается никакого ответа, то процедура 600 в конечном счете простаивает в ожидании ответа "ОК" (вместо перехода к блоку 635), что приводит к завершению процедуры 600.
В блоке 640, процедура 600 принимает от частной АТС/ интерфейса УУВ сигнал "Установлено" ТфОП. В ответ процедура 600 передает сообщение "ACK" протокола SIP, указывающее, что диалог SIP был установлен (блок 645). Тогда диалог SIP может продолжаться в течение и, возможно, после вызова. Он может использоваться для передачи сообщений (например, сообщений об идентификаторе вызывающего, сообщений об отклонении вызова, сообщений об ожидании вызова и т.п.), не основываясь на сигнализации ТфОП.
Фиг.7 представляет собой блок-схему алгоритма, которая иллюстрирует процедуру 700 в клиентском вычислительном устройстве вызываемой стороны для установления диалога SIP в ассоциации с телефонным вызовом. Процедура 700 запускается, когда вызывающая сторона пытается выполнить телефонный вызов, используя приложение связи на своем клиентском вычислительном устройстве. В блоке 705 процедура 700 принимает сообщение "INVITE" протокола SIP, которое, например, передается из оперативного сервера связи после того, как клиент вызывающей стороны выполнил попытку установить соединение с клиентским вычислительным устройством вызываемой стороны. В этом сценарии предполагается, что клиентское вычислительное устройство вызываемой стороны сконфигурировано для связи по протоколу SIP. Если нет, то аспекты телефонного вызова все же продолжаются, но без установления диалога SIP.
В блоке 710 процедура 700 создает и передает ответ "Session Progress (183)" (прогресс сеанса) протокола SIP от сервера, который обозначает начало диалога фазы сигнализации SIP. В блоке 715 рутинная процедура 700 получает сигнал "Доставлено" ТфОП, который указывает, что вызов был выполнен для вызываемой стороны в ТфОП. Этот сигнал может передаваться между процедурой 700 и частной АТС напрямую или через интерфейс удаленного управления вызовом (УУВ). Если в блоке 720 принятия решений процедура получает сигнал "CANCEL" (Отменить) протокола SIP, то это указывает на то, что клиент вызывающей стороны обнаружил ошибку при установлении вызова через ТфОП, и больше никаких передач SIP не будет (что приводит к завершению процедуры 700). Если, однако, в блоке 720 принятия решений не получается каких либо сообщений об отмене, то передачи SIP продолжаются в блоке 725, где процедура 700 создает и передает ответ "Ringing (180)" (Звонок) протокола SIP.
После того как вызываемая сторона ответила на вызов, в блоке 730 процедура 700 генерирует и передает ответ "OK (200)" протокола SIP, который указывает на то, что имела место успешная транзакция SIP. Несмотря на то, что это в отдельности не проиллюстрировано, если вызываемая сторона не отвечает, то процедура 700 в конечном счете простаивает в ожидании ответа "ОК" (вместо перехода к блоку 730), что приводит к завершению процедуры 700.
В блоке 735 процедура 700 принимает от частной АТС/ интерфейса УУВ сигнал "Установлено" ТфОП. Предполагая, что клиент вызывающей стороны также получает аналогичный сигнал, процедура 700 получает сообщение "ACK" протокола SIP, указывающее, что диалог фазы вызова SIP был установлен (блок 740). Тогда установленный диалог SIP может продолжаться в течение и, возможно, после вызова. Он может использоваться для передачи сообщений (например, сообщений об идентификаторе вызывающего, сообщений об отклонении вызова, сообщений об ожидании вызова и т.п.), не основываясь на сигнализации ТфОП.
Несмотря на то, что сущность настоящего изобретения была описана в привязке к структурным особенностям и/или методологическим действиям, следует понимать, что сущность, определенная в прилагаемой формуле изобретения, не ограничена конкретными особенностями или действиями, описанными выше. Скорее, описанные выше конкретные структурные особенности и действия раскрыты как примеры форм осуществления пунктов формулы изобретения. Соответственно, настоящее изобретение ограничивается только прилагаемой формулой изобретения.