通信会话的处理转让专利

申请号 : CN201180030851.5

文献号 : CN103222247B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 库尔特·泰威森泰勒·韦尔斯

申请人 : 斯凯普公司

摘要 :

一种通过在设备上执行通信会话处理程序来在设备上处理通信会话的方法、设备和计算机程序产品,该通信会话处理程序包括用于处理通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部。在该设备上执行应用程序,该应用程序向该设备的用户提供用于由该通信会话处理程序的通信会话处理部处理的通信会话的通信会话控制接口,该应用程序与该通信会话处理程序的接口部链接。检测该应用程序已经停止提供通信会话控制接口。当检测到该应用程序已经停止提供该通信会话控制接口时,该通信会话处理程序的接口部链接到在该设备上提供的用于继续由该通信会话处理程序的通信会话处理部处理的通信会话的另一通信会话控制接口而不结束该通信会话。

权利要求 :

1.一种在设备上处理通信会话的方法,其特征在于,该方法包括:

在所述设备上执行通信会话处理程序,所述通信会话处理程序包括用于处理所述通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部;

在所述设备上执行应用程序,所述应用程序向所述设备的用户提供用于由所述通信会话处理程序的所述通信会话处理部处理的通信会话的通信会话控制接口,所述应用程序与所述通信会话处理程序的所述接口部链接;

检测所述应用程序已经停止提供所述通信会话控制接口;以及

当检测到所述应用程序已经停止提供所述通信会话控制接口时,将所述通信会话处理程序的所述接口部链接到在所述设备上提供的另一通信会话控制接口,而不结束所述通信会话,所述另一通信会话控制接口用于继续由所述通信会话处理程序的所述通信会话处理部处理的通信会话。

2.根据权利要求1所述的方法,其中所述应用程序包括托管插件程序的主应用程序。

3.根据权利要求2所述的方法,其中所述插件程序提供所述通信会话控制接口。

4.根据权利要求3所述的方法,其中另一程序提供所述另一通信会话控制接口。

5.根据权利要求2至4中任一项所述的方法,其中所述应用程序利用所述插件程序与所述通信会话处理程序的所述接口部链接。

6.根据权利要求2所述的方法,其中所述插件程序包括超文本标记语言标志。

7.根据权利要求1所述的方法,其中所述应用程序是网络浏览器。

8.根据权利要求7所述的方法,其中所述网络浏览器将所述通信会话控制接口提供在网页上,并且当所述用户导航离开所述网页时所述网页浏览器停止提供所述通信会话控制接口。

9.根据权利要求1所述的方法,其中当所述应用程序被关闭时,所述应用程序停止提供所述通信会话控制接口。

10.根据权利要求1所述的方法,进一步包括当检测到所述应用程序已经停止提供所述通信会话控制接口时打开新的窗口,并且所述另一通信会话控制接口被提供在所述新窗口中。

11.根据权利要求1所述的方法,进一步包括当检测到所述应用程序已经停止提供所述通信会话控制接口时,确定在所述设备上是否正在执行用于提供通信会话控制接口的另一程序,其中如果确定为在所述设备上正在执行用于提供所述通信会话控制接口的另一程序,则所述方法进一步包括使用所述另一程序提供用于由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话的所述另一通信会话控制接口。

12.根据权利要求11所述的方法,其中在所述设备上能够执行多个用于提供所述通信会话控制接口的所述另一程序,并且所述方法进一步包括所述通信会话处理程序维持用于识别所述另一程序中哪些正在所述设备上执行的标识符列表,其中确定在所述设备上是否正在执行另一程序的步骤包括确定用于识别所述另一程序的标识符是否存在于所述列表中。

13.根据权利要求1所述的方法,其中所述通信会话包括语音呼叫、视频呼叫、聊天会话、语音邮件或者视频邮件。

14.根据权利要求13所述的方法,其中所述通信会话是视频呼叫,并且所述方法进一步包括,应用程序再现所述视频呼叫。

15.根据权利要求1所述的方法,其中所述通信会话处理程序的所述通信会话处理部处理建立的通信会话。

16.根据权利要求1所述的方法,其中所述通信会话处理程序的所述通信会话处理部编码并解码在所述通信会话中使用的数据。

17.根据权利要求1所述的方法,其中所述通信会话使用基于互联网协议的语音。

18.一种用于处理通信会话的设备,其特征在于,该设备包括:

用于在所述设备上执行通信会话处理程序的部件,所述通信会话处理程序包括用于处理所述通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部;以及用于在所述设备上执行应用程序的部件,所述应用程序向所述设备的用户提供用于由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话的通信会话控制接口,所述应用程序与所述通信会话处理程序的所述接口部链接;

用于检测所述应用程序已经停止提供所述通信会话控制接口的部件,其中当检测到所述应用程序已经停止提供所述通信会话控制接口时,通信会话处理程序的接口部链接到在该设备上提供的另一通信会话控制接口,而不结束所述通信会话,所述另一通信会话控制接口用于继续由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话。

说明书 :

通信会话的处理

技术领域

[0001] 本发明涉及在设备上处理通信会话。

背景技术

[0002] 基于包的通信系统允许诸如个人计算机等设备的用户在诸如因特网等计算机网络上通信。基于包的通信系统包括基于互联网协议的语音(“VoIP”)通信系统,其可以支持通信系统的用户之间的呼叫和其它通信会话。这些通信系统对用户是有利的,因为它们通常显著比固线或移动网络的成本低。对于长距离通信的情况尤其如此。为了使用VoIP系统,必须在设备上安装并执行客户软件。该客户软件提供VoIP连接以及其它功能,如注册和认证。基于包的通信系统的用户可以与同时登录到该通信系统的其它用户建立呼叫。
[0003] 用于VoIP通信的客户软件可以由设备上的应用程序来提供,例如,客户软件可以以可在设备上的诸如网络浏览器等主应用程序内执行的插件程序的形式来提供。该插件程序可以处理VoIP呼叫并且可以使用该主应用程序来显示呼叫控制界面,从而允许用户通过该主应用程序建立和控制VoIP呼叫。在网络浏览器(或其它主应用程序)中使用这种插件程序便于使用该网络浏览器的用户建立和控制VoIP呼叫。插件程序的使用是用于在设备上执行客户软件的特别用户友好的方法。

发明内容

[0004] 根据本发明的第一方面,提供一种在设备上处理通信会话的方法,该方法包括:在所述设备上执行通信会话处理程序,所述通信会话处理程序包括用于处理所述通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部;在所述设备上执行应用程序,所述应用程序向所述设备的用户提供用于由所述通信会话处理程序的所述通信会话处理部处理的通信会话的通信会话控制接口,所述应用程序与所述通信会话处理程序的所述接口部链接;检测所述应用程序已经停止提供所述通信会话控制接口;以及当检测到所述应用程序已经停止提供所述通信会话控制接口时,将所述通信会话处理程序的所述接口部链接到在所述设备上提供的用于继续由所述通信会话处理程序的所述通信会话处理部处理的通信会话的另一通信会话控制接口,而不结束(drop)所述通信会话。
[0005] 根据本发明的第二方面,提供一种用于处理通信会话的设备,该设备包括:用于在所述设备上执行通信会话处理程序的部件,所述通信会话处理程序包括用于处理所述通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部;以及用于在所述设备上执行应用程序的部件,所述应用程序向所述设备的用户提供用于由所述通信会话处理程序的所述通信会话处理部处理的通信会话的通信会话控制接口,所述应用程序与所述通信会话处理程序的所述接口部链接;用于检测所述应用程序已经停止提供所述通信会话控制接口的检测装置,其中当检测到所述应用程序已经停止提供所述通信会话控制接口时,呼叫处理程序的接口部链接到在该设备上提供的用于继续由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话的另一通信会话控制接口,而不结束所述呼叫。
[0006] 根据本发明的第三方面,提供一种计算机程序产品,该计算机程序产品包括由所述设备上的计算机处理装置执行的用于在设备上处理通信会话的计算机可读指令,所述指令包括用于执行以下步骤的指令:在所述设备上执行通信会话处理程序,所述通信会话处理程序包括用于处理所述通信会话的通信会话处理部和用于与通信会话控制接口链接的接口部;以及在所述设备上执行应用程序,所述应用程序向所述设备的用户提供用于由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话的通信会话控制接口,所述应用程序与所述通信会话处理程序的所述接口部链接;检测所述应用程序已经停止提供所述通信会话控制接口;以及当检测到所述应用程序已经停止提供所述通信会话控制接口时,将所述通信会话处理程序的所述接口部链接到在所述设备上提供的用于继续由所述通信会话处理程序的所述通信会话处理部处理的所述通信会话的另一通信会话控制接口,而不结束该通信会话。
[0007] 该应用程序可以包括托管插件程序的主应用程序。该插件程序可以提供通信会话控制接口。除了该插件程序以外的另一程序可以提供另一通信会话控制接口。该应用程序可以利用该插件程序与该通信会话处理程序的接口部链接。该插件程序可以包括超文本标记语言标志。该通信会话可以包括例如语音呼叫、视频呼叫、聊天会话、语音邮件或视频邮件。该应用程序可以是网络浏览器。当该应用程序被关闭时,该应用程序可以停止提供所述通信会话控制接口。在该应用程序是托管插件程序的网络浏览器的情况下,该网络浏览器可以托管网页上的插件程序,并且当用户导航离开该网页时,该网络浏览器可以停止托管该插件程序,从而停止提供通信会话控制接口。
[0008] 当用户无心地使该应用程序停止提供通信会话控制接口时,本发明的实施例尤其有用,因为该通信会话在另一通信会话控制接口中继续而不会结束该通信会话。例如,当该应用程序是在网页中提供通信会话控制接口的网络浏览器(例如使用插件程序)时,用户可能关闭网页(例如,通过关闭标签(tab))或者导航离开网页而不想终结通信会话。如果这碰巧发生,那么可以使用另一通信会话控制接口继续该通信会话而不结束该通信会话。
[0009] 发明人已经了解,在应用程序提供用于呼叫(或者其它类型的通信会话)的控制接口的现有技术系统中,当应用程序被关闭时(或者因某个其它原因而停止提供控制接口时),呼叫将结束。例如,在该应用程序包括托管用于处理VoIP呼叫的插件程序的网络浏览器的情况下,当该网络浏览器停止托管该插件程序时,由该插件程序处理的任何VoIP呼叫都将结束。通过提供本文描述的可以独立于该应用程序(例如,网络浏览器)处理通信会话的通信会话处理程序来克服现有技术系统的该缺点。这允许用户导航到另一个网页或者关闭网络浏览器而不会终止正由通信会话处理程序处理的通信会话。这是通过提供具有能够与该应用程序链接从而向用户提供通信会话控制接口的接口部的通信会话处理程序来实现的。
[0010] 终止由该应用程序提供的通信会话控制接口不会妨碍通信会话继续进行,因为该通信会话处理程序独立于该应用程序处理该通信会话。另一通信会话控制接口被用于继续该通信会话。因此,在该应用程序是网络浏览器的情况下,用户自由地导航到另一个网页而不会结束呼叫,并且可以将视频无缝输出到提供另一通信会话控制接口的不同窗口。该另一通信会话控制接口可以被提供在当该应用程序停止提供通信会话控制接口时打开的新窗口中。作为选择,该另一通信会话控制接口可以被提供在当主应用程序停止提供通信会话控制接口时已经在该设备上执行的程序中。
[0011] 在该应用程序是托管插件程序的主应用程序的情况下,优选地,该通信会话处理程序与该插件程序分开。该通信会话处理程序和该插件程序被安装在该设备上。该通信会话处理程序优选地处理建立的通信会话,并且可以编码和解码在通信会话中使用的数据或“介质”。插件程序可被用于将通信会话的通信会话控制接口提供给用户,并且在通信会话是视频呼叫的情况下还可以显示视频。在托管该插件程序的主应用程序被关闭的情况下,该通信会话不结束,因为该通信会话被该通信会话处理程序独立地处理。
[0012] 在本发明的优选实施例中,该通信会话处理程序被配置为在果该应用程序停止提供该通信会话控制接口的情况下,使得新的窗口被打开,该新的窗口被用于向该通信会话的用户提供另一通信会话控制接口。
[0013] 在本领域中可以使用与本文中提到的不同的程序术语。例如,通信会话处理程序可被称为“运行时间(runtime)”,插件程序可被称为“插件(plug-in、plugin或plug in)”。

附图说明

[0014] 为了更好地理解本发明以及为了示出本发明可以怎样被实现,现在以举例的方式参考以下附图,其中:
[0015] 图1是根据优选实施例的通信系统的示意图;
[0016] 图2是根据优选实施例的在设备中执行的程序的示意图;
[0017] 图3是根据优选实施例的托管插件程序的网络浏览器的用户接口的表示;
[0018] 图4示出根据优选实施例的用于处理呼叫的处理的流程图;以及
[0019] 图5是根据优选实施例的当网络浏览器被关闭时打开的窗口的表示。具体实施例
[0020] 一般来说,本文中描述的方法可被应用于任何类型的通信会话,例如,语音呼叫、视频呼叫、聊天会话、语音邮件或者视频邮件。然而,在下面详细描述的优选实施例中,该通信会话是呼叫。首先参考图1,图1示出通信系统100。注意,尽管关于P2P通信系统描述了该示例性实施例,但是也可以使用其它类型的通信系统,如非P2P系统。通信系统100包括设备102,其连接到网络104。网络104可以例如是因特网。设备102可以例如是移动TM TM TM电话、个人数字助理(“PDA”)、个人计算机(“PC”)(包括例如Windows 、Mac OS 和LinuxPC)、游戏设备或者能够连接到网络104的其它嵌入式设备。设备102被配置为从设备102的用户接收信息和向设备102的用户输出信息。注意,在可选实施例中,设备102可以经由图1中未示出的附加中间网络连接到通信网络104。例如,如果设备102是移动设备,则它可以经由蜂窝移动网络(未示出)连接到通信网络104。
[0021] 设备102包括中央处理单元(“CPU”)106,与中央处理单元连接的诸如屏幕的显示器118、诸如键区(或者键盘)的输入设备114、诸如游戏杆(未示出)的指示设备、用于输入音频信号的麦克风112和用于输入视频信号的网络照相机110。显示器118可以包括用于向CPU 106输入数据的触摸屏。输出音频设备120(例如,扬声器)连接到CPU 106。显示器118、键区114、游戏杆、扬声器120、麦克风112和网络照相机110集成在设备102中。在可替选的设备中,显示器118、键区114、游戏杆、扬声器120、麦克风112和网络照相机110中的一个或多个可以不集成在该设备中,并且可以经由各自的接口连接到CPU 106。这种接口的一个例子是USB接口。诸如鼠标(未示出)的指示设备可以经由接口(未示出)连接到CPU 106。CPU 106连接到用于与网络104通信的网络接口122,如调制解调器。如图1中所示,网络接口122可以集成在设备102中。在可替选的设备中,网络接口122不集成在该设备中。设备102包括用于存储数据的存储器116。存储器116被配置为使得数据可以像本领域中已知的那样在CPU 106和存储器116之间传送。
[0022] 图1还示出在CPU 106上执行的操作系统(“OS”)108。计算机程序可以在操作系统108上运行。这样,CPU 106可以像本领域中已知的那样执行程序。例如,CPU 106可以执行客户软件,从而允许设备102在通信网络104上进行通信。
[0023] 图2是在优选实施例中由CPU 106执行的程序的表示。呼叫处理程序202由CPU106执行。呼叫处理程序202包括呼叫处理部204,呼叫处理部204处理在通信网络104上进行的呼叫。呼叫处理部204负责处理建立的呼叫,编码并解码在该呼叫中使用的音频信号和视频信号,并且处理与该呼叫的处理有关的其它过程,如呈现通信系统100中用户的信息。呼叫处理程序202还包括接口部206,其用于将呼叫处理程序202与呼叫控制接口相链接。呼叫处理程序202没有用于与设备102的用户对接的呼叫控制接口,因此使用接口部206链接到呼叫控制接口。由于接口部206允许呼叫处理程序202与独立的呼叫控制接口相链接,所以如果因为某些原因该呼叫控制接口停止在设备102上执行,则接口部206可以与不同的呼叫控制接口相链接,并且由呼叫处理部204处理的呼叫不结束。这意味着尽管呼叫控制接口停止在设备102上执行,(由呼叫处理部204处理的)该呼叫仍可以继续进行。
[0024] 图2还示出由CPU 106执行的主应用程序208。主应用程序208托管插件程序210。在本文中描述的优选实施例中,主应用程序208是网络浏览器,但是该主应用程序可以是托管插件程序210的不同应用程序。当插件程序210在主应用程序208中执行时,它向设备102的用户提供用于由呼叫处理程序202的呼叫处理部204处理的呼叫的呼叫控制接口。尽管在图2中所示的优选实施例中,存在托管插件程序210的主应用程序208,但是在可替选的实施例中,可以使用不是托管插件程序的主应用程序的应用程序来提供通信会话控制接口。
[0025] 如图2中虚线所示的,呼叫处理程序202的接口部206与插件程序210相链接,使得插件程序210可以提供用于呼叫处理程序202的呼叫控制接口。
[0026] 图3是当托管插件程序210的网络浏览器208被执行时显示给设备102的用户的用户接口300的表示。用户接口300包括显示与网络浏览器208本身有关的信息的区域302。在区域302中显示给用户的信息与插件程序210和呼叫处理程序202无关。根据网络浏览器208的类型可以在区域302中显示不同类型的信息。此外,对于不同的网络浏览器,与网络浏览器208本身有关的信息可以不同于图3的示例性用户接口300中所示展示在屏幕上。用户接口300具有用于在网络浏览器208中导航到不同的网页的控件。例如,如本领域中已知的,如果用户在后退按钮304上点击,则网络浏览器208将导航到先前显示的网页,如果用户在前进按钮306上点击,则网络浏览器208将导航到要被显示的下一个网页。插件程序210可以不被托管在所有网页上,因此当用户在网络浏览器208中导航到新的网页时,网络浏览器208可以停止托管插件程序210。插件程序210可以被托管在一些网页上而不是网络浏览器208的其它网页上。如果用户在关闭按钮308上点击,则网络浏览器208被关闭。这导致网络浏览器208停止托管插件程序210。
[0027] 用户接口300的区域310被用于将插件程序210提供的呼叫控制接口显示给用户。区域310包括用于显示视频信号的视频成分的视频框312。在由呼叫处理程序202处理的呼叫是视频呼叫时,该视频呼叫的视频部分被显示在视频框312中。呼叫处理程序202解码作为该视频呼叫的一部分接收到的视频信号,并且将解码后的视频信号提供给插件程序210,然后插件程序210再现该视频信号并且将该视频显示在视频框312中。区域310还包括控件314和按钮316。用户可以使用控件314和按钮316控制由呼叫处理程序202处理的呼叫,并且在这个意义上,控件314和按钮316构成用于呼叫处理程序202的呼叫控制接口。
[0028] 现在以举例的方式参照图4描述根据优选实施例的用于处理呼叫的方法。在步骤S402中,在设备102上执行网页208(或者其它主应用程序)。网络浏览器208托管插件程序210。由该网络浏览器再现的网页包括超文本标记语言(HTML)标志,或者可扩展超文本标记语言(XHTML)标志,其实例化了插件程序210。如果呼叫处理程序202还没有被执行,则插件程序210使呼叫处理程序202在设备102上被执行。注意,多于一个的网页可以例示分开的插件程序,并且每个插件程序被分配唯一的ID。
[0029] 在步骤S404中,在设备102上执行呼叫处理程序202。可以作为如上所述的在网络浏览器208中执行插件程序210的结果使呼叫处理程序202被执行。作为选择,可以通过执行网络浏览器208以外的手段,例如通过设备102的用户选择执行呼叫处理程序202,使呼叫处理程序202被执行。呼叫处理程序202的呼叫处理部204处理网络104上在设备102和另一设备之间发生的呼叫。呼叫处理程序202维持在设备102上执行的插件程序ID的列表。呼叫处理程序202使用呼叫处理程序202的接口部206维持与设备102上执行的插件程序的每个实例的连接。如果主应用程序停止托管特定的插件程序(例如,如果网络浏览器208被关闭,或者用户导航离开其中该插件程序被实例化的网页),则从该列表中删除该特定的插件程序ID。
[0030] 在步骤S402和S404之后,呼叫处理程序202可以处理网络104上的呼叫,并且插件程序210可以向设备102的用户提供用于控制该呼叫的呼叫控制接口。如上文所述,呼叫处理程序202的呼叫处理部204处理建立的呼叫,并且处理在该呼叫中使用的音频和视频数据的编码和解码。当该呼叫是视频呼叫时,呼叫处理部204将解码后的视频数据提供给插件程序210,插件程序210在网络浏览器208的网页中再现该视频数据。解码后的音频信号从呼叫处理程序202直接输出到设备102的扬声器120。呼叫处理程序202响应于经由插件程序210输入的用户接口(UI)呼叫控制命令,如在网络104上启动呼叫和终结呼叫的命令。
[0031] 在步骤S406中,网络浏览器208停止托管插件程序210。如上所述,这可以例如是因为用户导航离开了插件程序210在其中被实例化的网页,或者因为用户关闭了网络浏览器208。呼叫处理程序202的接口部206检测到网络浏览器208已经停止托管插件程序210。当插件程序210停止被主应用程序208托管时,呼叫处理程序202的接口部206和插件程序210之间的链接断开。然而,由于呼叫处理程序202与插件程序210是分开的,所以呼叫处理程序202可以继续处理该呼叫。这意味着作为主应用程序208停止托管插件程序
210的结果,该呼叫不被结束。实际上,该呼叫可以仍然是活动的,并且该呼叫的音频信号可以继续经由扬声器120输出。由麦克风112捕获的音频数据和由网络照相机110捕获的视频数据可以继续在网络104上被传送到该呼叫的远端。
[0032] 当在步骤S406中主应用程序208停止托管插件程序210时,用于由呼叫处理程序202处理的呼叫的由插件程序210提供的呼叫控制接口停止被显示给设备102的用户。然而,在步骤S408中,当检测到主应用程序208不再托管插件程序210从而提供呼叫控制接口时,呼叫处理程序202的接口部206链接到在该设备上执行的另一程序,该另一程序提供用于由呼叫处理程序202的呼叫处理部204处理的呼叫的另一呼叫控制接口。在一些实施例中,代替链接到另一程序,呼叫处理程序202链接到在设备102上执行的同一插件程序
210的另一实例。
[0033] 呼叫处理程序202确定在设备102上是否正在执行用于提供该呼叫的呼叫控制接口的另一适当的插件程序。如果在设备102上正在执行插件程序的另一实例(例如,另一插件程序),则接口部206将链接到该另一插件程序。这样,该另一插件程序可被用于提供正由呼叫处理程序202处理的呼叫的另一呼叫控制接口。在一些实施例中,提供所述另一通信会话控制接口的所述另一程序不是由主应用程序托管的插件程序。
[0034] 当主应用程序停止托管插件程序210时,如果在设备102上没有正在执行这种适当的另一插件程序,则该呼叫处理程序被设置为在新窗口中打开另一程序并且使用该另一程序向该用户提供用于该呼叫的呼叫控制接口,并且在该呼叫是视频呼叫的情况下再现接收到的视频数据。呼叫处理程序202可以使用它保持的插件ID的列表,以确定是否存在正在设备102上执行的任何适当插件程序用于提供呼叫处理程序202的另一呼叫控制接口。如果当主应用程序208停止托管插件程序210时该列表中插件数目为零,则呼叫处理程序
202为该另一程序打开新的窗口,以提供该另一呼叫控制接口。
[0035] 在一些实施例中,呼叫处理程序202被配置为,为该另一程序打开新窗口而不首先确定在设备102上是否正在执行另一适当的插件程序。
[0036] 图5是根据优选实施例的当网络浏览器208停止托管插件程序210时打开的窗口500的表示。窗口500向用户显示由另一程序提供的、用户在控制由呼叫处理程序202处理的呼叫时使用的另一呼叫控制接口。窗口500包括用于显示视频信号的视频成分的视频框502。在由呼叫处理程序202处理的呼叫是视频呼叫时,该视频呼叫的视频部分被显示在视频框502中。窗口500还包括控件504、文本框506和按钮508,它们一起构成呼叫处理程序202的另一呼叫控制接口。控件504和按钮508可被用户用来控制正由呼叫处理程序202处理的呼叫,并且文本框506可被用来向用户显示信息。窗口500是用作呼叫处理程序202的呼叫控制接口的桌面视图窗口。
[0037] 优选实施例中的事件序列如下。设备102的用户关闭网络浏览器208或者导航离开托管插件程序210的网页。插件程序210和呼叫处理程序202的接口部206之间的链接结束。如果在呼叫处理程序上保持的列表中的插件程序数目为零,则呼叫处理程序202打开桌面视图窗口。该新的桌面视图窗口与呼叫处理程序202的接口部206相链接。然后在该新的桌面视图窗口中提供呼叫控制接口,并且在该呼叫是视频呼叫的情况下,在该新的桌面视图窗口中再现该视频。
[0038] 上面已经描述了由主应用程序208托管的插件程序210提供呼叫控制接口的处理呼叫的方法。插件程序210链接到在通信网络104上处理呼叫的呼叫处理程序202的接口部206。对于使用主应用程序208的用户来说,提供具有插件程序的呼叫控制接口具有便于使用呼叫处理程序202的优点。由于呼叫处理程序202独立于主应用程序208处理该呼叫,所以如果主应用程序停止托管插件程序210,那么该呼叫不结束。在设备102上执行另一程序以便为该呼叫提供另一呼叫控制接口,该呼叫在插件程序210停止被主应用程序208托管之后继续进行。之所以可以如此是因为呼叫处理程序202的接口部206允许呼叫处理程序202链接到不同程序(或者同一程序的不同实例),其能够提供用于呼叫处理程序
202的呼叫控制接口。呼叫控制接口与呼叫处理程序202的分离允许用户关闭托管插件程序的网络浏览器,或者导航离开该插件程序被托管的网页,同时保持正由呼叫处理程序202处理的呼叫。
[0039] 尽管已经关于优选实施例具体示出并描述了本发明,但是本领域的技术人员将会理解,在不偏离由所附权利要求定义的本发明的范围的情况下可以在形式和细节上进行各种变化。