15 


使用 SIP

Sun JavaTM Wireless Toolkit for CLDC 通过代理服务器、注册器以及网络监视器支持来支持 SIP API for J2ME (JSR 180)。

会话发起协议 (Session Initiation Protocol, SIP) 是通过 RFC 3261 定义的,请访问
http://www.ietf.org/rfc/rfc3261.txt

SIP 提供了一种标准方式,供应用程序设置通讯。应用程序决定实际要发生的通讯。可将 SIP 用于设置即时消息传送、文本聊天、语音聊天、视频会议或其他类型的会话。


15.1 了解注册器和代理

SIP 注册器允许客户机应用程序将用户名和特定的网络地址进行关联。实际上,注册过程即相当于表明用户在此。

实际上,SIP 代理服务器只是通向较大的代理服务器网络的入口点。会将到达一个代理的 SIP 消息路由到相应的目的地,该目的地通常为其他代理服务器或某个端点,例如台式机或移动设备。尽管可以在设备之间直接发送 SIP 消息,但通常通过代理服务器路由 SIP 消息。

例如,假设 Diggory 要与 Polly 进行视频会议,而 Polly 正在途中,则她的移动电话会向注册器发送消息,注册器会将其姓名与移动电话的网络地址进行关联。当 Diggory 尝试设置与 Polly 的视频会议时,他的应用程序将使用 SIP 询问注册器 Polly 当前的网络位置。

Sun JavaTM Wireless Toolkit for CLDC 包含的 SIP 代理和注册器服务器十分简便,用户可使用它们来测试使用 SIP API 的应用程序。用户也可以将工具包配置为使用外部代理服务器和注册器服务器。


15.2 SIP 设置

要调整 Sun JavaTM Wireless Toolkit for CLDC 的 SIP 环境的设置,请选择“编辑”>“首选项”,然后单击 "SIP"。

图 15-1 SIP 设置

选择了 SIP 类别的“首选项”窗口包含“显示名称”和“地址”字段。

“显示名称”和“地址”字段分别用于设置系统特性 sip.display.namesip.address。应用程序可将这些系统特性用作检索与设备关联的身份的标准方法。


15.3 网络监视器中的 SIP 通信流量

可通过网络监视器来记录使用 SIP API 发送和接收的网络数据。第 5 章中对网络监视器进行了全面介绍。用户可使用网络监视器跟踪从仿真器发送或由仿真器接收的 SIP 消息。

单击 "SIP" 选项卡可查看 SIP 消息。SIP 消息显示在网络监视器的左窗格中。单击某一消息可在右窗格中查看其详细信息。

图 15-2 网络监视器中的 SIP 消息

选择了 "SIP" 选项卡的网络监视器


15.4 SIP 代理服务器和注册器

Sun JavaTM Wireless Toolkit for CLDC 提供了简便的 SIP 代理服务器和注册器,使用户可轻松创建 SIP 应用程序。要启动服务器,请选择“文件”>“实用程序”。从列表中选择“启动 SIP 服务器”,然后按“启动”。屏幕将显示“SIP 服务器控制台”窗口。

图 15-3 SIP 服务器控制台

“SIP 代理和注册器”窗口显示已注册的用户

要停止服务器,请单击“停止”。要启动服务器,请单击“启动”。

服务器运行时,左上方窗格中将显示注册器已知的所有用户。单击某个用户名可在右上方的窗格中看到有关该用户的详细信息。窗口的底部窗格为控制台,其中显示通过代理接收和发送的 SIP 消息。

用户可在服务器不运行时调整服务器选项。停止服务器,然后单击“选项”查看选项窗口。(请参见图 15-4)。

图 15-4 设置代理选项

选择了“代理”选项卡的“选项”窗口包含“IP 地址”字段并列出用户指定的侦听点

在“代理”选项卡上,用户可以设置 IP 地址以及服务器侦听收到的消息的端口。请注意,默认侦听点 5060 是 SIP 代理的已知端口。如果您在多用户环境下工作,有时其他用户可能会使用该端口,您可能会无意中连接到其他用户的 SIP 服务器实例(SIP 服务器不具有任何验证机制,可以自由地访问 TCP/IP 端口)。如果出现这种情况,您必须指定其他端口。

单击“添加”指定更多端口及其类型。选择某个端口,然后单击“删除”删除侦听端口。

选中“使用验证”可以强制连接的客户机在服务器端进行自行验证。所使用的方案为摘要验证,RFC 3261 的第 22.4 节中对其进行了介绍。SIP 的摘要验证与 HTTP 摘要验证相近。

在“注册器”选项卡中,可以设置注册器已知的用户和域。顶部列表包含启动 SIP 服务器时自动注册的 SIP 用户。您可以添加新用户,编辑现有用户,或删除用户。

此外,您还可以调整由该注册器管理的域的列表。按“添加”添加域,按“编辑”编辑现有域名,或按“删除”删除域。

图 15-5 设置注册器选项

“选项”窗口的“注册器”选项卡管理注册和域