SIP 容器是 WebSphere Application Server V6.1 的一个组件,用于管理 SIP 应用软件的完整生命周期。该容器是一个能管理集成应用软件的集成容器。集成应用软件同时包含了 SIP 与 HTTP 组件。SIP 应用程序是一个 Java 程序,它使用了至少一个写入 JSR 116 规格说明的 SIP servlet 。而 SIP servlet 则是一个能执行与 JSR 116 SIP servlet 规格说明相关 SIP 信号的 Java 应用程序。其中SIP servlet 规格说明是由 Java Community Process 开发的。
您应该对 SIP 协议与各种 SIP 信息(请求与回应代码),以及这些信息的状态代码,有一个很好的理解,这样才能使用 Rational Performance Tester for SIP 工具。SIP RFC 3261 提供了对各种 SIP headers ,信息元素与可用状态码的完整描述。
Rational Performance Tester 是一个性能测试工具,它能对基于服务器的应用程序进行自动载入与性能测试。而 Rational Performance Tester for SIP 则是对 Rational Performance Tester 的扩展,它能测试 SIP 应用程序。Rational Performance Tester for SIP 通过模仿多个用户,提供了进行功能性校正与性能测试的 SIP 应用软件测试工具。
本篇文章介绍了 Rational Performance Tester for SIP 工具的使用,以对 SIP 应用程序进行功能性测试。它介绍了使用包含在 IBM Rational Application Developer V7.0 中 Call Forwarding SIP 样本,对 SIP 应用程序进行测试,涉及到的完整过程。完整的过程包含了以下这些步骤:
Call Forwarding 示例是一个集成应用程序,它是作为 IBM WebSphere Application Server Toolkit V6.1.1 示例库中的 SIP 示例而出现的。一个集成应用程序同时包含了 HTTP 与 SIP 组件的定义。
Call Forwarding 示例同时包含了 HTTP 与 SIP servlets,而正是这让它成为一个集成的应用程序。在这些例子中,您将会使用该示例作为 SIP 应用程序进行测试。示例中的 HTTP servlet 提供了一个用户界面(UI),如图 1 所示,以配置 forwarded call 地址映射。在用户界面中,通过输入 Public SIP 地址与 Forwarding SIP 地址,然后点击 Submit 按钮,来创建一个新的映射。Clear 按钮用于清除所有已存在的映射。对于本文中的例子,您将会使用到图 1 中已存在映射下面显示的映射。
Call Forwarding 示例显示了访问转寄的特性,该特性一般见于公共交换电话网络,但是它使用了一个 SIP 网络。当一个 SIP 访问被置于 SIP URI 中时,通过使用图 1 所示的 用户界面,基于示例定义的映射,该访问会被转寄给另一个 SIP URI 。
图 2 描述了在两个用户机构(UAs):UA1 与 UA2 之间的 SIP 访问流。使用图 1 定义的映射, UA1 对应 alice@9.42.136.135,而 UA2 对应 alice@9.42.136.126。
图 3 显示的物理测试环境,用于测试 Call Forwarding 示例。本节介绍了建立该环境所需要的步骤 。
出于本篇文章目的的考虑, UA1 是一个安装了 Rational Performance Tester for SIP ,以及其 Agent Controller 的 Microsoft Windows 机器。Rational Performance Tester 中的 Agent Controller 是一个 daemon 进程,它允许客户程序启动主体进程,并与主体进程中共存的组件交流。Rational Performance Tester 用默认的 5555 端口接受 SIP 信息,这是为该软件任意选择的一个号码。而且该端口号码可以由 Preferences 改变:
建立 WebSphere Application Server V6.1 Network Deployment 版本
通过使用 WebSphere Application Server Profile,给出了一个软件服务器实例,来将 WebSphere Application Server v6.1 Network Deployment 版本安装在 RedHat Linux Enterprise Edition V4.0 服务器(此处以后简称为 Linux)上 。本篇文章并不包括安装指导,但是您可以在 WebSphere Application Server Toolkit(见于 Resources)的 SIP Tools Developer Guide 中找到它们。您还可以在那里找到安装最新 Fix Packs 的指导文件。对于本篇文章,我们通过使用 WebSphere Application Server 6.1.0.9 Fix Pak 来更新软件。
工具箱 Samples Gallery 中包含的 Call Forwarding Sample ,被装载到 WebSphere Application Server Toolkit 工作区,并作为一个 SIP 档案文件(SAR 文件)输出。查看 WebSphere Application Server Toolkit 中的 SIP Tools Developer Guide。
提示:
因为这是一个集成的应用软件,所以 WebSphere Applicaition Server Toolkit 中的 Call Forwarding 示例,可以作为一个 WEB 档案文件(WAR),或者一个 SAR 文件输出。
SAR 文件通过 WebSphere Application Server Integrated Solutions 控制台应用于 WebSphere Application Server 。向 WebSphere Application Server 应用 Call Forwarding SAR 文件的步骤包括:
Application Status 应该被改成 started,它只由一个指向右边的绿色箭头指示,如图 4 所示。这个屏幕截图同时显示出了,在靠左边的 Names 列应用的 CallForwardingSample 应用程序。
以上这些步骤完成了远程 WebSphere Application Server 上,Call Forwarding 示例的部署,而且该应用软件已为测试做好了准备。
UA2 是一个 Linux v4.0 box ,它基于 call forwarding 应用程序定义的映射,配置作为一个前置于 WebSphere Application Server 的SIP 访问的接听器。用户界面如 **第三部分** 所述。 Rational Performance Tester for SIP 中的 Agent Controller 程序,提供了作为接听器的功能 。Agent Controller 安装于 Linux box。您可以按照以下步骤,来安装 Agent Controller。
Rational Performance Tester for SIP 安装 CD 同时包含了这些程序。首先必须安装 Installation Manager,这样您才能使用它来安装 Agent Controller。在 Linux 中安装 Agent Controller 以后,您需要启动程序以作为一个接听器。为了开始这项工作,您可以使用 ./RASStart.sh 命令,该命令位于 Linux 的这个文件夹中:
/opt/IBM/SDP70Shared/AgentController/bin
到此为止就完成了 UA2 的创建。
测试位于远程 WebSphere Application Server 机器上的 Call Forwarding 示例,涉及到 Rational Performance Tester 中如下组件的创建,其中的远程 WebSphere Application Server 机器使用了 Rational Performance Tester for SIP 扩展。
按照以下步骤,来创建一个 Performance Test Project:
图 5 显示了创建的 Sample Tests 性能测试项目,在您完成那些步骤以后,该项目会显示在 Test Navigator 视图中。 SampleTests 项目下面显示的各种 SIP 测试组件的创建与配置,将在接下来的段落中介绍。
按照以下步骤,可以创建 SIP 测试套件:
创建 SIP 测试以后,在 Call Forwarding 测试中将打开 Performance Test 编辑器,如图 6 所示。
接下来,您需要为测试 WebSphere Application Server 中应用的 Call Forwarding SIP 应用程序,创建 SIP 信息。安装了 Rational Performance Tester 的 UA1 机器发起 SIP 访问。该 SIP 信息根据访问流,为那个 Call Forwarding 应用程序而创建(见于图 3)。
根据如下这些步骤,来创建由 UA1 发起的 SIP 信息:
您刚刚创建的 Invite 请求显示了一个错误。为了校正这个错误,您必须设置 Send Request 测试元素的 URI 区域的 Request URI :
To 与 From 信息 headers 需要为 Send Request SIP 信息配置。To header 区域指定了请求的“逻辑”接收者 ,而 From header 指示了请求的发起者。
您刚刚创建的 Send 请求需要被配置,以向 WebSphere Application Server 服务器发送请求,该服务器就是 Call Forwarding 应用程序应用的地方。正如前面所述, WebSphere Application Server 是用这个 IP 地址:9.42.136.135,在 Linux 服务器上运行的。WebSphere Application Server 中的 SIP 容器,用默认的 SIP 端口:5060 进行接听。WebSphere Application Server 服务器对来自 UA1 的 Send 请求作出响应,同时 SIP 测试需要应对来自服务器的响应。接下来的四步应对 WebSphere Application Server 响应:
工具提供了一个验证特性,以验证 Rational Performance Tester 为 Send 请求接受的响应代码。该特性可以验证响应代码,以及与响应相关的内容。在这里,您从 WebSphere Application Server 中使用验证特性,来验证响应代码。
Exact Expected Code 值是将在响应中验证的响应代码。它可以检查,以为预期的响应代码添加上限与下限,该响应代码为代码验证提供了范围值。Response Code Verification Points 可以向所有的响应添加。对于本文中的测试,它们只为 100 Trying 响应代码添加 。
接下来的步骤是可选择的,但是也是完成一次 SIP 会话所需要的。UA1 通过向 UA2 发送一次 ACK 请求,来确认响应 200 OK 。 ACK SIP 信息确认 UA1 与 UA2 之间的访问已经建立。ACK 请求不通过 WebSphere Application Server SIP 容器而是直接发送至 UA2,因此该 ACK 请求的 URI 指向 UA2 的 IP 地址,也就是 9.42.136.126。
ACK 请求需要像前面创建的 INVITE 请求那样配置好。
UA1 与 UA2 之间的 SIP 访问,以 UA1 发送至 UA2 的 BYE SIP 消息结束。
BYE 请求需要像前面创建的 INVIKE 请求那样配置好。
UA2 通过 200 OK 响应 UA1 发送的 BYE 请求,这需要添加至 UA1 ,以接收来自 UA2 的回应。
Rational Performance Tester for SIP 的同等测试,就是为 SIP 结束点的 SIP 信息流,该结束点回应来自发起者的 SIP 消息。在本例中,UA2 就是 SIP 结束点,如图 3 所绘。通过使用 SIP 测试可用的 Create counterpart SIP test 操作,Rational Performance Tester 为创建 UA2 发起的 SIP 测试消息,提供了一种简便的方法。
按照以下步骤,为 CallForwarding 测试创建同等测试:
图 7 显示了 CallForwarding_counterpart 测试套件的测试编辑器 。
在同等测试编辑器中,您可以看到,所有的 SIP 回应、请求的回应与 UA1 的回应,都自动为您创建好了。操作 Create counterpart SIP test 在 UA1 SIP 测试消息的基础上,为同等测试创建了所有的 SIP 消息。您只需为同等测试配置 URI,并添加所有需要的验证点。
配置 URI,SIP 回应的 To URI, 和 From URI ,以及 UA2 作为发起者,UA1 作为 终止 SIP 机器的情况下,来自同等测试的请求:
Rational Performance Tester 中的 Performance Schedule 组件,用于配置以下 SIP 测试的元素。
图 8 显示了为 Call Forwarding 示例创建的 Performance Schedule 。
完成以下步骤,以创建一个新的性能计划:
指定 User Group 1 中的哪一个用户来运行 CallForwarding 测试。默认条件下,用户的号码被设置成 1,这就是您设置用于测试 CallForwarding 测试的用户。
现在您需要指定,由 User Group 2 中的哪一个用户来运行 CallForwarding_同等测试。您将使用默认的一位用户来测试 CallForwarding 同等测试。CallForwarding 同等测试与图 3 所示的物理测试环境协调,需要在 UA2 机器上运行,该机器的 IP 地址是 9.42.136.126。
提示:
CallForwarding 与 CallForwarding_同等 SIP 测试套件,在全球范围内可通过 Rational Performance Tester 工作区获得。因此,它们在工作区中可被添加至任何 Performance Schedule 中去。
这就在主表中创建了一个条目。对于每一个以这种方式为 SIP 测试配置的远程机器,在 Test Project 中会显示一个条目,图 5显示为“Alice's forwarded call PC”。
该操作启动并运行计划,随后为这些测试启动不可编辑的 SIP Performance Report 。图9 显示出了报告的 Overall 标签。接下来的章节介绍测试结果与理解它们的细节。
对于每一个 Performance Schedule 的运行,在性能项目中都会添加一个条目,该时间标签记录了什么时候执行计划,如图 3所示。位于 Rational Performance Tester 左下角的 Performance Tests Run 视图,显示出了每一个测试的结果,以及测试中涉及到的每台主机性能测试结果的细节。在前面图 9 中显示的 SIP Performance Report,有一些显示 SIP 测试结果的项。
对于本例,我们对 Call Forwarding 示例的功能测试验证感兴趣。性能报告有六项。我们在这里感兴趣的项,是 Overall and Summary 项:
Rational Performance Tester 中的 Test Log ,是一个用途很大的不可更改性编辑器,在这里您可以检查测试的功能性测试结果。按照以下方法,可以启动 Test Log:
Test Log 编辑器有两项,如图 10 与图 11 所示 。这些项显示出了以下测试细节:
图 11 显示了该项为 Call Forwarding 测试提供的信息。
现在您已经知道了,怎样使用 IBM Rational Performance Test 的 SIP 扩展,以在 SIP 网络上测试 SIP 应用程序。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14780914/viewspace-588977/ ,如需转载,请注明出处,否则将追究法律责任。