BR112016002475B1 - Método, dispositivo de comunicação e meio de armazenamento para transições contínuas de chamada - Google Patents

Método, dispositivo de comunicação e meio de armazenamento para transições contínuas de chamada Download PDF

Info

Publication number
BR112016002475B1
BR112016002475B1 BR112016002475-3A BR112016002475A BR112016002475B1 BR 112016002475 B1 BR112016002475 B1 BR 112016002475B1 BR 112016002475 A BR112016002475 A BR 112016002475A BR 112016002475 B1 BR112016002475 B1 BR 112016002475B1
Authority
BR
Brazil
Prior art keywords
call
type
user interface
application
communication device
Prior art date
Application number
BR112016002475-3A
Other languages
English (en)
Other versions
BR112016002475A2 (pt
Inventor
Syed Mansoor Jafry
Kerry D. Woolsey
Casey Dvorak
Tony He
Peter Bergler
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/970,504 external-priority patent/US9961608B2/en
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112016002475A2 publication Critical patent/BR112016002475A2/pt
Publication of BR112016002475B1 publication Critical patent/BR112016002475B1/pt

Links

Abstract

MÉTODO, DISPOSITIVO DE COMUNICAÇÃO E MEIO DE ARMAZENAMENTO PARA TRANSIÇÕES CONTÍNUAS DE CHAMADA. A invenção diz respeito a várias interfaces com o usuário e com outras tecnologias para diretamente transicionar entre chamadas de tipos diferentes que podem ser implementadas. As tecnologias podem ser implementadas para fornecer a impressão de uma única chamada que é atualizada de um tipo de chamada para outra. Um novo aplicativo pode se registrar de modo que um controle apropriado da interface com o usuário aparece para ativação quando transição direta de chamada é possível. Assim, a transição para aplicativos de terceiros pode ser suportada. Implementações através de diferentes plataformas podem ser suportadas.

Description

ANTECEDENTES
[001] Os telefones móveis atualmente possuem funcionalidade e aplicativos que proporcionam uma ampla variedade de modos de comunicação. Por exemplo, um único dispositivo atualmente pode suportar chamadas telefônicas convencionais, chamadas de Protocolo de Voz Através da Internet (VoIP), chamadas de vídeo, e assim por diante. Entretanto, tal funcionalidade não tem sido particularmente bem integrada, e novos usuários também podem não estar cientes que esta funcionalidade está disponível para os mesmos.
[002] Devido aos usuários poderem defrontar-se com obstáculos quando tentando tirar vantagem de diferentes modos de comunicação, existe campo para aprimoramento.
SUMÁRIO
[003] Este Sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada, os quais são adicionalmente descritos abaixo na Descrição Detalhada. O Sumário não é pretendido para identificar aspectos chave ou aspectos essenciais do assunto reivindicado, nem é pretendido para ser utilizado para limitar o escopo do assunto reivindicado.
[004] As tecnologias podem incluir um método implementado pelo menos em parte por um dispositivo de comunicação, o método compreendendo: enquanto conduzindo uma primeira chamada de um primeiro tipo de chamada com o dispositivo de comunicação, determinar se é possível continuamente mudar para uma segunda chamada de um segundo tipo de chamada, onde determinar se é possível transicionar continuamente compreende confirmar se um aplicativo de comunicação do segundo tipo de chamada está disponível no dispositivo de comunicação; em resposta à determinação de que é possível transicionar continuamente, apresentar uma opção de interface com o usuário para transicionar continuamente; e em resposta à ativação da opção de interface com o usuário, transicionar continuamente para a segunda chamada do segundo tipo de chamada.
[005] As tecnologias podem incluir um dispositivo de comunicação compreendendo: um ou mais processadores; memória armazenando um aplicativo executável de chamada de áudio, um aplicativo executável de chamada de vídeo, e informação de registro de aplicativo indicativa de se o aplicativo executável de chamada de vídeo suporta transições contínuas; e um controlador de chamada configurado para transicionar continuamente uma chamada do aplicativo de chamada de áudio para o aplicativo de chamada de vídeo.
[006] As tecnologias podem incluir um ou mais meios de armazenamento legíveis por computador possuindo codificadas no mesmo instruções executáveis por computador causando que um sistema de computação execute um método compreendendo: durante uma chamada de áudio com um dispositivo remoto, determinar se condições da rede suportam uma chamada de vídeo, confirmando que um aplicativo de comunicação suportando transições contínuas para uma chamada de vídeo está registrado em um dispositivo de comunicação local, e verificando que o dispositivo remoto suporta uma chamada de vídeo a partir e um aplicativo de chamada de vídeo; em resposta a determinar que a condição da rede irá suportar a chamada de vídeo que um aplicativo de comunicação suportando transições contínuas para uma chamada de vídeo está registrado no dispositivo de comunicação local, e que o dispositivo remoto suporta chamada de vídeo com um aplicativo de chamada de vídeo, iniciar a chamada de vídeo com o dispositivo remoto via o aplicativo de chamada de vídeo; suprimir áudio para a chamada de vídeo; em resposta a verificar a conectividade da chamada de vídeo, transicionar continuamente a chamada de áudio para a chamada de vídeo, onde a transição contínua compreende: i) retirar a supressão de áudio da chamada de vídeo; ii) exibir vídeo da chamada de vídeo; ii) encerrar a chamada de áudio.
[007] Como descrito neste documento, vários outros aspectos e vantagens podem ser incorporados nas tecnologias como desejado.
BREVE DESCRIÇÃO DOS DESENHOS
[008] A figura 1 é um diagrama de blocos de um sistema ilustrativo implementando transições contínuas de chamada.
[009] A figura 2 é um fluxograma de um método ilustrativo para implementar transições contínuas de chamada.
[0010] A figura 3 é um diagrama de blocos de um sistema ilustrativo configurado para determinar se transições contínuas de chamada são possíveis.
[0011] A figura 4 é um fluxograma de um método ilustrativo para determinar se transições contínuas de chamada são possíveis.
[0012] A figura 5 é um esqueleto de desenho de uma interface com o usuário de progresso de chamada ilustrativa implementando uma transição contínua de chamada.
[0013] A figura 6 é um fluxograma de um método ilustrativo para transicionar uma chamada.
[0014] A figura 7 é um fluxograma de um método ilustrativo para registrar um aplicativo de comunicação para realizar transições contínuas de chamada.
[0015] A figura 8 é um diagrama de blocos de uma tabela armazenando um aplicativo de comunicação preferido.
[0016] A figura 9 é um esqueleto de desenho de uma interface com o usuário de parâmetros ilustrativa para escolher um aplicativo preferido para um tipo de chamada.
[0017] A figura 10 é um diagrama de um sistema de computação ilustrativo no qual algumas concretizações descritas podem ser implementadas.
[0018] A figura 11 é um dispositivo móvel ilustrativo que pode ser utilizado para as tecnologias descritas neste documento.
[0019] A figura 12 é um ambiente de suporte de nuvem ilustrativo que pode ser utilizado em conjunto com as tecnologias descritas neste documento.
DESCRIÇÃO DETALHADA Exemplo 1 - Vista Geral Ilustrativa
[0020] As tecnologias descritas neste documento podem ser utilizadas para vários cenários de transição contínua de chamada, e a adoção das tecnologias pode proporcionar técnicas aprimoradas para comunicação via diferentes tipos de chamada. As interfaces com o usuário podem facilitar ainda mais as transições contínuas de chamada. Outros aspectos descritos neste documento podem ser implementados para customizar a experiência de chamada para as preferências do usuário. Uma experiência geral superior do usuário com transições suaves entre tipos de chamada pode resultar.
[0021] Adicionalmente, as tecnologias podem suportar vários aplicativos de comunicação e implementar transições contínuas de chamada através de várias arquiteturas.
[0022] Vários outros aspectos podem ser implementados e combinados como descrito neste documento.
Exemplo 2 - Sistema Ilustrativo Implementando Transições Contínuas de Chamada
[0023] A figura 1 é um diagrama de blocos de um sistema ilustrativo 100 implementando transições contínuas de chamada como descrito neste documento.
[0024] Para propósito de contexto, a figura 1 apresenta que o dispositivo de comunicação 110 está envolvido em comunicação com outro (por exemplo, remoto) dispositivo de comunicação 190 via uma ou mais redes 180.
[0025] No exemplo, um dispositivo de comunicação 110 inclui um controlador de chamada 120 e uma base de dados de contatos 125. Os dados de configuração de transições 130 podem incluir um aplicativo preferido para uso com um tipo de chamada particular. Um estado de transição de chamada 137 pode rastrear o estado da transição de chamada como descrito neste documento.
[0026] O dispositivo de comunicação 110 pode suportar duas chamadas simultâneas 172, 174 e diferentes tipos de chamada com outro dispositivo de comunicação 190. Como apresentado, as chamadas podem ser hospedadas por dois aplicativos diferentes, um aplicativo de chamada telefônica 140A em comunicação com sua contrapartida 140B e outro aplicativo de comunicação (por exemplo, que não seja de chamada telefônica) 145A em comunicação com sua contraparte 145B. Os diferentes aplicativos 140A, 140B podem ser de diferentes tipos de aplicativo. Como descrito neste documento, operação através de várias arquiteturas pode ser suportada. As chamadas podem passar através de uma ou mais redes 180. Por exemplo, as chamadas 172, 174 podem ser feitas através da mesma ou de diferentes redes 180. As chamadas podem passar através de diferentes canais de comunicação físicos ou lógicos.
[0027] Como descrito neste documento, uma transição entre as duas chamadas 172, 174 pode ser executada continuamente para fornecer a impressão de que uma única chamada está envolvida (por exemplo, a chamada ou comunicação não é interrompida). Várias técnicas, tal como iniciar a segunda chamada em segundo plano, manter a primeira chamada, suprimir áudio da segunda chamada, inibir caracterizar a segunda chamada como uma segunda chamada, e finalmente a transição para a segunda chamada pode ser aplicada para implementar transições contínuas de chamada.
[0028] Apesar de vários componentes serem apresentados em caixas separadas, na prática, os limites de componente podem variar. Por exemplo, os componentes podem ser proporcionados como parte de um sistema operacional de telefone, de controlador de chamada, dentre outros. Outras disposições são possíveis apesar de ainda implementarem as tecnologias.
[0029] Na prática, o sistema apresentado neste documento, tal como o sistema 100, pode ser mais complicado, com funcionalidade adicional, mais aplicativos de comunicação, e assim por diante.
[0030] O sistema 100 e quaisquer outros sistemas descritos neste documento podem ser implementados em conjunto com qualquer um dos componentes de hardware descritos neste documento, tais como os sistemas de computação ou dispositivos móveis descritos abaixo (por exemplo, compreendendo um ou mais processadores, memória, e assim por diante). Em qualquer um dos exemplos neste documento, as entradas, saídas, preferências, e aplicativos podem ser armazenados em um ou mais meios de armazenamento legíveis por computador ou dispositivos de armazenamento legíveis por computador. As tecnologias descritas neste documento podem ser genéricas para as espécies de sistemas operacionais ou hardware e podem ser aplicadas em qualquer variedade de ambientes para tirar vantagem dos aspectos descritos.
Exemplo 3 - Método Ilustrativo Implementando Transições Contínuas de Chamada
[0031] A figura 2 é um fluxograma de um método ilustrativo 200 para implementar transições contínuas de chamada e pode ser implementado, por exemplo, no sistema apresentado na figura 1.
[0032] O método 200 tipicamente é executado após uma primeira chamada (por exemplo, com um aplicativo de chamada telefônica) já ter sido estabelecida. Na prática, uma interface com o usuário de progresso da chamada é exibida enquanto conduzindo a primeira chamada.
[0033] Em 210, é determinado se transição contínua de chamada para uma segunda chamada de um segundo tipo de chamada (por exemplo, diferente da primeira chamada) é possível. Tal determinação pode ser feita enquanto conduzindo a primeira chamada do primeiro tipo de chamada. Como descrito neste documento, tal determinação pode ser baseada em capacidades do outro dispositivo de comunicação, das condições da rede, e assim por diante. Neste ponto, a segunda chamada não precisa estar estabelecida.
[0034] Em 220, em resposta a determinar que a transição contínua de chamada é possível, um opção é apresentada em uma interface com o usuário do dispositivo de comunicação para iniciar a transição contínua de chamada. Como descrito neste documento, tal opção pode assumir a forma de um botão gráfico que é ativado quando da determinação de que a transição contínua de chamada é possível. A opção pode ser apresentada como parte de uma interface com o usuário de progresso de chamada (por exemplo, enquanto conduzindo a primeira chamada).
[0035] Apesar de não apresentado, o método pode incluir obter consenso a partir de outro dispositivo de comunicação como descrito neste documento.
[0036] Em 230, em resposta à ativação da opção da interface com o usuário, a primeira chamada do primeiro tipo de chamada é continuamente transicionada para uma segunda chamada do segundo tipo de chamada. A segunda chamada pode ser estabelecida (por exemplo, como parte do processo de transição ou antecipadamente) enquanto mantendo a primeira chamada. Assim, para um usuário do dispositivo de comunicação, as duas chamadas parecem ser como uma chamada (por exemplo, ininterrupta). Um cenário típico é transicionar uma chamada telefônica para uma chamada VoIP (por exemplo, com ou sem vídeo), mas outras transições são possíveis como descrito neste documento.
[0037] Durante a transição contínua, duas chamadas podem ser simultaneamente mantidas com o mesmo (por exemplo, outro) dispositivo de comunicação).
[0038] Várias técnicas podem ser utilizadas durante a transição contínua. Por exemplo, a segunda chamada pode ser iniciada, o áudio suprimido, e a conectividade confirmada. Subsequentemente, o áudio pode ter a supressão retirada, e a primeira chamada pode ser abandonada.
[0039] Quando da transição para a segunda chamada, quaisquer aspectos disponíveis para uma chamada do segundo tipo podem se tornar disponíveis. Como descrito neste documento, tais aspetos podem incluir funcionalidade de vídeo, de compartilhamento de tela, ou outra funcionalidade proporcionada pelo aplicativo de comunicação orquestrando a segunda chamada. Por consequência, a interface com o usuário pode ser atualizada para proporcionar ou indicar tais aspectos.
[0040] Um caso típico de uso para o método 200 é transicionar uma chamada de uma chamada telefônica através de uma chamada telefônica convencional (por exemplo, circuito comutado, celular, dentre outras) para uma chamada do Protocolo de Voz Através da Internet (VoIP). As chamadas VoIP podem suportar vídeo e outros aspectos como desejados. Entretanto, as tecnologias podem suportar transições entre outros tipos de chamada, ou transições em outra direção.
[0041] O método 200 e qualquer um dos outros métodos descritos neste documento podem ser executados por instruções executáveis por computador (por exemplo, por causar que um sistema de computação execute o método) armazenadas em um ou mais meios legíveis por computador (por exemplo, armazenamento ou outros meios tangíveis) ou armazenadas em um ou mais dispositivos de armazenamento legíveis por computador.
Exemplo 4 - Dispositivo de Comunicação Ilustrativo Implementando Transições Contínuas de Chamada
[0042] A figura 3 é um diagrama de blocos apresentando um sistema ilustrativo 300 configurado para determinar se transições contínuas de chamada são possíveis. No exemplo, um dispositivo de comunicação 305 (por exemplo, dispositivo de comunicação 110 da figura 1) compreende um aplicativo de chamada telefônica 340A, um ou mais aplicativos de comunicação 345A até 349A, uma base de dados de contatos 325, e o indicador de estado de rede 355.
[0043] Várias técnicas podem ser utilizadas para determinar se uma transição contínua de chamada é possível. Em alguns casos, vários diferentes tipos de chamada podem ser suportados, e a determinação pode ser feita individualmente para os diferentes tipos de chamada (por exemplo, uma transição contínua para uma chamada de vídeo pode não ser possível, mas uma transição contínua para VoIP em vídeo pode ser possível).
[0044] Como descrito neste documento, uma determinação de se uma transição contínua de chamada para um tipo de chamada particular é possível pode depender do indicador de estado de rede 355, o qual indica se condições não rede 380 irão suportar o tipo de chamada. Uma verificação em relação à informação de registro do aplicativo 360 também pode ser executada para determinar se um aplicativo que suporta transições contínuas está registrado. Diferentes aplicativos podem ser registrados para diferentes tipos de chamada como descrito neste documento. A informação 360 pode indicar se um aplicativo particular suporta transições contínuas (por exemplo, pelo tipo de chamada).
[0045] A determinação também pode depender das capacidades do outro dispositivo de comunicação 390. Uma técnica para determinar as capacidades do outro dispositivo de comunicação 390 é armazenar informação de forma local (por exemplo, associada com a base de dados de contatos 325). Por exemplo, se um dispositivo for conhecido como possuindo capacidades de vídeo, uma entrada na base de dados (por exemplo, baseada no número do telefone ou em outro endereço) pode ser anotada para indicar que o dispositivo possui capacidades de vídeo. O dispositivo de comunicação 305 pode periodicamente atualizar o depósito local por se comunicar com o serviço do aplicativo 385 (por exemplo, para determinar se contatos na base de dados de contatos 387 combinam com estes na base de dados local 325).
[0046] Entretanto, um usuário pode possuir vários dispositivos que utilizam o mesmo endereço ou nome de usuário para um serviço de comunicação particular. Por consequência, as capacidades podem ser determinadas pela comunicação com um aplicativo de comunicação contraparte 345B no outro dispositivo de comunicação 390. Ou, um serviço do aplicativo 385 pode ativamente atualizar a condição de dispositivos rastreados (por exemplo, se eles estão conectados, qual versão de software eles possuem, etc.).
[0047] Em alguns casos, nenhum aplicativo de comunicação 345A até 349A está presente. Ou, nenhum aplicativo de comunicação de um tipo particular pode estar presente. Em tal caso, apesar de uma transição contínua de chamada não ser imediatamente possível, uma opção na interface com o usuário atual pode ser apresentada, pela qual um aplicativo de comunicação apropriado pode ser obtido como descrito neste documento. Por consequência, a transição contínua pode então ser possível. Assim, os usuários podem ser proveitosamente informados de que a funcionalidade de transição é uma possibilidade em seu dispositivo.
[0048] De forma similar, se um aplicativo estiver presente, mas não configurado ou ativado, uma opção na interface com o usuário atual pode ser apresentada, pela qual o aplicativo de comunicação pode ser configurado ou ativado. Novamente, os usuários podem ser proveitosamente informados de que a funcionalidade de transição é uma possibilidade em seu dispositivo.
Exemplo 5 - Método Ilustrativo Implementando Transições Contínuas de Chamada
[0049] A figura 4 é um fluxograma de um método ilustrativo 400 para determinar se transições contínuas de chamada são possíveis e pode ser implementado, por exemplo, no sistema apresentado na figura 3. Apesar de outras disposições serem possíveis, na prática, o método 400 é tipicamente chamado durante comunicações com outro dispositivo via uma chamada de um primeiro tipo de chamada. O método pode ser implementado para preservar a natureza contínua da transição de chamada. Por exemplo, uma opção simples da interface com o usuário pode ser apresentada durante uma chamada quando uma transição contínua é possível ao invés de requerer navegação para uma interface com o usuário especial ou separada.
[0050] Em qualquer um dos exemplos neste documento (por exemplo, antes de o método 400 começar, durante o método 400, ou coisa parecida), pode ser determinado se um aplicativo de comunicação do segundo tipo de chamada está disponível (por exemplo, instalado, registrado, configurado para estar ativo, ou coisa parecida) no dispositivo de comunicação local. Como descrito neste documento, se vários aplicativos de comunicação suportando um tipo de chamada particular estiverem disponíveis, um aplicativo favorito ou preferido pode ser armazenado para o tipo de chamada. O aplicativo preferido pode então ser utilizado por todo o processo de transição contínua. A determinação também pode incluir determinar se o aplicativo suporta transições contínuas (por exemplo, para um tipo de chamada particular).
[0051] Se um aplicativo de comunicação do segundo tipo de chamada não estiver disponível, pode ser exibida uma opção na interface com o usuário atual como descrito neste documento para obter o aplicativo, ativar o mesmo, configurar o mesmo, e assim por diante. Caso contrário, em resposta a determinar que um aplicativo de comunicação do segundo tipo de chamada está disponível, o método pode continuar. Assim, é confirmado se um aplicativo de comunicação do segundo tipo de chamada está disponível no dispositivo de comunicação local.
[0052] Em 410, é determinado se o outro dispositivo de comunicação suporta uma segunda chamada do segundo tipo de chamada. Como descrito neste documento, tal determinação pode ser feita de vários modos.
[0053] Determinar se o outro dispositivo suportar chamadas pode ser realizado por consultar informação local sobre o outro dispositivo de comunicação. Por exemplo, uma base de dados de contatos local (por exemplo, catálogo de endereços) pode ser verificada para ver se o outro dispositivo de comunicação (por exemplo, cujo número pode ser encontrado via o id do chamador ou foi discado) ou um usuário associado com o outro dispositivo de comunicação (por exemplo, o usuário está armazenado nos contatos locais como associado com o número da chamada atual) possui uma conta em um provedor de serviço suportando chamadas do segundo tipo de chamada. Se for assim, pode ser assumido que o outro dispositivo suporta tais chamadas. O catálogo de endereços pode ser aprimorado ou suplementado para indicar se transições contínuas são possíveis. Informações tais como tipo de plataforma, versão da plataforma, tipo de aplicativo, versão de aplicativo, dentre outras, podem ser armazenadas, consultadas, ou ambos, para determinar se o outro dispositivo pode implementar transições contínuas.
[0054] Outras técnicas incluem verificar continuamente (por exemplo, consultar) o outro dispositivo de comunicação. Tal verificação pode ser feita por fazer troca de sinais entre um aplicativo local e o aplicativo remoto (por exemplo, ou versões em segundo plano do aplicativo) que suporta chamadas do segundo tipo de chamada. Por exemplo, se um aplicativo preferido for indicado para um tipo de chamada particular, uma consulta pode ser feita para ver se o outro dispositivo possui uma instância ou ouvinte em segundo plano em vez do aplicativo. Ou, o controlador de chamada ou outro software pode armazenar tal informação para evitar ter que chamar os aplicativos.
[0055] Outra técnica é consultar um serviço aplicativo (por exemplo, um servidor associado com o aplicativo de comunicação suportando o segundo tipo de chamada) para ver se um número ou contato (por exemplo, associado com o outro dispositivo) é reconhecido. O reconhecimento pode incluir se o número ou contato está registrado, ativo, ou ambos.
[0056] Para facilitar a determinação, uma chamada de interface de programação de aplicativo pode ser definida para aplicativo de comunicação, pela qual um aplicativo de comunicação local pode ser consultado para proporcionar uma resposta com respeito a se o outro dispositivo possui capacidades apropriadas. Entradas podem incluir um tipo de chamada, um identificador de usuário (por exemplo, número, endereço, ou coisa parecida), ou ambos.
[0057] Em 420, é determinado se uma rede atual está apta a suportar uma chamada do segundo tipo de chamada. Por exemplo, se conectividade com alguns tipos de redes estiver indisponível ou instável, o tipo de chamada pode não ser possível. O dispositivo de comunicação pode armazenar um ou mais indicadores de estado de rede ou indicadores de condição de conectividade de rede para indicar a condição das respectivas redes. Tais redes podem incluir conexões de dados sem uso de fios proporcionadas por operadores móveis (por exemplo, 3G, 4 G, 4 G LTE, WiMAX, dentre outras), conexões Wi-Fi, dentre outras. Diferentes indicadores de condição podem ser armazenados para diferentes redes. Assim, determinar se é possível transicionar continuamente pode compreender determinar se um indicador de condição de conectividade de rede indica que o segundo tipo de chamada é possível.
[0058] Se ambas as determinações indicarem que uma transição contínua para uma chamada do segundo tipo é possível (por exemplo, o outro dispositivo possui a capacidade e a rede irá suportar o segundo tipo de chamada), então uma opção para iniciar a transição pode ser proporcionada como descrito neste documento. Outras condições podem ser incorporadas na determinação.
Exemplo 6 - Tipos de Chamada Ilustrativos
[0059] Em qualquer um dos exemplos neste documento, as tecnologias podem suportar vários diferentes tipos de chamada. Um tipo de chamada que é quase onipresente nos dispositivos de comunicação atuais é a chamada telefônica padrão (móvel) (por exemplo, comutada ou gerenciada via uma infraestrutura de operador móvel), que é algumas vezes denominada de uma "chamada celular", mesmo que, no entanto, a tecnologia subjacente possa não ser celular. Outros tipos de chamadas incluem chamadas VoIP, as quais em algumas implementações adicionalmente podem ser divididas em chamadas VoIP somente de voz, chamadas VoIP de vídeo, dentre outras. Os tipos de chamada RCS ou RCS-e também podem ser suportadas.
[0060] As tecnologias podem suportar vários modos de designar os tipos de chamada. Por exemplo, as chamadas orquestradas por diferentes aplicativos de comunicação que compartilham algumas características podem ser consideradas como sendo o mesmo tipo de chamada (por exemplo, chamadas Skype e chamadas Viber são consideradas como sendo do tipo de chamada de vídeo). Ou, tais chamadas podem ser implementadas como tipos de chamada diferentes (por exemplo, um tipo de chamada para uma chamada Skype e outro tipo de chamada para uma chamada Viber).
[0061] Na prática, diferentes tipos de chamada podem ser realizados através de diferentes canais ou através de diferentes redes. Entretanto, algumas ou todas as pernas podem compartilhar a mesma infraestrutura de rede.
Exemplo 7 - Tipos de Aplicativo de Comunicação Ilustrativos
[0062] Em adição a um aplicativo ("app") de comunicação que suporta chamadas telefônicas padrão, em qualquer um dos exemplos neste documento, uma ampla variedade de outros tipos de aplicativo de comunicação (por exemplo, aplicativos de chamada que não é de telefone) pode ser suportada em um único dispositivo. Na prática, tais aplicativos de comunicação podem ser proporcionados por diferentes partes (por exemplo, terceiras) (por exemplo, proporcionados e mantidos por uma entidade diferente da entidade que proporciona e mantém o software para o sistema operacional do telefone, do controlador de chamada, do aplicativo de chamada telefônica, dentre outras). Tipos de aplicativo ilustrativos que podem ser suportados incluem aplicativos de vídeo, aplicativo VoIP (por exemplo, que pode suportar vídeo), dentre outros.
[0063] Na prática, tais tipos de aplicativo podem ser associados com provedores de serviço que dão origem ao software para realizar comunicações e manter servidores que facilitam as conexões ou outra funcionalidade. Por exemplo, o aplicativo SkypeTM proporcionado pela Microsoft Corporation, o aplicativo Viber proporcionado pela Viber Media Inc., o aplicativo TangoTM proporcionado pela TangoME, Inc., e outros, são aplicativos disponíveis que podem ser suportados. Vários aplicativos RCS e RCS-e proporcionados pelos operadores móveis também podem ser suportados.
[0064] Adicionalmente, dentro de um serviço particular, podem existir diferentes aplicativos reais para diferentes plataformas ou versões de hardware. Por exemplo, um aplicativo SkypeTM pode ser implementado em vários sistemas operacionais. Assim, um único provedor de serviço pode dar origem a aplicativos de comunicação a serem implementados através de diferentes plataformas (por exemplo, sistemas operacionais). Por exemplo, um aplicativo de comunicação SkypeTM pode ser proporcionado em vários sistemas operacionais Windows® se originando da Microsoft Corporation, nos sistemas operacionais iOS e Mac se originando a partir da Apple Inc., no sistema operacional AndroidTM se originando da Google Inc., e assim por diante. Para propósito de conveniência, tal coleção de aplicativos algumas vezes é denominada de "família de aplicativos" associada com um serviço de comunicação.
[0065] Assim, um aplicativo contraparte em relação a outro dispositivo não precisa ser o mesmo aplicativo real. Um aplicativo contraparte para uma plataforma diferente pode ser utilizado para estabelecer comunicações. As tecnologias neste documento podem distinguir as diferentes versões e plataformas para determinar se transições contínuas de chamada são possíveis e então por consequência implementar as mesmas.
[0066] Os aplicativos podem ser vir como pontos finais para as chamadas. Assim, uma transição contínua pode transicionar de um conjunto de pontos finais (por exemplo, aplicativos de chamada telefônica) para outro conjunto de pontos finais (por exemplo, aplicativos em uma família de aplicativos associada com um serviço de comunicação).
Exemplo 8 - Autodetecção de Capacidades Ilustrativa
[0067] A autodetecção dos aplicativos de comunicação instalados no outro dispositivo de comunicação que suporta transições contínuas de chamada pode ser implementada para determinar se existe qualquer interseção com aplicativos no dispositivo local. Assim, se ambos os dispositivos possuírem um aplicativo em comum que suporta transições contínuas de chamada para uma chamada do segundo tipo de chamada, o aplicativo compartilhado pode ser designado como o aplicativo a ser utilizado. Se vários aplicativos forem compartilhados, as preferências do usuário podem ser consultadas. Em alguns casos, se um aplicativo suporta transição contínua pode depender das plataformas ou versão do aplicativo.
[0068] Assim, pode ser determinado que as partes envolvidas na primeira chamada ambas assinam o mesmo serviço. Uma atualização contínua para um tipo de chamada suportado pelo serviço então pode ser realizada.
Exemplo 9 - Implementação Ilustrativa: Atualização para Chamada de Vídeo
[0069] As tecnologias descritas neste documento podem ser implementadas para atualizar uma chamada telefônica de voz para uma chamada de voz. Em tal caso, o primeiro tipo de chamada é uma chamada telefônica (por exemplo, áudio sem vídeo), e o segundo tipo de chamada é uma chamada de vídeo (por exemplo, tipicamente vídeo e áudio via VoIP). A linguagem e os ícones indicativos de vídeo podem ser utilizados por toda a interface com o usuário para indicar que uma chamada pode ser atualizada para vídeo utilizando as tecnologias de transição contínua de chamada descritas neste documento. Assim, a transição contínua atualiza de uma chamada de áudio para uma chamada de vídeo.
[0070] Assim, por exemplo, quando duas partes estão falando como parte de uma chamada celular, elas podem atualizar a chamada celular para uma chamada de vídeo por transicionar continuamente a chamada para um tipo de chamada de vídeo.
[0071] Tal implementação pode ser realizada com um sistema compreendendo um aplicativo de chamada de áudio executável e um aplicativo de chamada de vídeo executável. O controlador de chamada pode ser configurado para transicionar continuamente uma chamada do aplicativo de chamada de áudio para o aplicativo de chamada de voz.
Exemplo 10 - Implementação Ilustrativa: Atualização para VoIP
[0072] As tecnologias descritas neste documento podem ser implementadas para atualizar uma chamada telefônica celular para uma chamada VoIP. Em tal caso, o primeiro tipo de chamada é uma chamada celular (por exemplo, áudio sem vídeo), e o segundo tipo de chamada é uma chamada VoIP. Linguagem e ícones indicativos de VoIP podem ser utilizados por toda a interface com o usuário para indicar que uma chamada pode ser atualizada para VoIP utilizando tecnologias de transição contínua de chamada descritas neste documento. Assim, a transição contínua atualiza de uma chamada celular para uma chamada VoIP.
[0073] Assim, por exemplo, quando duas partes estão falando como parte de uma chamada celular, elas podem atualizar a chamada VoIP para uma chamada de vídeo por transicionar continuamente a chamada para um tipo de chamada VoIP.
[0074] Tal implementação pode ser realizada com um sistema compreendendo um aplicativo de chamada de telefone executável e um aplicativo de chamada VoIP executável. O controlador de chamada pode ser configurado para transicionar continuamente uma chamada de um aplicativo de chamada telefônica para o aplicativo de chamada VoIP.
Exemplo 11 - Opção de Interface com o Usuário Ilustrativa para Chamar Transição Contínua de Chamada
[0075] Em qualquer um dos exemplos neste documento, uma opção de interface com o usuário pode ser apresentada, pela qual a transição contínua de chamada pode ser chamada. Como descrito neste documento, tal opção pode ser apresentada condicionalmente, baseada em se tal transição de chamada é possível.
[0076] A figura 5 é um esqueleto de desenho de uma interface com o usuário de progresso de chamada ilustrativa 500 e inclui um elemento da interface com o usuário que pode ser ativado 535 para iniciar a transição. Na prática, o elemento da interface com o usuário 535 pode ser representado como desativado (por exemplo, acinzentado, desvanecido, ou coisa parecida) quando não disponível e ativado quando disponível. Por exemplo, o elemento da interface com o usuário pode ser representado como desativado quando as condições de rede não suportam o segundo tipo de chamada.
[0077] O elemento da interface com o usuário 535 pode incorporar uma descrição, texto, logotipo, gráfico, ou outra informação que indique qual aplicativo ou tipo de chamada (por exemplo, da segunda chamada) está em questão. Por exemplo, para transições para um tipo de chamada de vídeo, uma câmera de vídeo ou ícone similar pode ser apresentado.
[0078] No exemplo, o elemento da interface com o usuário 535 é representado como parte de uma interface com o usuário de progresso da chamada (por exemplo, chamada em andamento, chamada recebida, ou no meio da chamada) enquanto conduzindo a primeira chamada. A interface com o usuário inclui uma fotografia 520 da outra parte, e vários outros elementos da interface com o usuário para controlar uma chamada atual (por exemplo, botão de alto-falante 531, botão de mudo 532, botão de adição de chamada 533, botão de colocar em espera 534, e botão Bluetooth 539). Na prática, outros elementos ou elementos da interface com o usuário adicionais podem ser apresentados.
[0079] Nos casos onde as transições contínuas de chamada não estão disponíveis devido a nenhum aplicativo de comunicação aplicável estar instalado, um elemento da interface com o usuário ainda pode ser apresentado. Assim, pode ser determinado que um aplicativo para suportar chamadas do segundo tipo não está instalado no dispositivo de comunicação, e uma opção como parte de uma interface com o usuário do progresso da chamada pode ser apresentada para iniciar um processo de instalação para o aplicativo no dispositivo de comunicação.
[0080] Tal elemento da interface com o usuário pode chamar atenção para o fato de que um aplicativo suportando transições contínuas de chamada poderia ser instalado (por exemplo, via um ícone, gráficos, texto, cor, ou coisa parecida). A ativação do elemento da interface com o usuário pode levar à exibição de uma lista de aplicativos de comunicação suportados. A ativação de um aplicativo na lista pode resultar em navegação até uma página de mercado onde o aplicativo pode ser adquirido. Ou, a ativação do elemento da interface com o usuário pode resultar em navegação contínua até um mercado de aplicativos ou página de mercado onde um aplicativo de comunicação apropriado pode ser comprado.
[0081] Apesar de o elemento da interface com o usuário 535 poder ser ativado quando da determinação de que uma transição de chamada é possível, a determinação não precisa ser completamente precisa. Por exemplo, pode ser que outra parte não mais assine o serviço relevante, ou que condição de rede desde então tenha deteriorado.
[0082] Uma implementação pode suportar vários elementos de interface com o usuário 535 para transição. Por exemplo, diferentes elementos podem ser apresentados para diferentes tipos de chamada, diferentes serviços, ou diferentes características de chamada (por exemplo, vídeo, compartilhamento de tela, dentre outras). Ou, um único elemento 535 pode suportar vários tipos de chamada (por exemplo, via tocar e manter pressionado, comportamento de aprendizado do usuário, dentre outros).
[0083] Se desejado, uma preferência pode ser estabelecida de modo que transições automaticamente aconteçam quando disponíveis.
Exemplo 12 - Ativação Ilustrativa
[0084] Em qualquer um dos exemplos neste documento, um elemento da interface com o usuário pode assumir a forma de um elemento da interface com o usuário exibido ou implícito que pode ser ativado por um usuário. Tais elementos podem assumir a forma de colocados lado a lado, de ícones, de botões gráficos, de áreas, itens em uma lista, formatos, controles deslizantes, ou coisa parecida, apresentados como parte de uma interface gráfica com o usuário. O elemento da interface com o usuário pode incluir texto, elementos gráficos, ou cor para indicar funcionalidade.
[0085] Uma ativação (por exemplo, de um elemento da interface com o usuário que pode ser ativado) pode assumir a forma de entrada do usuário indicativa de seleção (por exemplo, do elemento da interface com o usuário que pode ser ativado). Por exemplo, em sistemas suportando toque, um toque leve, pairar sobre, ou outro gesto de toque pode ser recebido. Outros sistemas podem suportar clique, pairar sobre o elemento, ativação por voz, cintilar, piscar e assim por diante.
Exemplo 13 - Pontos de Contato Ilustrativos
[0086] Em qualquer um dos exemplos neste documento, vários tipos de número ou de endereço podem ser suportados (por exemplo, cada, móvel, trabalho, dentre outros). Um ponto de contato pode assumir a forma de um número ou endereço associado com um contato. Por exemplo, um ponto de contato pode ser um número de telefone ou endereço do usuário para um contato, tal como um número do trabalho para um contato, um número móvel para um contato, ou um número de cada para um contato.
[0087] Quando determinando a identidade de uma parte utilizando o outro dispositivo de comunicação, o número do telefone do outro dispositivo de comunicação pode ser utilizado para pesquisar um contato que possui um ponto de contato associado. A entrada do contato então pode ser utilizada para encontrar um número ou endereço do usuário para o aplicativo de comunicação que está orquestrando a segunda chamada. Por exemplo, um número de telefone pode ser utilizado para determinar um endereço do usuário para uma chamada VoIP.
Exemplo 14 - Consentimento Ilustrativo
[0088] Em qualquer um dos exemplos neste documento, uma oportunidade pode ser dada para consentir a transição de chamada no outro dispositivo de comunicação antes da segunda chamada ser ativada ou iniciada. Por exemplo, quando transicionando para um tipo de chamada que suporta vídeo, a outra parte pode não desejar que seu dispositivo envie vídeo.
[0089] Uma interface com o usuário pode ser exibida, a qual obtém consentimento a partir de um usuário. Informação sobre a parte solicitante e o tipo de chamada pode ser apresentada (por exemplo, "Ellen está solicitando que a chamada agora inclui vídeo. OK?"). Em resposta à recepção do consentimento, a transição pode continuar.
[0090] Para obter a atenção do usuário, um tom ou outra indicação de áudio pode ser reproduzida quando solicitando consentimento.
[0091] Se desejado, o consentimento pode ser implementado de modo que a transição de chamada aconteça enquanto respeitando a intenção do usuário. Por exemplo, a chamada pode ser atualizada para VoIP, mas o vídeo a partir do lado que não consentiu não é incluído. Ou, opções adicionais podem ser apresentadas para o usuário. Por exemplo, consentimento independente para atualização e inclusão de vídeo pode ser implementado.
[0092] Em alguns casos, o consentimento pode não ser suportado, e a experiência a partir do lado da pessoa chamada aparece como uma chamada que chega.
Exemplo 15 - Método ilustrativo para Transicionar uma Chamada
[0093] A figura 6 é um fluxograma de um método ilustrativo 600 para transicionar uma chamada e pode ser implementado, por exemplo, no sistema apresentado na figura 1. Um sistema implementando o método também pode incluir um identificador único da primeira chamada e a lógica de supressão de áudio como descrito neste documento.
[0094] Em 620, uma segunda chamada de um segundo tipo de chamada (por exemplo, diferente do primeiro) é iniciada a partir do dispositivo de comunicação local para o outro dispositivo de comunicação. A chamada pode ser feita em segundo plano (por exemplo, não é apresentada para o usuário como uma chamada separada). Enquanto isso, a primeira (por exemplo, atual) chamada é mantida ativa. Por exemplo, se a segunda chamada tipicamente resultar na primeira chamada sendo colocada em espera, tal funcionalidade pode ser inibida. Como descrito neste documento, o áudio da segunda chamada pode ser suprimido.
[0095] Apesar de a segunda chamada poder ser feita em segundo plano, alguma indicação do progresso pode ser proporcionada sem fornecer a impressão de que a segunda chamada foi feita. Por exemplo, enquanto aguardando conexão, uma animação de letreiro, ou mecanismo indicativo de preparação para transição pode ser apresentado. Além disso, o elemento de interface com o usuário que iniciou a transição pode ser desativado.
[0096] Em 630, a conectividade da segunda chamada é confirmada. Por exemplo, pode ser determinado se a segunda chamada foi estabelecida com sucesso com o outro dispositivo de comunicação. Assim, a segunda chamada é estabelecida (por exemplo, através de um segundo canal) enquanto mantendo a primeira chamada. Se por alguma razão a conectividade não for estabelecida com sucesso (por exemplo, após n segundos), o processo pode abortar e a primeira chamada ainda contínua.
[0097] Em 640, em resposta a confirmar a conectividade da segunda chamada, a segunda chamada pode ser tornada totalmente ativa. Em algumas implementações, a primeira chamada pode então ser colocada em espera, terminada, abandonada, ou de outro modo se tornar inativa. Para facilitar a desativação da primeira chamada, um identificador único pode ser utilizado para identificar a primeira chamada. Para evitar desativação indesejável ou não autorizada da primeira chamada, um identificador único simplista pode ser evitado. Ao invés disso, um esquema de geração de identificador mais complexo (por exemplo, GUID ou coisa parecida) pode ser utilizado para identificar a chamada.
[0098] Como parte da transição, recursos de áudio podem ser trocados para melhor facilitar o segundo tipo de chamada. Por exemplo, se o segundo tipo de chamada for vídeo, o áudio pode ser trocado do microfone de ouvido para o alto-falante para facilitar o uso da câmera. Se áudio Bluetooth estiver sendo utilizado, então os recursos de áudio não precisam ser traçados.
[0099] Como descrito, o método 600 pode realizar a troca de aplicativos (por exemplo, trocar entre uma chamada suportada por um tipo de aplicativo para uma chamada suportada por um tipo de aplicativo diferente) enquanto mantendo a impressão e que uma única chamada está envolvida.
[00100] Quando transicionando para tipos de chamada que incluem vídeo, vídeo local pode ser apresentado no dispositivo (por exemplo, para fornecer para o usuário uma oportunidade de verificar a aparência) durante um período intersticial antes do vídeo local se tornar visível para o outro dispositivo de comunicação. O áudio a partir da primeira chamada pode continuar durante o período intersticial.
[00101] No dispositivo da pessoa chamada, a transição contínua pode ser implementada de uma maneira similar. Entretanto, a chamada que chega pode ser denotada como uma chamada especial que é para ser tratada como parte da transição contínua. Assim, ao invés de apresentar a chamada que chega como uma chamada que chega, ela pode ser manuseada no segundo plano, e a transição para a chamada que chega então pode ser realizada continuamente. O consentimento pode ser obtido como descrito neste documento.
[00102] Em alguns casos, as condições da rede podem deteriorar, solicitando uma transição de volta para o tipo e chamada da primeira chamada. Tal transição pode ser executada continuamente como descrito neste documento. O consentimento da outra parte pode não ser possível ou requerido (por exemplo, quando removendo vídeo de uma chamada).
Exemplo 16 - Supressão de Áudio Ilustrativa
[00103] Em qualquer um dos exemplos neste documento, o áudio para uma segunda chamada pode ser suprimido antes do mesmo ser tornado ativo. Tal técnica pode evitar duplicação de áudio, produção de eco, e assim por diante. A supressão da chamada pode ser controlada pelo controlador de chamada ou por outro componente.
Exemplo 17 - Sequência de Interface com o Usuário Ilustrativa
[00104] Em qualquer um dos exemplos neste documento, a interface com o usuário pode sequenciar entre a interface com o usuário original (por exemplo, uma UI de progresso da chamada) e a interface com o usuário do aplicativo de comunicação suportando a segunda chamada. Quando da conclusão da transição, parece que a primeira chamada se transformou para a segunda chamada. A funcionalidade do segundo tipo de chamada é então apresentada para uso no dispositivo de comunicação.
[00105] No outro dispositivo, uma solicitação em relação a consentimento pode ser apresentada, após a qual a interface com o usuário transiciona para esta suportando a segunda chamada.
Exemplo 18 - Estado de Transição de Chamada Ilustrativo
[00106] Em qualquer um dos exemplos neste documento, um estado de transição de chamada pode ser armazenado para ajudar a orquestrar o processo de transição. Tal estado pode ser implementado em conjunto ou como parte de um estado de chamada. Por exemplo, o estado pode indicar "não implementada", "inativa", "iniciando segunda chamada", "completa", ou coisa parecida.
[00107] De forma similar, como descrito neste documento, um indicador de estado de rede pode ser armazenado.
Exemplo 19 - Método Ilustrativo para Registrar um Aplicativo de Comunicação
[00108] A figura 7 é um fluxograma de um método ilustrativo 700 para registrar um aplicativo de comunicação para realizar transições contínuas de chamada e pode ser implementado, por exemplo, em qualquer um dos dispositivos de comunicação descritos neste documento.
[00109] Em 720, um aplicativo de comunicação é registrado com um dispositivo de comunicação. Por exemplo, um sistema operacional ou outro software de controle pode receber uma notificação de que um aplicativo de comunicação está sendo instalado, que ele suporta um ou mais tipos de chamada, e que ele suporta transições contínuas de chamada.
[00110] Em 730, em resposta ao registro, a configuração do dispositivo de comunicação é atualizada. Por exemplo, uma lista de aplicativos de comunicação que suportam um tipo particular de chamada pode ser atualizada pela adição do aplicativo de comunicação para a lista. Um aplicativo de comunicação preferido para um tipo particular de chamada também pode ser armazenado.
[00111] Em 740, como resultado do registro, uma opção para transicionar continuamente para uma segunda chamada de um tipo suportado pelo aplicativo de comunicação é apresentada em uma interface com o usuário do dispositivo de comunicação. Como descrito neste documento, tal opção pode ser apresentada condicionalmente ou condicionalmente ativada (por exemplo, dependendo das capacidades do outro dispositivo de comunicação, das condições da rede, e assim por diante).
[00112] Assim, durante a instalação de um aplicativo suportando um segundo tipo de chamada, o aplicativo pode ser registrado como para ser utilizado quando conduzindo transições contínuas via o segundo tipo de chamada. Subsequentemente, um elemento da interface com o usuário indicando o segundo tipo de chamada ou o aplicativo pode ser apresentado em resposta ao registro.
Exemplo 20 - Aplicativos de Comunicação Registrados
[00113] A figura 8 é um diagrama de blocos de uma tabela 800 armazenado um aplicativo de comunicação preferido e pode ser armazenada como parte de dados de configuração (por exemplo, dados de configuração de transições 130). A tabela 800 pode armazenar entradas 830 que indicam um aplicativo 830A e se o aplicativo é preferido 830B. A tabela pode ser construída e atualizada quando aplicativos de comunicação se registram. Então, a tabela pode ser consultada quando determinando se ou qual aplicativo apresentar quando apresentando uma opção da interface com o usuário para transições contínuas de chamada. Por exemplo, se o Aplicativo 3 for o aplicativo preferido, ele pode ser indicado como o aplicativo chamado quando a opção da interface com o usuário é ativada (por exemplo, por texto, elementos gráficos, logotipo, ou coisa parecida).
[00114] Outras informações (por exemplo, texto, ícone, logotipo, ou outro elemento gráfico) também podem ser armazenadas ou referenciadas na tabela e exibidas como parte do elemento da interface com o usuário (por exemplo, como parte de uma UI de progresso de chamada). A tabela pode explicitamente indicar se um aplicativo suporta transições contínuas, ou a tabela pode ser limitada a tais aplicativos de comunicação. Uma preferência separada pode ser estabelecida para propósito de transições contínuas. Assim, se existirem vários aplicativos que suportam um tipo particular de chamada, um subconjunto pode suportar transições contínuas. Se existirem vários aplicativos no subconjunto, um aplicativo particular dos aplicativos de comunicação pode ser designado como preferido.
[00115] Apesar de o exemplo apresentar aplicativos de comunicação para um único tipo de chamada, vários tipos de chamada podem ser suportados. Diferentes aplicativos podem ser indicados como preferidos para diferentes tipos de chamada.
Exemplo 21 - Configuração Ilustrativa de Aplicativos de Comunicação
[00116] A figura 9 é um esqueleto de desenho de uma interface com o usuário de parâmetros ilustrativa 900 para escolher um aplicativo preferido para um tipo de chamada. No exemplo, uma interface com o usuário para selecionar um aplicativo de comunicação preferido para um tipo particular de chamada (por exemplo, vídeo) é apresentada. Interfaces com o usuário para outros tipos de chamada ou tipos de chamada adicionais podem ser suportadas.
[00117] O aplicativo preferido pode ser apresentado na caixa 930. Se mais do que um aplicativo de comunicação estiver disponível, a caixa 930 pode ser uma caixa suspensa que permite a seleção de um aplicativo diferente. Preferências como descritas neste documento, então podem ser consequentemente atualizadas.
[00118] O texto explicativo 940 pode ser apresentado para descrever o resultado da escolha de um aplicativo particular (por exemplo, que o aplicativo selecionado será apresentado na UI de progresso de chamada). Se nenhum aplicativo estiver instalado, a interface pode exibir texto 940 indicando os resultados de obter um aplicativo de comunicação de suporte. Por exemplo, o texto pode descrever os benefícios de possuir vídeo, a disponibilidade de transições contínuas de chamada, etc. (por exemplo, "Você sabe que pode atualizar uma chamada para uma chamada de vídeo com um aplicativo de atualização?").
[00119] A interface com o usuário 900 pode exibir um elemento da interface com o usuário 950 que permite a navegação para um mercado de aplicativos onde um aplicativo de suporte pode ser obtido como descrito neste documento.
[00120] Uma técnica alternativa pode permitir que um aplicativo estabeleça a si próprio como o aplicativo preferido para um tipo de chamada particular. Os aplicativos não precisam ter acesso direto aos parâmetros. Por exemplo, durante o registro, um aplicativo pode acessar uma API (por exemplo, especificando o tipo de chamada, um identificador de aplicativo, dentre outros) para se estabelecer como o aplicativo preferido. Para impedir alterações clandestinas para a configuração, uma caixa de diálogo pode ser exibida para confirmar a alteração (por exemplo, "Torna o Aplicativo x seu aplicativo de vídeo preferido? Sim/Não"). Um aplicativo pode consultar a API para ver se ele já é preferido. Se for, nenhuma alteração é requerida.
Exemplo 22 - Vantagens Ilustrativas
[00121] Como descrito neste documento, os usuários podem facilmente tirar vantagem das capacidades de seus dispositivos sem ter que aprender novos processos ou mesmo inicialmente estarem cientes de que tais capacidades existem.
Exemplo 23 - Sistemas de Computação Ilustrativos
[00122] A figura 10 ilustra um exemplo generalizado de um sistema ou ambiente de computação adequado 1000 no qual várias inovações descritas podem ser implementadas. O sistema de computação 1000 não é pretendido para sugerir qualquer limitação quanto ao escopo de uso ou funcionalidade, à medida que inovações podem ser implementadas em diversos sistemas de computação de propósito geral ou de propósito especial. Um dispositivo de comunicação como descrito neste documento pode assumir a forma do sistema de computação descrito 1000.
[00123] Com referencia à figura 10, o sistema de computação 1000 inclui uma ou mais unidades de processamento 1010, 1015 e memória 1020, 1025. Na figura 10, esta configuração básica 1030 está incluída dentro de uma linha tracejada. As unidades de processamento 1010, 1015 executam instruções executáveis por computador. Uma unidade de processamento pode ser uma unidade central de processamento (CPU) de propósito geral, processador em um circuito integrado de aplicação específica (ASIC) ou qualquer outro tipo de processador. Em um sistema multiprocessamento, várias unidades de processamento executam instruções executáveis por computador para aumentar a capacidade de processamento. Por exemplo, a figura 10 apresenta uma unidade central de processamento 1010 bem como uma unidade de processamento de elementos gráficos ou unidade de coprocessamento 1015. A memória tangível 1020, 1025 pode ser memória volátil (por exemplo, registradores, cache, RAM), memória não volátil (por exemplo, ROM, EEPROM, memória flash, etc.), ou alguma combinação das duas, acessíveis pela unidade(s) de processamento. A memória 1020, 1025 armazena software 1080 implementando uma ou mais inovações descritas neste documento, na forma de instruções executáveis por computador adequadas para execução pela unidade(s) de processamento.
[00124] Um sistema de computação pode possuir aspectos adicionais. Por exemplo, o sistema de computação 100 inclui armazenamento 1040, um ou mais dispositivos de entrada 1050, um ou mais dispositivos de saída 1060, e uma ou mais conexões de comunicação 1070. Um mecanismo de interconexão (não apresentado) tal como um barramento, controlador, ou rede interconecta os componentes do sistema de computação 1000. Tipicamente, o software do sistema operacional (não apresentado) proporciona um ambiente operacional para outro software executando no sistema de computação 1000, e coordena as atividades dos componentes do sistema de computação 1000.
[00125] O armazenamento tangível 1040 pode ser removível ou não removível, e inclui discos magnéticos, fitas ou cassetes magnéticos, CD-ROMs, DVDs, ou qualquer outro meio que possa ser utilizado para armazenar informação de um modo não temporário e que possa ser acessado dentro do sistema de computação 1000. O armazenamento 1040 armazena instruções para o software 1080 implementando uma ou mais inovações descritas neste documento.
[00126] O dispositivo(s) de entrada 1050 pode ser um dispositivo de entrada por toque tal como um teclado, mouse, caneta, ou TrackBall, um dispositivo de entrada por voz, um dispositivo de digitalização, ou outro dispositivo que proporcione entrada para o sistema de computação 1000. Para codificação de vídeo, o dispositivo(s) de entrada 1050 pode ser uma câmera, placa de vídeo, cartão sintonizador de TV, ou dispositivo similar que aceite entrada de vídeo em forma analógica ou digital, ou um CD-ROM ou CD-RW que leia amostras de vídeo para o sistema de computação 100. O dispositivo(s) de saída 1060 pode ser um vídeo, impressora, alto-falante, gravador de CD, ou outro dispositivo que proporcione entrada a partir do sistema de computação 1000.
[00127] A conexão (conexões) de comunicação 1070 permite comunicação através de um meio de comunicação para outra entidade de computação. O meio de comunicação transporta informação tal como instruções executáveis por computador, entrada ou saída de áudio ou vídeo, ou outros dados em um sinal de dados modulado. Um sinal de dados modulado é um sinal que tem uma ou mais de suas características estabelecidas ou alteradas de uma maneira tal a codificar informação no sinal. A título de exemplo e não de limitação, o meio de comunicação pode utilizar uma portadora elétrica, ótica, RF ou outra portadora.
[00128] As inovações podem ser descritas no contexto geral de meio legível por computador. Os meios legíveis por computador são qualquer meio tangível disponível que possa ser acessado dentro de um ambiente de computação. A título de exemplo e não de limitação, com o sistema de computação 1000, meios legíveis por computador incluem a memória 1020, 1025, o armazenamento 1040, e combinações de qualquer um dos ditos acima.
[00129] As inovações podem ser descritas no contexto geral de instruções executáveis por computador, tais como estas incluídas em módulos de programa, sendo executadas em um sistema de computação em um processador alvo real ou virtual (por exemplo, as quais em última análise são executadas em hardware). Geralmente, módulos de programa incluem rotinas, programas, bibliotecas, objetos, classes, componentes, estruturas de dados, etc., que executam tarefas particulares ou implementam tipos particulares de dados abstratos. A funcionalidade dos módulos de programa pode ser combinada ou dividida entre os módulos de programa como desejado em várias concretizações. Instruções executáveis por computador para módulos de programa podem ser executadas dentro de um sistema de computação local ou distribuído.
[00130] Os termos "sistema" e "dispositivo" são utilizados de forma alternada neste documento. A não ser que o contexto claramente indique de outro modo, nenhum termo implica em qualquer limitação em relação a um tipo de sistema de computação ou dispositivo de computação. Em geral, um sistema de computação ou dispositivo de computação pode ser local ou distribuído, e pode incluir qualquer combinação de hardware de propósito especial e/ou hardware de propósito geral com software implementando a funcionalidade descrita neste documento.
[00131] Para o propósito de apresentação, a descrição detalhada utiliza termos tais como "determina", e "utiliza" para descrever operações de computador em um sistema de computação. Estes termos são abstrações de alto novel para operações executadas por um computador, e não devem ser confundidos com atos executados por um ser humano. As operações de computador reais correspondendo a estes termos variam dependendo da implementação.
Exemplo 24 - Dispositivo Móvel Ilustrativo
[00132] Em qualquer um dos exemplos neste documento, um dispositivo de comunicação pode assumir a forma de um dispositivo móvel. A figura 11 é um diagrama de sistema representando um dispositivo móvel ilustrativo 1100 incluindo vários componentes opcionais de hardware e de software, apresentados geralmente por 1102. Quaisquer componentes 1102 no dispositivo móvel podem ser comunicar com qualquer outro componente, apesar de nem todas as conexões serem apresentadas, para facilidade de ilustração. O dispositivo móvel pode ser de qualquer um dentre vários dispositivo de computação (por exemplo, telefone celular, smartphone, computador portátil, Assistente Pessoal Digital (PDA), etc.) e pode permitir comunicações bidirecionais sem uso de fios com uma ou mais redes de comunicação móvel 1104, tal como uma rede celular, por satélite, ou outra rede. O cenário de Voz através de IP (por exemplo, através da rede WiFi ou de outra rede) também pode ser suportado. Os dispositivos de comunicação descritos neste documento podem assumir a forma do dispositivo móvel descrito 1100.
[00133] O dispositivo móvel ilustrado 1100 pode incluir um controlador ou processador 1110 (por exemplo, processador de sinal, microprocessador, ASIC, ou outro conjunto de circuitos de lógica de processamento e controle) para executar tais tarefas como codificação de sinal, processamento de dados, processamento de entrada / saída, controle de energia, e/ou outras funções. Um sistema operacional 1112 pode controlar a alocação e a utilização dos componentes 1102 e suportar um ou mais programas aplicativos 1114. Os programas aplicativos 1114 podem incluir aplicativos de computação móvel comuns (por exemplo, aplicativos de e-mail, agendas, gerenciadores de contato, navegadores de Rede, aplicativos de troca de mensagens), ou qualquer outro aplicativo de computação. A funcionalidade 1113 para acessar um depósito de aplicativo também pode ser utilizada para adquirir e atualizar aplicativos 1114.
[00134] O dispositivo móvel ilustrado 1100 pode incluir memória 1120. A memória 1120 pode incluir memória não removível 1122 e/ou memória removível 1124. A memória não removível 1122 pode incluir RAM, ROM, memória flash, um disco rígido, ou outras tecnologias conhecidas de armazenamento em memória. A memória removível 1124 pode incluir memória flash ou um cartão de Módulo de Identidade de Assinante (SIM), o qual é bem conhecido nos sistemas de comunicação GSM, ou outras tecnologias bem conhecidas de armazenamento em memória, tais como "cartões inteligentes". A memória 1120 pode ser utilizada para armazenar dados e/ou código para executar o sistema operacional 1112 e os aplicativos 1114. Dados ilustrativos podem incluir páginas da Rede, texto, imagens, arquivos de som, dados de vídeo, ou outros conjuntos de dados a serem enviados e/ou recebidos para / a partir de um ou mais servidores da rede ou outros dispositivos via uma ou mais redes com uso de fios ou sem uso de fios. A memória 1120 pode ser utilizada para armazenar um identificador de assinante, tal como uma Identidade Internacional de Assinante Móvel (IMSI), e um identificador de equipamento, tal como um Identificador Internacional de Equipamento Móvel (IMEI). Tais identificadores podem ser transmitidos para um servidor da rede para identificar usuários e equipamento.
[00135] O dispositivo móvel 1100 pode suportar um ou mais dispositivos de entrada 1130, tais como uma tela sensível ao toque 1132, microfone 1134, câmera 1136, teclado físico 1138 e/ou TrackBall 1140 e um ou mais dispositivos de saída 1150, tais como um alto-falante 1152 e um vídeo 1154. Outros dispositivos de saída possíveis (não apresentados) podem incluir dispositivos de saída piezelétricos ou outros dispositivos de saída hápticos. Alguns dispositivos podem servir mais do que uma função de entrada / saída. Por exemplo, a tela sensível ao toque 1132 e o vídeo 1154 podem ser combinados em um único dispositivo de entrada / saída.
[00136] Um modem sem uso de fios 1160 pode ser acoplado com uma antena (não apresentada) e pode suportar comunicações bidirecionais entre o processador 1110 e dispositivos externos, como é bem entendido na técnica. O modem 1160 é apresentado genericamente e pode incluir um modem celular para comunicação com a rede de comunicação móvel 1104 e/ou outros modems baseados em rádio (por exemplo, Bluetooth 1164 ou Wi-Fi 1162). O modem sem uso de fios 1160 tipicamente é configurado para comunicação com uma ou mais redes celulares, tal como a rede GSM ou CDMA para comunicações de dados e voz dentro de uma única rede celular, entre redes celulares, ou entre o dispositivo móvel e uma rede de telefonia pública comutada (PSTN).
[00137] O dispositivo móvel 1100 adicionalmente pode incluir pelo menos uma porta de entrada / saída 1180, uma fonte de alimentação 1182, um receptor de sistema de navegação por satélite 1184, tal como um receptor do Sistema de Posicionamento Global (GPS), um acelerômetro 1186, e/ou um conector físico 1190, o qual pode ser uma porta USB, porta IEEE 1394 (FireWire), e/ou porta RS-232. Os componentes ilustrados 1102 não são requeridos ou todos inclusivos, à medida que quaisquer componentes podem ser apagados e outros componentes podem ser adicionados.
Exemplo 25 - Ambiente Suportado por Nuvem Ilustrativo
[00138] No ambiente ilustrativo 1200 da figura 12, a nuvem 1210 proporciona serviços para dispositivos conectados 1230, 1240, 1250 com várias capacidades de tela. O dispositivo conectado 1230 representa um dispositivo com uma tela de computador 1235 (por exemplo, uma tela de tamanho médio). Por exemplo, o dispositivo conectado 1230 poderia ser um computador pessoal tal como computador de mesa, laptop, notebook, netbook, dentre outros. O dispositivo conectado 1240 representa um dispositivo com uma tela do dispositivo móvel 1245 (por exemplo, uma tela de tamanho pequeno). Por exemplo, o dispositivo conectado 1240 poderia ser um telefone celular, smartphone, assistente pessoal digital, computador tablet, dentre outros. O dispositivo conectado 1250 representa um dispositivo com uma tela grande 1255. Por exemplo, o dispositivo conectado 1250 poderia ser uma tela de televisão (por exemplo, uma televisão inteligente) ou outro dispositivo conectado com uma televisão (por exemplo, decodificador de sinais ou console de jogo) ou coisa parecida. Um ou mais dos dispositivos conectados 1230, 1240, 1250 podem incluir capacidades de tela sensível ao toque. Telas sensíveis ao toque podem aceitar entrada de modos diferentes. Por exemplo, telas sensíveis ao toque capacitivas detectam entrada de toque quando um objeto (por exemplo, uma ponta de dedo ou caneta stylus) distorce ou interrompe uma corrente elétrica passando através da superfície. Como outro exemplo, telas sensíveis ao toque podem utilizar sensores óticos para detectar entrada de toque quando feixes a partir dos sensores óticos são interrompidos. O contato físico com a superfície da tela não é necessário para entrada ser detectada pelas telas sensíveis ao toque. Dispositivos sem capacidades de tela também podem ser utilizados no ambiente ilustrativo 1200. Por exemplo, a nuvem 1210 pode proporcionar serviços para um ou mais computadores (por exemplo, computadores servidores) sem vídeos.
[00139] Os serviços podem ser proporcionados pela nuvem 1210 através dos provedores de serviço 1220, ou através de outros provedores de serviços online (não representados). Por exemplo, os serviços em nuvem podem ser customizados para o tamanho da tela, capacidade do vídeo, e/ou para a capacidade da tela de um dispositivo conectado particular (por exemplo, os dispositivos conectados 1230, 1240, 1250).
[00140] No ambiente ilustrativo 1200, a nuvem 1210 proporciona as tecnologias e soluções descritas neste documento para os vários dispositivos conectados 1230, 1240, 1250 utilizando, pelo menos em parte, os provedores de serviço 1220. Por exemplo, os provedores de serviço 1220 podem proporcionar uma solução centralizada para vários serviços baseados em nuvem. Os provedores de serviço 1220 podem gerenciar assinaturas de serviço para usuários e/ou dispositivos (por exemplo, para os dispositivos conectados 130, 1240, 1250 e/ou seus respectivos usuários).
Exemplo 26 - Implementações Ilustrativas
[00141] Apesar de as operações de alguns dos métodos revelados serem descritas em uma ordem sequencial particular para apresentação conveniente, deve ser entendido que esta maneira de descrição abrange reordenação, a não ser que uma ordenação particular seja requerida por linguagem específica exposta abaixo. Por exemplo, as operações descritas sequencialmente podem ser em alguns casos reordenadas ou executadas simultaneamente. Além disso, para o propósito de simplicidade, as figuras anexas podem não apresentar os vários modos nos quais os métodos revelados podem ser utilizados em conjunto com outros métodos.
[00142] Qualquer um dos métodos revelados pode ser implementado como instruções executáveis por computador armazenadas em um ou mais meios de armazenamento legíveis por computador (por exemplo, meio não temporário legível por computador, tal como um ou mais discos de meio ótico, componentes de memória volátil (tais como DRAM e SRAM), ou componentes de memória não volátil (tais como unidades de disco rígido) e executados em um computador (por exemplo, qualquer computador comercialmente disponível, incluindo smartphones ou outros dispositivos móveis que incluem hardware de computação). Qualquer uma das instruções executáveis por computador para implementar as técnicas reveladas bem como quaisquer dados criados e utilizados durante a implementação das concretizações reveladas pode ser armazenada em um ou mais meios legíveis por computador (por exemplo, meio não temporário legível por computador). As instruções executáveis por computador podem ser parte, por exemplo, de um aplicativo de software dedicado ou de um aplicativo de software que seja acessado ou transferido via um navegador da Rede ou outro aplicativo de software (tal como um aplicativo de computação remoto). Tal software pode ser executado, por exemplo, em um único computador local (por exemplo, computador adequado comercialmente disponível) ou em um ambiente em rede (por exemplo, via a Internet, uma rede de longa distância, uma rede de área local, uma rede cliente - servidor (tal como uma rede de computação em nuvem), ou outra rede) utilizando um ou mais computadores da rede.
[00143] Para clareza, somente alguns aspectos selecionados das implementações baseadas em software são descritos. Outros detalhes que são bem conhecidos na técnica são omitidos. Por exemplo, deve ser entendido que a tecnologia revelada não está limitada a qualquer linguagem ou programa de computador específico. Por exemplo, a tecnologia revelada pode ser implementada por software escrito em C++, Java, Perl, JavaScript, Adobe Flash, ou qualquer outra linguagem de programação adequada. Da mesma forma, a tecnologia revelada não está limitada a qualquer computador ou tipo de hardware particular. Alguns detalhes de computadores e hardware adequados são bem conhecidos e não precisam ser expostos em detalhes nesta revelação.
[00144] Adicionalmente, qualquer uma das concretizações baseadas em software (compreendendo, por exemplo, instruções executáveis por computador para causar que um computador execute qualquer um dos métodos revelados) pode ser carregada, transferida, ou remotamente acessada através de um meio de comunicação adequado. Tal meio de comunicação inclui, por exemplo, a Internet, a Rede Ampla Mundial, uma Intranet, aplicativos de software, cabo (incluindo cabo de fibra ótica), comunicações magnéticas, comunicações eletromagnéticas (incluindo RF, micro-ondas, e comunicações por infravermelho), comunicações eletrônicas, ou outros meios de comunicação.
[00145] Os métodos, aparelho e sistemas revelados não devem ser construídos como limitativos de qualquer modo. Ao invés disso, a presente revelação é direcionada para todos os aspectos e características novos e não óbvios das várias concretizações reveladas, sozinhos e em várias combinações e subcombinações uns com os outros. Os métodos, aparelho e sistemas revelados não estão limitados a qualquer aspecto ou característica específica ou combinação dos mesmos, nem as concretizações reveladas requerem que qualquer uma ou mais vantagens específicas estejam presentes ou problemas sejam resolvidos.
Meio Não Temporário Legível por Computador
[00146] Qualquer um dos meios legíveis por computador neste documento pode ser não temporário (por exemplo, memória, armazenamento magnético, armazenamento ótico, dentre outros).
Armazenando em Meio Legível por Computador
[00147] Qualquer uma das ações de armazenamento descritas neste documento pode ser implementada por armazenar em um ou mais meios legíveis por computador (por exemplo, meio de armazenamento legível por computador ou outro meio tangível).
[00148] Qualquer uma das coisas descritas como armazenada pode ser armazenada em um ou mais meios legíveis por computador (por exemplo, meio de armazenamento legível por computador ou outro meio tangível).
Métodos no Meio Legível por Computador
[00149] Qualquer um dos métodos descritos neste documento pode ser implementado por instruções executáveis por computador (por exemplo, codificadas no) em um ou mais meios legíveis por computador (por exemplo, meio de armazenamento legível por computador ou outro meio tangível). Tais instruções podem causar que um computador execute o método. As tecnologias descritas neste documento podem ser implementadas em várias linguagens de programação.
Métodos nos Dispositivos de Armazenamento Legíveis por Computador
[00150] Qualquer um dos métodos descritos neste documento pode ser implementado por instruções executáveis por computador armazenadas em um ou mais dispositivos de armazenamento legíveis por computador (por exemplo, memória, armazenamento magnético, armazenamento ótico, dentre outros). Tais instruções podem causar que um computador execute o método.
Combinações Ilustrativas
[00151] Várias combinações podem ser suportadas. Por exemplo, uma interface com o usuário de chamada recebida pode ser combinada com a interface com o usuário de chamada em progresso (por exemplo, após a chamada recebida ser aceita). A interface com o usuário de chamada em progresso pode ser combinada com a interface com o usuário de chamada em progresso em segundo plano (por exemplo, se a chamada se mover para o segundo plano).
[00152] A interface com o usuário de chamada em progresso pode ser combinada com a interface com o usuário inicial (por exemplo, se a navegação ocorrer para a interface com o usuário inicial durante a chamada). Em tal caso, a interface com o usuário de chamada em progresso em segundo plano também pode ser exibida.
[00153] A interface com o usuário para iniciar comunicações pode ser combinada com qualquer uma das outras interfaces com o usuário.
Alternativas
[00154] As tecnologias a partir de qualquer exemplo podem ser combinadas com as tecnologias descritas em qualquer um ou mais dos outros exemplos. Onde a palavra "ilustrativo" é utilizada, é pretendido indicar um exemplo e não uma concretização ideal. Em vista de várias concretizações possíveis para as quais os princípios da tecnologia revelada podem ser aplicados, deve ser reconhecido que as concretizações ilustradas são exemplos da tecnologia revelada e não devem ser consideradas como uma limitação em relação ao escopo da tecnologia revelada. Ao invés disso, o escopo da tecnologia revelada inclui o que é coberto pelas reivindicações seguintes. Portanto, é reivindicado como invenção tudo que surja dentro do escopo e espírito das reivindicações.

Claims (10)

1. Método implementado por um dispositivo de comunicação (110), o método caracterizado pelo fato de que compreende: enquanto conduz uma primeira chamada de um primeiro tipo de chamada com o dispositivo de comunicação, em que a primeira chamada é entre o dispositivo de comunicação e um outro dispositivo de comunicação (190), exibir uma interface com o usuário de progresso de chamada (500) para a primeira chamada do primeiro tipo de chamada e determinar (210) se é possível transicionar continuamente para uma segunda chamada de um segundo tipo de chamada, em que determinar se é possível transicionar continuamente compreende determinar se um aplicativo de comunicação do segundo tipo de chamada está disponível no dispositivo de comunicação e o outro dispositivo de comunicação suporta chamadas do segundo tipo de chamada antes de solicitar consentimento do outro dispositivo de comunicação; antes de solicitar consentimento do outro dispositivo de comunicação, em resposta a determinar que é possível transicionar continuamente para a segunda chamada do segundo tipo de chamada, apresentar (220) uma opção de interface com o usuário (535) no dispositivo de comunicação na interface com o usuário de progresso de chamada para a primeira chamada do primeiro tipo de chamada para transicionar continuamente para a segunda chamada do segundo tipo de chamada; representar a opção da interface com o usuário como desativada na interface com o usuário de progresso de chamada para a primeira chamada do primeiro tipo de chamada quando é determinado que não é possível transicionar continuamente para a segunda chamada do segundo tipo de chamada; e em resposta à ativação da opção da interface com o usuário, transicionar (230) continuamente para a segunda chamada do segundo tipo de chamada;
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar a opção da interface com o usuário (535) para transicionar continuamente compreende: apresentar um botão gráfico na interface com o usuário de progresso de chamada (500) enquanto conduz a primeira chamada.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o botão gráfico (535) indica o segundo tipo de chamada.
4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que ainda compreende: representar o botão (535) como desativado quando condições da rede não suportam o segundo tipo de chamada.
5. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que ainda compreende: durante instalação de um aplicativo de comunicação suportando o segundo tipo de chamada, registrar o aplicativo de comunicação como para ser utilizado quando conduz transições contínuas via o segundo tipo de chamada; e apresentar o botão gráfico (535) em resposta ao registro.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que transicionar continuamente para a segunda chamada do segundo tipo de chamada compreende: iniciar a segunda chamada do segundo tipo de chamada; suprimir o áudio da segunda chamada; e confirmar conectividade da segunda chamada do segundo tipo de chamada.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: o primeiro tipo de chamada compreende áudio sem vídeo; e o segundo tipo de chamada compreende áudio com vídeo; por meio do que a transição contínua atualiza de uma chamada de áudio para uma chamada de vídeo.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: determinar que um aplicativo de comunicação para suportar chamadas do segundo tipo de chamada não está instalado no dispositivo de comunicação (110); e apresentar uma opção como parte da interface com o usuário de progresso de chamada (500) para iniciar um processo de instalação para o aplicativo de comunicação no dispositivo de comunicação.
9. Dispositivo de comunicação, caracterizado pelo fato de que compreende: um ou mais processadores; memória armazenando o método conforme definido em qualquer uma das reivindicações de 1 a 8.
10. Meio de armazenamento legível por computador caracterizado pelo fato de que possui o método conforme definido em qualquer uma das reivindicações de 1 a 8.
BR112016002475-3A 2013-08-19 2014-08-18 Método, dispositivo de comunicação e meio de armazenamento para transições contínuas de chamada BR112016002475B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/970,504 US9961608B2 (en) 2013-08-19 2013-08-19 Seamless call transitions
US13/970,504 2013-08-19
PCT/US2014/051394 WO2015026676A1 (en) 2013-08-19 2014-08-18 Seamless call transitions

Publications (2)

Publication Number Publication Date
BR112016002475A2 BR112016002475A2 (pt) 2017-08-01
BR112016002475B1 true BR112016002475B1 (pt) 2023-05-30

Family

ID=

Similar Documents

Publication Publication Date Title
CA2919006C (en) Seamless call transitions
US9940755B2 (en) Explorable augmented reality displays
US9547468B2 (en) Client-side personal voice web navigation
EP3014903B1 (en) Seamless call transitions with pre-escalation participation confirmation
US10007503B2 (en) Method and apparatus for upgrading operating system of electronic device
US20220004316A1 (en) Touch control method and apparatus
US20120260202A1 (en) Customized launching of applications
US20090064038A1 (en) Configuration of Device Settings
US20170185248A1 (en) Electronic device and method of managing application programs thereof
US10637804B2 (en) User terminal apparatus, communication system, and method of controlling user terminal apparatus which support a messenger service with additional functionality
US20150120180A1 (en) Method and apparatus for providing location based service
EP3017583A1 (en) Seamless call transitions with escalation-aware notifications
US9986082B2 (en) Interface device and method between electronic device and external device using ear jack of the electronic device
WO2015026673A1 (en) Seamless call transitions with pinpoint call escalation
US20160216929A1 (en) Processing application interface
US20130244627A1 (en) Method for providing phone book service and associated electronic device thereof
US9807151B2 (en) Method and electronic device for sending and receiving data
KR20160124868A (ko) 호스트 애플리케이션으로부터 호스트 확장자로의 테마 정보의 전파
US10523718B2 (en) Video playing method and device
JP2015201074A (ja) 情報処理装置及びコンピュータプログラム
BR112016002475B1 (pt) Método, dispositivo de comunicação e meio de armazenamento para transições contínuas de chamada
US11962280B2 (en) Synchronized controller