управляемое клиентом динамическое перенаправление вызова
Классы МПК: | H04L12/66 межсетевые соединительные устройства, использующие различные типы систем коммутации, например межсетевой интерфейс H04W80/10 приспособленные для управления сессией, например, SIP (Протокол Запуска Сессии) H04L29/06 отличающиеся процедурой регистрации и коммутации сообщений |
Автор(ы): | РАМАНАТХАН Раджеш (US), РАГХАВ Амританш (US), ШТИГМАН Эран (US), БОБДЕ Никхил (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2007-08-15 публикация патента:
20.11.2013 |
Изобретение относится к системам связи, в частности к телекоммуникационным системам клиент-сервер, основанным на IP (например, VoIP - голос по Интернет-протоколу). Техническим результатом является обеспечение способности создания правил маршрутизации вызова на клиенте на основании использования сообщений протокола сеанса (например, SIP-протокол инициации сеанса) посредством существующего протокола сеанса. Предложен механизм сигнализации стороны клиента, который позволяет клиенту управлять тем, как вызов телефона обрабатывается на сервере вызова. Пользователь клиента может создать правила маршрутизации вызова на устройстве клиента, используя компонент управления клиента, который управляет сообщениями протокола сеанса. После создания правило(а) маршрутизации вызова, созданные на клиенте, передают серверу вызова, где компонент маршрутизации вызова сервера вызова обрабатывает правила для вызова, относящегося к клиенту. Когда сервер принимает правило(а) и определяет, что правило(а) относится к существующему вызову (входящий или находящийся в процессе исполнения в настоящее время), сервер останавливает текущую обработку нормальных правил сервера для того вызова и выполняет правило(а), созданное клиентом. Сообщения сеанса SIP используют для управления клиентом перенаправлением вызовов стороны сервера. 3 н. и 17 з.п. ф-лы, 18 ил.
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-2.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-3.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-4.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-5.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-6.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-7.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-8.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-9.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-10.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-11.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-12.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-13.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-14.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-15.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-16.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-17.jpg)
![управляемое клиентом динамическое перенаправление вызова, патент № 2499359](/images/patents/496/2499359/2499359-18.jpg)
Формула изобретения
1. Клиентское портативное устройство связи, содержащее: компонент правил клиента, выполненный с возможностью обеспечивать клиентскому портативному устройству связи возможность создавать одно или более правил маршрутизации вызовов для маршрутизации вызовов клиентского портативного устройства связи; компонент хранения, выполненный с возможностью сохранения этих одного или более правил маршрутизации вызовов в клиентском портативном устройстве связи; компонент управления, выполненный с возможностью извлекать правило маршрутизации вызова из компонента хранения для вызова клиентского портативного устройства связи и отправлять это правило маршрутизации вызова из клиентского портативного устройства связи в сервер вызовов для предписания серверу вызовов прервать текущую обработку упомянутого вызова, которая выполняется на основе правил нормальной обработки вызовов, и обрабатывать маршрутизацию вызова клиентского портативного устройства связи на основе упомянутого правила маршрутизации вызова.
2. Клиентское портативное устройство связи по п.1, в котором компонент управления дополнительно выполнен с возможностью отправлять одно или более сообщений протокола сеанса в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи, для управления маршрутизацией вызова клиентского портативного устройства связи.
3. Клиентское портативное устройство связи по п.2, в котором протоколом сеанса является протокол инициирования сеанса (SIP).
4. Клиентское портативное устройство связи по п.3, в котором предварительное сообщение ответа SIP включает в себя правило перенаправления вызова для маршрутизации вызова клиентского портативного устройства связи при выполнении этого правила перенаправления вызова, причем правило перенаправления вызова посылается из клиентского портативного устройства связи в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи.
5. Клиентское портативное устройство связи по п.3, в котором сообщение переадресации ответа SIP включает в себя правило перенаправления вызова для маршрутизации вызова клиентского портативного устройства связи при выполнении этого правила перенаправления вызова, причем правило перенаправления вызова посылается из клиентского портативного устройства связи в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи.
6. Клиентское портативное устройство связи по п.3, в котором компонент управления дополнительно выполнен с возможностью обеспечивать маршрутизацию вызова клиентского портативного устройства связи, используя по меньшей мере один из ответов 1хх и 3хх SIP.
7. Клиентское портативное устройство связи по п.1, в котором компонент управления дополнительно выполнен с возможностью отправлять в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи, правило маршрутизации вызова, которое переопределяет текущее правило маршрутизации вызова, применяемое к вызову клиентского портативного устройства связи сервером вызовов, обрабатывающим маршрутизацию вызова клиентского портативного устройства связи.
8. Клиентское портативное устройство связи по п.1, в котором компонент управления дополнительно выполнен с возможностью предоставлять сообщения протокола сеанса для доступа со стороны пользователя, при этом пользователь создает клиентский скрипт для маршрутизации вызова клиентского портативного устройства при его исполнении, причем клиентский скрипт посылается из клиентского портативного устройства связи в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи.
9. Клиентское портативное устройство связи по п.1, в котором компонент управления дополнительно выполнен с возможностью обеспечивать управление маршрутизацией вызова клиентского портативного устройства со стороны сервера вызовов, обрабатывающего маршрутизацию вызова клиентского портативного устройства связи, при одновременной обработке передачи сигналов и сообщений на стороне клиента.
10. Способ управления маршрутизацией телефонных вызовов на клиентском портативном устройстве связи, содержащий этапы, на которых: разрабатывают на клиентском портативном устройстве связи правило перенаправления вызова, приспособленное для обработки и маршрутизации вызовов клиентского портативного устройства связи; сохраняют правило перенаправления вызова в клиентском портативном устройстве связи; принимают в клиентском портативном устройстве связи сигнал, указывающий, что вызов клиентского портативного устройства связи был принят для обработки сервером вызовов, обрабатывающим маршрутизацию вызова клиентского портативного устройства связи; отправляют правило перенаправления вызова из клиентского портативного устройства связи в сервер вызовов для предписания серверу вызовов прервать текущую обработку упомянутого вызова, которая выполняется на основе правил нормальной обработки вызовов, и обрабатывать маршрутизацию вызова клиентского портативного устройства связи на основе упомянутого правила перенаправления вызова.
11. Способ по п.10, дополнительно содержащий этап, на котором динамически сигнализируют из клиентского портативного устройства связи серверу вызовов, обрабатывающему маршрутизацию вызова клиентского портативного устройства связи, перенаправить вызов клиентского портативного устройства связи, когда вызов клиентского портативного устройства связи принят.
12. Способ по п.10, в котором правило перенаправления вызова содержит правило присутствия, приспособленное для маршрутизации вызовов клиентского портативного устройства связи на основе обнаруженного присутствия одного или более других онлайновых клиентов.
13. Способ по п.10, в котором правило перенаправления вызова содержит правило местоположения, приспособленное для маршрутизации вызовов клиентского портативного устройства связи на основе обнаруженного изменения в географическом положении клиентского портативного устройства связи.
14. Способ по п.10, в котором правило перенаправления вызова содержит сообщение SIP, приспособленное для маршрутизации вызовов клиентского портативного устройства связи на упомянутом сервере при выполнении сообщения SIP.
15. Способ по п.10, в котором правило перенаправления вызова содержит правило типа вызова, приспособленное для маршрутизации вызовов клиентского портативного устройства связи на основе обнаруженного типа вызова.
16. Способ по п.10, в котором правило перенаправления вызова приспособлено для связывания множества разных сторон с вызовом клиентского портативного устройства связи.
17. Способ по п.10, в котором правило перенаправления вызова приспособлено для динамического окончания вызова клиентского портативного устройства связи на другом устройстве, тогда как клиентское портативное устройство связи в текущий момент обрабатывает другой вызов.
18. Способ по п.10, дополнительно содержащий этап, на котором отправляют правило перенаправления вызова в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи в ответ на прием вызова клиентского портативного устройства связи, который является основывающимся на PSTN вызовом, при этом правило перенаправления вызова дополнительно приспособлено для маршрутизации вызова клиентского портативного устройства связи на мобильное устройство.
19. Способ по п.10, дополнительно содержащий этапы, на которых: создают скрипт в клиентском портативном устройстве связи, включающий в себя одно или более из предварительных сообщений ответа SIP и сообщений переадресации ответа SIP, причем скрипт приспособлен для маршрутизации вызова клиентского портативного устройства связи; и передают скрипт в сервер вызовов, обрабатывающий маршрутизацию вызова клиентского портативного устройства связи, для исполнения в ответ на прием вызова клиентского портативного устройства связи.
20. Система управления вызовами для клиентского устройства беспроводной связи, содержащая: средство для создания на клиентском портативном устройстве связи правила маршрутизации вызова для маршрутизации вызовов клиентского устройства беспроводной связи; средство для сохранения правила маршрутизации вызова в клиентском устройстве беспроводной связи; средство для приема в клиентском устройстве беспроводной связи сигнала, указывающего, что вызов клиентского устройства беспроводной связи был принят для обработки сервером вызовов, обрабатывающим маршрутизацию вызова клиентского устройства беспроводной связи; средство для отправки правила маршрутизации вызова из клиентского устройства беспроводной связи в сервер вызовов для предписания серверу вызовов прервать текущую обработку упомянутого вызова, которая выполняется на основе правил нормальной обработки вызовов, и обрабатывать маршрутизацию вызова клиентского портативного устройства связи на основе упомянутого правила маршрутизации вызова.
Описание изобретения к патенту
УРОВЕНЬ ТЕХНИКИ
Пришествие глобальных сетей связи, таких как Интернет, послужило катализатором для сближения вычислительных мощностей и услуг в портативных вычислительных устройствах. С данными продвижениями в хранении и вычислительной мощности таких портативных беспроводных устройств они сейчас могут обрабатывать многие типы из несравнимых типов данных, таких как изображения, голос, видеоклипы, аудиоданные и текстовые данные, например. Эти данные типично используют раздельно для конкретных целей. Сетевые операторы и поставщики услуг (как сотовые, так и не сотовые) долго понимали, что мобильная связь - следующая граница, которая может обеспечить гигантскую доходность. Таким образом, потребитель сотовой связи может сейчас приобретать сотовый телефон, который позволяет осуществлять доступ к мультимедиа, которые доступны в Интернете. В другом примере, пользователь сотового телефона может также посылать сообщение IP узлу (другому пользователю) в Интернет и читать электронную почту от поставщика услуги электронной почты пользователя, основанного на Интернет. Подобным образом, возможности телефонии для вычислительных устройств также предоставляют прибыльные возможности.
В телекоммуникационном контексте клиент-сервер, основанном на IP (например, VoIP - голос по Интернет-протоколу), правила обработки/перенаправления вызова телефона традиционно были реализованы на стороне сервера. Это требует, чтобы сервер обладал предварительными знаниями о правилах, которые были установлены клиентом. Перенаправление стороны сервера работало в прошлом, потому что правила, которые клиент мог бы применить, были простые и легкие для реализации.
В будущем, однако, были бы многие случаи, где сервер мог бы быть неспособным понимать или применять правила обработки вызова без дополнительной помощи от клиента. Это может быть особенно значительным там, где развертывания и массовые рассылки клиента происходят гораздо чаще, чем развертывания сервера, которые более вероятно будут случаться.
Более того, можно легко вообразить, что пользователи будут иметь возможность приобретать новое готовое клиентское программное обеспечение и использовать его с существующей инфраструктурой сервера, так как приложения клиента являются более быстрыми для разработки и развертывания и развиваются быстрее, чем приложения сервера. Таким образом, существующие механизмы сигнализации в, например, SIP (протокол инициации сеанса) неадекватны или неопределенны, чтобы помочь решить проблему. Другая проблема с существующими протоколами сигнализации - то, что невозможно для клиента указать серверу, что вызов должен обрабатываться посредником.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Последующее представляет упрощенное краткое изложение, для того чтобы предоставлять базовое понимание некоторых аспектов раскрытого изобретения. Эта Сущность изобретения не является исчерпывающим обзором, и она не имеет намерением идентифицировать его ключевые/критические элементы или установить границы объема. Ее единственной целью является представить в упрощенном виде некоторые концепции в качестве вступления к более подробному описанию, которое представлено позже.
Раскрытая архитектура представляет механизм сигнализации стороны клиента, который позволяет телефонной трубке клиента или вычислительному устройству управлять тем, как вызов телефона обрабатывается сервером вызова. Пользователю клиента предоставляют способность создания правил маршрутизации вызова на клиенте на основании использования сообщений протокола сеанса (например, SIP-протокол инициации сеанса) посредством существующего протокола сеанса. Однажды создав, пользователь может добиваться, чтобы правило(а) маршрутизации вызова были переданы серверу вызова, где сервер вызова обрабатывает правило(а). Когда сервер принимает правило(а) и определяет, что правило(а) относится к существующему вызову (входящий или находящийся в процессе исполнения в настоящее время), сервер останавливает текущую обработку правил для того вызова и выполняет правило(а) стороны клиента. Сервер может быть сконфигурирован, чтобы обрабатывать правила стороны клиента, сохраненные на сервере для нормальной обработки вызовов клиента. Однако после того, как сервер принимает правило(а) созданные клиентом, он обходится без обработки правил стороны сервера для того вызова и обрабатывает принятые правила клиента.
Раскрытое изобретение может быть применимо к существующим инфраструктурам вызова без обязательного изменения систем правил маршрутизации сервера. Дополнительно, изобретение может быть применимо без добавления дополнительной клиентоподобной функциональности к серверу динамически, когда клиент начинает сеанс. Соответственно, пользователи могут приобретать более новых клиентов, имеющихся в наличии, и использовать новые интеллектуальные свойства управления вызовом, сделанные возможными на более новом клиенте, в то время как используется существующая инфраструктура сервера.
В одном примерном варианте осуществления, протокол сеанса - SIP и правила маршрутизации вызова, разработанные клиентом, используют ответы SIP. Предварительные сообщения ответа SIP (1xx) и/или переадресация ответов (3xx) в протоколе SIP могут быть использованы, чтобы предоставлять управление стороны клиента маршрутизацией вызова стороны сервера. В более автоматизированной реализации, пользователь клиента может написать скрипт на клиенте, который, будучи преданным серверу вызова, содержит в себе правила перенаправления вызова, которые сервер будет применять к тому конкретному вызову. После того, как сервер посредник принимает такой запрос, например, он останавливает разветвление текущего вызова и применяет правила, которые заданы в ответе 1xx.
В поддержку этого, архитектура, раскрытая и приведенная в формуле изобретения в настоящем изобретении, содержит систему, реализованную на компьютере, которая содействует управлению вызовами. Система включает в себя компонент маршрутизации вызова сервера вызова для маршрутизации вызова клиента в пункт назначения и компонент управления клиента для управления маршрутизацией вызова на сервере. Пользователь клиента создает правила стороны клиента, использующие компонент управления, и передает правила компоненту маршрутизации вызова стороны сервера для выполнения, для вызова, относящегося к клиенту. Вызов затем маршрутизируют в соответствии с правилами стороны клиента.
Описываются методологии, относящиеся к способностям, позволяющим клиенту отправлять альтернативные правила вызова, в то время как гарантируется, что текущий клиент продолжает посылать сигнал вызова (или оповещается), переадресовывать вызывающего на основании альтернативного набора правил вызова, способности сервера вызова применять правила перенаправления вызова, сгенерированного клиентом, и прерывать любые другие перенаправления вызова, которые уже исполняются, и способности клиента, порождающего вызовы, применять правила перенаправления вызова, когда сервер не может.
Для достижения вышеизложенных и родственных целей некоторые иллюстративные аспекты раскрытого изобретения описаны в материалах настоящей заявки в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты, однако, являются указывающими только на несколько различных способов, в которых могут быть использованы принципы, раскрытые в материалах настоящей заявки, и имеют намерением включать в себя все такие аспекты и их эквиваленты. Другие преимущества и новейшие признаки станут очевидными из последующего подробного описания при рассмотрении в сочетании с чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует систему, реализованную на компьютере, которая способствует управлению вызовами в соответствии с раскрытым изобретением.
Фиг.2 иллюстрирует методологию управления вызовами от клиента.
Фиг.3 иллюстрирует более подробно систему, которая способствует управлению вызовами в ответ на сообщения, основанные на клиенте.
Фиг.4 иллюстрирует методологию перенаправления вызовов, в соответствии с управлением стороны клиента.
Фиг.5 иллюстрирует методологию поддержки процессов стороны клиента в течение управляемого клиентом перенаправления вызова сервером вызова.
Фиг.6 иллюстрирует методологию обработки стороны сервера, основанной на правилах клиента.
Фиг.7 иллюстрирует систему SIP перенаправления вызова, основанную на клиенте.
Фиг.8 иллюстрирует методологию управления стороны клиента, использующую сервер посредник SIP.
Фиг.9 иллюстрирует методологию управления стороны клиента, использующую сервер переадресации SIP.
Фиг.10 иллюстрирует примерную блок-схему вызова для управления клиентом посредством посылки вызыва других контактов, которые в настоящий момент на связи.
Фиг.11 иллюстрирует примерную блок-схему вызова, использующую 3xx переадресацию, чтобы изменить маршрут вызова.
Фиг.12 иллюстрирует примерную блок-схему вызова для переадресации вызова в пункт назначения телефонной коммутируемой сети общего пользования (PSTN).
Фиг.13 иллюстрирует методологию динамического управления вызовами для различных учетных записей, используя управление стороны клиента сервером вызова.
Фиг.14 иллюстрирует методологию управления информацией присутствия на клиенте, используя управление стороны клиента сервером вызова.
Фиг.15 иллюстрирует методологию управления входящими вызовами на занятого (или на связи) клиента, используя управление стороны клиента сервером вызова.
Фиг.16 иллюстрирует методологию управления динамическими вызовами, на основании изменений местоположения клиента, используя управление стороны клиента обработкой сервера вызова.
Фиг.17 иллюстрирует схематическую блок-схему портативного беспроводного устройства, которое содействует созданию правил стороны клиента и управлению сервером вызова.
Фиг.18 иллюстрирует блок-схему настольного или портативного компьютера, действующего, чтобы выполнять управление перенаправлением вызова стороны клиента сервером вызова в соответствии с раскрытой архитектурой.
ПОДРОБНОЕ ОПИСАНИЕ
Изобретение далее описано со ссылкой на чертежи, на всем протяжении которых одинаковые ссылочные номера использованы, чтобы указывать ссылкой на идентичные элементы. В последующем описании, в целях пояснения, изложены многочисленные характерные детали для того, чтобы предоставить его исчерпывающее понимание. Может быть очевидным, однако, что изобретение может быть осуществлено на практике без этих характерных деталей. В других случаях хорошо известные конструкции и устройства показаны в виде структурной схемы, для того чтобы облегчить его описание.
Раскрытая архитектура вносит механизм сигнализации в, например, SIP (протокол инициации сеанса) и/или другие протоколы сеанса, которые позволяют клиенту управлять тем, как вызов перенаправляют на сервер вызова без обязательного изменения существующих правил маршрутизации вызова сервера и добавления дополнительной клиентоподобной функциональности серверу динамически, когда клиент начинает сеанс. Как результат, пользователи могут приобретать готовых более новых клиентов и использовать новые интеллектуальные свойства обработки вызовов, которые могут быть сделаны доступными на клиентах, используя существующую инфраструктуру сервера, которую развернул их администратор. Заметим, что хотя описание подробно останавливается на использовании SIP как протокола сеанса для связи между клиентом и сервером вызовов, должно быть понятно, что раскрытое изобретение применяется также к другим протоколам сеанса (например, H.323).
SIP-протокол, разработанный рабочей группой IETF (целевая группа инженерной поддержки Интернет) MMUSIC (управление групповым мультимедийным сеансом) и предлагаемый стандарт для инициации, модификации и завершения диалогового сеанса пользователя, который использует мультимедийные элементы, такие как вызовы телефона, проведение конференций с помощью средств мультимедиа, мгновенный обмен сообщениями и другой обмен информацией в реальном времени в Интернете (например, онлайн-игры и виртуальная реальность). Это один из ведущих протоколов сигнализации для VoIP (передача голоса по IP), в соответствии с H.323.
Мотивационная цель для SIP была в том, чтобы предоставить сигнализацию и протокол для обмена информацией, основанный на IP, который может поддерживать супермножество функций обработки вызова и свойства, присутствующие в телефонной коммутируемой сети общего пользования (PSTN). Фокус SIP - установка вызова и сигнализация, какие свойства разрешают хорошо известные операции, подобные телефонным (например, набор номера, звонок телефона, тональные сигналы обратного вызова или сигнал «занято»).
SIP - равноправный протокол, который требует только очень простую базовую сеть с интеллектом, встроенным в конечные точки (оконечные устройства, построенные или в аппаратных средствах или программном обеспечении). В типичной реализации, сеансы SIP - простой пакетный поток транспортного протокола реального времени (RTP) - носителя для самих фактического голоса или видеоконтента.
Конечные точки аппаратного обеспечения, которые предоставляют внешность, ощущение и форму традиционного телефона, используют SIP и RTP для связи и дополнительно могут использовать электронную нумерацию (ENUM) для трансляции существующих телефонных номеров в SIP-адреса (основанные на формате URL (унифицированный указатель ресурса)). Соответственно, вызовы другим пользователям SIP могут обходить телефонную сеть, даже хотя поставщик услуг может нормально действовать как шлюз в сеть PSTN для традиционных телефонных номеров и ассоциативно связанных тарифов.
SIP использует элементы сети, называемые серверами посредниками, чтобы помочь маршрутизировать запросы в текущие местоположения пользователей, аутентифицировать и авторизовывать пользователей для услуг, реализовывать политики маршрутизации вызова поставщика и предоставлять особенности для пользователей. SIP также предоставляет функции регистрации через регистратор (или сервер агента пользователя), который позволяет пользователям загружать свои текущие местоположения для использования серверами-посредниками.
Первоначально обращаясь к чертежам, фиг.1 иллюстрирует систему 100, реализованную на компьютере, которая способствует управлению вызовами в соответствии с раскрытым изобретением. Система 100 включает в себя компонент маршрутизации вызова 102 сервера 104 вызова (например, сервера посредника) для маршрутизации вызова клиента 106 в пункт назначения. Система 100 может также включать в себя компонент 108 управления клиента 106 для управления маршрутизацией вызова на сервере 104. При работе, когда сервер 104 вызова принимает вызов, адресованный клиенту 106, сервер 104 вызова сигнализирует клиенту 106 о том, что вызов является входящим. Находится ли клиент в настоящее время на связи по вызову или отключен, клиент 106 может заставить сервер 104 вызова обрабатывать входящий вызов в соответствии с правилами клиента, отличными от правил на сервере 104 вызова в настоящий момент, для обработки вызовов для клиента 106. Клиент 106 отвечает серверу 104 вызова одним или более сообщениями сеанса (например, SIP), которые указывают серверу 104 вызова, как маршрутизировать вызов.
В одном примере, предварительное сообщение ответа SIP включает в себя правило перенаправления вызова, которое передают от клиента 106 на сервер 104, которое, когда выполняется сервером 104, маршрутизирует вызов соответственно. В другом примере, сообщение ответа переадресации SIP включает в себя правило перенаправления вызова, которое передается от клиента на сервер, и которое, когда выполняется сервером, маршрутизирует вызов. Более точно, раскрытая архитектура использует (1xx, где x - это 1-9) информационные (или предварительные) сообщения ответа и/или (3xx, где x - это 0-9) ответы переадресации в протоколе SIP. Использующий, по меньшей мере, один или более из этих типов ответов, скрипт может быть сгенерирован в клиенте 106 и передан от клиента 106 в сервер 104 вызова, скрипт, содержащий правила перенаправления вызова, которые сервер 104 применяет к тому конкретному вызову. Когда сервер 104 вызова принимает скрипт от клиента 106, он останавливает разветвление текущего вызова для того вызова и применяет одно или более правил в скрипте, которые конкретизируют в ответе 1xx.
Описанное более подробно ниже - это другие способности, ассоциативно связанные с раскрытой архитектурой. Например, клиент 106 может включать в себя способности, чтобы отсылать альтернативные правила вызова серверу 104 посреднику одновременно с тем, что клиент 106 обрабатывает другой вызов (например, продолжает посылать вызывной сигнал или оповещается). В другом варианте, клиент 106 включает в себя возможность отправить скрипт правил, который обрабатывает переадресацию входящего вызова в соответствии с сообщениями ответа переадресации SIP. Более того, сервер 104 вызова включает в себя способность применять правила перенаправления вызова, принятые от клиента 106, и прерывать любые другие процессы перенаправления вызова, которые уже исполняются в текущий момент, и которые имеют отношение к вызову. Дополнительно, специальные изменения конфигурации существующих серверов вызова или посредника не нужны, чтобы применить правила перенаправления вызова, принятые от клиента 106, порождающего вызов.
Традиционно, например, документ SIP RFC (запрос комментария) 3261 предоставляет ответ 380 альтернативной услуги (ответ переадресации в SIP), но оставляет свое определение или цель неопределенной. По меньшей мере, один сценарий требует, чтобы клиент задал поведение посредничества серверу. Например, принимая во внимание, что пользователь имеет входящий вызов от вызывающего и желает направить вызывающего к ее/его мобильному номеру, в этом случае повторная маршрутизация (например, посредником) должна быть сделана посредством LS (сервер местоположения) посредника, таким образом запрещая использование существующего SIP-ответа 302 временно перемещенной переадресации для этих целей.
Фиг.2 иллюстрирует методологию управления вызовами от клиента. Несмотря на то, что, в целях простоты пояснения, одна или более методологий, показанных в материалах настоящей заявки, например, в виде блок-схемы алгоритма или диаграммы последовательности операций, показаны и описаны как последовательность действий, должно быть понятно и принято во внимание, что связанное изобретение не ограничено очередностью действий, так как некоторые действия могут, в соответствии с ним, происходить в ином порядке и/или одновременно с другими действиями из тех, что показаны и описаны в материалах настоящей заявки. Например, специалисты в данной области техники будут понимать и принимать во внимание, что методология, в качестве альтернативы, могла бы быть представлена как последовательность взаимосвязанных состояний или событий, таких как на диаграмме состояний. Более того, не все проиллюстрированные действия могут потребоваться для реализации методологии в соответствии с изобретением.
На этапе 200, телефонный вызов принимают на клиенте для обработки. Это может быть телефонный вызов, основанный на IP (например, VoIP), обработка которого совместима с IP-протоколом сеанса (например, SIP). В одной реализации, сервер вызова сигнализирует клиенту, что вызов является входящим и будет обрабатываться для соединения с клиентом. В другой реализации, вызов перенаправляют клиенту, после которого начинают перенаправление вызова, чтобы повторно маршрутизировать вызов. На этапе 202, клиент отправляет скрипт сообщения SIP (или правила вызова) серверу вызова, который управляет сервером вызова для перенаправления вызова в соответствии со скриптом клиента. На этапе 204, сервер вызова принимает и обрабатывает скрипт клиента, чтобы повторно маршрутизировать вызов.
Фиг.3 иллюстрирует более подробно систему 300, которая способствует управлению вызовами в ответ на сообщения, основанные на клиенте. Система 300 включает в себя компонент 102 маршрутизации вызова сервера 104 вызова для маршрутизации вызова клиента 106 в пункт назначения и компонент 108 управления клиента 106 для генерации, передачи и, в конечном счете, управления маршрутизацией вызова на сервере 104.
В этой реализации, клиент 106 также включает в себя компонент 302 правил клиента для разработки одного или более правил для обмена информацией с сервером 104 через компонент 304 сигнализации клиента. Компонент сигнализации клиента способствует использованию различных протоколов сессии, такого как SIP. Одно или более правила, созданных пользователем клиента через интерфейс пользователя для компонента 302 правил клиента, могут быть обменивающимися информацией через компонент 304 сигнализации клиента с компонентом 306 сигнализации сервера. В одном варианте осуществления, компоненты (304 и 306)сигнализации клиента и сервера обрабатывают SIP, протокол сеанса. В другой реализации, H.323 - протокол сеанса. Альтернативно, другие протоколы сеанса уровня приложения могут быть использованы, такие как HTTP (протокол передачи гипертекстовых файлов) и FTP (протокол передачи файлов), например.
Как указано ранее, правила клиента могут быть переданы от клиента 106 к серверу (или серверу посреднику) в форме скрипта, который выполняется сервером 104, и которые способствуют замещению одного или более правил стороны сервера, выбранных для обработки входящего вызова. Скрипт принимают компонентом 308 правил сервера, который обрабатывает скрипт и ассоциативно связанные правила, чтобы маршрутизировать (или перенаправить) вызов соответственно.
Как описано ранее, находится ли клиент 106 в настоящее время на связи по вызову или отключен, когда другой вызов приходит, клиент 106 может служить причиной, чтобы сервер 104 вызова обрабатывал входящий вызов, в соответствии с правилами клиента, отличными от правил в настоящий момент на сервере 104 вызова для нормальной обработки вызовов для клиента 106.
Фиг.4 иллюстрирует методологию перенаправления вызовов, в соответствии с управлением стороны клиента. На этапе 400, сервер вызова принимает правила вызова для нормальной обработки вызовов клиента на сервере вызова. Сервер вызова будет обрабатывать эти правила для вызовов для или от клиента до иного направления правилами управления стороны клиента. На этапе 402, сервер вызова принимает вызов для клиента. На этапе 404, сервер сигнализирует клиенту о входящем вызове и инициирует обработку правил маршрутизации вызова клиента стороны сервера. На этапе 406, клиент отвечает сообщением(ями), чтобы обработать одно или более альтернативных правил маршрутизации вызова, основанных на клиенте. На этапе 408, сервер принимает и обрабатывает одно или более альтернативных правил маршрутизации вызова клиента.
Фиг.5 иллюстрирует методологию поддержки процессов стороны клиента в течение перенаправления управляемого клиентом вызова сервером вызова. На этапе 500 клиент принимает и соединяется с текущим вызовом. На этапе 502, клиент принимает и обрабатывает сигнал, относящийся к другому входящему вызову. На этапе 504, клиент выбирает одно или более альтернативных правил маршрутизации вызова, основанных на клиенте, для обработки на стороне сервера. На этапе 506, клиент передает одно или более альтернативных правил маршрутизации вызова серверу, используя протокол сеанса. На этапе 508, клиент поддерживает нормальные процессы текущего вызова, пока сервер вызова обрабатывает одно или более альтернативных правил. Другими словами, клиент обрабатывает предупреждения, уведомления (например, звуки, стрекотания, вибрации, мелодии для звонка,...) и сообщения, относящиеся к входящему вызову и другим происходящим параллельно процессам, одновременно с управлением сервером вызова так, что пользователь уведомляется о другом входящем вызове, в ответ на который альтернативные правила могут переданы серверу вызова для перенаправления нового вызова. В другом примере, текущий вызов может быть обработан в соответствии с передающимися правилами стороны клиента, чтобы соединить дополнительных получателей (например, проведение конференции) к текущему вызову.
Обратимся теперь к фиг.6, там иллюстрируется методология обработки стороны сервера, основанной на правилах стороны клиента. На этапе 600, сервер вызова сохраняет правила маршрутизации вызова клиента для нормальной обработки вызовов клиента. Правила могут быть для обработки входящих вызовов и для обработки вызовов, порожденных клиентом. На этапе 602, сервер принимает вызов, завершенный клиентом, и осуществляет доступ к правилам маршрутизации нормальной обработки для того клиента. На этапе 604, клиент выбирает одно или более альтернативных правил маршрутизации вызова, основанных на клиенте, для обработки на стороне сервера. На этапе 606, сервер принимает альтернативное правило(а), основанное на клиенте, в ответ на сигнализацию о входящем вызове клиента. На этапе 608, сервер вызова прерывает нормальную обработку входящего вызова и обрабатывает альтернативное правило(а). На этапе 610, сервер маршрутизирует текущий вызов в соответствии с альтернативным правилом(ами). Фиг.7 иллюстрирует систему SIP перенаправления вызова 700, основанную на клиенте. Система 700 включает в себя сервер 702 посредник, сервер 704 перенаправления и клиента 706 пользователя SIP клиентского (проводного или беспроводного) устройства 708. Клиент 706 SIP устройства 708 может включать в себя компонент 710 правил клиента для создания правил на клиенте для передачи через интерфейс SIP клиента 712 на сервер посредник и/или сервер 704 переадресации и выполнения сервером 702 посредником и/или сервером 704 переадресации. Как показано, компонент 710 правил клиента и интерфейс 712 SIP клиента являются частью клиента 706 пользователя SIP. Однако это не требование, в котором или оба из компонента 710 правил клиента и/или интерфейса 712 SIP клиента могли бы быть внешними компонентами для клиента 706 пользователя SIP устройства 708.
Сервер 702 посредник - сущность промежуточной сети, которая принимает запросы SIP от клиента (например, клиента 706) и перенаправляет запрос в интересах пользователя. Другими словами, сервер 702 посредник принимает сообщения SIP и перенаправляет сообщения следующему SIP серверу сети. Сервер 702 посредник может предполагать аутентификацию, авторизацию, управление осуществлением сетевого доступа, маршрутизацию, повторную передачу запроса и функции безопасности.
Сервер переадресации 704 предоставляет клиенту информацию о следующем интервале связи (интервалах связи), который предстоит для сообщения. Впоследствии, клиент контактирует с сущностью следующего интервала связи (или сервером) напрямую. Сервер-регистратор (не показан) обрабатывает запросы клиента 706 для регистрации текущего местоположения клиента. Заметим, что сервер регистрации может быть близко расположен к серверу 702 посреднику или серверу 704 переадресации. Так как устройство клиента двигается, его местоположение может быть динамически регистрируемо сервером SIP.
Когда код переадресации SIP используют в правиле, созданном в устройстве клиента 708, интерфейс 712 клиента SIP сообщает ответ переадресации SIP интерфейсу 714 SIP сервера 704 переадресации. Сервер 704 переадресации может включать в себя компонент 716 правил переадресации для обработки ответа переадресации и компонента 718 маршрутизации вызова переадресации, который способствует маршрутизации вызова, в соответствии с принятым правилом(ами) клиента.
Когда информационный ответ SIP используется в правиле, созданном клиентом 706, интерфейс SIP клиента сообщает правило интерфейсу SIP сервера 702 посредника. Сервер 702 посредник может включать в себя компонент 722 правил посредника для обработки информационного ответа и компонент 724 маршрутизации вызова посредника, который способствует маршрутизации вызова, в соответствии с принятым правилом(ами) клиента.
Сервера SIP (702 и 704) могут взаимодействовать с другими службами, такими как LDAP (облегченный протокол доступа к каталогам), серверы расположения (например, сервер 726 местоположения), приложение базы данных и приложение XML (расширяемый язык разметки). Эти службы-приложения могут предоставлять внутренние службы, такие как службы каталогов, аутентификации и биллинга. Заметим также, что телефоны могут функционировать как сервер или клиент.
Вызовы могут быть инициированы устройством 708 клиента и маршрутизированы через шлюз 728 SIP в традиционную PBX (телефонную систему для частного использования), например и/или PSTN (телефонную коммутируемую сеть общего пользования). Шлюз 728 предоставляет управление вызовом, преобразование между конечными точками конференций, аудио/видео кодеки, выполняет установку вызова и очистку как на стороне сети IP, так и на стороне коммутируемой линии.
Фиг.8 иллюстрирует методологию управления стороны клиента, использующую сервер посредник SIP. На этапе 800, SIP используют для обработки вызова между сервером посредником вызова и клиентом. На этапе 802 скрипт стороны клиента информационных ответов SIP (1xx) разрабатывают как альтернативные правила для обработки стороной сервера. На этапе 804, инициируют вызов (или порожденный клиентом или завершенный клиентом) и клиент передает скрипт на сервер посредник для выполнения как часть обработки вызова клиента. На этапе 806, сервер посредник останавливает текущее разветвление вызовов для вызова клиента. На этапе 808, сервер посредник применяет правило(а), заданное как сообщение(я) 1xx текущему вызову.
Фиг.9 иллюстрирует методологию управления стороны клиента, использующую сервер переадресации SIP. На этапе 900, SIP используют для обработки вызова между клиентом и сервером переадресации. На этапе 902, создают скрипт стороны клиента из одного или более ответов переадресации как альтернативные правила маршрутизации вызова. На этапе 904, инициируют вызов (или порожденные клиентом или принимаемые клиентом) и клиент передает скрипт серверу переадресации для обработки вместо нормальных правил обработки, сохраненных на сервере и используемых для вызовов клиента. На этапе 906, сервер переадресации останавливает любое текущее разветвление вызова, относящееся к тому клиенту. На этапе 908, сервер переадресации выполняет скрипт правил и обработку вызова соответственно.
Фиг.10 иллюстрирует примерную блок-схему вызова для управления клиентом посредством посылки вызова других контактов, которые в настоящий момент на связи. Пример имеет место между абонентами Алисой и Бобом, где Алиса вызывает Боба. Алиса обладает SIP-адресом sip:alice@contoso.com, где формат - это sip:userID@gateway.com. Клиент Алисы отправляет запрос SIP INVITE серверу посреднику, сервер посредник определяет путь к вызываемому Бобу, путь является SIP адресом sip:bob@contoso.com и перенаправляет запрос INVITE Бобу. Сервер отправляет сообщение обратно клиенту Алисы, чтобы указать Алисе, что осуществляется попытка вызова. Клиент Боба отвечает ответом 100 TRYING (осуществление попытки) серверу посреднику.
Боб создает и сохраняет набор правил на его клиенте, чтобы звонить другим контактам, которые в настоящее время находятся на связи. Кэрол находится на связи и клиент Боба отправляет предварительный ответ (обозначенный 1xx Rules) серверу посреднику (например, серверу местоположения), указывающему серверу посреднику добавить Кэрол к вызову. Сервер посредник определяет место SIP адреса Кэрол и инициирует SIP INVITE в адрес Кэрол carol@contoso.com. Клиент Кэрол отвечает с ответом 180 RINGING серверу посреднику. Сервер перенаправляет вызывной сигнал обратно клиенту Алисы. Клиент Алисы также отправляет успешный ответ 200 OK серверу посреднику, который перенаправляет его клиенту Алисы. Клиент Алисы отправляет сигнал подтверждения (обозначен ACK) посреднику, который переадресовывает ACK клиенту Кэрол. В некоторый момент, Боб решил выбыть из группового вызова. Соответственно, сообщение CANCEL отправляется от сервера посредника клиенту Боба, и клиент отвечает сообщением SIP 200 OK. Клиент Боба отправляет 487 Request Cancelled (отмена запроса) серверу посреднику, и сервер отвечает ACK.
Предварительный ответ 1xx (например, ответ 199), указанный выше, может иметь гибкий скрипт, например XML скрипт, который содержит детали того, как вызов необходимо маршрутизировать. Ответы 1xx являются полезными в случаях, когда другие пользователи должны быть добавлены к вызову без остановки текущего устройства от вызова. Некоторые примеры представлены ниже. Заметим, что XML имеет место только в иллюстративных целях, могут быть использованы другие языки.
Клиент включает в себя программное обеспечение, которое содействует созданию скрипта пользователем клиента. Последующее - примерный код XML для добавления другого вызывающего к существующему вызову.
SIP/2.0 lxx Rules
To: Bob <sip:bob@contoso.com>;tag=76786
From: Alice <sip:alice@contoso.com>;tag=98908
Call-ID:
Contact:
CSeq: 7778 INVITE
Content-Type: application/ms-callproc-rules+xml
Content-Length: 142
<ms-call-proc>
<add>
<location uri=carol@contoso.com />
</add>
</ms-call-proc>
Последующее - примерный код XML для добавления команды Кэрол и Дэна к существующему вызову.
SIP/2.0 lxx Rules
To: Bob <sip:bob@contoso.com>;tag=76786
From: Alice <sip:alice@contoso.com>;tag=98908
Call-ID:
Contact:
CSeq: 7778 INVITE
Content-Type: application/ms-callproc-rules+xml
Content-Length: 142
<ms-call-proc>
<add>
<location uri=carol@contoso.com />
<location uri=dan@contoso.com />
</add>
</ms-call-proc>
Последующее - примерный код XML для отправки команде в течение десяти секунд и затем переадресации на голосовую почту или посыла отсутствия ответа.
SIP/2.0 1xx Rules
To: Bob <sip:bob@contoso.com>;tag=76786
From: Alice <sip:alice@contoso.com>;tag=98908
Call-ID:
Contact:
CSeq: 7778 INVITE
Content-Type: application/ms-callproc-rules+xml
Content-Length: 142
<ms-call-proc>
<add wait=10 no-answer=voicemail>
<location uri=carol@contoso.com />
<location uri=dan@contoso.com />
</add>
</ms-call-proc>
Фиг.11 иллюстрирует примерную блок-схему вызова, использующую 3xx переадресацию, чтобы изменить маршрут вызова. Последующая блок-схема вызова - это пример, где ответ 3xx (например, 399) используют, чтобы изменить маршрут вызова. Ответы 3xx полезны, чтобы указать серверу, чтобы изменить маршрут вызова, основанного на правилах, заданных клиентом. Ответы 3xx, по существу останавливают посылку вызова клиента и применяют заданные правила перенаправления.
В блок-схеме вызова, Боб установил динамическое правило вызова, чтобы сначала перенаправлять вызов к Кэрол в течение пяти секунд, отсоединить Кэрол и затем соединиться с Дэном. Алиса вызывает Боба и вызов звонит сначала Кэрол до посылки вызова Дэна.
Клиент Алисы отправляет запрос SIP INVITE, который включает в себя адрес Боба bob@contoso.com, серверу посреднику, сервер посредник определяет путь к вызываемому Бобу, и перенаправляет запрос INVITE Бобу. Сервер отправляет сообщение обратно клиенту Алисы, чтобы указать Алисе, осуществляется попытка вызова. Клиент Боба отвечает ответом 100 TRYING серверу посреднику. Клиент Боба отправляет правило переадресации (3xx) серверу посреднику. Сервер отвечает клиенту Боба с ACK.
Кэрол находится на связи и сервер посредника отправляет запрос SIP INVITE клиенту Кэрол, чей клиент отвечает серверу сообщением 180 RINGING. Сервер перенаправляет вызов клиенту Алисы. В тот момент, происходит таймаут пять секунд с последующим сообщением CANCEL клиенту Кэрол. Клиент Кэрол отвечает серверу с ACK.
Сервер затем отправляет SIP INVITE клиенту Дэна, который отвечает сообщением 180 RINGING серверу и клиенту Алисы. Клиент Дэна отправляет сообщение 200 OK серверу, которое перенаправляют клиенту Алисы. Клиент Алисы затем отправляет ACK серверу для перенаправления клиенту Дэна. Затем устанавливают двухсторонний голосовой канал между Дэном и Алисой.
Последующее - примерный код XML, где сообщение 3xx используют в переадресации вызова.
SIP/2.0 3xx Apply Rules
To: Bob <sip:bob@contoso.com>;tag=76786
From: Alice <sip:alice@contoso.com>;tag=98908
Call-ID:
Contact:
CSeq: 7778 INVITE
Content-Type: application/ms-callproc-rules+xml
Content-Length: 142
<ms-call-proc>
<retarget wait=5>
<location uri=carol@contoso.com />
<location uri=dan@contoso.com />
</retarget>
<retarget wait=5 noanswer=voicemail>
<location uri=dan@contoso.com/>
</retarget>
</ms-call-proc>
Фиг.12 иллюстрирует примерную блок-схему вызова для переадресации вызова в пункт назначения телефонной коммутируемой сети общего пользования (PSTN). Клиент Алисы отправляет запрос SIP INVITE серверу посреднику, сервер посредник определяет путь к вызываемому Бобу, путь является SIP адресом sip:bob@contoso.com и перенаправляет запрос INVITE Бобу. Сервер отправляет сообщение обратно клиенту Алисы, чтобы указать Алисе, что осуществляется попытка вызова. Клиент Боба отвечает обратно ответом 100 TRYING серверу посреднику, так же как сообщением SIP 180 RINGING. Сервер перенаправляет сообщение 180 RINGING клиенту Алисы.
Боб создал и сохранил набор правил на своем клиенте, чтобы переадресовать вызов. Соответственно, сообщение SIP 3xx REDIRECT, используя скрипт переадресации, отправляют от клиента Боба серверу. Сервер затем отправляет сообщение SIP 181 CALL IS FORWARDED клиенту Алисы. Сервер перенаправляет ACK клиенту Боба и сообщение INVITE в шлюз PSTN, имеющий адрес, оговоренный в сообщении переадресации Боба. Шлюз отвечает отправлением сообщения 180 RINGING серверу, которое перенаправляют клиенту Алисы. Сообщение SIP 200 OK также отправляют от шлюза серверу и клиенту Алисы. Клиент Алисы отправляет ACK серверу, который перенаправляет ACK шлюзу. Затем устанавливают двухсторонний голосовой канал между клиентом Алисы и шлюзом PSTN.
Последующее - методология примеров, где традиционная обработка вызова стороны сервера может приносить пользу от раскрытого управления перенаправлением вызовов стороны клиента. Фиг.13 иллюстрирует методологию динамического управления вызовами для различных учетных записей, используя управление стороны клиента сервером вызова. При этом устройство клиента включает в себя CRM (управление взаимодействия с клиентами) приложение, которое предоставляет информацию об учетной записи пользователя. Пользователь может создать правила на клиенте, которые позволят пользователю клиента динамически позволять вызовы от определенных учетных записей, чтобы направить в определенные другие пункты назначений (например, переадресовывать входящий вызов, относящийся к информации банковского счета, чтобы маршрутизировать в домашнюю телефонную трубку, терминал PSTN). На этапе 1300, пользователь клиента создает одно или более правил на клиенте для маршрутизации типов заданного вызова. На этапе 1302, клиенту передают сигнал входящего вызова, относящийся к одному из типов заданного вызова. На этапе 1304, клиент отвечает серверу посредством отправления правил клиента серверу вызова для обработки типа заданного вызова. На этапе 1306, сервер вызова останавливает текущую обработку вызова, относящуюся к входящему вызову, вызывает принятое правило(а) стороны клиента и маршрутизирует тип заданного вызова, соответственно. На этапе 1308, сервер вызова возвращается обратно к нормальной маршрутизации вызовов, ассоциативно связанных с тем заданным вызовом.
Фиг.14 иллюстрирует методологию управления информацией присутствия на клиенте, используя управление стороны клиента сервером вызова. При этом устройство клиента включает в себя приложение, основанное на присутствии, которое агрегирует показатели информации присутствия от поставщиков присутствия третьей стороны. Таким образом, правила стороны клиента могут быть созданы и переданы для выполнения сервером вызова, чтобы позволить входящим вызовам быть направленными людям, чей статус на этом другом поставщике - на связи. На этапе 1400, пользователь клиента создает одно или более правил присутствия для маршрутизации вызовов, относящихся к статусу на связи пользователей других поставщиков. На этапе 1402, клиент сигнализирует о входящем вызове или инициирует исходящий вызов. На этапе 1404, клиент отправляет правила присутствия серверу вызова для обработки. На этапе 1406, вызывающий принимает и обрабатывает правила присутствия и сигнализирует клиенту о результатах правил, который может указывать находится ли пользователь другого поставщика на связи или отключен. На этапе 1408, сервер вызова обрабатывает вызов для пользователя на связи в соответствии с правилами присутствия. Это может включать в себя сигнализацию пользователям на связи для соединения с текущим вызовом (например, проведение конференции).
Фиг.15 иллюстрирует методологию управления входящими вызовами занятого (или на связи) клиента, используя управление стороны клиента сервером вызова. При этом устройство клиента способствует созданию пользователем правил, которые привносят различные «состояния», такие как «Не беспокоить - только, когда совещание с менеджером». Сервер вызова не имеет необходимости знать, с кем пользователь в настоящее время разговаривает, и в соответствии со способностью изобретения перенаправлять вызов, на основе клиента, клиент может маршрутизировать входящие вызовы интеллектуально помощнику или кому-нибудь еще. На этапе 1500, пользователь клиента создает одно или более правил «занятости» на клиенте для маршрутизации входящих вызовов, когда пользователь в настоящее время на телефоне. На этапе 1502, клиент принимает вызов и становится занятым. На этапе 1504, клиент отвечает посредством отправления правил «занятости» серверу вызова для обработки. На этапе 1506, сервер вызова обрабатывает правила «занятости» и маршрутизирует входящие вызовы к другим оконечным устройствам. Правила могут также включать в себя предусмотренную сигнализацию устройству клиента, которая позволяет занятому пользователю знать, кто пытался его вызывать. Таким образом, короткое текстовое сообщение может быть отображено на экране, короткий звуковой тон воспроизведен, короткий видеоклип воспроизведен и т.д., любой из которых может быть изготовлен на заказ для конкретного вызывающего.
Фиг.16 иллюстрирует методологию динамического управления вызовами, на основании изменений местоположения клиента, используя управление стороны клиента обработкой сервера вызова. Например, состояние клиента может изменяться часто так, что сервер может не знать об этом состоянии; поэтому правила обработки вызова на сервере могут быть непригодными. Один пример включает в себя клиента мобильного устройства, оснащенного с GPS(глобальная система определения положения) приемником. Пользователь может взять мобильное устройство в различные части страны и, в соответствии с инновационной способностью перенаправления вызова, на основании клиента, пользователь запрограммировал устройство, чтобы маршрутизировать вызовы соответственно на основе текущего местоположения пользователя. Например, правило может быть «Когда я на работе, звонить на мой рабочий телефон; когда я в Алабаме, звонить на мое мобильное устройство».
На этапе 1600, принимают устройство клиента, которое включает в себя способность GPS и способность создания правил стороны клиента. На этапе 1602, пользователь клиента создает одно или более правил местоположения для маршрутизации входящих вызовов, относящихся к изменениям в географическом местоположении устройства клиента. На этапе 1604, пользователь клиента перемещает устройство клиента в различные географические местоположения. На этапе 1606, клиент определяет изменение в местоположении устройства. Это может происходить посредством устройства, имеющего способность принимать и периодически обрабатывать данные GPS, чтобы осуществлять это определение. На этапе 1608, сервер вызова сигнализирует клиенту о входящем вызове. На этапе 1610, клиент отвечает посредством отправки на сервер вызова правила местоположения для обработки стороной клиента правил местоположения. На этапе 1612, сервер обрабатывает правила и маршрутизирует входящий вызов соответственно.
В качестве используемых в этой заявке, термины «компонент» и «система» предназначены для ссылки на связанную с компьютером сущность, либо аппаратных средств, сочетания аппаратных средств и программного обеспечения, программного обеспечения или программного обеспечения во время исполнения. Например, компонент может быть, но не ограничивается настоящим, процессом, запущенным на процессоре, процессором, накопителем на жестких дисках, несколькими накопителями хранения (на оптических и/или магнитных носителях хранения), объектом, исполняемым файлом, потоком управления, программой и/или компьютером. В качестве иллюстрации, как приложение, работающее на сервере, так и сервер, могут быть компонентом. Один или более компонентов могут находиться в пределах процесса и/или потока управления, и компонент может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами.
Фиг.17 иллюстрирует схематическую блок-схему портативного беспроводного устройства (PWD) 1700 (например, сотовый телефон, портативный компьютер, планшетный ПК), которое содействует созданию правил стороны клиента и управлению сервером вызова. Устройство 1700 включает в себя процессор 1702, который сопряжен с одним или более внутренних компонентов для управления и обработки данных и инструкций. Процессор 1702 может быть запрограммирован, чтобы управлять работой различных компонентов в устройстве 1700 для того, чтобы выполнять различные функции, описанные в материалах настоящей заявки. Процессор 1702 может быть любым из множества подходящих процессоров (например, DSP - процессор цифровой обработки сигналов) и может быть многопроцессорной подсистемой.
Память и компонент 1704 хранения сопряжен с процессором 1702 и служит для хранения кода программы и также служит в качестве средств хранения информации, такой как данные, приложения, службы, метаданные, состояния устройств и тому подобное. Память и компонент 1704 хранения может включать в себя энергонезависимую память соответствующим образом адаптированную, чтобы хранить, по меньшей мере, полный набор обнаруженных входных данных, которые собирают от подсистемы обнаружения и/или датчиков. Таким образом, память 1704 может включать в себя ОЗУ или флэш-память для обеспечения высокоскоростного доступа процессором 1702 и/или память массового хранения, например микронакопитель, способный для хранения гигабайт данных, которые содержат текст, изображения, аудио и/или видеоконтент. Согласно одному аспекту, память 1704 имеет достаточную способность хранения, чтобы хранить множественные наборы информации, относящейся к несопоставимым услугам, и процессор 1702 может включать в себя программы, которые способствуют периодической или циклической смене между различными наборами информации, соответствующей несопоставимым сервисам.
Дисплей 1706 может быть подключен к процессору 1702 через подсистему 1708 драйвера дисплея. Дисплей 1706 может быть цветным жидкокристаллическим дисплеем (LCD), плазменным дисплеем, сенсорным дисплеем и тому подобным. Дисплей 1706 представляет данные, графику или другой информационный контент. Дополнительно, дисплей 1706 может представлять разнообразие функций, которые являются выбираемыми пользователем и которые предоставляют управление и конфигурацию устройства 1700. В примере сенсорного экрана, дисплей 1706 может отображать пиктограммы, выбираемые прикосновением, которые способствуют взаимодействию пользователя для управления и/или конфигурации.
Питание может быть предоставлено для процессора 1702 и других компонентов на плате, формирующих устройство, 1700 через систему 1710 питания на плате (например, блок батарей или топливный элемент). В случае того, если система 1710 питания выйдет из строя или будет отсоединена от устройства 1700, альтернативный источник 1712 питания может быть использован, чтобы предоставлять питание процессора 1702 и других компонентов (например, датчиков, устройства захвата изображения,...) и чтобы заряжать систему питания на плате 1710, если заряжаемая технология. Например, альтернативный источник 1712 питания может способствовать сопряжению с внешним соединением с энергетической системой посредством силового преобразователя. Процессор 1702 может быть сконфигурирован, чтобы предоставлять услуги управления питанием, например чтобы вызывать режим ожидания, который уменьшает потребление тока, или чтобы инициировать правильное выключение устройства 1700 при обнаружении предугаданного отказа питания.
Устройство 1700 включает в себя подсистему 1714 связи, имеющую порт 1716 связи, который используют для сопряжения устройства 1700 с удаленной вычислительной системой, сервером, услугой и тому подобным. Порт 1716 может включать в себя один или более последовательных интерфейсов, таких как универсальная последовательная шина (USB) и/или IEEE 1394, который предоставляет возможности последовательного обмена информацией. Другие технологии могут также быть включены, но не в качестве ограничения, например инфракрасная связь, используя инфракрасный порт связи, и беспроводная пакетная связь (например, Bluetooth , Wi-Fi и Wi-Max). В случае смартфона, подсистема 1714 связи может включать в себя SIM (модуль идентификации абонента) данные и информацию, необходимую для сотовой регистрации и сетевой связи.
Устройство 1700 может также включать в себя секцию радиочастотного (RF) приемопередатчика, оперативно осуществляющую связь с процессором 1702. RF секция 1718 включает в себя RF приемник 1720, который принимает RF сигналы от удаленных устройств или систем посредством антенны 1722 и может демодулировать сигнал, чтобы получить цифровую информацию, модулированную в нем. RF секция также включает в себя RF передатчик 1724 для передачи информации (например, данных, услуг(и)) удаленному устройству или системе, например, в ответ на ручной ввод пользователя посредством устройства 1726 ввода пользователя (например, клавиатуру) или автоматически в ответ на обнаружение введенного и/или ожидаемого покидания диапазона связи или других предопределенных и программируемых критериев.
Устройство 1700 может также включать подсистему 1728 звукового ввода/вывода, управляемую процессором 1702 и обрабатывающую введенный голос с микрофона или подобного устройства звукового ввода (не показано). Подсистема 1728 звука также облегчает представление речи и передачу выходных звуковых сигналов посредством громкоговорителя или подобного устройства вывода звука (не показано).
Устройство 1700 может также включать в себя компонент 1730 аутентификации, которая сопряжена с процессором и способствует аутентификации пользователя с самим устройством и/или с удаленной системой. Процессор 1702 также сопряжен с блоком 1732 подсистемы обнаружения, который способствует захвату и вводу данных OCR, голосовых данных, данных, записанных от руки, и данных изображения/видео, например, для определения контекста пользователя и/или концепции. Дополнительно, устройство 1700 включает в себя одно или более приложений 1734 (например, программу обработки изображения, программу представления видео, программу OCR, машину поиска,...), которые могут быть запущены, чтобы позволить системе обнаружения для приема обнаруженных входных данных в соответствии с инновационной архитектурой. В соответствии с предметом изобретения, приложения 1734 могут включать в себя клиент 1736, который способствует обмену информации по протоколу сеанса с посредником и/или серверу переадресации для управления маршрутизацией вызова. В поддержку создания и управления правилами, приложения 1734 могут также включать в себя компонент 1738 управления и правил. Пользователь устройства может затем создать правила одного или более ответов сеанса (например, ответов SIP) для обмена информацией с серверами, чтобы управлять перенаправлением вызова в ответ на прием вызова и/или в течение вызова, порожденного клиентом или предназначенного клиенту.
Устройство 1700 может также включать в себя подсистему 1740 физического интерфейса, которая позволяет физическое соединение с другой системой (например, через разъем), предпочтительнее, чем посредством беспроводной связи или связи по кабелю между ними.
Ссылаясь на фиг.18, иллюстрируется блок-схема настольного или портативного компьютера, действующего, чтобы выполнять управление перенаправлением вызова стороны клиента сервером вызова, в соответствии с раскрытой архитектурой. Для того, чтобы предоставить дополнительный контекст для различных аспектов этого, фиг. 18 и последующее обсуждение предназначены, чтобы предоставить краткое общее описание подходящей вычислительной среды 1800, в которой различные аспекты изобретения могут быть реализованы. Несмотря на то, что описанное выше дано в общем контексте компьютерно-исполняемых инструкций, которые могут работать на одном или более компьютерах, специалисты в данной области техники будут осознавать, что изобретение также может быть реализовано в сочетании с другими программными модулями и/или в виде сочетания аппаратных средств и программного обеспечения.
Как правило, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и т.п., которые выполняют конкретные задачи и/или реализуют конкретные абстрактные типы данных. Более того, специалисты в данной области техники будут принимать во внимание, что изобретенные способы могут быть осуществлены на практике с другими конфигурациями компьютерных систем, в том числе однопроцессорными или многопроцессорными компьютерными системами, миникомпьютерами, универсальными электронно-вычислительными машинами, а также персональными компьютерами, «карманными» вычислительными устройствами, основанными на микропроцессорах и/или программируемой бытовой электронной аппаратурой и тому подобным, каждое из которых может оперативно связываться с одним или более ассоциативно связанными устройствами.
Проиллюстрированные аспекты изобретения также могут быть осуществлены на практике в распределенных вычислительных средах, в которых определенные задачи выполняются удаленными обрабатывающими устройствами, которые соединены через сеть связи. В распределенной вычислительной среде, программные модули могут быть локализованы как в локальном, так и в удаленном запоминающем устройстве памяти.
Компьютер типично включает в себя многообразие компьютерно-читаемых носителей. Компьютерно-читаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может быть осуществлен доступ компьютером, и включают в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители. В качестве примера, но не ограничения, компьютерно-читаемые носители могут содержать компьютерные носители хранения и среду связи. Компьютерные носители хранения включают в себя как энергозависимые и энергонезависимые, так и съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения включают в себя, но не в качестве ограничения, ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), ЭСППЗУ (электрически стираемое и программируемое ПЗУ, EEPROM), флэш-память, или другую технологию памяти, CD-ROM (ПЗУ на компакт диске), цифровой видеодиск (DVD) или другое оптическое дисковое хранилище, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемой информации и к которому может быть осуществлен доступ компьютером.
Ссылаясь снова на фиг. 18, примерный вариант осуществления 1800 для реализации различных аспектов включает в себя компьютер 1802, компьютер 1802 включает в себя блок 1804 обработки, системную память 1806 и системную шину 1808. Системная шина 1808 соединяет компоненты системы, включая (но не в качестве ограничения) системную память 1806 с блоком 1804 обработки. Блок 1804 обработки может быть любым из различных доступных в промышленных масштабах процессоров. Архитектуры с двумя микропроцессорами и другие многопроцессорные архитектуры также могут быть использованы в качестве блока 1804 обработки.
Системная шина 1808 может быть любой из некоторых типов шинных структур, которые могут взаимодействовать с шиной памяти (с или без контроллера памяти), периферийной шиной и локальной шиной, использующей любую из многообразия доступных для приобретения шинных архитектур. Системная память 1806 включает в себя постоянное запоминающее устройство (ПЗУ) 1810 и оперативное запоминающее устройство (ОЗУ) 1812. Базовая система ввода/вывода (BIOS), сохраняемая в энергонезависимой памяти 1810, такой как ПЗУ, СППЗУ (стираемое программируемое ПЗУ, EPROM), ЭСППЗУ, и которая содержит в себе базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 1802, к примеру, во время запуска. ОЗУ 1812 также может включать в себя высокоскоростное ОЗУ, такое как статическое ОЗУ для кэширования данных.
Компьютер 1802 дополнительно включает в себя внутренний накопитель 1814 на жестких дисках (HDD) (например, EIDE (с интерфейсом усовершенствованных электронных схем управления встроенным дисководом), SATA (с интерфейсом SATA), который также может быть сконфигурирован для внешнего использования в подходящем шасси (не показано), накопитель 1816 на гибких магнитных дисках (FDD) (например, для считывания с или записи на съемную дискету 1818) и накопитель 1820 на оптических дисках (например, осуществляющий считывание диска 1822 CD-ROM, или для считывания с или записи на другие оптические носители большой емкости, такие как DVD). Накопитель 1814 на жестких дисках, накопитель 1816 на магнитных дисках и накопитель 1820 на оптических дисках могут быть подключены к системной шине 1808 посредством, соответственно, интерфейса 1824 накопителя на жестких дисках, интерфейса 1826 накопителя на магнитных дисках, и интерфейса 1828 накопителя на оптических дисках. Интерфейс 1824 для реализаций с внешним накопителем включает в себя по меньшей мере одну или обе из интерфейсных технологий универсальной последовательной шины (USB) или IEEE 1394 (FireWire). Другие технологии соединения внешнего накопителя находятся в пределах рассмотрения связанного изобретения.
Накопители и их ассоцированные компьютерно-читаемые носители предоставляют энергонезависимое хранение данных, структур данных, компьютерно-исполняемых инструкций и так далее. Касательно компьютера 1802, накопители и носители обеспечивают хранение данных в надлежащем цифровом формате. Несмотря на то, что описание компьютерно-читаемых носителей, приведенных выше, ссылается на HDD, съемную магнитную дискету и съемные оптические диски, такие как CD или DVD, специалистами в данной области техники должно быть принято во внимание, что другие типы носителей, которые являются пригодными для считывания компьютером, такие как zip-дисководы, магнитные кассеты, карты флэш-памяти, картриджи, и тому подобное, также могут быть использованы в примерной операционной среде и, кроме того, что любые такие носители могут содержать в себе компьютерно-исполняемые инструкции для выполнения способов раскрытого изобретения.
Некоторое количество программных модулей может быть сохранено в накопителях и ОЗУ 1812, в том числе, операционная система 1830, одна или более прикладных программ 1832, другие программные модули 1834 и данные 1836 программ. Взятые в целом или части операционной системы, приложений, модулей и/или данных также могут быть кэшированы в ОЗУ 1812. Должно быть принято во внимание, что изобретение может быть реализовано с различными доступными для приобретения операционными системами или сочетаниями операционных систем.
Пользователь может вводить команды и информацию в компьютер 1802 через одно или более проводных/беспроводных устройств ввода, например, клавиатуру 1838 и указательное устройство, такое как мышь 1840. Другие устройства ввода (не показаны) могут включать в себя микрофон, (инфракрасный, IR) ИК-пульт дистанционного управления, джойстик, игровую панель, перо, сенсорный экран или подобное. Эти и другие устройства ввода часто подключены к устройству 1804 обработки данных через интерфейс 1842 устройства ввода, который подключен к системной шине 1808, но может быть присоединен посредством других интерфейсов, таких как параллельный порт, последовательный порт стандарта IEEE 1394, игровой порт, порт USB, ИК-интерфейс, и т.п.
Монитор 1844 или другой тип устройства отображения также соединен с системной шиной 1808 посредством интерфейса, такого как видеоадаптер 1846. Дополнительно к монитору 1844, компьютер типично включает в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители, принтеры и т.д.
Персональный компьютер 1802 может работать в сетевой среде с использованием логических соединений, посредством проводной или беспроводной связи, с одним или более удаленных компьютеров, таких как удаленный компьютер(ы) 1848. Удаленный компьютер(ы) 1848 может быть рабочей станцией, серверным компьютером, маршрутизатором, персональным компьютером, портативным компьютером, основанным на микропроцессоре развлекательным приспособлением, одноранговым устройством или другим общим узлом сети, и типично включает в себя многие или все из элементов, описанных касательно компьютера 1802, хотя, в целях краткости, проиллюстрировано только устройство 1850 памяти/хранения. Изображенные логические соединения включают в себя проводную/беспроводную возможность связи с локальной сетью (LAN) 1852 и/или сетью большего масштаба, например глобальной сетью (WAN) 1854. Такие сетевые среды LAN и WAN являются обычным явлением в офисах и компаниях и содействуют корпоративным компьютерным сетям, таким как интранет (локальная сеть, использующая технологии Интернет), все из которых могут подключаться к глобальной сети связи, например сети Интернет.
При использовании в сетевой среде LAN компьютер 1802 соединен с локальной сетью 1852 через сетевой интерфейс или адаптер 1856 проводной/беспроводной связи. Адаптер 1856 может способствовать проводной или беспроводной связи с LAN 1852, которая также может включать в себя точку беспроводного доступа, размещенную в ней для поддерживания связи с беспроводным адаптером 1856.
При использовании в сетевой среде WAN компьютер 1802 может включать в себя модем 1858, или соединяется с сервером связи в WAN 1854, или обладает другим средством для установления связи через WAN 1854, к примеру, в виде сети Интернет. Модем 1858, который может быть внутренним или внешним и проводным или беспроводным, соединен с системной шиной 1808 через интерфейс 1842 последовательного порта. В сетевой среде программные модули, изображенные касательно компьютера 1802, или их части, могут быть сохранены в удаленном устройстве 1850 памяти/хранения. Будет принято во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.
Компьютер 1802 является имеет возможность осуществления связи с любыми беспроводными устройствами или сущностями, оперативно установленными на связь, например принтером, сканером, настольным или портативным компьютером, портативным цифровым секретарем, спутником связи, любой единицей оборудования или местоположением, ассоциируемым с беспроводным образом обнаруживаемой маркировкой (например, общественным терминалом, новостным стендом, помещением для отдыха), и телефоном. Это включает в себя по меньшей мере беспроводные технологии Wi-Fi и Bluetooth . Так, связь может быть предопределенной структурой, как с традиционной сетью, или просто подходящей для данного случая связью между, по меньшей мере, двумя устройствами.
Wi-Fi, или Wireless Fidelity («беспроводная точность»), предоставляет возможность подключения к сети Интернет с дивана дома, кровати в комнате отеля или конференц-зала на работе при отсутствии проводов. Wi-Fi - беспроводная технология, подобная используемой в сотовом телефоне, которая дает возможность таким устройствам, например компьютерам, отправлять и принимать данные внутри или вне помещения; где угодно в пределах зоны покрытия базовой станции. Сети Wi-Fi используют радиотехнологии, названные IEEE 802.1 1x (a, b, g, и т.д.), чтобы предоставлять возможность защищенного, надежного высокоскоростного беспроводного соединения. Сеть Wi-Fi может быть использована, чтобы связывать компьютеры друг с другом, с сетью Интернет и с проводными сетями (которые используют стандарт IEEE 802.3 или Ethernet).
Сети Wi-Fi могут работать в свободном от лицензий 2.4 и 5 ГГц радиодиапазоне. IEEE 802.11 применяется, как правило, для беспроводных LAN и предоставляет 1 и 2 Мбит/с передачу в диапазоне 2,4 ГГц, использующий скачкообразную смену рабочей частоты с расширением спектра (FHSS) или технологию расширения спектра сигнала прямой последовательностью (DSSS). IEEE 802.11a - расширение IEEE 802.11, которое применяется к беспроводным LAN и предоставляет вплоть до 54 Мбит/с в диапазоне 5 ГГц. IEEE 802.1 la использует скорее схему кодирования мультиплексирования с ортогональным частотным разделением (OFDM), чем FHSS или DSSS. IEEE 802.11b (также упоминаемая как 802.11 DSSS с высокой скоростью или Wi-Fi) - расширение до 802.11, которое применяется к беспроводным LAN и предоставляет передачу 11 Мбит/с (с переходом на аварийный режим в 5,5, 2 и 1 Мбит/с) диапазоне 2,4 ГГц. IEEE 802.11g применяется к беспроводным LAN и предоставляет 20+ Мбит/с диапазоне 2,4 ГГц. Продукты могут содержать в себе более чем один диапазон (например, два диапазона), так сети могут предоставлять практическую производительность, аналогичную базовым проводным сетям Ethernet 10BaseT (на неэкранированной витой паре), используемым во многих офисах.
То, чтобы было описано выше, включает в себя примеры раскрытого изобретения. Конечно, невозможно описать каждое мыслимое сочетание компонентов или методологий, но обычный специалист в данной области техники может осознать, что возможны многие дополнительные сочетания и перестановки. Следовательно, изобретение имеет намерением охватить все такие преобразования, модификации и варианты, которые попадают в пределы сущности и объема прилагаемой формулы изобретения. Более того, в тех пределах, в которых термин «включает в себя» используется в подробном описании либо в формуле изобретения, такой термин предполагается включающим, до некоторой степени подобно тому, как термин «содержит» интерпретируется в качестве «содержащего», когда используется в качестве переходного слова в формуле изобретения.
Класс H04L12/66 межсетевые соединительные устройства, использующие различные типы систем коммутации, например межсетевой интерфейс
Класс H04W80/10 приспособленные для управления сессией, например, SIP (Протокол Запуска Сессии)
Класс H04L29/06 отличающиеся процедурой регистрации и коммутации сообщений