Sei sulla pagina 1di 870

TeraVM Java Client User Guide

Version 14.1
Help and Support

Help and Support


TeraVM User Documentation, Online Training Guides and Videos are available on the documentation portal:
https://avcomm.viavisolutions.com/login-account
For general support queries, please log a call on the VIAVI Support Portal
https://support.viavisolutions.com/
For accounts, please contact your local VIAVI Account Representative. You can also contact support using
the mail alias for your region:
Table 1. Regional Support

Location Email

China TeraVMSupport.CN@viavisolutions.com

EMEA TeraVMSupport.EMEA@viavisolutions.com

North America TeraVMSupport.USA@viavisolutions.com

Japan TeraVMSupport.JP@viavisolutions.com

Korea TeraVMSupport.KO@viavisolutions.com

South East Asia TeraVMSupport.SG@viavisolutions.com

India TeraVMSupport.IND@viavisolutions.com

© Copyright 2018 TeraVM Java Client User Guide Page i


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

Table of Contents
TeraVM Terminology ................................................................................................................................... xxi
Copyright ..................................................................................................................................................... xxii

Chapter 1. Introduction to TeraVM ............................................................................................................. 1


1.1. What is TeraVM? ............................................................................................................................ 1
1.2. TeraVM Test Bed ............................................................................................................................ 2
1.3. TeraVM Executive ........................................................................................................................... 3
1.3.1. Executive Configurations in a TeraVM System ..................................................................... 4
1.4. Test Modules, Test Agents and Test Interfaces ............................................................................. 6
1.5. Pool Manager .................................................................................................................................. 7
1.6. Setting Up TeraVM .......................................................................................................................... 8
Chapter 2. Additional TeraVM Steps .......................................................................................................... 9
2.1. TeraVM Executive Set Up ............................................................................................................... 9
2.1.1. Changing the Executive Configuration ................................................................................ 10
2.1.1.1. Configure TeraVM Executive as a Centralized TeraVM Executive ........................... 10
2.1.1.2. Configure TeraVM Executive as a Local TeraVM Executive ..................................... 12
2.1.1.3. Changing the Assigned TeraVM Executive Management IP Address ....................... 13
2.1.1.4. Changing the TeraVM Comms Network Subnet Address ......................................... 14
2.1.2. Set Date/Time ..................................................................................................................... 15
2.1.3. Set Up Microsoft Active Directory with TeraVM .................................................................. 16
2.1.4. Setting Up the Pool Manager .............................................................................................. 18
2.1.4.1. Log in to the Pool Manager ...................................................................................... 18
2.1.4.2. Controllers Tab .......................................................................................................... 20
2.1.4.3. Managing Topologies ................................................................................................ 21
2.1.4.3.1. Create Topology .............................................................................................. 21
2.1.4.3.2. Edit (Rename) a Topology .............................................................................. 22
2.1.4.3.3. Delete Topology .............................................................................................. 23
2.1.4.4. Managing Categories ................................................................................................ 23
2.1.4.4.1. Create Category .............................................................................................. 24
2.1.4.4.2. Edit (Rename) a Category .............................................................................. 24
2.1.4.4.3. Delete Category .............................................................................................. 25
2.1.4.5. Managing Interfaces (Dashboard) ............................................................................. 26
2.1.4.5.1. Viewing Test Modules, Agents and Interfaces ................................................ 26
2.1.4.5.2. Assigning a Topology to an Interface ............................................................. 29
2.1.4.5.3. Assigning Categories to an Interface .............................................................. 29
2.2. Resetting, Reserving and Unregistering Test Modules ................................................................. 31

© Copyright 2018 TeraVM Java Client User Guide Page ii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

2.2.1. Resetting a Test Module ..................................................................................................... 31


2.2.2. Reserving a Test Module .................................................................................................... 31
2.2.3. Unregistering a Test Module ............................................................................................... 32
2.3. TeraVM Controller Set Up ............................................................................................................. 33
2.3.1. Set the Interface Selection Mode ........................................................................................ 33
Chapter 3. Quick Start (HTTP Example) - Java Client ............................................................................ 34
3.1. Download and Start the TeraVM Java Client ................................................................................ 34
3.1.1. Troubleshooting Problems Running Java Client ................................................................. 36
3.1.2. Checking TeraVM Deployment ........................................................................................... 37
3.2. Add a Test Group ......................................................................................................................... 38
3.2.1. Copying a Test Group ......................................................................................................... 39
3.3. Add Hosts ...................................................................................................................................... 40
3.3.1. Add Server Host .................................................................................................................. 41
3.3.1.1. General Details ......................................................................................................... 41
3.3.1.2. Add Server Gateway ................................................................................................. 42
3.3.1.3. Link Layer Details ..................................................................................................... 43
3.3.1.4. Other Settings ........................................................................................................... 47
3.3.2. Add Client Host ................................................................................................................... 47
3.3.3. Verify Host Set Up .............................................................................................................. 48
3.3.4. External Hosts ..................................................................................................................... 50
3.4. Add HTTP Applications ................................................................................................................. 51
3.4.1. Add HTTP Server ................................................................................................................ 51
3.4.1.1. Application Details ..................................................................................................... 52
3.4.1.2. Server Details ............................................................................................................ 52
3.4.2. Add HTTP Client ................................................................................................................. 55
3.4.2.1. Server Details ............................................................................................................ 55
3.5. Run Test and View Results .......................................................................................................... 57
Chapter 4. TeraVM Java Client Overview ................................................................................................ 59
4.1. Menu Bar ....................................................................................................................................... 60
4.2. Configuration Window ................................................................................................................... 61
4.2.1. Test Groups Tab ................................................................................................................. 61
4.2.2. Jobs Tab ............................................................................................................................. 62
4.3. Console Window ............................................................................................................................ 62
4.4. Status Bar ...................................................................................................................................... 62
4.5. Display Window ............................................................................................................................. 63
Chapter 5. TeraVM Administration ........................................................................................................... 64
5.1. TeraVM Controller Administration Interface .................................................................................. 64

© Copyright 2018 TeraVM Java Client User Guide Page iii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

5.2. Change TeraVM Controller (System) Password ........................................................................... 65


5.3. Shutdown / Reboot System ........................................................................................................... 65
Chapter 6. Setting up and Running Tests (Test Groups) ...................................................................... 67
6.1. Loading Applications and Hosts .................................................................................................... 67
6.2. Add a test group ........................................................................................................................... 68
6.3. Viewing/Modifying a Test Group ................................................................................................... 69
6.4. Running a Test Group ................................................................................................................... 70
6.5. Pausing a Test Group ................................................................................................................... 71
6.6. Stopping a Test Group .................................................................................................................. 72
6.7. Deleting a Test Group ................................................................................................................... 72
6.8. Test Group Results ....................................................................................................................... 72
6.8.1. Saving Test Group Results ................................................................................................. 73
6.9. Analyzing Test Group Results ....................................................................................................... 74
6.10. Exporting a Test Group ............................................................................................................... 74
6.11. Importing a Test Group ............................................................................................................... 75
6.12. Folders ......................................................................................................................................... 75
Chapter 7. Hosts ........................................................................................................................................ 76
7.1. Overview of TeraVM Hosts ........................................................................................................... 76
7.1.1. Virtual Hosts ........................................................................................................................ 76
7.1.1.1. Virtual Hosts (DVH, IVH) .......................................................................................... 77
7.1.1.2. Virtual Subnet Host (DVSH, IDVSH) ......................................................................... 78
7.1.2. External Hosts ..................................................................................................................... 80
7.1.3. Gateway .............................................................................................................................. 80
7.1.4. Host IP Address Assignment .............................................................................................. 81
7.1.4.1. Invalid Addresses ...................................................................................................... 82
7.1.4.2. Host Domain Rules ................................................................................................... 82
7.2. Working with Hosts ....................................................................................................................... 82
7.2.1. Adding Hosts - (Host Wizard) ............................................................................................. 83
7.2.1.1. Scaling and Bulk Provisioning of Hosts .................................................................... 84
7.2.1.1.1. Parameters for Scaling / Bulk Provisioning ..................................................... 85
7.2.1.2. Add Host Wizard Dialog - General Details (All Host Types) ..................................... 85
7.2.1.2.1. Optional parameters - External Hosts only ..................................................... 87
7.2.1.3. Provisioning Virtual Hosts ......................................................................................... 87
7.2.1.3.1. General Fields - Hosts .................................................................................... 88
7.2.1.3.1.1. PPPoE Details ...................................................................................... 88
7.2.1.3.1.1.1. Advanced PPPoE Settings ......................................................... 89
7.2.1.3.1.1.1.1. PPPoE Settings for Multiple Hosts .................................... 90

© Copyright 2018 TeraVM Java Client User Guide Page iv


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

7.2.1.3.1.1.1.2. Changes in Host's MTU .................................................... 92


7.2.1.3.2. Advanced Settings .......................................................................................... 92
7.2.1.3.2.1. IPv6 ....................................................................................................... 92
7.2.1.3.2.2. TCP ....................................................................................................... 93
7.2.1.3.2.3. SIP Host Settings for VoIP UA (B2B Mode) Application ....................... 94
7.2.1.3.3. Link Layer Details ........................................................................................... 94
7.2.1.3.3.1. Tagging Multiple Hosts ......................................................................... 97
7.2.1.3.4. Configure DHCP Options ................................................................................ 97
7.2.1.3.4.1. DHCPv4 Options ................................................................................... 98
7.2.1.3.4.1.1. DHCPv4 Authentication ............................................................ 100
7.2.1.3.4.1.2. Advanced DHCPv4 Options ...................................................... 100
7.2.1.3.4.2. DHCPv6 Options ................................................................................. 101
7.2.1.3.4.2.1. DHCPv6 Authentication ............................................................ 102
7.2.1.3.4.2.2. Advanced DHCPv6 Options ...................................................... 103
7.2.1.3.4.3. DHCP Iteration Options ...................................................................... 103
7.2.1.3.5. Configure EAP Settings ................................................................................ 105
7.2.1.3.5.1. Provisioning the External RADIUS Server .......................................... 109
7.2.1.3.6. Statistics Settings .......................................................................................... 110
7.2.1.3.7. Activity Settings ............................................................................................. 110
7.2.1.3.8. Additional Configuration - Block All Traffic .................................................... 113
7.2.2. Viewing and Modifying Hosts ............................................................................................ 114
7.2.2.1. Viewing Hosts ......................................................................................................... 114
7.2.2.2. Setting Hosts in or Out of Service .......................................................................... 115
7.2.2.3. Editing Host Properties ........................................................................................... 117
7.2.2.4. Modifying Multiple Hosts ......................................................................................... 118
7.2.2.5. Capturing PDUs on a Host ..................................................................................... 119
7.2.2.6. Pinging from a Host ................................................................................................ 123
7.2.2.7. Trace Routing from a Host ..................................................................................... 127
7.2.2.8. Deleting a Host ....................................................................................................... 131
Chapter 8. Applications ........................................................................................................................... 133
8.1. Using TeraVM Applications ......................................................................................................... 133
8.1.1. Application Categories ....................................................................................................... 133
8.1.2. Provisioning of IP Applications - Single and Scaled ......................................................... 134
8.1.3. Passive Analysis ............................................................................................................... 142
8.1.4. Adding an Application ....................................................................................................... 143
8.1.5. Modifying an IP Application ............................................................................................... 144
8.1.6. Listing Provisioned Applications ........................................................................................ 147

© Copyright 2018 TeraVM Java Client User Guide Page v


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.1.7. Enabling and Disabling an Application .............................................................................. 147


8.1.8. Setting an Application In and Out of Service .................................................................... 148
8.1.9. Capturing PDUs on an Application ................................................................................... 149
8.1.10. Pinging from an Application ............................................................................................ 153
8.1.11. Trace Routing from an Application .................................................................................. 157
8.1.12. Deleting an Application ................................................................................................... 161
8.2. TeraVM Applications ................................................................................................................... 161
8.2.1. Settings Common to Multiple Applications ........................................................................ 162
8.2.1.1. Application Details ................................................................................................... 162
8.2.1.2. Advanced TCP Settings .......................................................................................... 162
8.2.1.2.1. TCP Characteristics Settings ........................................................................ 162
8.2.1.2.2. Connection Rate Limit Settings ..................................................................... 164
8.2.1.3. Additional Configuration .......................................................................................... 164
8.2.1.3.1. Passive Analysis ........................................................................................... 165
8.2.2. HTTP ................................................................................................................................. 167
8.2.2.1. Provisioning a HTTP Server Application ................................................................. 168
8.2.2.1.1. Application Details ......................................................................................... 169
8.2.2.1.2. Server Details ................................................................................................ 170
8.2.2.1.3. Server Details - Advanced Details ................................................................ 172
8.2.2.1.4. Connection Details ........................................................................................ 174
8.2.2.1.5. Additional Configuration ................................................................................ 174
8.2.2.2. Provisioning a HTTP Client Application .................................................................. 174
8.2.2.2.1. Application Details ......................................................................................... 176
8.2.2.2.1.1. Enabling SSLv3 on HTTP ................................................................... 177
8.2.2.2.1.2. Adding a Cipher List ........................................................................... 178
8.2.2.2.1.3. Advanced TCP .................................................................................... 181
8.2.2.2.2. Server Details ................................................................................................ 182
8.2.2.2.2.1. HTTP Client Server Details Advanced Settings .................................. 184
8.2.2.2.2.1.1. HTTP Authentication Configuration ........................................... 185
8.2.2.2.2.1.2. Keyword Substitution ................................................................ 186
8.2.2.2.2.1.3. Headers .................................................................................... 187
8.2.2.2.2.1.4. ACWS ....................................................................................... 188
8.2.2.2.3. Connection Details ........................................................................................ 188
8.2.2.2.3.1. Advanced Connection Settings ........................................................... 190
8.2.2.2.4. Additional Configuration ................................................................................ 190
8.2.2.3. Provisioning an External HTTP Server Application ................................................. 191
8.2.2.3.1. Application Details ......................................................................................... 191

© Copyright 2018 TeraVM Java Client User Guide Page vi


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.2.3.2. External Server Properties ............................................................................ 192


8.2.2.4. Provisioning an External HTTP Proxy Server Application ....................................... 192
8.2.3. HTTP Adaptive Bit Rate .................................................................................................... 192
8.2.3.1. Overview ................................................................................................................. 193
8.2.3.2. Designing a Testing Strategy .................................................................................. 194
8.2.3.2.1. Test Selection Options .................................................................................. 194
8.2.3.2.1.1. Client Types ........................................................................................ 194
8.2.3.2.1.2. Stream Selection ................................................................................. 195
8.2.3.2.1.3. Session Duration ................................................................................. 195
8.2.3.2.1.4. Monitoring Methods for Adaptive Streaming ....................................... 196
8.2.3.2.1.5. Playout Buffer ..................................................................................... 197
8.2.3.2.1.6. DNS Resolution .................................................................................. 197
8.2.3.2.1.7. Redirection of Streaming Clients ........................................................ 198
8.2.3.2.1.8. Cookie Support ................................................................................... 198
8.2.3.2.1.9. Live and On-demand Selection ........................................................... 198
8.2.3.3. Setting up an OTT Test .......................................................................................... 198
8.2.3.3.1. Downloading Live and On-Demand Media Fragments .................................. 198
8.2.3.3.2. Test Prerequisites ......................................................................................... 199
8.2.3.3.3. Video Stream Sourcing ................................................................................. 199
8.2.3.4. Configuring OTT Test Elements .............................................................................. 200
8.2.3.5. Creating an External Gateway ................................................................................ 202
8.2.3.5.1. Configuring an External Host ........................................................................ 202
8.2.3.5.2. Configure an External HTTP Server Application ........................................... 203
8.2.3.6. Configuring an Adaptive Bit Rate Client Application ............................................... 205
8.2.3.6.1. Application Details ......................................................................................... 206
8.2.3.6.1.1. Advanced TCP Configuration .............................................................. 208
8.2.3.6.2. Server Details ................................................................................................ 208
8.2.3.6.2.1. Creating a HTTP Request List ............................................................ 210
8.2.3.6.2.2. Advanced HTTP Configuration ........................................................... 215
8.2.3.6.3. Streaming Details .......................................................................................... 217
8.2.3.6.3.1. Advanced Streaming Features ............................................................ 220
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate Profile .............................. 221
8.2.3.6.3.1.2. Creating a Quality Level Change List ....................................... 226
8.2.3.6.4. Session Details ............................................................................................. 230
8.2.3.6.5. Additional Configuration ................................................................................ 231
8.2.3.6.6. Configuring a Media Streaming Server ......................................................... 232
8.2.3.6.6.1. External Media Streaming Server ....................................................... 232

© Copyright 2018 TeraVM Java Client User Guide Page vii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.3.6.6.2. TeraVM Emulated Media Streaming Server ........................................ 233


8.2.3.6.6.2.1. Configuring a HTTP Server Application .................................... 233
8.2.3.6.6.2.1.1. Application Details .......................................................... 234
8.2.3.6.6.2.1.2. Server Details ................................................................. 235
8.2.3.6.6.2.2. Configuring the Adaptive Bit Rate Client Application ................. 236
8.2.3.6.6.2.3. Configuring the ‘Media Segment URI strip value for lookup’ setting
.......................................................................................................................... 237
8.2.4. CoAP ................................................................................................................................. 240
8.2.4.1. Provisioning CoAP Device Application .................................................................... 240
8.2.4.1.1. Application Details ......................................................................................... 241
8.2.4.1.2. General Details ............................................................................................. 242
8.2.4.1.3. Traffic Model ................................................................................................. 243
8.2.4.1.4. Additional Configuration ................................................................................ 246
8.2.4.2. Provisioning CoAP External Server ........................................................................ 246
8.2.4.2.1. Configure External Server ............................................................................. 246
8.2.4.2.2. External Properties ........................................................................................ 247
8.2.5. IP Replay Applications ...................................................................................................... 249
8.2.5.1. Provisioning an IP Replay Application .................................................................... 249
8.2.5.1.1. Application Details ......................................................................................... 251
8.2.5.1.2. IP Replay Field Details ................................................................................. 252
8.2.5.1.3. Additional Configuration ................................................................................ 254
8.2.5.1.4. Packet Capture ............................................................................................. 257
8.2.6. Multicast IGMP/MLD .......................................................................................................... 257
8.2.6.1. IGMP/MLD Versions ................................................................................................ 258
8.2.6.2. Provisioning a Multicast IGMP Server Application .................................................. 259
8.2.6.2.1. Application Details ......................................................................................... 260
8.2.6.2.2. Server Details ................................................................................................ 260
8.2.6.2.3. Streamed Content ......................................................................................... 262
8.2.6.2.4. Additional Configuration ................................................................................ 265
8.2.6.3. Provisioning a Multicast IGMP Client Application .................................................... 265
8.2.6.3.1. Application Details ......................................................................................... 266
8.2.6.3.2. Client Details ................................................................................................. 267
8.2.6.3.3. Join Details ................................................................................................... 269
8.2.6.3.3.1. Advanced Configuration ...................................................................... 271
8.2.6.3.4. Filter Details .................................................................................................. 274
8.2.6.3.5. Additional Configuration ................................................................................ 275
8.2.6.3.5.1. Statistics Configuration ....................................................................... 275

© Copyright 2018 TeraVM Java Client User Guide Page viii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.6.3.6. Passive Analysis ........................................................................................... 277


8.2.6.4. Provisioning a Multicast IGMP External Server Application .................................... 280
8.2.6.4.1. External Server Properties ............................................................................ 281
8.2.7. VoIP ................................................................................................................................... 283
8.2.7.1. Provisioning a VoIP UAS Application ...................................................................... 284
8.2.7.1.1. Add New VoIP UAS - Application Details ..................................................... 285
8.2.7.1.2. Add New VoIP UAS - Server Details ............................................................ 286
8.2.7.1.3. Add New VoIP UAS - Call Details ................................................................ 287
8.2.7.1.3.1. Advanced SIP Options ........................................................................ 288
8.2.7.1.4. Add New VoIP UAS - Additional Configuration ............................................. 289
8.2.7.2. Provisioning a VoIP UA .......................................................................................... 290
8.2.7.2.1. Application Details ......................................................................................... 292
8.2.7.2.2. Addressing Details ........................................................................................ 293
8.2.7.2.3. General Details ............................................................................................. 294
8.2.7.2.3.1. Authentication Details ......................................................................... 296
8.2.7.2.3.2. Advanced Registration Details ............................................................ 299
8.2.7.2.4. In/Out Call Setup .......................................................................................... 302
8.2.7.2.4.1. SIP Call Options ................................................................................. 303
8.2.7.2.5. Call Details .................................................................................................... 304
8.2.7.2.5.1. Adaptive Stream Changes .................................................................. 306
8.2.7.2.5.2. Advanced (Call Details) ...................................................................... 306
8.2.7.2.5.2.1. The SIP Tab ............................................................................. 307
8.2.7.2.5.2.2. The DTMF Tab ......................................................................... 308
8.2.7.2.5.2.2.1. DTMF Events Scaler ....................................................... 309
8.2.7.2.5.2.3. The General Tab ....................................................................... 312
8.2.7.2.6. SMS Message ............................................................................................... 313
8.2.7.2.6.1. SMS Message Support ....................................................................... 313
8.2.7.2.6.2. Receive SMS ...................................................................................... 314
8.2.7.2.6.3. Send/Receive SMS ............................................................................. 316
8.2.7.2.6.3.1. Send/Receive SMS Message Support: Configure SMS List ...... 318
8.2.7.2.6.4. Delays Between Sending of SMS ....................................................... 321
8.2.7.2.7. Additional Configuration ................................................................................ 324
8.2.7.2.7.1. Statistics Configuration ....................................................................... 324
8.2.7.2.8. Passive Analysis ........................................................................................... 325
8.2.7.3. SIP Trunking in TeraVM ......................................................................................... 327
8.2.7.3.1. SIP Trunking Configuration ........................................................................... 329
8.2.7.3.1.1. Applying a SIP-Header Field List ........................................................ 333

© Copyright 2018 TeraVM Java Client User Guide Page ix


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.7.4. Provisioning a VoIP B2B UA ................................................................................... 336


8.2.7.4.1. Application Details ......................................................................................... 337
8.2.7.4.2. General Details ............................................................................................. 338
8.2.7.4.2.1. Advanced Registration Details ............................................................ 340
8.2.7.4.3. In/Out Call Setup .......................................................................................... 340
8.2.7.4.3.1. SIP Call Options ................................................................................. 342
8.2.7.4.4. Call Details .................................................................................................... 342
8.2.7.4.4.1. Adaptive Stream Changes .................................................................. 344
8.2.7.4.4.2. Advanced SIP ..................................................................................... 345
8.2.7.4.5. Additional Details .......................................................................................... 346
8.2.7.4.5.1. Statistics Configuration ....................................................................... 347
8.2.7.4.6. Passive Analysis ........................................................................................... 347
8.2.7.5. Provisioning an External SIP Proxy ........................................................................ 349
8.2.7.5.1. External SIP Proxy Properties ...................................................................... 350
8.2.8. Dual Hosted VoIP ............................................................................................................. 351
8.2.8.1. Provisioning a Dual Hosted VoIP UA ...................................................................... 352
8.2.8.1.1. Application Details ......................................................................................... 354
8.2.8.1.2. General Details ............................................................................................. 355
8.2.8.1.2.1. Advanced Additional Configuration Details ......................................... 357
8.2.8.1.3. In/Out Call Setup .......................................................................................... 358
8.2.8.1.3.1. SIP Call Options ................................................................................. 360
8.2.8.1.4. Call Details .................................................................................................... 361
8.2.8.1.4.1. Adaptive Stream Changes .................................................................. 363
8.2.8.1.4.2. Advanced SIP ..................................................................................... 364
8.2.8.1.5. Additional Configuration ................................................................................ 366
8.2.8.1.5.1. Statistics Configuration ....................................................................... 367
8.2.8.1.6. Passive Analysis ........................................................................................... 368
8.2.8.2. Provisioning a Dual Hosted (B2B) VoIP UA ............................................................ 370
8.2.8.2.1. Application Details ......................................................................................... 372
8.2.8.2.2. General Details ............................................................................................. 372
8.2.8.2.2.1. Advanced Additional Configuration Details ......................................... 374
8.2.8.2.3. In/Out Call Setup .......................................................................................... 375
8.2.8.2.3.1. SIP Call Options ................................................................................. 377
8.2.8.2.4. Call Details .................................................................................................... 378
8.2.8.2.4.1. Adaptive Stream Changes .................................................................. 380
8.2.8.2.4.2. Advanced SIP ..................................................................................... 381
8.2.8.2.5. Additional Details .......................................................................................... 382

© Copyright 2018 TeraVM Java Client User Guide Page x


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.8.2.5.1. Statistics Configuration ....................................................................... 384


8.2.8.2.6. Passive Analysis ........................................................................................... 385
8.2.8.2.7. PDU Capture for Dual Hosted VoIP Applications .......................................... 387
8.2.8.2.8. Pinging/Tracing Dual Hosted VoIP Applications ........................................... 387
8.2.9. RTSP ................................................................................................................................. 387
8.2.9.1. Provisioning an RTSP Server Application ............................................................... 388
8.2.9.1.1. Application Details ......................................................................................... 389
8.2.9.1.2. Server Details ................................................................................................ 390
8.2.9.1.3. Additional Configuration ................................................................................ 392
8.2.9.2. Provisioning an RTSP Client Application ................................................................ 394
8.2.9.2.1. Application Details ......................................................................................... 394
8.2.9.2.2. Client Details ................................................................................................. 395
8.2.9.2.2.1. RTSP HTTP Configuration .................................................................. 398
8.2.9.2.2.2. RTSP Authentication Configuration ..................................................... 401
8.2.9.2.3. Session Details ............................................................................................. 401
8.2.9.2.3.1. Advanced Details ................................................................................ 403
8.2.9.2.3.1.1. Interoperability ........................................................................... 404
8.2.9.2.3.1.2. NAT Poke Hole ......................................................................... 405
8.2.9.2.3.1.3. Keep Alive ................................................................................. 406
8.2.9.2.4. Additional Details .......................................................................................... 408
8.2.9.2.4.1. Statistics Configuration ....................................................................... 408
8.2.9.2.5. Passive Analysis ........................................................................................... 410
8.2.9.3. Provisioning an External RTSP Server Application ................................................. 412
8.2.9.3.1. Application Details ......................................................................................... 413
8.2.9.3.2. External Server Properties ............................................................................ 414
8.2.9.4. Provisioning an External RTSP Proxy Server Application ....................................... 415
8.2.9.4.1. External Proxy Server Properties .................................................................. 417
8.2.10. RTP ................................................................................................................................. 418
8.2.10.1. Provisioning an External Unicast RTP Client Application ...................................... 418
8.2.10.1.1. Application Details ....................................................................................... 419
8.2.10.1.2. Properties .................................................................................................... 420
8.2.10.2. Provisioning a Unicast RTP Client Application ...................................................... 421
8.2.10.2.1. Application Details ....................................................................................... 422
8.2.10.2.2. Addressing Details ...................................................................................... 423
8.2.10.2.3. Client Details ............................................................................................... 425
8.2.10.2.3.1. Advanced Configurations .................................................................. 427
8.2.10.2.4. Additional Details ........................................................................................ 427

© Copyright 2018 TeraVM Java Client User Guide Page xi


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.10.2.5. Passive Analysis ......................................................................................... 427


8.2.10.3. Provisioning an External Multicast RTP Server Application .................................. 428
8.2.10.3.1. Application Details ....................................................................................... 429
8.2.10.3.2. Properties .................................................................................................... 430
8.2.10.4. Provisioning a Multicast RTP Client Application .................................................... 431
8.2.10.4.1. Application Details ....................................................................................... 432
8.2.10.4.2. Client Details ............................................................................................... 433
8.2.10.4.2.1. Advanced Configurations .................................................................. 435
8.2.10.4.3. Additional Details ........................................................................................ 435
8.2.10.4.4. Passive Analysis ......................................................................................... 435
8.2.11. FTP .................................................................................................................................. 438
8.2.11.1. Provisioning an FTP Server Application ................................................................ 438
8.2.11.1.1. Application Details ....................................................................................... 439
8.2.11.1.2. Server Details .............................................................................................. 440
8.2.11.1.3. Additional Configuration .............................................................................. 441
8.2.11.2. Provisioning an FTP Client Application ................................................................. 441
8.2.11.2.1. Application Details ....................................................................................... 442
8.2.11.2.2. Client Details ............................................................................................... 444
8.2.11.2.3. Session Details ........................................................................................... 445
8.2.11.2.4. Additional Details ........................................................................................ 447
8.2.11.3. Provisioning an External FTP Server Application .................................................. 447
8.2.11.3.1. External Server Properties .......................................................................... 448
8.2.12. TCP Playback .................................................................................................................. 449
8.2.12.1. Provisioning a TCP Playback Server Application .................................................. 449
8.2.12.1.1. Application Details ....................................................................................... 450
8.2.12.1.2. Server Details .............................................................................................. 451
8.2.12.1.3. Additional Configuration .............................................................................. 452
8.2.12.2. Provisioning a TCP Playback Client Application ................................................... 452
8.2.12.2.1. Application Details ....................................................................................... 453
8.2.12.2.2. Client Details ............................................................................................... 453
8.2.12.2.3. Additional Details ........................................................................................ 455
8.2.13. SMTP ............................................................................................................................... 455
8.2.13.1. Pipelining ............................................................................................................... 455
8.2.13.2. Provisioning an SMTP Receiver Application ......................................................... 456
8.2.13.2.1. Application Details ....................................................................................... 456
8.2.13.2.2. Receiver Details .......................................................................................... 457
8.2.13.2.3. Additional Configuration .............................................................................. 458

© Copyright 2018 TeraVM Java Client User Guide Page xii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.13.3. Provisioning an SMTP Transmitter Application ..................................................... 458


8.2.13.3.1. Application Details ....................................................................................... 459
8.2.13.3.2. Transmitter Details ...................................................................................... 460
8.2.13.3.2.1. Mail Headers ..................................................................................... 462
8.2.13.3.2.2. Advanced Details .............................................................................. 468
8.2.13.3.3. Session Details ........................................................................................... 469
8.2.13.3.4. Additional Details ........................................................................................ 470
8.2.13.4. Provisioning an External SMTP Receiver Application ........................................... 470
8.2.13.4.1. External Receiver Properties ...................................................................... 471
8.2.13.5. Provisioning an External SMTP Transmitter Application ....................................... 472
8.2.13.5.1. External Transmitter Properties ................................................................... 473
8.2.14. DDoS ............................................................................................................................... 474
8.2.14.1. Provisioning an DDoS Attacker Application .......................................................... 475
8.2.14.1.1. Application Details ....................................................................................... 477
8.2.14.1.1.1. Spoof MAC Address ......................................................................... 478
8.2.14.1.2. Attacker Details ........................................................................................... 478
8.2.14.1.2.1. Reflective SYN Flood Attacker Details .............................................. 480
8.2.14.1.3. Additional Configuration .............................................................................. 481
8.2.14.2. Provisioning a DDoS TCP Listener ....................................................................... 481
8.2.14.2.1. SYN Flood Listener ..................................................................................... 481
8.2.14.2.2. Reflective SYN Flood Listener .................................................................... 481
8.2.14.2.3. Application Details ....................................................................................... 481
8.2.14.2.4. Additional Details ........................................................................................ 482
8.2.15. P2P Applications ............................................................................................................. 483
8.2.15.1. Provisioning a P2P Peer Application .................................................................... 483
8.2.15.1.1. Application Details ....................................................................................... 484
8.2.15.1.2. Peer Details ................................................................................................ 484
8.2.15.1.3. Additional Configuration .............................................................................. 486
8.2.16. P2P Replay Applications ................................................................................................. 486
8.2.16.1. Provisioning a P2P Replay Peer Application ........................................................ 487
8.2.16.1.1. Application Details ....................................................................................... 487
8.2.16.1.2. Peer Details ................................................................................................ 488
8.2.16.1.3. Additional Configuration .............................................................................. 490
8.2.17. Latency Applications ........................................................................................................ 490
8.2.17.1. Provisioning a Multicast Latency Server ............................................................... 490
8.2.17.1.1. Application Details ....................................................................................... 491
8.2.17.1.2. Server Details .............................................................................................. 492

© Copyright 2018 TeraVM Java Client User Guide Page xiii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.17.1.3. Additional Configuration .............................................................................. 493


8.2.17.2. Provisioning a Multicast Latency Client ................................................................. 493
8.2.17.2.1. Application Details ....................................................................................... 494
8.2.17.2.2. Additional Configuration .............................................................................. 495
8.2.17.3. Provisioning a Unicast Latency Server ................................................................. 495
8.2.17.3.1. Application Details ....................................................................................... 496
8.2.17.3.2. Additional Configuration .............................................................................. 497
8.2.17.4. Provisioning a Unicast Latency Client ................................................................... 497
8.2.17.4.1. Application Details ....................................................................................... 498
8.2.17.4.2. Client Details ............................................................................................... 499
8.2.17.4.3. Additional Configuration .............................................................................. 500
8.2.18. Netflow ............................................................................................................................. 500
8.2.18.1. Netflow Templates ................................................................................................. 500
8.2.18.2. Provisioning a Netflow Export Agent ..................................................................... 501
8.2.18.2.1. Application Details ....................................................................................... 501
8.2.18.2.2. Export Agent Details ................................................................................... 503
8.2.18.2.3. Netflow Field Details ................................................................................... 505
8.2.18.2.4. Netflow AnyConnect Field Details ............................................................... 507
8.2.18.2.5. Additional Configuration .............................................................................. 509
8.2.18.3. Provisioning a Netflow Collector ........................................................................... 509
8.2.18.3.1. Application Details ....................................................................................... 509
8.2.18.3.2. External Properties ...................................................................................... 510
8.2.19. POP3 Applications .......................................................................................................... 512
8.2.19.1. Provisioning a POP 3 Server ................................................................................ 512
8.2.19.1.1. Application Details ....................................................................................... 513
8.2.19.1.2. Server Details .............................................................................................. 514
8.2.19.1.3. Additional Configuration .............................................................................. 515
8.2.19.2. Provisioning a POP3 Client ................................................................................... 516
8.2.19.2.1. Application Details ....................................................................................... 517
8.2.19.2.2. Client Details ............................................................................................... 518
8.2.19.2.3. Additional Details ........................................................................................ 519
8.2.19.3. Provisioning an External POP3 Server ................................................................. 519
8.2.19.3.1. Application Details ....................................................................................... 520
8.2.19.3.2. External POP3 Server Properties ............................................................... 520
8.2.20. Raw Port Playback Applications ..................................................................................... 522
8.2.20.1. Provisioning Raw Port Playback ........................................................................... 522
8.2.20.1.1. Additional Configuration .............................................................................. 523

© Copyright 2018 TeraVM Java Client User Guide Page xiv


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.21. Head End Monitor Applications ....................................................................................... 523


8.2.21.1. Provisioning a Head End Monitor ......................................................................... 523
8.2.21.1.1. Video Characteristics .................................................................................. 524
8.2.22. PPPoE Server ................................................................................................................. 525
8.2.22.1. Provisioning a PPPoE Server ............................................................................... 526
8.2.22.1.1. Application Details ....................................................................................... 527
8.2.22.1.2. Server Settings ............................................................................................ 528
8.2.22.1.3. IPCP Settings .............................................................................................. 530
8.2.23. DHCPv4 Server Applications .......................................................................................... 531
8.2.23.1. Provisioning a DHCPv4 Server Application ........................................................... 531
8.2.23.1.1. Application Details ....................................................................................... 532
8.2.23.1.2. IP Address Assignment ............................................................................... 533
8.2.23.1.3. Client Configuration Parameters ................................................................. 534
8.2.23.1.4. Server Settings ............................................................................................ 535
8.2.24. TWAMP ........................................................................................................................... 536
8.2.24.1. Provisioning a TWAMP Server .............................................................................. 537
8.2.24.1.1. Additional Configuration .............................................................................. 539
8.2.24.2. Provisioning a TWAMP Client ............................................................................... 539
8.2.24.2.1. Client Details ............................................................................................... 541
8.2.24.2.2. Additional Configuration .............................................................................. 543
8.2.24.3. Provisioning an External TWAMP Server ............................................................. 543
8.2.24.3.1. Additional Configuration .............................................................................. 544
8.2.25. UDP Playback ................................................................................................................. 545
8.2.25.1. Provisioning a UDP Playback Source(s) Application ............................................. 546
8.2.25.1.1. Application Details ....................................................................................... 547
8.2.25.1.2. Source Details ............................................................................................. 548
8.2.25.1.3. Additional Configuration .............................................................................. 550
8.2.25.2. Provisioning a UDP Playback Sink Application ..................................................... 550
8.2.25.2.1. Application Details ....................................................................................... 550
8.2.25.2.2. Additional Configuration .............................................................................. 551
8.2.26. Telepresence Endpoint Emulation ................................................................................... 551
8.2.26.1. SIP Trunking ......................................................................................................... 552
8.2.26.2. Generating Media Files ......................................................................................... 552
8.2.26.3. Provisioning a Cisco TelePresence Endpoint ....................................................... 553
8.2.26.3.1. Application Details ....................................................................................... 553
8.2.26.3.2. General Details ........................................................................................... 560
8.2.26.3.2.1. Authentication Details ....................................................................... 561

© Copyright 2018 TeraVM Java Client User Guide Page xv


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.26.3.2.2. Advanced Registration Details .......................................................... 563


8.2.26.3.3. In/Out Call Setup ......................................................................................... 564
8.2.26.3.3.1. SIP Call Options ............................................................................... 565
8.2.26.3.4. Call Details .................................................................................................. 565
8.2.26.3.4.1. Call Hold Control ............................................................................... 567
8.2.26.3.4.2. Advanced SIP ................................................................................... 568
8.2.26.3.5. Additional Details ........................................................................................ 569
8.2.26.3.5.1. Statistics Configuration ..................................................................... 569
8.2.26.3.6. Passive Analysis ......................................................................................... 569
8.2.27. DNS (Domain Name System) ......................................................................................... 571
8.2.27.1. Provisioning a DNS Client ..................................................................................... 571
8.2.27.1.1. Application Details ....................................................................................... 572
8.2.27.1.2. Session Details ........................................................................................... 573
8.2.27.1.3. Queries Details ............................................................................................ 575
8.2.27.1.3.1. Advanced DNS Queries .................................................................... 576
8.2.27.1.4. Additional Configuration .............................................................................. 577
8.2.27.2. Provisioning an External DNS Server ................................................................... 577
8.2.27.2.1. External Properties ...................................................................................... 578
8.2.28. VPN Emulation ................................................................................................................ 579
8.2.28.1. Cisco AnyConnect VPN Client Emulation ............................................................. 580
8.2.28.1.1. Provisioning a Cisco AnyConnect VPN Client ............................................ 581
8.2.28.1.1.1. Application Details ............................................................................. 581
8.2.28.1.1.1.1. Adding a Cipher Suite ............................................................. 583
8.2.28.1.1.2. Client Details ..................................................................................... 587
8.2.28.1.1.3. Additional Configuration .................................................................... 590
8.2.28.1.2. Provisioning a Cisco AnyConnect Head-End Server Application ................ 590
8.2.28.1.2.1. External Properties ............................................................................ 591
8.2.28.2. Cisco Clientless VPN Emulation ........................................................................... 592
8.2.28.2.1. Provisioning a Cisco Clientless VPN Application ........................................ 593
8.2.28.2.1.1. Application Details ............................................................................. 593
8.2.28.2.1.2. Connection Details ............................................................................ 595
8.2.28.2.1.3. HTTP Request Details ...................................................................... 597
8.2.28.2.1.4. HTTP Connection Details ................................................................. 600
8.2.28.2.1.5. Additional Configuration .................................................................... 601
8.2.28.3. IPSec/IKE VPN ..................................................................................................... 601
8.2.28.3.1. Application Details ....................................................................................... 603
8.2.28.3.2. Client Details ............................................................................................... 604

© Copyright 2018 TeraVM Java Client User Guide Page xvi


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.28.3.3. Additional Configuration .............................................................................. 608


8.2.28.4. GRE Site to Site VPN ........................................................................................... 608
8.2.28.4.1. Ethernet over GRE encapsulation ............................................................... 609
8.2.28.4.2. Test Set Up ................................................................................................. 610
8.2.28.4.2.1. GRE Site to Site VPN Application Fields .......................................... 612
8.2.28.4.2.2. Runtime State ................................................................................... 613
8.2.28.4.2.2.1. Test Results ............................................................................ 613
8.2.28.5. F5 SSL VPN ......................................................................................................... 613
8.2.28.5.1. Provisioning a F5 SSL VPN Client .............................................................. 614
8.2.28.5.1.1. Application Details ............................................................................. 614
8.2.28.5.1.2. Client Details ..................................................................................... 616
8.2.28.5.1.2.1. Advanced Settings .................................................................. 619
8.2.28.5.1.3. Additional Configuration .................................................................... 619
8.2.28.6. VPN Tunnel Teardown .......................................................................................... 620
8.2.28.7. Other VPN Applications ........................................................................................ 621
8.2.28.7.1. Provisioning a VPN Client ........................................................................... 621
8.2.28.7.1.1. Application Details ............................................................................. 621
8.2.28.7.1.2. Client Details ..................................................................................... 623
8.2.28.7.1.3. Additional Configuration .................................................................... 626
8.2.28.7.2. Provisioning a External Secure Gateway .................................................... 626
8.2.28.7.2.1. Additional Configuration .................................................................... 627
8.2.29. Ping ................................................................................................................................. 628
8.2.29.1. Provisioning a Ping Application ............................................................................. 629
8.2.29.1.1. Application Details ....................................................................................... 629
8.2.29.1.2. Ping Details ................................................................................................. 630
8.2.29.1.3. Additional Configuration .............................................................................. 632
8.2.30. TeraFlow (TCP/UDP traffic generator) ............................................................................ 632
8.2.30.1. Provisioning a TeraFlow Client ............................................................................. 632
8.2.30.1.1. Application Details ....................................................................................... 633
8.2.30.1.2. Client Details ............................................................................................... 634
8.2.30.1.3. Additional Configuration .............................................................................. 638
8.2.30.2. Provisioning a TeraFlow Server ............................................................................ 638
8.2.30.2.1. Application Details ....................................................................................... 639
8.2.30.2.2. Mobile Terminated Application .................................................................... 640
8.2.30.2.3. Server Details .............................................................................................. 640
8.2.30.2.4. Additional Configuration .............................................................................. 641
8.2.30.3. Provisioning an External TeraFlow Server ............................................................ 642

© Copyright 2018 TeraVM Java Client User Guide Page xvii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

8.2.30.3.1. External Properties ...................................................................................... 643


8.2.31. VXLAN/VTEP Emulation ................................................................................................. 644
8.2.31.1. Provisioning VTEP ................................................................................................ 644
8.2.31.1.1. Application Details ....................................................................................... 644
8.2.31.1.2. VTEP Details ............................................................................................... 646
Chapter 9. Test Configuration ................................................................................................................ 649
9.1. Test Group Configuration Folders ............................................................................................... 649
9.1.1. Adding a Configuration Folder .......................................................................................... 650
9.1.2. Copying a Test Group ....................................................................................................... 651
9.1.3. Exporting a Configuration Folder ...................................................................................... 651
9.1.4. Importing a Configuration Folder ....................................................................................... 651
9.1.5. View/Modify Configuration Item Properties ....................................................................... 652
9.1.6. Exporting a Configuration Item .......................................................................................... 653
9.1.6.1. Export a Configuration Item to XML ........................................................................ 653
9.1.6.2. Export a Resource or Request List to XML As ....................................................... 654
9.1.7. Importing a Configuration Item .......................................................................................... 654
9.1.8. Deleting a Configuration Item ............................................................................................ 655
9.2. General Test Configuration Items ............................................................................................... 655
9.2.1. Test Agent Configuration .................................................................................................. 655
9.2.2. IP Port Level Configuration ............................................................................................... 661
9.2.3. Rate Limiting Configuration ............................................................................................... 663
9.2.4. Playback Configuration ...................................................................................................... 665
9.2.5. Profile Configuration .......................................................................................................... 668
9.2.6. String List Configuration .................................................................................................... 673
9.3. Application-Specific Test Configuration ....................................................................................... 674
9.3.1. Adaptive Bit Rate Level List Configuration ........................................................................ 674
9.3.2. Bit Rate Level Change List Configuration ......................................................................... 677
9.3.3. FTP .................................................................................................................................... 678
9.3.3.1. Add an FTP Configuration Folder ........................................................................... 679
9.3.3.2. Add a Command List .............................................................................................. 679
9.3.3.3. Add a Resource List ............................................................................................... 681
9.3.4. HTTP Configuration ........................................................................................................... 683
9.3.4.1. Add a HTTP Configuration Folder ........................................................................... 685
9.3.4.2. Add HTTP Requests ............................................................................................... 685
9.3.4.2.1. Add a HTTP Header Field List ...................................................................... 693
9.3.4.3. Add HTTP Resources ............................................................................................. 698
9.3.5. IGMP/MLD ......................................................................................................................... 700

© Copyright 2018 TeraVM Java Client User Guide Page xviii


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

9.3.5.1. Add an IGMP/MLD Configuration Folder ................................................................ 700


9.3.5.2. Add an IGMP IP Address Filter List ........................................................................ 701
9.3.5.3. Add a Multicast Group List ..................................................................................... 702
9.3.5.3.1. Bulk Provisioning Multicast Group Item ........................................................ 704
9.3.6. IKE/IPsec ........................................................................................................................... 706
9.3.6.1. Add an IKE/IPsec Policy Folder .............................................................................. 706
9.3.6.2. Add an IKE/IPsec Policy ......................................................................................... 707
9.3.7. P2P .................................................................................................................................... 711
9.3.7.1. Add a P2P Configuration Folder ............................................................................. 712
9.3.7.2. Add a New Peer Group .......................................................................................... 712
9.3.7.3. Add a Resource List ............................................................................................... 713
9.3.8. RTP Codec AVP ............................................................................................................... 715
9.3.8.1. Add an RTP Configuration Folder ........................................................................... 715
9.3.8.2. Add RTP Codec AVP .............................................................................................. 716
9.3.8.3. Create a custom RTP Codec AVP to Emulate Jitter in VoIP .................................. 718
9.3.9. RTP Stream Profile ........................................................................................................... 721
9.3.9.1. Add a Stream Profile ............................................................................................... 721
9.3.10. RTSP ............................................................................................................................... 723
9.3.10.1. Add a RTSP Configuration Folder ........................................................................ 724
9.3.10.2. Add a Requested Media Resources List ............................................................... 724
9.3.10.3. Add a Server Media Resources List ..................................................................... 725
9.3.11. SMTP/POP3 .................................................................................................................... 727
9.3.11.1. Message Sets ....................................................................................................... 727
9.3.11.1.1. Mail Headers ............................................................................................... 729
9.3.11.2. User Groups .......................................................................................................... 731
9.3.12. Telepresence ................................................................................................................... 733
9.3.12.1. Add a Telepresence Configuration Folder ............................................................ 733
9.3.12.2. Add a Telepresence CTS Mux Item ...................................................................... 733
9.3.12.3. Add a TelePresence CTS VAD Controller ............................................................ 736
9.3.12.4. Add a TelePresence CTS Auxiliary Feed Controller ............................................. 737
9.3.12.5. Add a TelePresence Call Media ........................................................................... 739
9.3.12.5.1. Telepresence Video Call Media Format ...................................................... 740
9.3.12.5.2. Telepresence Auxiliary Call Media Format .................................................. 741
9.3.13. TLS .................................................................................................................................. 742
9.3.14. VoIP ................................................................................................................................. 744
9.3.14.1. Add a VoIP Configuration Folder .......................................................................... 744
9.3.14.2. Add a VoIP Call List ............................................................................................. 744

© Copyright 2018 TeraVM Java Client User Guide Page xix


Aeroflex Limited. All
rights reserved.
Table of Contents Table of Contents

9.3.14.3. Add a SIP Header Field List ................................................................................. 751


9.4. Layer 3 Test Case Configuration Items ...................................................................................... 756
9.4.1. TCP Characteristics Configuration .................................................................................... 756
9.4.2. Network Characteristics Configuration .............................................................................. 759
9.4.3. Interfaces Configuration .................................................................................................... 761
Chapter 10. Using TeraVM Statistics ..................................................................................................... 763
10.1. Configuring Statistics ................................................................................................................. 763
10.2. Configuring Statistics General Parameters ............................................................................... 763
10.3. Configuring Statistics for Test Entities ...................................................................................... 765
10.4. Creating Aggregate Groups ...................................................................................................... 770
10.4.1. Adding Hosts or Applications to Aggregate Groups ........................................................ 771
10.4.2. Viewing Aggregate Groups ............................................................................................. 771
10.5. Viewing Results ......................................................................................................................... 773
Chapter 11. Thresholding ........................................................................................................................ 775
Chapter 12. Jobs ...................................................................................................................................... 784
Chapter 13. Analysing Results ............................................................................................................... 807
Chapter 14. Fanfare Integration .............................................................................................................. 816
Chapter 15. vSwitch Objective Based Testing ...................................................................................... 823

Appendix A. Set Wireshark environment variables for Windows ....................................................... 839


Appendix B. Cipher Suites ...................................................................................................................... 842
B.1. Selecting a Cipher Suite ............................................................................................................. 842
B.2. Supported Cipher Suits ............................................................................................................... 843

© Copyright 2018 TeraVM Java Client User Guide Page xx


Aeroflex Limited. All
rights reserved.
TeraVM Terminology

TeraVM Terminology
The following terminology is used in TeraVM documents:
• TeraVM Executive: Virtual Machine that provides a number of services in a TeraVM test environment.
These services include a Centralized Test Library, User Authentication, Pool Manager, DHCP
management and License Tracker. Different flavours of the Executive may be configured - Standalone
TeraVM Executive, Local TeraVM Executive or Centralized TeraVM Executive.
• TeraVM Controller (TVM-C): The Controller sets up a TeraVM test, directs TeraVM Test Modules to
generate and receive IP traffic, executes the test and processes results.
• TeraVM Test Module (TVM): Virtual machine that generates and receives IP traffic. It contains one or
multiple Test Agents. Each Test Module has one or more Network Interfaces.
• Standalone TeraVM Executive: The Standalone TeraVM Executive works as a single Executive on
your system. It hosts all Executive services.
• Centralized TeraVM Executive: The Centralized TeraVM Executive hosts central services such as the
Centralized Test Library, License Tracker and User Authentication. It is used together with one or more
Local TeraVM Executives in a TeraVM system.
• Local TeraVM Executive: This hosts a number of local services for TeraVM Controllers and Test
Modules such as the Pool Manager and DHCP management. It accesses centralized services on
the Centralized TeraVM Executive. If you are using a Local TeraVM Executive, it must be used in
conjunction with a Centralized TeraVM Executive.
• Pool Manager: The Pool Manager allocates test interfaces (test modules) to one or multiple TeraVM
controllers. It is one of the services provided by the TeraVM Executive.
• Test Agent: IP traffic generator/receptor. Each Test Module has one or more Test Agents. Each Test
Agent has one or more Test Interfaces, associated with virtual network adapters through which traffic
flows to/from the SUT.
• Test Bed: Logical test structure to test one or more System Under Tests (SUT): consists of one or more
TeraVM Controllers and one or more Test Modules. The TeraVM Executive provides services for the
Test Bed.
• System Under Test (SUT): Device/network/system under test. May be multiple SUTs in one TeraVM
test bed.
• Test Group, Test, Test Case: Test containing multiple entities such as hosts and applications. Only
one instance of a test group can be run by a user at a given time.

© Copyright 2018 TeraVM Java Client User Guide Page xxi


Aeroflex Limited. All
rights reserved.
Copyright

Copyright
Copyright © 2018 - Aeroflex Limited. All rights reserved.
All rights reserved, subject to change without notice. The material contained in this document is for general
information purposes only and does not constitute technical or professional advice. All third party trademarks
are acknowledged in this document.
All copyrights in and to the software product are owned by VIAVI Solutions or its licensors. The software is
protected by copyright laws and international copyright treaties, as well as other intellectual property laws
and treaties.
Aeroflex Limited, a VIAVI Solutions Company.

End User License Agreement


The usage of the TeraVM product and documentation is subject to the Aeroflex Ireland Ltd standard
Software Licence Agreement, which is available at TeraVM License Agreement.
Please read the terms of the Software Licence Agreement carefully before using the documentation.

Notice
Every effort was made to ensure that the information in this manual was accurate at the time of printing.
However, information is subject to change without notice, and VIAVI reserves the right to provide an
addendum to this manual with information not available at the time that this manual was created.

Terms and Conditions


Specifications, terms, and conditions are subject to change without notice. The provision of hardware,
services, and/or software are subject to the VIAVI standard terms and conditions, available at
www.viavisolutions.com/terms.

Statement
You may have recently heard that VIAVI closed the acquisition of Cobham’s AvComm and Wireless
Validation businesses (formerly known as Aeroflex Test Solutions). These market-leading solutions join an
already powerful VIAVI portfolio of award-winning solutions that can be found in millions of installs around
the world.

© Copyright 2018 TeraVM Java Client User Guide Page xxii


Aeroflex Limited. All
rights reserved.
Chapter 1. Introduction to TeraVM

Chapter 1. Introduction to TeraVM


1.1. What is TeraVM?
This is the Java Client user guide for TeraVM 14.1 TeraVM is a virtualized IP test solution enabling
emulation of a wide range of network traffic types, which are used to test, control and measure the
performance of next-generation applications and networks (the network or device under test).

An example of a system test using TeraVM is shown below. TeraVM emulates clients connecting to a web
server through a system under test. Equally, TeraVM can be used to connect to 3rd party webservers on the
world wide web.

With TeraVM, you can configure, emulate, gather statistics, analyse and troubleshoot a wide variety of test
scenarios. For example:

• Test a throughput objective and determine the behaviour if the target is reached or not.

• Emulate 100,000 http clients accessing your web server simultaneously

• Run an RFC2544-like test in the TeraVM UI to stress your system under test

Figure 1-1. Sample TeraVM HTTP/HTTPS Test

TeraVM generates test traffic using:

• TeraVM hosts: These represent layers 2 and 3. A host can be fully emulated in TeraVM or treated as
an external host (part of the system under test).

• TeraVM applications: These represent the traffic protocol (layer 4-7) running on the host, for example
HTTP.

TeraVM provides a completely integrated network services test environment consisting of a multi-user client-
server architecture as shown here.

An example is shown below of a TeraVM system consisting of hosts, applications and the system under test.

© Copyright 2018 TeraVM Java Client User Guide Page 1


Aeroflex Limited. All
rights reserved.
1.2. TeraVM Test Bed

Figure 1-2. TeraVM Overview

1.2. TeraVM Test Bed


A TeraVM test bed is shown below. A TeraVM test bed is a group of TeraVM components that generates
test traffic to exercise a system-under-test (SUT). The test bed contains one or more TeraVM Controllers
(TVM-C), and TeraVM Test Modules (TVMs) which generate and terminate test traffic from their test
interfaces to/from a SUT. A TeraVM Executive provides services for the Test Bed.
To run a test, the controller requests resources from the pool manager. The TeraVM Pool Manager (on
the TeraVM Executive), allocates Test Modules with their associated Test Interfaces from a central pool
to individual TeraVM controllers to allow best use of resources when a test is run. The test modules are
returned to the central pool when the test ends.

Figure 1-3. TeraVM Test Bed

© Copyright 2018 TeraVM Java Client User Guide Page 2


Aeroflex Limited. All
rights reserved.
1.3. TeraVM Executive

The figure below shows a complete architectural view, with multiple test beds connected on the same
physical network, with logical partitioning. In this example, the TeraVM Executive functionality is distributed
between a Centralized TeraVM Executive and Local TeraVM Executives.

Figure 1-4. TeraVM Architecture with Local and Centralized TeraVM Executives

Host Machine
Centralized TeraVM Executive

Centralized License User


Test Library Functions Authentication
External connections if TeraVM split over multiple hosts

Host
Machine Mgmt Network

Local TeraVM Executive


TVM-MA Pool DHCP
TVM-C_1 TVM-C_n (for ESXi Manager Function
only)
TVM-C Range:
Comms Network 192.168.255.163 -
Executive:
192.168.240.1
192.168.255.254 192.168.240.0/ 20

TVM Range:
192.168.240.2 -
192.168.255.162
TVM TVM TVM TVM TVM TVMs
TVM
TVM
TVM

SUT SUTn
Topology 1 Topology n

1.3. TeraVM Executive


The TeraVM Executive provides the following services to a TeraVM testbed:

• The Pool Manager, which delivers TeraVM test module resources to a TeraVM Controller at test run-
time.

• The License Tracker, which tracks TeraVM license usage and generates reports - see the TeraVM
Licensing Guide for more information.

• The Centralized Test Library, accessible from the HTML5 UI.

• User Authentication via Microsoft Active Directory.

• SUT Login Agent.

The role of the TeraVM Executive in a TeraVM test bed is illustrated in the diagram below.

Executive services may be provided in a single Standalone TeraVM Executive, or split across a Local
TeraVM Executive and a Centralized TeraVM Executive. This is described in detail in the next section.

© Copyright 2018 TeraVM Java Client User Guide Page 3


Aeroflex Limited. All
rights reserved.
1.3.1. Executive Configurations in a TeraVM System

Figure 1-5. TeraVM Executive

1.3.1. Executive Configurations in a TeraVM System


TeraVM provides executive services in different configurations, depending on user requirements. Executive
services are provided in either a single Standalone TeraVM Executive, or split across a Local TeraVM
Executive and a Centralized TeraVM Executive.

The following diagram shows a system with Local and Centralized Executives.

© Copyright 2018 TeraVM Java Client User Guide Page 4


Aeroflex Limited. All
rights reserved.
1.3.1. Executive Configurations in a TeraVM System

Figure 1-6. TeraVM Architecture with Local and Centralized TeraVM Executives

Host Machine
Centralized TeraVM Executive

Centralized License User


Test Library Functions Authentication
External connections if TeraVM split over multiple hosts

Host
Machine Mgmt Network

Local TeraVM Executive


TVM-MA Pool DHCP
TVM-C_1 TVM-C_n (for ESXi Manager Function
only)
TVM-C Range:
Comms Network 192.168.255.163 -
Executive:
192.168.240.1
192.168.255.254 192.168.240.0/ 20

TVM Range:
192.168.240.2 -
192.168.255.162
TVM TVM TVM TVM TVM TVMs
TVM
TVM
TVM

SUT SUTn
Topology 1 Topology n

Possible Executive Configurations include:

1. Standalone TeraVM Executive containing all of the Executive functionality: Centralized Test Library,
License Tracker, User Authentication, Pool Manager and SUT Login functions.

• If a user or group of users are working independently on a single TeraVM test bed, without the
need to share services with other groups of users, a Standalone TeraVM Executive should be
used. This is the default configuration, and no additional configuration is required post-deployment.

2. Centralized TeraVM Executive containing the shared Centralized Test Library, License Tracker and
User Authentication functions AND Local TeraVM Executives (one per testbed), containing Pool
Manager and SUT Login functions.

• If you have different TeraVM test beds that use a central LDAP authentication service, or that will
share user-defined tests in the Centralized Test Libary, a Centralized TeraVM Executive must be
used with Local TeraVM Executives (one per test bed). This means at least two Executives are
deployed and configured post-deployment: a Centralized TeraVM Executive and a Local TeraVM
Executive.

© Copyright 2018 TeraVM Java Client User Guide Page 5


Aeroflex Limited. All
rights reserved.
1.4. Test Modules, Test Agents and Test Interfaces

Note
All TeraVM Executives are deployed initially as Standalone TeraVM Executives. You must use a post-
deployment TeraVM Executive configuration step to convert a Standalone Executive to a Centralized
or Local TeraVM Executive.

TeraVM System using (1) Standalone or (2) Centralized/Local TeraVM Executives


Below are two scenarios showing different deployments of the TeraVM Executive in a system. All TeraVM
Executives may be deployed on the same or different host machines but must be network accessible to
each other.

The figure below shows the different deployment configurations possible for the TeraVM Executive.

• Multiple Local TeraVM Executives cannot share the same TeraVM Comms network (see next section
for description of TeraVM networks).

Figure 1-7. TeraVM Executive Configurations

Standalone Centralized
TeraVM TeraVM
Executive Executive

TeraVM
Comms #1
Local Local
TeraVM TeraVM TeraVM TeraVM
Controller Controller Executive Executive

Test Test Test Test


Module Module Module Module TeraVM TeraVM
Comms #1 Comms #2

TeraVM TeraVM TeraVM


Controller Controller Controller

Test Test Test Test Test Test


Module Module Module Module Module Module

1.4. Test Modules, Test Agents and Test Interfaces


TeraVM test modules generate and receive IP traffic during a TeraVM test.

A test module has two numbers associated with it. For example, TVM-4-005 refers to a test module of type
TVM-4, with an instance number of 005. A Test Module has one or more Network Interfaces.

The type refers to the number of CPU cores it uses. For example, a TVM-5 has five cores. Generally, one
CPU core is used for processing overhead, and the others are allocated to one or more test agents. (A test
agent is architected to run on a single CPU core).

© Copyright 2018 TeraVM Java Client User Guide Page 6


Aeroflex Limited. All
rights reserved.
1.5. Pool Manager

A test agent has one or more test interfaces associated with it. When a TeraVM controller starts a test, it
requests the Pool Manager for required test interfaces. Test Agents are identified by their position on a Test
Module.

Test Interfaces are numbered by using the format <test module instance #>/<test agent #>/<test
interface #>. For example, a TVM-4 is shown below, with instance number of 5. A TVM-4 has three test
agents, the numbered test interfaces below are named (from left to right) 5/1/1, 5/1/2, 5/2/1, 5/2/2, 5/3/1 and
5/3/2 respectively.

The TeraVM internal architecture uses a "discriminator" to route traffic when the number of network
interfaces is not equal to the number of test agents/interfaces.

Figure 1-8. Test Modules, Test Agents and Test Interfaces

Test Module (instance # = 5, type = TVM-4)

Test Test Test


Agent 1 Agent 2 Agent 3
1 2 1 2 1 2
Test Interfaces
Discriminator

Logical Ports

vswitch (optional)

Physical Port

A logical port may have an associated VLAN ID and MAC address.

1.5. Pool Manager


With the TeraVM Pool Manager, you can create elastic test beds, where the size of the test bed, and hence
resource usage, is determined by an individual test's run-time requirements. Multiple logical test beds
(corresponding to Pool Manager topologies), each with a separate System Under Test (SUT) are possible
from one physical network.

TeraVM test modules are managed by the Pool Manager, and allocated to the Controller at test run-time.
This is a significant departure from TeraVM releases pre-12.0 as it decouples the test modules from the
controller.

Multiple controllers may use the same Pool Manager.

© Copyright 2018 TeraVM Java Client User Guide Page 7


Aeroflex Limited. All
rights reserved.
1.6. Setting Up TeraVM

The Pool Manager resides either on a Standalone TeraVM Executive or a Local TeraVM Executive.

Figure 1-9. TeraVM Pool Manager

1.6. Setting Up TeraVM


You must install and set up TeraVM before you can start running tests in TeraVM. For further information on
this see either
• Hypervisor/Cloud Set Up Guide, if you are a software-only TeraVM customer, or
• TeraVM Appliance Guide, if you have a TeraVM appliance.
These include the instructions for how to install the TeraVM Java client and set up the TeraVM licenses.
They also include instructions on how to connect your Device/Network Under Test to TeraVM, and how to
configure TeraVM's virtual machines to achieve the best performance for your system.

© Copyright 2018 TeraVM Java Client User Guide Page 8


Aeroflex Limited. All
rights reserved.
Chapter 2. Additional TeraVM Steps

Chapter 2. Additional TeraVM Steps


The hypervisor/platform specific guide outlines the steps for installing TeraVM and setting up licensing. This
chapter goes through some of the none essential additional set up steps. Most of these steps are optional
and assume some working knowledge of TeraVM.

2.1. TeraVM Executive Set Up


This section describes the TeraVM Executive landing page.
Prerequisites
• The first time you log into the Executive, any user name and password is accepted; if you set up
Microsoft Active Directory during the setup phase, you will need to log in with your Active Directory
credentials subsequently. See Set Up Microsoft Active Directory with TeraVM for exceptions.
1. Go to the IP address of the TeraVM Executive and enter a user name and password.
2. If you have Microsoft Active Directory enabled and you wish to configure it further, you can click the
settings icon to go to the Executive Utilities screen. See Set Up Microsoft Active Directory with
TeraVM. Otherwise go on to the next step.

Figure 2-1. TeraVM Executive Login Screen

3. Click Sign In.

© Copyright 2018 TeraVM Java Client User Guide Page 9


Aeroflex Limited. All
rights reserved.
2.1.1. Changing the Executive Configuration

4. From the landing page, click on Utilities.

Figure 2-2. TeraVM Executive UI Screen

Here you will access most of the set up steps described in the following sections.

The following buttons are also available on the TeraVM Executive screen, the exact buttons depends on
the Executive Configuration, for example, the Pool Manager is not available on a Centralized TeraVM
Executive.

• Library: Centralized Test Library from where you can view uploaded tests.

Note
The tests can only be viewed and not downloaded or configured. You can only do this by
logging into UI from the TeraVM Controller.

• Pool Manager: Pool Manager configuration page from where you can configure test interfaces for
your system (create and assign topologies and categories).

• License: License Tracker where you can configure detailed reporting of your TeraVM license
usage.

• Utilities: TeraVM Executive Administration Interface.

• username: user who is currently logged on.

• Sign Out: Log out.


: User documentation and support information.

2.1.1. Changing the Executive Configuration


The TeraVM Executive is deployed as a Standalone TeraVM Executive. as described in Chapter 1,
Section 1.3. If you wish to change the configuration of an Executive, you should do this first before any other
set up.

2.1.1.1. Configure TeraVM Executive as a Centralized TeraVM Executive


Use this procedure to configure a TeraVM Executive as a Centralized Executive.

Prerequisites

• If you need to reconfigure or add a Centralized TeraVM Executive after deployment, then all users
should logout and login again after configuration.

• A User still has access to his/her tests after a Centralized Executive is configured.

© Copyright 2018 TeraVM Java Client User Guide Page 10


Aeroflex Limited. All
rights reserved.
2.1.1.1. Configure TeraVM Executive as a
Centralized TeraVM Executive

• A User will access the CTL test library on the Centralized Executive rather than on the (what is now)
local Executive.

• If a User checks out a test from the library in the Central Executive, it will be stored in the Users
Workspace as normal.

1. Go to the IP address of the TeraVM Executive you wish to configure as a Centralized TeraVM
Executive, and enter a username and password. Click Sign In.

Note
The first time you log in, any username and password is accepted; once you set up TeraVM to be
used with Microsoft Active Directory, you will need to log in with your Active Directory credentials.
See the section on Setting Up Microsoft Active Directory with TeraVM.

2. Click Utilities in the TeraVM Executive UI.

3. On the Quick Links Menu, click TeraVM Executive Configuration.

Figure 2-3. TeraVM Executive Configuration

4. In TeraVM Executive Configuration, select Centralized TeraVM Executive. Click Save.

© Copyright 2018 TeraVM Java Client User Guide Page 11


Aeroflex Limited. All
rights reserved.
2.1.1.2. Configure TeraVM Executive as a Local
TeraVM Executive

Figure 2-4. Configure TeraVM Executive as a Centralized TeraVM Executive

5. Note down the IP address as you will need to enter it when you configure its associated Local TeraVM
Executive(s).

2.1.1.2. Configure TeraVM Executive as a Local TeraVM Executive


If you have deployed a Centralized TeraVM Executive as part of a new TeraVM system deployment or an
upgrade to an existing system, you need to configure a Local TeraVM Executive to provide other Executive
functions, and provide access to the Centralized TeraVM Executive.

Note
Refer to the chapter Executive Configurations in a TeraVM System for information on the configuration
options for the TeraVM Executive.

1. Login to the TeraVM Executive you wish to configure as a Local TeraVM Executive. Click Utilities in the
TeraVM Executive UI.
2. On the Quick Links Menu, click TeraVM Executive Configuration.
3. In TeraVM Executive Configuration select Local TeraVM Executive (using Centralized TeraVM
Executive Services).

© Copyright 2018 TeraVM Java Client User Guide Page 12


Aeroflex Limited. All
rights reserved.
2.1.1.3. Changing the Assigned TeraVM Executive
Management IP Address

4. Enter the IP address of the Centralized TeraVM Executive. Click Save.

Figure 2-5. Configure Executive as a Local TeraVM Executive (using Centralized TeraVM Executive
Services)

Note
If you do not enter the correct IP address for the Centralized TeraVM Executive, you will get an
error message when you click on the Library tab on the HTML5 UI page of the Controller or Local
TeraVM Executive:

Note
If you have upgraded an existing TeraVM Executive, and now convert it to a Local TeraVM
Executive, you will lose any user-defined tests that were in the Centralized Test Library of the old
Executive. You should re-import user-defined tests into the Centralized Test Library of the new
Centralized TeraVM Executive.

2.1.1.3. Changing the Assigned TeraVM Executive Management IP Address


1. Click Utilities in the TeraVM Executive UI.

© Copyright 2018 TeraVM Java Client User Guide Page 13


Aeroflex Limited. All
rights reserved.
2.1.1.4. Changing the TeraVM Comms Network
Subnet Address

2. Click Admin->Network Configuration. To change the IP address to a statically assigned one, select
Static IP Address in the drop down menu.

Figure 2-6. TeraVM Executive Utilities - Change Management IP Address

3. Enter your new IP address and hostname details, and click Save.

Note
The next time you log into a TeraVM controller which is registered with a Local or Standalone
TeraVM Executive, it will say it cannot find the Executive and prompt you for the new IP address
of the Executive.

Note
If you change the IP address of the Centralized TeraVM Executive, ensure that you update
this in the Executive mode settings for your Local TeraVM Executives. See Configure TeraVM
Executive as a Local TeraVM Executive.

2.1.1.4. Changing the TeraVM Comms Network Subnet Address


The TeraVM Comms network runs a private IP network which uses a 192.168.240.0/20 subnet by default. If
this subnet overlaps or clashes with the subnet on your TeraVM Management network, you will then need to
change the subnet of the Comms Network on the Executive.

Prerequisites

• If you require Host Mappings to appear in the Pool Manager then this procedure must be done before
deploying TeraVM and RAN VMs.

© Copyright 2018 TeraVM Java Client User Guide Page 14


Aeroflex Limited. All
rights reserved.
2.1.2. Set Date/Time

1. Login to the TeraVM Executive in your system via your web browser and click on the Pool Manager tab
from the UI.

2. Click on the Settings and Configurations tab and enter the new TeraVM Comms Network Subnet
Address ( the subnet mask is not editable). Click Save.

Figure 2-7. Changing the TeraVM Comms Network Address

Once you do this, the Comms network will be updated to use the new subnet. The system also restart all
test modules and controllers on the new TeraVM Comms network address. You will get a warning message.
If you want to proceed, click Ok and then Save.

If you return to the Dashboard page now you will see that there are no entries in the Test Module column.
Also, no TeraVM controllers are listed in the Controllers page. After a short time, when the test modules
and controllers have restarted and re-registered with the Pool Manager, you will see these pages populated
again.

Note
Because IP addresses for controllers and test modules may change during the restart process,
any topologies and categories that you had assigned to interfaces will be lost. The topologies and
categories that you had created will still be visible to the Pool Manager (they are still in the Pool
Manager database) but you will need to re-assign them to interfaces.

2.1.2. Set Date/Time


Use this procedure to set the time and date of time and date of TeraVM.

1. Click Utilities in the TeraVM Executive UI.

2. Click on Date/Time Settings and enter the Time Zone, Date and Time for your location. Click Save.

© Copyright 2018 TeraVM Java Client User Guide Page 15


Aeroflex Limited. All
rights reserved.
2.1.3. Set Up Microsoft Active Directory with TeraVM

Figure 2-8. Set Date/Time

2.1.3. Set Up Microsoft Active Directory with TeraVM


Use this procedure to set up TeraVM to work with Microsoft Active Directory.

Prerequisites

• If Microsoft Active Directory is a requirement, it should be set up in advance of configuring the TeraVM
Executive. Valid users should be added to this directory.

• Microsoft Active Directory is configured from a Standalone or Centralized TeraVM Executive, not a
Local TeraVM Executive (in this case, the Centralized TeraVM Executive handles authentication and
you will see a message "The Authentication service is currently being provided by the Centralized
TeraVM Executive").

• If you lock yourself out due to LDAP connectivity issues go to <TeraVM_Executive_IP_Address>:8282/


executive_utilities to reset it.

1. Click on the Utilities button in the TeraVM Executive UI.

© Copyright 2018 TeraVM Java Client User Guide Page 16


Aeroflex Limited. All
rights reserved.
2.1.3. Set Up Microsoft Active Directory with TeraVM

Figure 2-9. TeraVM Executive Utilities Screen

2. If you are using Microsoft Active Directory on your system, you can set it up with TeraVM. Click on
Authentication Settings. Select the Use Microsoft AD check box. This will expand the page for the
Microsoft Active Directory configuration.

3. Enter the IP address, Port number and Domain name, the Domain name is not part of the check status.

© Copyright 2018 TeraVM Java Client User Guide Page 17


Aeroflex Limited. All
rights reserved.
2.1.4. Setting Up the Pool Manager

4. Click Save. If the configuration is valid, the Microsoft Active Directory Server Status changes to
Connected.

2.1.4. Setting Up the Pool Manager


This section assumes you are familiar with the Pool Manager.

By default, the Pool Manager is set up to work in Classic Mode with one default topology, SUT, and two
default categories, client and server

If you wish to keep these settings, you can proceed directly to using the UI. However if you want to change
them, this section describes how to do so.

2.1.4.1. Log in to the Pool Manager


Use this procedure to log in to the Pool Manager.

1. Log in to the Standalone or Local TeraVM Executive or Controller from your web browser, and click on
Pool Manager.

Figure 2-10. Standalone or Local TeraVM Executive Login Page

2. Click OK and permanently accept the Pool Manager security certificate if prompted. This is a certificate
that allows you to use the Pool Manager.

© Copyright 2018 TeraVM Java Client User Guide Page 18


Aeroflex Limited. All
rights reserved.
2.1.4.1. Log in to the Pool Manager

Note
This message will only appear if you have not yet accepted the certificate, for example, the first
time that you open Pool Manager, or if the Pool Manager is not contactable because the the
TeraVM Executive is not available at the relevant IP address. In the latter case, you will not be
prompted to accept the security certificate.

3. The Pool Manager opens up on the Dashboard tab. The following tabs are available:

• Dashboard: Displays available resources (Test Modules) along with their Test Agents and Test
Interfaces. Here you can assign categories and a topology to each test interface.

• Categories: Displays available categories, including the default ones (client and server). You can
manage categories here (add/delete/update).

• Topologies: Displays available topologies, including the default one (SUT). You can manage
topologies here.

• Controllers: Displays controllers registered with the Pool Manager/Executive.

• Settings and Configurations: Manage settings here.

• Logical Ports: Displays the interfaces mapped to logical ports.

Figure 2-11. Pool Manager Dashboard

Note
If you see red on any test modules, you may need to reset the test module.

© Copyright 2018 TeraVM Java Client User Guide Page 19


Aeroflex Limited. All
rights reserved.
2.1.4.2. Controllers Tab

Figure 2-12. Status of Test Module in Pool Manager

2.1.4.2. Controllers Tab


The Controllers tab in the Pool Manager shows all TeraVM controllers that are currently registered with the
Pool Manager, and therefore eligible to request test modules from the resource pool.

There are two lists of Controllers:

• The first list displays active controllers, that is, those currently running a test using test interfaces from
the Pool Manager. The controller IP address, partition number in use and the user that is currently
running a test will be displayed.

Figure 2-13. Active Controllers

• The second list displays inactive controllers, that is, all the controllers that are idle. The only information
displayed in this case is the controller's IP address.

© Copyright 2018 TeraVM Java Client User Guide Page 20


Aeroflex Limited. All
rights reserved.
2.1.4.3. Managing Topologies

Figure 2-14. Inactive Controllers

Click a controller from the list to see additional information about the controller. If the controller is active, all
used interfaces will be shown in a separate table, along with their assigned topology and category(s).

2.1.4.3. Managing Topologies


Use this procedure to manage Topologies. You can list and manage topologies. You can also create, delete
or update a selected topology.

1. Browse to the Pool Manager page and click Topologies.

2. You will see the pre-defined read-only topology, SUT and any other defined topologies listed on the left.
The interfaces and categories assigned to each topology are listed on the right.

Double-click on a topology to see what interfaces are currently assigned to it. Initially, all interfaces
are assigned to topology SUT. This topology cannot be deleted but interfaces assigned to it can be re-
assigned to another topology.

Figure 2-15. Topologies Page

2.1.4.3.1. Create Topology


1. Click the + button next to Topologies on the left and assign a unique name to your new topology. Click
Save.

© Copyright 2018 TeraVM Java Client User Guide Page 21


Aeroflex Limited. All
rights reserved.
2.1.4.3.2. Edit (Rename) a Topology

Figure 2-16. Add New Topology

Table 2-1. Topology Parameters

Property Name Validation Rules

Name.... a-z, 0-9 (upper case entries are automatically converted to


lower case)
unique
not null
max 255 characters
"sut" is a reserved name and cannot be defined as a topology
name. The capitalized SUT is a pre-defined special case and is
the default topology used by all interfaces.

2.1.4.3.2. Edit (Rename) a Topology


1. Click the pen symbol and type a new unique name, then click Save.

Figure 2-17. Edit a Topology Name

When you update (rename) a topology, the list of interfaces assigned to that topology will not change.

If you try to rename a topology to a pre-existing name you will receive an error 'Topology 'topology-
name' already exists. It must be unique'.

Important
It is not advisable to change the name of a topology once it is in use. When you rename a
topology, existing test groups will not run because the old topology name is being used in test
groups.

© Copyright 2018 TeraVM Java Client User Guide Page 22


Aeroflex Limited. All
rights reserved.
2.1.4.3.3. Delete Topology

Note
You cannot rename the pre-defined SUT topology and you cannot create a new topology called
sut as it is a reserved name.

2.1.4.3.3. Delete Topology


1. Click on the X symbol next to the topology name. You will be asked to confirm the deletion by clicking
Ok.

Figure 2-18. Topology Deletion Confirmation

Important
It is not advisable to delete a topology once it is in use in a test group.

Note
Interfaces assigned to the deleted topology will be reassigned to the SUT topology.

2.1.4.4. Managing Categories


Use this procedure to manage Categories. You can list and manage categories. You can also create, delete
or update any user-defined category.

• Category names are free-form and need only be meaningful to the team using the system. For example,
some interfaces could be designated as suitable for SSL traffic using a name like SSL.

1. Browse to the Pool Manager page and click Categories.

2. You will see the pre-defined read-only categories, client and server and any other defined categories
listed on the left. The interfaces assigned to each category are listed on the right along with the topology
that the category is assigned to.

© Copyright 2018 TeraVM Java Client User Guide Page 23


Aeroflex Limited. All
rights reserved.
2.1.4.4.1. Create Category

Double-click on a category to see what interfaces are currently assigned to it. The default category
for odd numbered test modules is client and for even numbered test modules is server. These
two categories cannot be deleted but the interfaces assigned to them can be re-assigned to other
categories.

Figure 2-19. Categories Page

2.1.4.4.1. Create Category


1. Click the + button next to Categories on the left and assign a unique name to your new category and
click Save.

Figure 2-20. Add a New Category

Table 2-2. Category Parameters

Property Name Validation Rules

Name.... a-z, 0-9 (upper case entries are automatically converted to


lower case)
unique
not null
max 255 characters

2.1.4.4.2. Edit (Rename) a Category


1. Click the pen symbol and type a new unique name, then click Save.

© Copyright 2018 TeraVM Java Client User Guide Page 24


Aeroflex Limited. All
rights reserved.
2.1.4.4.3. Delete Category

Figure 2-21. Edit a Category Name

When you rename a category, the list of interfaces assigned to that category will not change and the
category will remain assigned to any topologies that it was previously assigned to.

If you try to rename a category to a pre-existing name you will receive an error 'Category 'category-
name' already exists. It must be unique'.

Important
It is not advisable to change the name of a category once it is in use in a test group. When you
rename a category, existing test groups will not run because the category name is used in test groups.

Note
You cannot rename the pre-defined categories client and server and you cannot create a new
category called client or server.

2.1.4.4.3. Delete Category


1. Click on the X symbol next to the category name. You will be asked to confirm the deletion by clicking
Ok.

Figure 2-22. Category Deletion Confirmation

© Copyright 2018 TeraVM Java Client User Guide Page 25


Aeroflex Limited. All
rights reserved.
2.1.4.5. Managing Interfaces (Dashboard)

Important
It is not advisable to delete a category once it is in use in a test group.

Note
When you delete a category, it will be removed from all Test Interfaces that it was associated
with.

2.1.4.5. Managing Interfaces (Dashboard)


The Dashboard tab has three tables detailing the test resources that can be used when setting up a test
group: Test Module, Test Agents and Test Interfaces.

Here you can edit the default topology and category settings which have been assigned on startup.

Note
The first time that you open the Pool Manager page, only the test module column will be populated.
You will have to click on a test module (or click Name at the top to select all test modules) to populate
the other columns.

2.1.4.5.1. Viewing Test Modules, Agents and Interfaces


1. To see all test modules, test agents and test interfaces, select all in the drop-down menu at the top of
each table and click the Name check box for each table.

2. To see the test agents and interfaces for a specific test module:

• First deselect the Name check box in the left table. All test modules listed will be unselected and
the tables containing test agents and test interfaces will be empty.

• Click on the test module that you are interested in. All the test agents from the test module will be
shown in the middle table. All the test interfaces from the selected test agents will be shown in the
right table. All other test agents and interfaces are hidden.

Figure 2-23. Viewing a Selected Test Module

© Copyright 2018 TeraVM Java Client User Guide Page 26


Aeroflex Limited. All
rights reserved.
2.1.4.5.1. Viewing Test Modules, Agents and
Interfaces

• To see specific test agents for a test module, click on the test agent check boxes (or deselect the
ones that you are not interested in. The test interfaces from the selected test agents will be shown
in the right table.

• Here you can get information on the interface such as the TeraVM Controller that is using the
interface, the topology and categories it is assigned to and how long the interface has been in use
by the current user.

3. If you have a lot of interfaces, you can scroll down the page, and click between pages.

4. Click on the info button next to a test module to see details about the test module. The information
displayed includes the number of CPUs and IP address of the test module. Note: if you have not
deployed RAN VMs then the Host Mapping tab will not be populated with information, this also means
the Host ID value will be empty.

Figure 2-24. Test Module Information

5. You can do advanced filtering on the resources by choosing the required filter in the drop-down menu
above each table. The options available are:
Table 2-3. Filtering Options for Test Module

Filter Value/Description

all None. List all test modules registered.

on odd position None. List all odd numbered test modules.

on even position None. List all even numbered test modules.

in the first half None. List half of the registered test modules starting from the
lowest number.

in the second half None. List the second half of the registered test modules up to
the highest number.

greater than Integer. The minimum test module number from where you
want start listing test modules, e.g. entering 5 will list all test
modules from number 5 onwards.

less than Integer. The maximum test module number that you want to list
up to, e.g. entering 5 will list all test modules from 1 to 5.

© Copyright 2018 TeraVM Java Client User Guide Page 27


Aeroflex Limited. All
rights reserved.
2.1.4.5.1. Viewing Test Modules, Agents and
Interfaces

Filter Value/Description

having cpus with Integer. The number of cores for which you want to list test
modules, e.g. if you enter 5, only test modules with 5 cpus will
be listed.

in use List test modules that are in use.

with status available List all available test modules. A test module can have one of
the following statuses: INUSE, AVAILABLE, UNAVAILABLE,
RESETTING.

reserved for Alphanumeric. List the test modules reserved for this user.

used by user Alphanumeric. List the test modules that this user is using.

Table 2-4. Filtering Options for Test Agent

Filter Value/Description

all None. List all test agents for the selected test modules.

on odd position None. List all odd numbered test agents for the selected test
modules.

on even position None. List all even numbered test agents for the selected test
modules.

in the first half None. List half of the test agents starting from the lowest
number for the selected test modules.

in the second half None. List the second half of the test agents up to the highest
number for the selected test modules.

greater than Integer. The minimum position number for which you want to
list test agents for the selected test modules.

less than Integer. The maximum position number for which you want to
list test agents for the selected test modules.

Table 2-5. Filtering Options for Test Interfaces

Filter Value/Description

all None. List all test interfaces for the selected test modules and
agents.

on odd position None. As described in the table above.

on even position None. As described in the table above.

in the first half None. As described in the table above.

in the second half None. As described in the table above.

greater than As described in the table above.

less than As described in the table above.

with category: Alphanumeric. List interfaces using a particular category.


Entering part of a category name will search for categories with
a matching string and return all assigned interfaces.

with topology: Alphanumeric. List interfaces using a particular topology.


Entering part of a topology name will search for topologies with
a matching string and return all assigned interfaces.

© Copyright 2018 TeraVM Java Client User Guide Page 28


Aeroflex Limited. All
rights reserved.
2.1.4.5.2. Assigning a Topology to an Interface

If you select a filter for which there are no test modules, for example, if you enter a category name that
doesn't exist, the message 'No registered TVMs matching your view criteria' is displayed in the table.
You can select filters on each column to get cascaded results.

Note
You can perform group operations on filtered results, e.g. assigning a specific category to all odd
numbered interfaces.

2.1.4.5.2. Assigning a Topology to an Interface


All test interfaces are initially assigned to topology SUT by default. To assign a different topology to a test
interface:
1. Click on the test interface.
2. Click on Assign Topology. A drop-down list will be displayed from which you can select the desired
topology. The previous topology assigned to that interface will be removed. Ensure that the interface is
not in use when you do this.
3. Click Clear to remove the previously assigned topologies. The interface will be reset to its default
topology (SUT). Ensure that the interface isn't in use when you do this.
4. If a topology that you want to use does not exist, you can add a new topology by clicking + Add
Topology, entering a unique name for your new topology and clicking Save. You can also perform this
step in the Topologies tab (See Managing Topologies above).

Figure 2-25. Assigning a Topology to an Interface

2.1.4.5.3. Assigning Categories to an Interface


All test interfaces are initially assigned to categories client or server by default. To assign a different
category to a test interface:
1. Click on the test interface.
2. Click on Assign Categories. A drop-down list will be displayed from which you can select the desired
category.
3. Repeat this step to assign more categories to the test interface.

© Copyright 2018 TeraVM Java Client User Guide Page 29


Aeroflex Limited. All
rights reserved.
2.1.4.5.3. Assigning Categories to an Interface

4. Click Clear to remove a previously assigned category. Ensure that the interface isn't in use when you
do this. If you clear all categories you will see the message 'No categories assigned'.
5. If a category that you want to use does not exist, you can add a new category by clicking + Add
Category, entering a unique name for your new category and clicking Save. You can also perform this
step in the Categories tab (See Managing Categories above).

Figure 2-26. Assigning a Category to an Interface

© Copyright 2018 TeraVM Java Client User Guide Page 30


Aeroflex Limited. All
rights reserved.
2.2. Resetting, Reserving and Unregistering Test
Modules

2.2. Resetting, Reserving and Unregistering Test Modules


This section is about how to use the resetting, reserving and unregistering functionality of the Test Modules.
RAN VMs also use the resetting and unregistering functionality.

2.2.1. Resetting a Test Module


A test module or a RAN VM can be Reset. You may want to do this if the test module or RAN VM is showing
with a red status in the Pool Manager (this could be the case if have recently deployed).

1. Click the check box next to the test module or that you want to reset.

2. Click on the Reset button. The test module entry will go red indicating that it is no longer registered
with the pool manager. The test module and its test agents and interfaces will be unavailable for use
in test groups while the test module is resetting. If the test module successfully re-registers with the
pool manager it will revert to a blue background and be available for use with its previously assigned
topology and categories.

Figure 2-27. Reset a Test Module

Figure 2-28. Status of Test Module in Pool Manager during Reset

2.2.2. Reserving a Test Module


You can Reserve a test module for a specific user (identified by a username).

1. Click the check box next to the test module that you want to reserve.

2. Click on the Reserve button. This is the green open lock symbol indicating that the test module can be
reserved.

© Copyright 2018 TeraVM Java Client User Guide Page 31


Aeroflex Limited. All
rights reserved.
2.2.3. Unregistering a Test Module

3. Enter the User name of the person that you want to reserve the test module for and click the tick button.
The symbol displayed will now be a red closed lock indicating that the test module is reserved for
somebody. This is the Unreserve button. Click this button to unreserve a test module.

Figure 2-29. Reserving a Test Module

4. You can find out who a test module is reserved for by holding the mouse over the Unreserve button or
by clicking the info (...) button on the right of the test module.

Figure 2-30. Viewing a Test Module Reservation

Note
A Test Module being used can be reserved only for the current user of it.

2.2.3. Unregistering a Test Module


You can unregister a Test Module or a RAN VM from the pool manager database which will make it
unavailable for use in test groups. For example, you may want to remove faulty test modules from the
system. The test module itself is not removed from the network but the pool manager will no longer be able
to see it or assign it for use.

1. Click the check box next to the test module that you want to unregister.

2. Click on the Unregister button (red X). The test module entry will no longer be displayed in the test
module column.

© Copyright 2018 TeraVM Java Client User Guide Page 32


Aeroflex Limited. All
rights reserved.
2.3. TeraVM Controller Set Up

Figure 2-31. Unregistering a Test Module

2.3. TeraVM Controller Set Up


In the Controller, you can change the mode of interface selection in the Pool Manager.

2.3.1. Set the Interface Selection Mode


Use this procedure to set the interface selection to Pool Manger Mode.
1. Log on to the TeraVM Controller from your web browser, and click on Utilities.
2. Go to Admin, and select UI Defaults from the drop-down.

Figure 2-32. Selecting Interface Mode from TeraVM Administration Interface

3. Click Configure next to Test Group Provisioning Defaults. The Interface Selection Mode shows
Classic Mode as the default mode for any tests you run in the HTML5 UI.
4. If you wish to switch to Pool Manager Mode select it from the drop-down. This mode will now be used
in the HTML5 UI.

Note
In the Java Client, you select the mode when you select a test interface.

5. Click Save.

© Copyright 2018 TeraVM Java Client User Guide Page 33


Aeroflex Limited. All
rights reserved.
Chapter 3. Quick Start (HTTP Example) - Java Client

Chapter 3. Quick Start (HTTP Example) - Java Client


This quick start guide will take you through the process of setting up, running and analysing the results of a
HTTP test in the TeraVM Java client.

You will create an emulated HTTP server and client, as shown below.

Note
There are many configuration options with HTTP. This example is very basic and intended to get you
started. For full HTTP details, see the HTTP section of the Applications chapter.

Figure 3-1. Sample TeraVM HTTP Test

3.1. Download and Start the TeraVM Java Client


1. Go to the IP Address of the TeraVM Controller in your web browser. Click on Utilities to go to the
Administration Interface, and click Download TeraVM X Client in the Quick Links Menu (where X
stands for the TeraVM version number).

© Copyright 2018 TeraVM Java Client User Guide Page 34


Aeroflex Limited. All
rights reserved.
3.1. Download and Start the TeraVM Java Client

Figure 3-2. Download TeraVM Java Client

2. Once the installer has downloaded, right-click on it, and select Run as Administrator. The installation
wizard guides you through several configuration steps to complete installation.

WARNING
Make sure you download to a different directory than where the installer is, as both files have the
same name, and the install will fail.

3. To start the client on

• Windows: Run TeraVM from the Desktop or Start Menu

• Linux/Solaris: Execute TeraVM.sh from the client install directory

• MAC OS X: Run TeraVM from the Desktop or command line

© Copyright 2018 TeraVM Java Client User Guide Page 35


Aeroflex Limited. All
rights reserved.
3.1.1. Troubleshooting Problems Running Java Client

Figure 3-3. Login Dialog

Note: the password field cannot be empty.

3.1.1. Troubleshooting Problems Running Java Client


When you start the client, it checks for and downloads any software updates. If a problem is experienced
with the software update, an error message will be displayed and information will be in a file called
bootstrap.log in the client installation directory.

A log file is also available. It is called GuiClient.log and is available in the logs directory of the client
installation directory. This file will provide an indication of the problem experienced.

Attention
Troubleshooting

1. If you try to log on to a partition which is not active, the log on attempt will fail.

© Copyright 2018 TeraVM Java Client User Guide Page 36


Aeroflex Limited. All
rights reserved.
3.1.2. Checking TeraVM Deployment

2. If running on Linux and a problem occurs communicating with the TeraVM Controller, check
the security settings on the Linux client machine. If the Linux machine is configured with a high
security level, reduce the security level and try again.

3. If attempting to connect to TeraVM through a firewall, it may be necessary to disable or allow TCP
ports higher than 32,000.

4. Problems may be experienced connecting to TeraVM if using a wrongly configured DNS Server.

3.1.2. Checking TeraVM Deployment


Use the following procedure to see your TeraVM Test Agent and Test Interface deployment in the Pool
Manager.

Prerequisites

• For more information on Test Agents and Test Interfaces, see Chapter 1, Section 1.4.

• For information about resetting, reserving and unregistering test modules, see file:/C:/diversifEye/main/
userdocs/uui/pool_manager/reset-resererve-unreg.dita.

1. Log into your TeraVM Controller or Local / Standalone TeraVM Executive.

2. On the home page, click Pool Manager. Accept the security certificate if this is the first time you are
opening Pool Manager (You will be prompted by the system).

3. A screen will open showing you the Test Modules (and Test Agents and Test Interfaces) that have
been deployed and that are registered with the Pool Manager. Verify that your deployed test modules
are listed. On the main Pool Manager page, the Test Interfaces are identified by three numbers (for
example 40/1/3), for Test Module Instance Number / Test Agent Number / (Virtual) Test Interface
Number.

Note
If a test module shows a red status, the Pool Manager cannot assign it for tests. Since the Pool
Manager is responsible for interface management, the Local / Standalone TeraVM Executive
must be deployed before your test modules can be verified. Also, the Executive, Controller and
Test Modules must be connected to the TeraVM Comms network.

Figure 3-4. Test Modules/Interfaces in Pool Manager

© Copyright 2018 TeraVM Java Client User Guide Page 37


Aeroflex Limited. All
rights reserved.
3.2. Add a Test Group

3.2. Add a Test Group


When you first login to the Java client, the screen is empty. The first thing you do in TeraVM is create a test
group. In it, you will define your test traffic using TeraVM applications and hosts.

Procedure
1. In the Test Group tab, right click on Test Group and select "Add Test Group...".

Figure 3-5. Initial Screen

2. The Add Test Group dialog is displayed.

Figure 3-6. Add Test Group Dialog

3. Enter http_test_quick as the name, and "Simple http test from client to server" for the description.
4. On the Interfaces tab, select Classic or Pool Manager Mode. Once selected and the test group has
been created, it is not possible to change this setting.

© Copyright 2018 TeraVM Java Client User Guide Page 38


Aeroflex Limited. All
rights reserved.
3.2.1. Copying a Test Group

Figure 3-7. Select Interface Mode

5. Leave the other tabs with default parameters. Click OK .

If the operation was successful the new test group will be displayed as shown below.

Figure 3-8. New Test Group

3.2.1. Copying a Test Group


Use this procedure to copy an existing test group. The copying of a host, application, or a configuration item
is not supported.

1. In the Test Group tab select a Test Group.

2. Right click on the specific Test Group and select Copy.

3. Go to the destination folder you want to copy the Test Group to.

© Copyright 2018 TeraVM Java Client User Guide Page 39


Aeroflex Limited. All
rights reserved.
3.3. Add Hosts

4. Right click and select Paste. If the specific Test Group does not exist it will be created. Otherwise an
error dialog will be displayed indicating the Test Group already exists.

Note: to paste the copied Test Group into the same folder as the original Test Group, right click and
select Paste As, and give the test group a unique name.

3.3. Add Hosts


1. Click on the Test Group you created in the previous step.

Note
If you have pre-existing applications and hosts, they must be loaded before a new host can be
added.

2. Click on the Host tab on the right (in the Display window), and click on the Add Host icon underneath,
as shown below.

Figure 3-9. Add Host

3. The Add Host Wizard is displayed. Proceed to the next section.

© Copyright 2018 TeraVM Java Client User Guide Page 40


Aeroflex Limited. All
rights reserved.
3.3.1. Add Server Host

Figure 3-10. Add New Host Wizard Dialog

3.3.1. Add Server Host

3.3.1.1. General Details

Note
When setting up a client/server test, always define the host for the server first, as you will refer to it
when defining the host for the client.

The first thing you do when setting up a host is specify general details, and for a virtual host, its gateway.
1. Configure the host for the HTTP server as follows: (Host fields are fully described in the Hosts
Chapter).
• No. of Hosts: 1. This is the number of emulated devices you want to connect to your network. You
can specify multiple hosts at once.
• Configure As : default

© Copyright 2018 TeraVM Java Client User Guide Page 41


Aeroflex Limited. All
rights reserved.
3.3.1.2. Add Server Gateway

• Name: http_srv

• Description: http server

• Type: Virtual Host (the Host is emulated in TeraVM, it is not a real (external to TeraVM) host).

• IP Address: 10.1.1.10/24

2. Configure the gateway as described in the next section.

3. Leave the other settings as default and click Next to continue with Link Layer Details.

3.3.1.2. Add Server Gateway


Next you need to configure a gateway for the server host.

A gateway is used to route the traffic from a virtual host to outside the TeraVM. Every virtual host should
have a gateway. A gateway is itself a TeraVM host, virtual or external.

1. Click on the button on the right of Gateway Host.

2. If the gateway host has already been created, you can just select it.

Figure 3-11. Select Gateway

Otherwise, create a new host, and set the fields as shown below. (Note external hosts do not have a
gateway field).

© Copyright 2018 TeraVM Java Client User Guide Page 42


Aeroflex Limited. All
rights reserved.
3.3.1.3. Link Layer Details

Figure 3-12. Add New Gateway

3. Click Next, and Finish to return to the main server host wizard.

3.3.1.3. Link Layer Details


Next are the Link Layer details for the virtual host(s). This includes interface, MAC address, MTU and VLAN
settings. Values can be scaled automatically for more than one host.

Note
The Interface is the test port the host will connect to. This must be entered. If you are in Pool
Manager, you will select the type of interface you want (for example client); in Classic Mode, you will
specify the exact interface, for example 3/1/3. For more details on how interfaces are defined and set
up, see Setting Up the Pool Manager section of the TeraVM User Guide. Interfaces are grouped by
the topology they belong to.

The other fields can be left as default.

© Copyright 2018 TeraVM Java Client User Guide Page 43


Aeroflex Limited. All
rights reserved.
3.3.1.3. Link Layer Details

Figure 3-13. Add Host Wizard Dialog - Link Layer Details

To select Interfaces for your test group:

1. Click on the button next to the Interfaces field. An Interface Selection dialog box will open.

2. If you have selected Classic Mode when creating your test group, the Interface Selection dialog box
will look as follows. Select the interface that you want to use (or select a number of interfaces if your
host is a scaled entity) and click OK.

© Copyright 2018 TeraVM Java Client User Guide Page 44


Aeroflex Limited. All
rights reserved.
3.3.1.3. Link Layer Details

Figure 3-14. Selecting Interfaces - Classic Mode

Note
In Classic Mode, all available interfaces are identified by 3 numbers:

Test Module Instance Number / Test Agent Number / (Virtual) TestInterface Number

3. If you have selected Pool Manager Mode when creating your test group, the dialog box will look as
follows:

© Copyright 2018 TeraVM Java Client User Guide Page 45


Aeroflex Limited. All
rights reserved.
3.3.1.3. Link Layer Details

Figure 3-15. Link Layer Details - Selecting Interfaces - Pool Manager Mode

4. Select New Interfaces from the drop-down menu. If you have configured your host as Single Host per
Row, the Quantity is pre-set to 1. If you have selected Scaled Entity for your host, enter the number of
interfaces that you require here.

5. Click on the Topology drop-down menu and select the topology for the interface.

6. In the Categories list, select the category type(s) for your interface.

© Copyright 2018 TeraVM Java Client User Guide Page 46


Aeroflex Limited. All
rights reserved.
3.3.1.4. Other Settings

Note
• If you choose more than one category type, the interface assigned by the Pool Manager
must have all those categories.

• If you have already configured a number of hosts and interfaces, and want to add another
host to the test group using the same interfaces, select Existing Interfaces from the drop-
down menu and select the interfaces from the list of already configured interfaces for your
test group.

Figure 3-16. Selecting Existing Interfaces

7. Click OK.

3.3.1.4. Other Settings


The last three steps of the wizard can be left at default settings - see the Hosts chapter for more details.

Click Finish to create the host.

3.3.2. Add Client Host


Next set up the client host.

© Copyright 2018 TeraVM Java Client User Guide Page 47


Aeroflex Limited. All
rights reserved.
3.3.3. Verify Host Set Up

Follow the same procedure and settings as for the server host, except:

• set the IP Address to 10.1.1.100/24, and

• select a different interface.

3.3.3. Verify Host Set Up


At this stage, you should see three hosts under the Hosts tab; the client, the server and their common
gateway host. Next you will make sure the hosts are operational and the networking element connecting
them is in place.

1. Select the play button (Green Arrowhead) from the main menu to run the test. If you have configured
things correctly, all the hosts will turn green, and you will be able to run a Ping test, as shown in the next
steps. If they do not turn green, go to step 4 for debugging.

2. Click on the client host, and then left mouse click the PING tool button in the hosts tool bar represented
by symbol “)))”. The following window opens.

© Copyright 2018 TeraVM Java Client User Guide Page 48


Aeroflex Limited. All
rights reserved.
3.3.3. Verify Host Set Up

Figure 3-17. Initiate Ping

3. Configure the destination endpoint by selecting Entity type as Host. Next left mouse click the button to
the immediate right of the IP address entry. In the window displayed select the server endpoint as the
target. Select “OK” to begin a simple ping test.

© Copyright 2018 TeraVM Java Client User Guide Page 49


Aeroflex Limited. All
rights reserved.
3.3.4. External Hosts

Figure 3-18. Ping Test

4. If the networking between the endpoints is operational, there will be a reply from the server side. If
the response is Request Timed Out, begin debugging the network. The following are some common
examples of where connectivity issues occur:

• TeraVM Hosts are not properly configured: double check your configuration.

• Check if interfaces have been assigned by the Pool Manager.

• Physical interfaces have no connectivity:

– Check your port configuration. If your test ports are connected directly to physical ports, try
connecting a cable between the two physical SFP ports (back-to-back mode), and rerun the
test. If PING gets a reply, the issue must be external to TeraVM, so check your SUT.

• Virtual NICs have no connectivity

– Check in the hypervisor where the TeraVM physical interfaces are mapped. In the hypervisor
determine if the TeraVM interfaces have connectivity via the virtual switch/router configuration.

3.3.4. External Hosts


The example shown is for two virtual hosts. However, you can also connect to a real server using an
External Host in TeraVM, for example a 3rd party web server.

Follow the Add Host Wizard as before, except select External Host, and add a Name, Description and IP
address. No additional settings are required.

© Copyright 2018 TeraVM Java Client User Guide Page 50


Aeroflex Limited. All
rights reserved.
3.4. Add HTTP Applications

Tip
To gather the information necessary to configure a test against a real service/server, use a packet
capture tool such as Wireshark running on a local PC. From the packet capture it’s possible to
determine the IP address of the server and also any other necessary configuration parameters such
as HTTP Header details for the HOST, COOKIE, etc.

3.4. Add HTTP Applications


Next you need to set up a HTTP Server and a HTTP Client. In this example, these will be emulated in
TeraVM, but external ones could also be used.

3.4.1. Add HTTP Server


1. Click on the Test Group you created in the previous step.

2. Click on the Applications tab on the right (in the Display window), and click on the Add Application
icon underneath, as shown below.

Figure 3-19. Add Server

3. Select the HTTP Server(s) Application.

Figure 3-20. Add New Application Wizard Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 51


Aeroflex Limited. All
rights reserved.
3.4.1.1. Application Details

3.4.1.1. Application Details

Note
When setting up a client/server test, always define the application for the server first, as you will refer
to it when defining the application for the client.

The first thing you do when setting up an application is fill in general details.

1. Configure the application for the HTTP server as follows: (application fields are fully described in the
Applications Chapter).

• No. of Applications: 1. This is the number of applications (http servers) you want to emulate. You
can specify multiple applications at once.

• Configure As : default

• Name: http_server

• Description: http server application

• Host: Left mouse click on the button to immediate right of the text frame. In the window displayed,
left mouse click on the Configure Host item. Select the Server Host you created earlier.

2. Leave the other settings as default and click Next to continue.

3.4.1.2. Server Details


Here you will set up resources (for example content, files and URIs) "on" the server that may be requested
by the client.

The example will use random data for the resource.

1. Click on the Add Resource List button as shown below.

© Copyright 2018 TeraVM Java Client User Guide Page 52


Aeroflex Limited. All
rights reserved.
3.4.1.2. Server Details

Figure 3-21. Add HTTP Server Application Wizard - Server Details

2. In the Resource List window, enter a Name for the resource list, and click Add to add a Resource.

© Copyright 2018 TeraVM Java Client User Guide Page 53


Aeroflex Limited. All
rights reserved.
3.4.1.2. Server Details

Figure 3-22. Add HTTP Resource List

3. Fill in the fields as shown below, and click OK.

Figure 3-23. Add Resource Dialog

4. Click Next to continue through the wizard, keeping all default values until the application has been
created.

© Copyright 2018 TeraVM Java Client User Guide Page 54


Aeroflex Limited. All
rights reserved.
3.4.2. Add HTTP Client

3.4.2. Add HTTP Client


To add the HTTP client, follow the same steps as for the HTTP server up to Application Details, selecting
the Client Host you defined earlier as the host.

3.4.2.1. Server Details


In the Server Details, you will add information about the http server the client is connecting to, and the type
of http requests to be performed by the client.

Figure 3-24. Add HTTP Client: Server Details

1. Click the (...) button to the right of Server(s) and select the emulated HTTP server you just created.

2. At the next window, add a Name for the Request List, and click the (...) button to the right of Request
List to add a new request (or select one underneath if it's available).

© Copyright 2018 TeraVM Java Client User Guide Page 55


Aeroflex Limited. All
rights reserved.
3.4.2.1. Server Details

Figure 3-25. Add Request List

3. Fill in the fields as shown below. Header fields are optional.

Note
The URI corresponds to the URI set in the HTTP server resource list.

© Copyright 2018 TeraVM Java Client User Guide Page 56


Aeroflex Limited. All
rights reserved.
3.5. Run Test and View Results

Figure 3-26. Add a Get Request

4. Continue through the wizard, accepting defaults until the client has been created.

3.5. Run Test and View Results


To start your test, right click on the test group, and select Run (or click the Play button at the top of the
screen). You can pause and stop a test here also, and export results using the Analysis button.

© Copyright 2018 TeraVM Java Client User Guide Page 57


Aeroflex Limited. All
rights reserved.
3.5. Run Test and View Results

Once the test is running, you can:


• View Statistics on an entity, for example the client:
– Select the client, right click and select View Statistics -> Normal Statistics -> on HTTP client.
See below for the type of output you should see. Full details of the statistics available for HTTP are
in the TeraVM Metrics Guide.
• View the progress of the test at the Run Output tab in the Console Window at the bottom of the
screen.
• Capture and view PDUs (in a tool such as Wireshark); the PDU Capture tab will show you these.

© Copyright 2018 TeraVM Java Client User Guide Page 58


Aeroflex Limited. All
rights reserved.
Chapter 4. TeraVM Java Client Overview

Chapter 4. TeraVM Java Client Overview


The Java Client has four main sections. These are:

1. The Main Menu bar

2. The Configuration Window

3. The Display Window

4. The Console Window with Status Bar (below the console window).

5. There are also various pop up windows to configure different test aspects, for example Properties, Add
HostWizard and so on.

Figure 4-1. TeraVM Java Client

When the Client is opened it will attempt to load your previous test configuration. The first time a user logs
into TeraVM, no such test configuration information will exist and each of the sections will be empty.

Note
It is up to you to load the applications and hosts for your test groups manually. The following message
is displayed on the top of the Display Window. Click on the Load button to load all the applications
and hosts.

Application and Host Loading Prompt

© Copyright 2018 TeraVM Java Client User Guide Page 59


Aeroflex Limited. All
rights reserved.
4.1. Menu Bar

4.1. Menu Bar


The Menu Bar provides some common functions:
Table 4-1. File Menu Options

Menu Option Description

Exit Closes the Client. It does NOT stop a running test.

Table 4-2. Edit Menu Options

Menu Option Description

Undo Reverts to the previous change.

Redo Repeats most recent change.

Cut Removes select element and pastes it to the application clipboard.

Delete Removes selected element from the application memory.

Select All Selects all available elements.

Table 4-3. View Menu Options

Menu Option Description

Console Window Hides or reveals the Console Window. This window initially contains a "Run Output" tab
where helpful messages are displayed as you use the Java client. It will also contain a tab
every time a test is either Exported to or Imported from XML.

View Test Results This displays the TeraVM Results window. This is where the results of each test are
displayed in a graph and table view format.

Table 4-4. Window Menu Options

Menu Option Description

Show All Reveals the Ping, Test Results (Statistics) and TraceRoute windows currently open on this
client.

Hide All Hides the Ping, Test Results (Statistics) and TraceRoute windows currently open on this
client.

Table 4-5. Admin Menu Options

Menu Option Description

Shutdown Controller Shut down, or shut down and restart the TeraVM controller.

Change Administration Password Change the administration password.

Table 4-6. Help Menu Options

Menu Option Description

Topics Access on-line help.

About Displays version information for the TeraVM Java client (click About and then Info tab).

© Copyright 2018 TeraVM Java Client User Guide Page 60


Aeroflex Limited. All
rights reserved.
4.2. Configuration Window

4.2. Configuration Window


The Configuration Window is the panel on the left of the main screen. Here you can configure tests using the
two available tabs: Test Groups and Jobs.

4.2.1. Test Groups Tab


TeraVM uses the term Test Group to identify a TeraVM test. The Test Groups tab is used to configure,
run, pause, resume and stop a test. It is also used to save and analyse the results of a test. Access to these
operations is via the available tab icons or by right-clicking on a test group in the Test Groups tab.

Test Groups are organised into a tree hierarchy. You can place test groups into Folders. A folder can
contain nested folders or one or more test groups. A test group cannot contain other test groups or folders.
The Interfaces folder lists the interfaces required by the test group (set up when configuring the hosts). The
actual interfaces will be assigned by the Pool Manager when the test runs.

When you right click on a specific item in this window there is an option to Expand All. This will expand and
show all of the tree hierarchy from the selected item.

Clicking on any entry in the tree will display the list of items "beneath" it in the Display Window on the right-
hand side of the client.

The following icons are available in this tab:


Table 4-7. Test Group Tab Icons

Add a new test group. If a folder is selected (highlighted) when this button is pressed, the test group will be created
inside that folder.

Add a new folder. If a folder is highlighted when this button is pressed, the new folder will be nested inside that folder.

Delete the selected test group. All contained configuration information will be deleted if the test group is not running,
provided the test group is not associated with any jobs. It is not possible to delete the currently running test group.

Run the selected test group. A user can only run one test group at a time.

Pause the running test group. A paused test group can be stopped or resumed. The test group is resumed by pressing
this pause button again.

Stop the currently running test group.

© Copyright 2018 TeraVM Java Client User Guide Page 61


Aeroflex Limited. All
rights reserved.
4.2.2. Jobs Tab

4.2.2. Jobs Tab


A TeraVM Job is a way of automating the execution of various tasks, for example the execution of a test
group. This capability provides a powerful productivity function where tests can be executed automatically
and in sequence. The tasks contained in a Job are executed sequentially and can be of a specific type
including:
• Run a test group
• Run an external application; for example to configure the system under test before executing the
TeraVM test.
• Sleep for a period of time
• Analyse the previously executed test group within the job.
The Jobs tab operates in the same way as the Test Groups tab.

4.3. Console Window


The Console Window displays information about the tests running on TeraVM. By default the console
window is hidden when the client is opened the first time. The console window can be manually shown or
hidden from the view menu by ticking/un-ticking the "Console Window" checkbox under the "View" option of
the main menu bar. It will be automatically displayed when data is outputted to it.
It consists of several tabs:
• Run Output : Status of user operations; for example a Test Group has been started/stopped, a Test
Case was added.
• Threshold Events : Threshold events generated by TeraVM. These may be violation or clear events.
• VAD Control Status (Telepresence Application) : Voice Activity Detection (VAD) change events.
Specifically when an CTS endpoint gets/releases the floor.
• Aux Feed Control Status (Telepresence Application) : Plugged-in state of the Auxiliary feed of
a CTS endpoint: Auxiliary Feed Plugged In, Plugged Out, Endpoint Gets the Auxiliary Feed Floor,
Endpoint Loses the Auxiliary Feed Floor.
• PDU Captures: Listing of all available PDU Captures - application, host or port level captures.
• There are also tabs created for:
– Every Import/Export operation. These tabs can be removed by right clicking on the tab and
selecting "Remove".
– Every analysis operation performed, describing the progress of the analysis.
Right-click on the Console Window to Clear the window. Highlight the existing output to Copy or Save it.

4.4. Status Bar


Below the Console Window is a Status Bar. This bar provides information about the active Test Group or
Job.

© Copyright 2018 TeraVM Java Client User Guide Page 62


Aeroflex Limited. All
rights reserved.
4.5. Display Window

4.5. Display Window


If you select a folder in the Configuration Window, the Display Window will display all sub-folders and Test
Groups/Jobs which exist at the immediate level below the folder.
In all other cases, the Display Window will display the properties of the selected item. These properties are
read-only.

© Copyright 2018 TeraVM Java Client User Guide Page 63


Aeroflex Limited. All
rights reserved.
Chapter 5. TeraVM Administration

Chapter 5. TeraVM Administration


This chapter provides a description of the administration functionality available within the TeraVM Java client
or through the TeraVM Controller Administration Interface accessible from your web browser.

5.1. TeraVM Controller Administration Interface


To access the Controller Administration Interface, point a browser to <TeraVM controller_IP
Address>:8181. The following functionality is available:
• Download Client Install
Install the TeraVM Java Client. Simply follow the on-screen instructions.
• Unified UI
Login to the TeraVM Controller User Interface from where you can access the Centralized Test Library,
Pool Manager and License Tracker. You can configure and run tests from here.
• Upgrade System
Upgrade the current version of TeraVM controller to a later version. It can also be used to install any
patches.
• Backup / Restore Test Configuration
Perform a backup operation on the TeraVM database. It is good practice to perform this regularly.
• Global Settings
Access configuration of TeraVM global test settings.
• Card Resource Usage
Access to CPU and Memory resource usage statistics of TeraVM test agents when running tests. Use
this to see if your test is over/under resourced.
• Download System Logs
Should be used when requested by Viavi Support to aid debugging of potential problems in the field.
• TeraVM Chassis Information
This is obsolete.
• Admin
Access to the a variety of administrative functionality including setting IP Addresses, hostnames,
system date and time, multiuser configuration and many others.
• TeraVM
Perform post install configuration, license setup, networks and port group configuration.
• Automation
Access to the installation options for the TeraVM CLI and Perl scripting interfaces.
• Miscellaneous

© Copyright 2018 TeraVM Java Client User Guide Page 64


Aeroflex Limited. All
rights reserved.
5.2. Change TeraVM Controller (System) Password

Download MIB files, perform test results analysis and check license information.

• Online Help

Access to User documentation and support helpdesk.

5.2. Change TeraVM Controller (System) Password


In the TeraVM Java client you can change the controller password as follows:

1. Select Admin -> Change Administration Password ... from the main menu bar to display the Change
Administration Password dialog.

Figure 5-1. Change Administration Password dialog

Table 5-1. Change Administration Password Dialog Fields

Field Description Validation

Current Password Current password for the system. 4 - 12 alphanumeric characters plus the
following characters .><{}[]#@()&*%_-= +

New Password New password for the system. 4 - 12 alphanumeric characters plus the
following characters .><{}[]#@()&*%_-= +

Confirm New Password Re-enter the new password. 4 - 12 alphanumeric characters plus the
following characters .><{}[]#@()&*%_-= +

5.3. Shutdown / Reboot System


In the TeraVM Java Client, you can shutdown or reboot the system as follows:

1. Select the Admin Shutdown Controller option from the main menu bar.

2. Enter the Administration password:

3. Click OK to display the Shutdown Controller dialog.

4. Click either Shutdown or Shutdown and Restart.

5. Enter any required delay.

© Copyright 2018 TeraVM Java Client User Guide Page 65


Aeroflex Limited. All
rights reserved.
5.3. Shutdown / Reboot System

6. Click OK.

Figure 5-2. Shutdown Controller dialog

© Copyright 2018 TeraVM Java Client User Guide Page 66


Aeroflex Limited. All
rights reserved.
Chapter 6. Setting up and Running Tests (Test
Groups)

Chapter 6. Setting up and Running Tests (Test Groups)


A Test Group contains one or more tests that can be executed by TeraVM. TeraVM executes test groups,
not individual tests.

A Test Group can have the following states:


Table 6-1. Test Group States

Icon State Description

Inactive Test Group is inactive.

Running Test Group is currently executing the applications contained within.

Paused Test group is running, but its execution has been paused.

The following buttons are available at the top of the Configuration Display and are used to control the
operation of a test group.
Table 6-2. Test Group Buttons

Button Operation Description

Run Run the selected Test Group.

Pause Pause the selected Test Group.

Stop Stops the selected Test Group

Delete Deletes the selected Test Group.

Run Analysis Runs the Analysis Tool to analyse the results for the Test Group. This button is only available after
the Test Group has finished.

6.1. Loading Applications and Hosts


When a TeraVM client is started, the applications and hosts contained within test groups are not
automatically loaded. It is up to you to load them manually. The following message is displayed at the top
left hand side of the Display Window. Click on the Load button to load all the applications and hosts.

Application and Host Loading Prompt

© Copyright 2018 TeraVM Java Client User Guide Page 67


Aeroflex Limited. All
rights reserved.
6.2. Add a test group

6.2. Add a test group

Procedure
1. In the Test Group tab, right click on Test Group, and select "Add Test Group..." menu item. This will
cause the Add Test Group dialog to be displayed. The fields for the test group are shown in the table
below.

2. Enter a name and description for the test group.

3. In the Statistics tab, you can change the sampling interval times for statistics gathered for this test group
(see Using TeraVM Statistics for detailed information on statistics collection).

4. In the Thresholding tab, enable SNMP traps if you wish (see Thresholding Chapter).

5. In the Interfaces tab, select the Interface Selection mode that you want to use and the mode for Shared
Interfaces.
Table 6-3. Add Test Group Dialog Fields

Field Description Validation

Details Tab

Name Name of the Test Group 3 - 32 Characters in length

Description Description for the Test Group 0 - 125 Characters in length

Statistics Tab

Normal Stats Sampling period for normal statistics collection for Five minutes, 1 minute and 30 seconds for
applications/hosts and aggregate groups. Enable/ applications/hosts. Five minutes, 1 minute, 30
disable for Test Agents. seconds, 20 seconds, 10 seconds, 5 seconds for
aggregate groups.

Fine Stats Sampling period for Fine statistics collection for 10, 5 or 1 second.
applications/hosts and aggregate groups. Enable/
disable for Test Agents.

Thresholding Tab

Enable SNMP Enables sending of an SNMP Trap representing a Mandatory. Default is disabled.
Traps For fired Threshold Event in the Test Group.
Threshold
Events

Target IP The IP address to send the SNMP Trap to. Mandatory, if Enable SNMP Traps For Threshold
Address Events is enabled.

Target Port The port to send the SNMP Trap to. Mandatory, if Enable SNMP Traps For Threshold
Events is enabled.

Enable Implicit Enables thresholds for tests when the tests are "in Mandatory. Default is enabled.
In Service for service" (that is, after any configured start delays).
Thresholds

Interfaces Tab See note

Interface Select Classic or Pool Manager Mode Mandatory. Default is Classic Mode.
Selection Mode

Shared Direct traffic from shared interfaces to test agents Mandatory. Default is VLAN ID.
Interfaces using VLAN ID or MAC only.

© Copyright 2018 TeraVM Java Client User Guide Page 68


Aeroflex Limited. All
rights reserved.
6.3. Viewing/Modifying a Test Group

Note
The settings here are initially configured in the TeraVM Controller Administration Interface,
Admin/Test Group Provisioning Defaults (defaults here are Classic Mode and VLAN ID). If
you want to change the settings used for each of your test groups, change them in the Interfaces
tab.

6. Click OK .

If the operation was successful then the new Test Group will be displayed below the selected folder as
shown. If a problem occurs, a message will be displayed outlining the reason for the failure to add the
Test Group.

Figure 6-1. New Test Group

6.3. Viewing/Modifying a Test Group

Procedure
1. In the Test Group or Job tab select a test group you wish to view. Right click and select the
"Properties..." menu item from the menu displayed.
2. To modify the properties of the test group, edit the values for the displayed fields as required and click
OK.

© Copyright 2018 TeraVM Java Client User Guide Page 69


Aeroflex Limited. All
rights reserved.
6.4. Running a Test Group

6.4. Running a Test Group

About this task

Note
Only one Test Group (or Job) can be running at any one time.

Procedure
1. In the Test Group or Job tab right click on the test group you wish to run. Select Run or click Run at
the top of the Configuration display:

Any output generated during the running of the test group will be displayed in the Run Output console
at the bottom of the TeraVM client.

Figure 6-2. Run Output Panel

© Copyright 2018 TeraVM Java Client User Guide Page 70


Aeroflex Limited. All
rights reserved.
6.5. Pausing a Test Group

6.5. Pausing a Test Group

Procedure
1. In the Test Group or Job tab right click on the test group you wish to pause.

2. Select Pause or click on the Pause button at the top of the Configuration display:

© Copyright 2018 TeraVM Java Client User Guide Page 71


Aeroflex Limited. All
rights reserved.
6.6. Stopping a Test Group

6.6. Stopping a Test Group

Procedure
1. In the Test Group or Job tab right click on the test group you wish to stop.

2. Select stop or click on the stop button at the top of the Configuration display:

6.7. Deleting a Test Group

About this task

Note
A running Test Group must be stopped before you will be allowed to delete it.

Note
Deleting a Test Group will delete all Test Group configuration data and applications contained within.

Procedure
1. In the Test Group or Job tab right click on the test group you wish to delete.

2. Select Delete or click on the Delete button at the top of the Configuration display.

3. Click Yes to proceed with the deletion.

6.8. Test Group Results


During and after the running of a Test Group, there are different types of statistics available to you. These
results can be saved to the local client machine.

There are two categories of results available for a Test Group. These are:

• Current Results

These results are only available while the Test Group is running.

There are two types:

– Summary Results

© Copyright 2018 TeraVM Java Client User Guide Page 72


Aeroflex Limited. All
rights reserved.
6.8.1. Saving Test Group Results

Cumulative totals of the statistics collected for each individual test within a test group over the
duration of the test that is, up to the time the request was issued to collect the summary results. For
example, a test group with 10 tests will have a results summary for each of the 10 tests. Each of
these 10 summary results will contain a cumulative total for each statistic; for example a total for
packetsIn, packetsOut and so on.
– Detailed Results
Results collected at each (user specified) collection interval for each test in the test group. For
example, a test group with 10 tests running for 20 minutes with a 5 minute collection interval for
each of the 10 tests. Therefore, each test will have 4 sets of statistics - one for each of the 5 minute
intervals.
• Historical Results
These are available after the test has finished. There are two types:
– Summary Results
Summary results collected. The only difference between the Historical Summary Results and the
Current Summary Results is the duration of the test run.
– Detailed Results
Same as the Current Detailed Results but cover the whole duration of the test group. These
Historical Detailed Results are only available when no other test group is running and only if this
test group was the last executed test group.

6.8.1. Saving Test Group Results

About this task

Note
A Test Group must be in a paused state before the current summary results can be saved.

Procedure
1. In the Test Group tab select the Test Case whose results you wish to save.
2. Right click and select the type of result you wish to save.
3. In the Save dialog, browse to the location where you wish save the results and enter a name for the
results file.

Results

Note
Historical results are only available for the last executed Test Group.

© Copyright 2018 TeraVM Java Client User Guide Page 73


Aeroflex Limited. All
rights reserved.
6.9. Analyzing Test Group Results

6.9. Analyzing Test Group Results

About this task


TeraVM provides an analysis option to perform statistical analysis on the results of running a test group. See
the Analyzing Results chapter for a more detailed description When you run a test group, the Run Analysis
icon is displayed at the top of the Configuration Window. Click on this icon to run the analysis tool. Below
shows another method.

Procedure
1. You can also analyse the results for a Test Group as follows:
2. In the Test Group tab select the Test Group whose results you wish to analyse.
3. Select the "Results-> Analyse..." menu item to display the analysis dialog.
4. Configure the analysis options. See the Analysing Results chapter for details.
5. Click the "Run" button to perform the analysis. The results will be displayed in the Results Analysis
Window.

Note
If the selected Test Group is already running, the current results will automatically be retrieved.
Otherwise you will have to browse for a previously saved results file for the test group to act as a
source for the analysis.

6.10. Exporting a Test Group

About this task

Note
The Test Case assigned to a Test Group must have its entries loaded before a Test Group can be
exported.

To export a Test Group and its contents:

Procedure
1. In the Test Group tab select the Test Group which you wish to export. Right click on the selected item.
2. Select either the "Export to XML.." or the "Export to XML as..." menu item from the sub menu
displayed. If you selected the "Export to XML as..." menu item, enter the export name for the test
group in the dialog provided and click the OK button to proceed.
3. In the Save dialog, browse to the location where you wish the exported file to be created and enter a
name for the file. Click Save.

© Copyright 2018 TeraVM Java Client User Guide Page 74


Aeroflex Limited. All
rights reserved.
6.11. Importing a Test Group

6.11. Importing a Test Group

About this task


To import a Test Group and its contents:

Procedure
1. In the Test Group tab select the Test Group under which you wish to import the test group, amf right
click.
2. Select "Import from XML..".
3. In the Open dialog, browse for the file you wish to import and click OK.

Results
Any errors that occur during the import will be displayed in a console tab at the bottom of the TeraVM client.

6.12. Folders
You can use folders in the TeraVM client to organise test groups and jobs. A folder name need only be
unique when compared to other folders which exist at the same hierarchical level and with the same parent.
To add, delete, view, modify, export and import folders, follow the same methods as described for Test
Groups.

© Copyright 2018 TeraVM Java Client User Guide Page 75


Aeroflex Limited. All
rights reserved.
Chapter 7. Hosts

Chapter 7. Hosts
This chapter introduces TeraVM Hosts. There are two sections:
• Overview of Hosts and Host Types
• Working with Hosts in the Java Client

7.1. Overview of TeraVM Hosts


The primary purpose of a TeraVM host is to create an IP addressable object. Hosts in TeraVM are
representative of a networked endpoint.
Hosts in TeraVM are defined as either
• Virtual (internal; the host is completely emulated in TeraVM) or
• External (the host is a real-world physical network entity external to TeraVM).
Virtual Hosts may be Network Visible (also called Direct Virtual Host, DVH) or not visible in the network
(Indirect Virtual Host, IVH).
Hosts encapsulate functionality relating to IP (Layer 3) and Ethernet (Layer 2).
Other Layer 2 and 3 Protocols that extend or support IP and Ethernet are also the responsibility of the host.
For example, VLAN, ARP, ICMP, DHCP and PPPoE transport connections between TeraVM applications
(Layer 4 TCP or UDP) are also managed by the host on behalf of the application.
Certain Layer 4 statistics are available from the host, but for the most part, interactions at Layer 4 and up are
considered part of the application.
A host requires:
• Layer 1 Logical Test Port
• Layer 2 MAC Address
• Layer 3 IP Address
• Gateway IP Address
• Optional:
– VLAN tag
– MTU

7.1.1. Virtual Hosts


A virtual host is a (virtual) network entity emulated within the TeraVM test environment.
• The host can represent a single host address or a range of IP addresses within a subnet.
• Virtual Hosts can either be network visible from the SUT or indirectly visible via routing through direct
hosts (gateways).
• In the case of extremely large test cases a virtual subnetwork host can be used, essentially emulating a
network access concentration device load of traffic.

© Copyright 2018 TeraVM Java Client User Guide Page 76


Aeroflex Limited. All
rights reserved.
7.1.1.1. Virtual Hosts (DVH, IVH)

There are two types of Virtual Hosts. These are described in more detail in the next section.

• Virtual Host

– This is the most commonly used type. It emulates a single Layer 2-3 device.

• Virtual Subnet Host

– These are used for emulating very large scale systems. They emulate subnets.

7.1.1.1. Virtual Hosts (DVH, IVH)


When you add a virtual host in TeraVM, you have the option to make it network visible to the system under
test (at Layer 2) or not.

A network visible host is called a direct virtual host (DVH) and a host that is not network visible is called an
indirect virtual host (IVH). The following diagram illustrates this relationship between indirect virtual hosts,
direct virtual hosts and the SUT (system/network under test).

All virtual hosts use a gateway to route packets to remote hosts.

Figure 7-1. Direct and Indirect Virtual Hosts

© Copyright 2018 TeraVM Java Client User Guide Page 77


Aeroflex Limited. All
rights reserved.
7.1.1.2. Virtual Subnet Host (DVSH, IDVSH)

Direct (Network Visible) Virtual Hosts


A direct virtual host requires no Layer 3 (IP) routing to write/read packets to/from the SUT. In basic IPv4
terms, this host is "ARPable" from the SUT, and it can ARP for external hosts, (or other direct virtual hosts
on different TeraVM ports) that are on the same subnet.

Note
Certain host-specific, link-local protocols can only be applied to direct virtual hosts. The primary
examples are DHCP and PPPoE. These protocols are both initiated with broadcast Layer 2
addressing by individual hosts, and they require specific services, (DHCP or PPPoE), to be available
on the SUT. Therefore, these configuration options are restricted to direct virtual hosts, because other
host types either cannot access the SUT directly at Layer 2, or they cannot provide the required level
of "individual host" granularity.

Indirect (non-network visible) Virtual Hosts


Indirect virtual hosts reside on subnets internal to TeraVM. To access the SUT, indirect virtual hosts must
use a direct virtual host as an IP router (gateway) for its outbound and inbound IP packets. An indirect virtual
host can be a single or multiple hops from the SUT (by specifying a chain of one or more indirect virtual
hosts as gateways before finally reaching a direct virtual host that provides access to the SUT).

7.1.1.2. Virtual Subnet Host (DVSH, IDVSH)


Virtual Subnet Hosts are used for emulating very large scale systems. They emulate subnets. A subnet
host is a single entity in TeraVM covering a range of IP addresses. There are less entities, and therefore
less memory and compute power required compared to virtual hosts, making it possible to scale tests. For
more information of scaling hosts, see Section 7.2.1.1.

Note
AVirtual Scaled Host offers greater visibility, control and functionality for a single IP address than the
Virtual Subnet Host. For instance a Subnet Host can only be assigned a static IP address (cannot
support DHCP).

Direct and Indirect virtual subnet hosts are the subnet equivalent of the virtual hosts described previously.

Direct Virtual Subnet Host


In the IPv4 case, each address within the subnet range will be "ARPable" from the SUT. The direct virtual
subnet host can route packets via its gateway. The relationship of a direct virtual subnet host to the SUT
is shown in the following diagram. The entire IP address range assigned to a direct subnet host is directly
accessible on the SUT.

Direct Virtual Subnet Host

© Copyright 2018 TeraVM Java Client User Guide Page 78


Aeroflex Limited. All
rights reserved.
7.1.1.2. Virtual Subnet Host (DVSH, IDVSH)

As stated above, a direct virtual subnet host covers an entire IP address range based on its prefixed IP
Address.

A direct virtual subnet host can have a gateway address that exists within the subnet's IP address range.
In most situations, the default gateway for an individual host would be within the range of its prefixed IP
address. If a virtual subnet host did not allow its gateway address to exist within its prefixed IP address
range, then it would be awkward to configure a default gateway for a virtual subnet host in a real-world test
environment. To overcome this, the virtual subnet host entity makes a specific exception to allow its gateway
address to exist within the range of IP addresses that the subnet is intended to cover. It is important to note
that when a test is configured in this way, the subnet host will handle traffic for all IP addresses except the
gateway address.

Note
Individual direct virtual hosts can be created that exist within the range of a direct virtual subnet host.
In this case, the individual hosts will take precedence over the virtual subnet host for the specific IP
addresses that are covered by individual hosts. This provides a convenient way to isolate statistics
for a handful of hosts within the subnet range, without losing the ability to handle a large range of
addresses via a single subnet host entity.

Indirect Virtual Subnet Host


An indirect virtual subnet host is the subnet equivalent of an indirect virtual host. The IP address range
assigned to the subnet host is not directly accessible on the SUT. As with individual indirect virtual hosts, an
indirect virtual subnet host must route IP packets through a direct virtual host, (either directly, or indirectly
through intermediate indirect virtual hosts), to reach the SUT. The following diagram shows the relationship
between an indirect virtual subnet host and the SUT:

© Copyright 2018 TeraVM Java Client User Guide Page 79


Aeroflex Limited. All
rights reserved.
7.1.2. External Hosts

Figure 7-2. Indirect Virtual Subnet Host

Similarly to a direct virtual subnet host, individual indirect hosts can be created that exist within the range of
an indirect virtual subnet host. The individual hosts will take precedence over the subnet host for the specific
IP addresses that are covered by individual hosts.

7.1.2. External Hosts


• An External Host is TeraVM's representation of a "real-world" physical network entity that the emulated
traffic is destined for; for example a Google DNS server. An External Host may be scaled.

• An External Subnet Host represents a whole subnet of machines or pieces of test equipment
accessible via a single IP address. It is used in large systems where the individual machines in the
represented subnet may each be hosting many "real-world" applications or services that TeraVM
interacts with.

7.1.3. Gateway
A gateway is a a TeraVM host that is visible from the SUT (for destination MAC address reachability).

A virtual host always requires a gateway. It routes packets to remote hosts via its gateway address.

For a network-visible virtual host, the gateway can be:

© Copyright 2018 TeraVM Java Client User Guide Page 80


Aeroflex Limited. All
rights reserved.
7.1.4. Host IP Address Assignment

• A router interface or end system host on the SUT (External Host in TeraVM)

• In the case of "loopback" tests between two TeraVM ports, a gateway can be another virtual host on a
different TeraVM port.

Gateway for Indirect Hosts


An indirect host always reaches the SUT via a direct host.

Without these routes, IP packets will not be able to reach the indirect virtual hosts from the "outside world",
(the SUT). These routes can either be created automatically, (by having TeraVM "advertise" routes using
RIP or RIPng), or manually, (by programming the routes directly into the participating routers before the
test is started). Since an indirect virtual host must use IP routing to get to the SUT, only applications and
protocols that function at Layer 3, (IP), and above make sense for an indirect virtual host. In other words,
protocols that require Layer 2 (Ethernet) access to the SUT, (like DHCP, PPPoE, ARP and so on.), cannot
be applied to an indirect virtual host.

Note
The gateway for an indirect virtual host cannot be on the same subnet as the host itself. TeraVM
bypasses the normal routing step; packets are forwarded directly through to the next routing IP
interface. If an indirect virtual host routes through several indirect hosts before reaching a direct virtual
host, TeraVM bypasses all the internal routing steps and place the packet directly on the SUT, (taking
the appropriate Time-To-Live adjustment into account). Skipping the internal routing does not impact
the overall outcome in terms of what the SUT sees, but cuts out a lot of packet processing). One side-
effect of this routing shortcut is that traceroutes that trace through TeraVM's internal routing will not
identify the internal path taken; the trace will show the point of entry into TeraVM, and subsequently
report unidentified hops until the final (internal) destination IP address is reached.

7.1.4. Host IP Address Assignment


The IP address of each host must be unique within the pool of host addresses.

It can be of the type IPv4 or IPv6 with manual or dynamic address assignment.

Note
You can emulate both IPv4 and IPv6 enabled endpoints in a single test case.

Default Address

No default address is provided for hosts.

© Copyright 2018 TeraVM Java Client User Guide Page 81


Aeroflex Limited. All
rights reserved.
7.1.4.1. Invalid Addresses

Note
The exception to this is Direct Virtual Hosts with an IP Address Assignment Type of DHCP or
PPPoE/IPCP. In this case, the default address is the "unassigned" (or "empty") address (0.0.0.0).

7.1.4.1. Invalid Addresses


A host IP address CANNOT be:

• The "unassigned" address (except for the case above)

• The subnet's network address

• The subnet's broadcast address

• The "general" broadcast address (all 1's).

• A multicast address.

• A loopback address.

7.1.4.2. Host Domain Rules


Each host type (Direct Virtual Host and so on) must be on its own subnet, and not on the same subnet as
other types. For example, an Indirect Virtual Host cannot be on the same subnet as: External Hosts or Direct
Virtual Hosts, or Direct Virtual Subnet Host.

Note
"same subnet" includes "contained" or "overlapping" subnets. For example, 1.2.3/24 is contained
within the range of 1.2/16.

In addition:

• Any Indirect Virtual Host cannot be on the same subnet as an Indirect Virtual Host or Indirect Virtual
Subnet Host that access the SUT through a different Direct Virtual Host. (It can be on the same subnet
as a Indirect Virtual Subnet Host that accesses the SUT through the same Direct Virtual Host).

• A Direct Virtual Subnet Host cannot be on the same subnet as a Direct Virtual Subnet Host that is on
a different TeraVM port. (Note:They can be on the same subnet as a Direct Virtual Subnet Host that is
on the same TeraVM port. Also, a Direct Virtual Subnet Host can be created on a different port after the
Direct Virtual Host is created, and that DVSH can be on the same subnet, provided it uses the Direct
Virtual Host as its gateway.)

7.2. Working with Hosts


This section describes working with TeraVM hosts in the Java Client.

© Copyright 2018 TeraVM Java Client User Guide Page 82


Aeroflex Limited. All
rights reserved.
7.2.1. Adding Hosts - (Host Wizard)

7.2.1. Adding Hosts - (Host Wizard)


1. Click the Test Group tab in the Configuration Window, and then click on the Test Group where you
want to create a host.

2. Click on the Host tab in Display window.

3. Click on the Add Host icon in the display window. The Add Host Wizard is displayed.

Note
Exiting test groups must be loaded with the Load button before a new host can be added.

The General Details page of the Add New Host wizard is shown below. This can vary depending on the
host type.

Configure the host as described using the settings defined in the following sections.

© Copyright 2018 TeraVM Java Client User Guide Page 83


Aeroflex Limited. All
rights reserved.
7.2.1.1. Scaling and Bulk Provisioning of Hosts

Figure 7-3. Add New Host Wizard Dialog (Example - External Hosts)

Note
When you create virtual hosts, the Gateway parameter is optional. However, it must be specified if a
host is to be involved in a running test. This is because the gateway specifies the host's default route
to all other subnets. Tests involving direct virtual hosts that do not specify a gateway will not run.

7.2.1.1. Scaling and Bulk Provisioning of Hosts


A TeraVM test can typically involve large numbers of hosts and applications (test entities).
When you add a host in the TeraVM Java Client, you can create one or multiple hosts at once as follows:
• Configure as set to Single Host per row and No. of Hosts set to 1 creates a single host entity in
TeraVM.
• Configure as set to Single Host per row and No. of Hosts > 1 creates multiple host entities in TeraVM,
one per row (this is also known as bulk provisioning).

© Copyright 2018 TeraVM Java Client User Guide Page 84


Aeroflex Limited. All
rights reserved.
7.2.1.1.1. Parameters for Scaling / Bulk Provisioning

• Configure as set to Scaled Entity and No. of Hosts > 1 creates scaled host entities, one per row. Each
scaled entity contains multiple host entities in TeraVM and their parameters will be set according to
certain parameters. Scaled entity covers the same IP address range as Single Host per row by using an
IP address per host.
Scaling
This is the most common way to build tests. Using Scaling, you can quickly and efficiently run tests with very
large numbers of hosts - millions of them. A single test entity is stored in the test database and shown as
one row in the Host Display Panel, however when the test is run, a host is created for each of the No. of
Hosts hosts.
Bulk-Provisioning
Using Bulk-Provisioning you can create many individual entities at the same time from a single set of
parameters. Each test entity is stored in the test database as a single item, and has its own row in the Host
Display Panel.

7.2.1.1.1. Parameters for Scaling / Bulk Provisioning


When you create multiple hosts in TeraVM at once, you can vary the settings of each one by using the
following icon next to them.

By clicking on this icon, a dialog is displayed to enable the relevant provisioning information to be entered.
The parameters affected are:
• Host name
• IP address
• VLAN ID
• Double VLAN IDs
• DHCPv4 and DHCPv6 options
• PPPoE Settings

7.2.1.2. Add Host Wizard Dialog - General Details (All Host Types)
The following General fields are common to all host types.

Field Description Validation

No. of Hosts Number of hosts to be created. Min value: 1 Max Value: 50,000,000

Configure As Define how hosts are grouped and displayed if you Required.
are provisioning multiple hosts, that is No. of Hosts >1.
If No. of Hosts = 1, the default value is
Choose between Single Host per row (Bulk Provisioning)
Single Host per Row, otherwise it is Scaled
or Scaled Entity. See Section 7.2.1.1 for further
Entity.
information.

Name Unique name identifying host. This should be easily Required. Value between 1 and 250
recognizable in the test results, for example HTTPserver. characters in length. Must be unique within

© Copyright 2018 TeraVM Java Client User Guide Page 85


Aeroflex Limited. All
rights reserved.
7.2.1.2. Add Host Wizard Dialog - General Details (All
Host Types)

Field Description Validation


the pool of "named objects", (applications,
hosts), in the test.
When provisioning multiple hosts, click to create
unique names. Default values as shown.

Use the Increment by field to generate unique names


containing increments of the entered name value: for
example with Prefix HostA, Starting at 2, Increment by
1 will create HostA2, HostA3 and so on. You can also add
an Optional Suffix.
It is also possible to create a unique name at intervals with
Every, for example every 5 hosts will have a unique name.
This option should be left at 1 for a Scaled Host.

Description Description of the host. Optional, no default. String value between


0 and 512 characters in length.

Type See Section 7.1 for a detailed description. Select from one of the host types. Default
is Virtual Host.

IP Address/prefix IP Address, including mask of the host, for example Required.


10.1.1.1/24 for a virtual host.
If the host is a virtual subnet host, the IP address must be
a network address, for example 10.1.1.0/24.
For further details on valid addresses, see Section 7.1.4.

When provisioning multiple hosts, click to create


unique IP/subnet addresses for all the hosts. For example,
192.168.22.1, 192.168.22.2, 192.168.22.3 and so on..

Certain IPv4 addresses encapsulated as IPv6 will


be shown as plain IPv6 addresses after a bulk
provisioning (Single Host per row) operation. For example
bulk provisioning 10 hosts with a starting address
of ::1.2.3.4/96 results in the addresses being displayed in
IPv6 format.

© Copyright 2018 TeraVM Java Client User Guide Page 86


Aeroflex Limited. All
rights reserved.
7.2.1.2.1. Optional parameters - External Hosts only

7.2.1.2.1. Optional parameters - External Hosts only


The Optional parameters page of the Add New Host wizard enables you to add sets of name/value pair
properties that will not be interpreted by TeraVM but may be useful information to users.

Click on the <Add> button to add a new property value:

Figure 7-4. Add Property Value Dialog

The following fields are required for a new property:


Table 7-1. Add Property Value Dialog - External Hosts and Subnet Hosts

Field Description Validation

Name Name for this additional property. Any string value.

Value Value for this additional property. Any string value.

7.2.1.3. Provisioning Virtual Hosts


In the Add Host wizard, you configure the following details in successive steps for virtual hosts:

• General Details

• Link Layer Details

• DHCP Details (Displayed only if DHCP is selected for the IP Address Assignment field in the General
Details page)

• PPPoE Details (Displayed only if PPPoE is enabled or IPv4CP is selected as the IP Address
Assignment in the General Details step of the wizard)

• Statistics Settings

• Activity Settings

• Additional Configuration

Warning messages are displayed in red at the bottom of the wizard pages to let you know which fields are
mandatory on the displayed page and to warn you if an incorrect value has been entered in a field.

© Copyright 2018 TeraVM Java Client User Guide Page 87


Aeroflex Limited. All
rights reserved.
7.2.1.3.1. General Fields - Hosts

7.2.1.3.1. General Fields - Hosts


In addition to the general fields described in Section 7.2.1.2, hosts have the following additional general
fields:
Table 7-2. General Fields - Hosts

Field Description Validation

Network Visible A Host can either be directly visible from the network, Required. Default is clicked.
that is the emulated endpoint can access the network via
its “Gateway”. If unchecked the endpoint is used as the
application layer in a tunneled mode such as a 6rd, DS-
Lite or VPNs

IP Address Assignment Controls how the host is allocated an IP address: statically Default is Static.
or dynamically.
Select EoGRE only if using the GRE Site
For Network Visible Hosts, the dynamic options are to Site VPN application with the host,
and using Ethernet over GRE (not IPv4)
DHCPv4, DHCPv6 or PPPoE/IPv4CP.
encapsulation. (Note setting this option
For non Network Visible Hosts, the dynamic options are requires you to specify Link Layer details).
Dynamic IPv4 or IPv6 Tunnel, or EoGRE Dynamic IPv4
Tunnel.

Gateway Host The host that will act as the gateway for this host. A best Not required at configuration time, but
practice is to create an external host configured with required at runtime unless the IP Address
the gateway address. Select the Gateway Host by right Assignment type is DHCP, PPPoE/IPCP
mouse clicking on the button to the immediate right. (The or AnyConnect IPv4. No default. Cannot
host can either already exist, or you can create it on the be specified if a Network Visible host is
fly). For further information, see Gateway. PPPoE enabled. Otherwise, can be any
External Host, or a Network Visible host
that is not on the same physical port as this
one.

Advertise Routes Advertise all routes behind this host via RIPv2 or RIPng. Disabled, RIPv2 or RIPng. Default is
Disabling require routes to be manually configured in the Disabled. Always disabled for a Scaled
SUT. Host.

Enable PPPoE Check to enable additional PPPoE settings. See PPPoE Details.

7.2.1.3.1.1. PPPoE Details


If PPPoE Enabled is ticked or IP Address Assignment is IPv4CP in the General Details step, the
Configure PPPoE Settings step is available after the Link Layer step of the Add New Host Wizard.

Enter values for the PPPoE fields as required. It should be noted the PPPoE Server can timeout causing the
client side to attempt to re-establish the link. This attempt to re-establish the link is not supported.
Table 7-3. PPPoE Settings

Field Description Validation

PAP Authentication Authenticate the client via PAP. Default is not ticked.

CHAP Authentication Authenticate the client via CHAP. Default is not ticked.

User Name/Peer ID The name of the user/peer for this PPPoE session. 3 - 255 characters for both PAP and
CHAP. Note: If PAP and/or CHAP are
enabled, the user name cannot be empty.

© Copyright 2018 TeraVM Java Client User Guide Page 88


Aeroflex Limited. All
rights reserved.
7.2.1.3.1.1.1. Advanced PPPoE Settings

Field Description Validation

Password/Secret A secret or password authenticating the specified user. 3 -255 characters for both PAP and CHAP.
This password can be empty for either
protocol.

Service Name The name of the Service requested by the Host. Optional Default is blank indicating any service will
field. do. Max size is 1474.

Access Concentrator The device from which the PPPoE client will accept a Optional. Default is blank. Max size is
PPPoE session. 1474.

Retransmit Timer Specifies the interval between retransmissions of LCP Default is 3000ms. Min 1ms, max 1 hour.
"Configure-Request" and "Terminate-Request" packets. The interval can be specified in ms, sec or
min. Default is ms.

MRU The maximum unit of data that the "client" can receive. Default is 1492.
The default is 8 bytes less than the MTU that is, 1492.

Click on Advanced PPPoE to enter more PPPoE and IPCP settings, otherwise click on the Next button to
enter Statistics settings.

7.2.1.3.1.1.1. Advanced PPPoE Settings


If you click on the Advanced PPPoE button, you can enter PPPoE and IPCP settings. The PPPoE tab of
the Advanced Settings dialog is displayed:

The following advanced PPPoE settings can be configured:


Table 7-4. Advanced PPPoE Settings

Field Description Validation

Use Host Unique Random unique value included in a Host message that the Enabled or Disabled. Default is enabled.
AC must include in its reply. The client will check that the
AC replies with the correct value.

Use Magic Number Results in the generation of a unique number, (the Enabled or Disabled. Default is enabled.
Magic Number), that can be used to avoid looped back
connections.

Double Retransmit Time Double the time to retransmit Enabled or Disabled. Default is disabled.

Test Request Mode Type of packet to be sent over the LCP link to test/debug None, Echo, Discard. Default is None.
the link.

Test Payload Size Size of the test packet payload. Specific value or a profile. Minimum
value is 0 - this will still send a valid echo
request. The maximum value should be the
value of the local MRU.

© Copyright 2018 TeraVM Java Client User Guide Page 89


Aeroflex Limited. All
rights reserved.
7.2.1.3.1.1.1.1. PPPoE Settings for Multiple Hosts

Field Description Validation

Test Interval Frequency with which Test Packets are sent. Max is 1 hour. Default is 30 secs. The
frequency can be specified in ms, sec or
min. Default is sec.

Reconnect After Failure Specifies whether or not the Host should attempt to Enabled or Disabled. Default is enabled.
automatically reconnect failed PPPoE sessions. Only for PPPoE-enabled Hosts.

The IPCP tab enables you to configure if IPv4 PPPoE Hosts can request DNS Primary and Secondary
Server Addresses. When you click on the IPCP tab, the following dialog is displayed:

Figure 7-5. Advanced IPCP Settings

Table 7-5. Advanced IPCP Settings

Field Description Validation

Request Primary DNS Asks the PPPoE Server to return a Primary DNS Server Default is Disabled. Only available for IPv4
Server Address Address. PPPoE hosts.

Request Secondary DNS Asks the PPPoE Server to return a Secondary DNS Default is Disabled. Only available for
Server Address Server Address. IPv4 PPPoE hosts. Note: You can request
a Secondary DNS without requesting a
Primary DNS.

7.2.1.3.1.1.1.1. PPPoE Settings for Multiple Hosts


The buttons are displayed beside the UserName/Peer ID, Password/Secret, Service Name and Access
Concentrator fields of the PPPoE step of the wizard if multiple hosts are to be provisioned. The default
property editor dialog is shown when any of these buttons are pressed.

© Copyright 2018 TeraVM Java Client User Guide Page 90


Aeroflex Limited. All
rights reserved.
7.2.1.3.1.1.1.1. PPPoE Settings for Multiple Hosts

Figure 7-6. Property Editor Dialog

These properties can be configured by either specifying a value, which will have a numeric incrementing
suffix appended to it, or a operator can configure a list of Strings that will be distributed amongst the created
Hosts, on the appropriate property. The list of Strings can be configured manually, or by importing a list of
Strings from a CSV file.

In order to configure a list of Strings, the Scaler field should be changed to String List Scaler, the dialog will
update automatically to present the String List Scaler view.

Figure 7-7. String List Scaler

© Copyright 2018 TeraVM Java Client User Guide Page 91


Aeroflex Limited. All
rights reserved.
7.2.1.3.1.1.1.2. Changes in Host's MTU

7.2.1.3.1.1.1.2. Changes in Host's MTU


If you select the Multiple Tagged Vlan for Layer 2, the number of VLAN tags will have an impact on the MTU
size in the host. The relationship is shown below.
Table 7-6. The MTU on the Host Based on Number of VLAN Tags

No of VLANs MTU on the host MTU on PPPoE enabled host

0 (None) 1500 1492

1 1496 1488

2 1492 1484

3 1488 1480

4 1484 1476

5 1480 1472

6 1476 1468

7.2.1.3.2. Advanced Settings


Click on the Advanced button on the General Details page of the Add New Host Wizard to get to the
Advanced Settings dialog. Advanced settings can be configured for:

• IPv6

• TCP

• SIP

7.2.1.3.2.1. IPv6

Figure 7-8. Advanced Settings - IPv6

The following IPv6 information can be added for the host(s) that you are configuring:

© Copyright 2018 TeraVM Java Client User Guide Page 92


Aeroflex Limited. All
rights reserved.
7.2.1.3.2.2. TCP

Table 7-7. Advanced IPv6 Settings - General Details

Field Description Validation

Initial Flow Label A Flow Label of zero is used to indicate packets that are 0 - 1048575
not part of any application. Packet classifiers use the Flow
Label, Source Address, and Destination Address fields to
identify which flow a particular packet belongs to.

MTU Discovery Enables/disables MTU Discovery, which discovers Enabled by ticking the check box.
whether the current path is capable of packet sizes
greater than the current MTU.

7.2.1.3.2.2. TCP
The Advanced TCP Settings can either be configured at this stage of the provisioning process, or previously
configuration options can be selected from the Advanced TCP Settings Selection dialog. TCP Configuration
is dealt with in more detail in the Test Configuration chapter.

Figure 7-9. Advanced Settings - TCP

Table 7-8. Advanced TCP Settings - General Details

Field Description Validation

Advanced TCP Settings

TCP Characteristics Parameters and behaviour of the TCP stack. Optional. Refer to TCP Characteristics for
details on adding TCP Characteristics.

Out Bandwidth Rate Limit Host's outbound bandwidth rate limit. Click on the <...> Optional. Refer to Rate Limiting
icon to add these values. Configuration for details on entering values
for the Out Bandwidth Rate Limit.

In Bandwidth Rate Limit Host's inbound bandwidth rate limit. Click on the <...> icon Optional. Refer to Rate Limiting
to add these values. Configuration for details on entering In
Bandwidth Rate Limit

© Copyright 2018 TeraVM Java Client User Guide Page 93


Aeroflex Limited. All
rights reserved.
7.2.1.3.2.3. SIP Host Settings for VoIP UA (B2B
Mode) Application

Field Description Validation

Network Characteristics Host's network characteristics. Optional. Refer to Network Characteristics


for details on adding for network
characteristics.

All the Advanced TCP Settings that are configured are displayed in the Configuration Panel in individual
configuration folders for the Test Group that contains this host, as shown:

Figure 7-10. TCP Characteristics Display - Configuration Panel

Click OK to save the settings and return to the General Details page.

7.2.1.3.2.3. SIP Host Settings for VoIP UA (B2B Mode) Application


The following SIP settings are required to support VoIP UA (B2B Mode) applications. These are only
supported for Network Visible Virtual Hosts:
Table 7-9. Advanced SIP Settings - General Details

Field Description Validation

Advanced SIP Settings

Enable VoIP B2BUA Enable SIP B2BUA capabilities for the host. The B2BUA Default is disabled. This option is not
Support allows multiple VoIP UA's to bind to the same SIP port on available if the host is a subnet host.
a host.

B2BUA SIP Port Port number. Only available if the SIP B2BUA capability Default value is 5060
for the host is enabled.

7.2.1.3.3. Link Layer Details


Link Layer details must be added for Network Visible Hosts, and also non-Network Visible configured for
EoGRE.

© Copyright 2018 TeraVM Java Client User Guide Page 94


Aeroflex Limited. All
rights reserved.
7.2.1.3.3. Link Layer Details

Figure 7-11. Add Host Wizard Dialog - Link Layer Details

Fields are described below.


Table 7-10. Add Host Wizard -Link Layer Details

Field Description Validation

Interface Network Visible hosts only. Test interface(s) for this host. When provisioning more than 1 host, it is
Click on the button on the right of this field to display the possible to select multiple interfaces. The
Interface Selection dialog box. selected interfaces are distributed amongst
the created hosts, and the field will display "<x
• If Pool Manager Mode is being used, select the type of
Interfaces>" where x is the Quantity value that
interface (new or existing), number of interfaces that you
you entered. The interface details will be listed
require and the topology and category(s).
under your test group in the folders section of the
• If Classic Mode is being used, select the actual screen.
interface(s).

© Copyright 2018 TeraVM Java Client User Guide Page 95


Aeroflex Limited. All
rights reserved.
7.2.1.3.3. Link Layer Details

Field Description Validation

Assignment Mode MAC address to be used by packets sent via this host. Only required if the Address Assignment is either
Select from the drop-down menu: DHCP or IPCP (PPPoE).
• Use MAC of Assigned Interface (default): the host MAC
Example MAC address scaling:
address is assigned randomly by TeraVM based on the
interface configured when TeraVM was set up on your Base MAC address: 00:11:22:33:40:FF:FE
hypervisor.
When a single test agent is used, or for
• Use Specific MAC Address: Use (only available) when non-network visible hosts, generated
creating a single host.Seed MAC Address required. MAC values are: 00:11:22:33:40:FF:FF,
00:11:22:33:41:00:00, 00:11:22:33:41:00:01 and
• Auto Generate MAC from Base Value: Only available
so on (each new address value is generated by
when creating multiple hosts. Seed MAC Address
adding 1 to the previous value).
required. Actual MAC addresses based on an offset
from the seed MAC address are assigned at test run When multiple test agent are used for network
time for each host. visible hosts, generated MAC values are:
00:11:22:33:40:FF:FF, 00:11:22:33:50:00:00,
During run time, the Actual MAC Address will be
00:11:22:33:50:00:01 and so on (each new
shown in the host.
address value is generated by adding 1 to the
previous value).

Seed MAC The base MAC address for your host(s). Required for Cannot be a multicast MAC address. It must be
Address deriving the Actual MAC Address for modes Use Specific unique in the pool of hosts, unless the network
MAC Address and Auto Generate MAC from Base Value. visible host is not using DHCP or PPPoE and
unless the MAC address is the default MAC,
(that is, the MAC of the test interface). Must be of
the form xx:xx:xx:xx:xx:xx.

Actual MAC The actual MAC used by the host will be derived from the Non-configurable. Value will be displayed in Host
Address Seed MAC address when the test is running. If the host uses Properties when the test is running and the MAC
an interface that is shared by multiple Test Agents, the fourth address has been assigned.
octet of the actual MAC will be changed as required in order
to ensure that packets are correctly routed to the appropriate
Test Agent.

MTU Maximum Frame size for use for the IP packet. IPv4: 576 - 9216* IPv6 1280 - 9216*. Default is
1500. Jumbo frame sizes may be assigned here,
for example 9600 bytes.

Link Layer Link layer type is used to assign any additional traffic tags. VLAN priority level range is 0 to 7. Default is 0.
• Ethernet (default): No additional tagging required ID range is 0 to 4095.
• Tagged Vlan: Assign a priority level (1 to 7), and enter Number of tags must be between 1 and 6 for all
the VLAN ID network visible hosts, and a maximum of 2 for a
host using EoGRE Dynamic IPv4 Tunneling.
• Double Tagged Vlan: Assign outer and inner VLAN
priorities and IDs
• Multiple Tagged Vlan: Select Number of VLANs and
assign outer and inner VLAN priorities and IDs
• VXLAN: Used for datacenter tunneling.

Auto Adjust MTU Use to enable automatically adjusting MTU size. Select Boolean value. Default is False. When true will
this check box when using VLANs. This option is only add or subtract 4 (Tagged) or 8 (Double Tagged)
available when either of the following is selected for the Link bytes, to the host MTU in order to accommodate
Layer:Tagged Vlan, Double Tagged Vlan. VLAN tagging.

© Copyright 2018 TeraVM Java Client User Guide Page 96


Aeroflex Limited. All
rights reserved.
7.2.1.3.3.1. Tagging Multiple Hosts

7.2.1.3.3.1. Tagging Multiple Hosts


If you are provisioning multiple hosts, the multiple host icon will appear beside the fields you can create
unique VLAN IDs for.

Figure 7-12. Multiple VLAN Tagging Settings

Depending on the tagging type selected in the Link Layer field, the following types of options are included
(Tagged VLAn options are shown here, but Double Tagged and Multiple are similar).
Table 7-11. Iterate on Tagged VLAN Dialog Fields

Field Description Validation

VLAN ID Starting VLAN ID for the iteration. Min value = 0, max=4095 and default=0.

Increment VLAN ID by Amount by which each VLAN ID is Min value = 0, max = 4094 and default = 0.
incremented If the increment is 0 all hosts will have the
same VLAN ID.

Between VLAN IDs Range of allowable VLAN IDs. Only VLAN The min value for the lower element of the
IDs within this range will be assigned to the range is 0, max value is 4095 and default
Hosts. The VLAN IDs will be controlled by is 0. The min value for the upper element
the starting VLAN ID and the increment. of the range is 0, max value is 4095 and
default is 4095.

7.2.1.3.4. Configure DHCP Options


If you select IP Assignment in the General Details page of the wizard to be DHCPv4 or DHCPv6, there is
a Configure DHCP Options step in the Add New Host Wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 97


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.1. DHCPv4 Options

7.2.1.3.4.1. DHCPv4 Options


A number of default DHCP options are provided. Other options can be added via the Add button.

Figure 7-13. Add DHCP Options

Select an option from the drop down list in the Option field, and click on the Add button beside the Value
field. The Add DHCP Option Item dialog is displayed. Enter the appropriate value as required.
Table 7-12. Add DHCPv4 Items

Option Description Content Type/Value

Subnet Mask Subnet to be assigned to this host. IPv4 subnet address

Routers List of IP addresses for routers on the client's subnet. The List of IPv4 Addresses
TeraVM DHCP client accepts the router option from the
server. If the option contains a list, TeraVM will only select
the first IP address in the list. This becomes the client's
gateway, (default route).

Host Name Name of the client. Ascii String

Vendor Specific Used by clients and servers to exchange vendor-specific Octet String
information. The definition of this information is vendor
specific.

© Copyright 2018 TeraVM Java Client User Guide Page 98


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.1. DHCPv4 Options

Option Description Content Type/Value

DHCP Requested IP Used in a client request (DHCPDISCOVER) to allow IPv4 Address


Address the client to request that a particular IP address be
assigned. TeraVM can set the requested IP address in
the initial DHCPDISCOVER. It can also be set in the
DHCPREQUEST and the client requests the IP address
offered by the server.

DHCP Lease Time Used in a client request (DHCPDISCOVER or Value = 1 - Infinity. Unsigned 32-bit Integer
DHCPREQUEST) to allow the client to request a lease
time for the IP address. TeraVM respects the lease time
returned by the server. It is used to set the Renewal and
Rebinding times, (in the absence of explicit options to set
those values). The default requested lease time in the
DHCPDISCOVER is "infinity".

Server Identifier DHCP servers include this option in the DHCPOFFER IPv4 Address
in order to allow the client to distinguish between lease
offers. DHCP clients use the contents of the 'server
identifier' field as the destination address for any DHCP
messages unicast to the DHCP server. DHCP clients also
indicate which of several lease offers is being accepted
by including this option in a DHCPREQUEST message.
TeraVM accepts the Server ID option from the Server and
includes it in the DHCPREQUEST.

DHCP parameter Request This option is used by a DHCP client to request values List of unsigned 8-bit Integers
List for specified configuration parameters. TeraVM sets
the parameter request list in the DHCPDISCOVER and
DHCPREQUEST. The default requested parameters
are: 1 (Subnet), 3 (Router), 6 (DNS), 12 (Hostname), 15
(Domain Name), 26 (Interface MTU). To override these
defaults, explicit options can be specified in the GUI.

Maximum DHCP Message The maximum length DHCP message that it is willing to Unsigned 16-bit Integer
accept.

Renewal Time The time before the host will start to renew it's address Integer
lease with the DHCP Server

Rebinding Time The time before the host will enter a rebinding state if it Integer
has not renewed it's current address lease with the DHCP
Server

Vendor Class Identifier This option is used by DHCP clients to optionally identify Ascii String
the vendor type and configuration of a DHCP client.

Client Identifier This option is used by DHCP clients to specify their unique Octet String
identifier. TeraVM sets the Client ID in DHCPDISCOVER
and DHCPREQUEST messages. The default value is the
client's MAC address.

Relay Agent Information TeraVM does not include relay agent information by • Circuit ID - Octet String
default. An explicit override value can be specified in the
Sub-options: • Remote ID - Octet String
GUI. There is no additional client processing if this option
• Circuit ID is specified.
• Remote ID

Autoconfigure This option code is used to ask whether, and be notified if, Boolean
auto-configuration should be disabled on the local subnet.
This code, along with the IP address assignment, will

© Copyright 2018 TeraVM Java Client User Guide Page 99


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.1.1. DHCPv4 Authentication

Option Description Content Type/Value


allow a DHCP client to determine whether or not it should
generate a link-local IP address.

7.2.1.3.4.1.1. DHCPv4 Authentication


You can enable and configure DHCPv4 Authentication by clicking on the Enable Authentication check box
and clicking on the <Configure> button.

The following Authentication information can be configured:


Table 7-13. DHCPv4 Authentication

Field Description Validation

Protocol The authentication protocol. Only 'Delayed Authentication Protocol' is


supported.

Authentication Key The key used to generate "message authentication code" Octet String
in the authentication message

Authentication Key ID The identifier for the key used to generate "message Integer
authentication code" in the authentication message

7.2.1.3.4.1.2. Advanced DHCPv4 Options


DHCPv4 specific options can be configured via the <Advanced> button in the Configure DHCPv4 Options
step of the wizard.
Table 7-14. Advanced DHCPv4 Timers Fields

Field Description Validation

OptionsTab

Support FORCERENEW The DHCP server can send a unicast FORCERENEW Enabled/Disabled. Default is disabled.
Messages message to the client. Upon receipt of the unicast
FORCERENEW message, the client will change its
state to the RENEW state if the FORCERENEW flag is
checked, and will then try to renew its lease according to
normal DHCP procedures."

Timer Tab

Initialisation Collection Timer

Offer Collection Timer The DHCP client will start a timer as soon as it sends Min=0 secs, Max=3,600 secs.
a DHCP_DISCOVER message. It will then collect
DHCP_OFFER messages received from DHCP Servers in
the SUT until such time as the Initialization Timer expires.
At that time the DHCP client will choose an IP Address
from the list of received DHCP_OFFER messages and will
then be ready to issue a DHCP_REQUEST for the chosen
address. This timer can be configured on a per host basis
via this field.

Lease Time Extension Sequence Timer

Lease Time The time that the DHCPv4 lease is valid for 1 - Infinity ms, secs, mins.

© Copyright 2018 TeraVM Java Client User Guide Page 100


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.2. DHCPv6 Options

Field Description Validation

Renewal Time When a client is assigned an IP Address, it waits until this 1 - Infinity ms, secs, mins.
timer expires, after which time it will attempt to RENEW it's
IP Address

7.2.1.3.4.2. DHCPv6 Options


Similar to DHCPv4, you can configure the following for DHCPv6:

Figure 7-14. Configure DHCPv6 Options Dialog

Table 7-15. DHCPv6 Options

Field Description Validation

Identity Association Type Mechanism a DHCPv6 Host will use to get an IP Address Required. The following Identity
from a DHCPv6 Server. There are 3 Identity Association Association Types are supported by
types: TeraVM:
• Non-temporary Address (IA_NA see RFC 3315) • Prefix Delegation
• Temporary Address (IA_TA see RFC 3315) • Non-temporary Address
• Prefix Delegation (IA_PD see RFC 3633)

To configure a value for a DHCPv6 Option, select the option from the drop down list in the Option field,and
double click on the Value field to edit the value (if editable).
Table 7-16. Add DHCPv6 Options

Option Name Description Type/Value

The following options are configured by default based on the value of the Identity Association Type field.

Client Identifier DUID (DHCP Unique Identifier) identifying a client Octet String. This is DHCPv6 option is
between a client and a server. This ensures uniqueness mandatory and is included by default. The
between all DHCPv6 clients. TeraVM always uses the DUID itself is generated based on the Link
DUID for this option. Layer Address Plus Time (DUID-LLT) as
described in Section 9.2 of RFC 3315.

IA for Non-temporary An IA is identified via an IA (Identity Association) ID (IAID) Mandatory DHCPv6 option, when the
Address and refers to an address assigned to a DHCPv6 client. Identity Association Type field is Non-
A DHCPv6 client requests the use of a non-temporary temporary Address, is included by default
address by specifying the Identity Association for Non- and contains the following fields:
temporary Address (IA_NA) option (Option 3) in it's
• IAID: Default is the IAID of the Host,
SOLICIT message.
cannot be empty, cannot be modified
and is automatically generated by
TeraVM.
• T1: The time at which the client
contacts the server from which
the addresses in the IA_NA were
obtained to extend the lifetimes of the
addresses assigned to the IA_NA.
Default is 0, cannot be empty and
cannot be modified.
• T2: The time at which the client
contacts any available server to
extend the lifetimes of the addresses

© Copyright 2018 TeraVM Java Client User Guide Page 101


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.2.1. DHCPv6 Authentication

Option Name Description Type/Value


assigned to the IA_NA. Default is
0, cannot be empty and cannot be
modified.
• IA_NA_Options: Options associated
with this IA_NA. Default is empty and
cannot be modified.

Elapsed Time A client includes an Elapsed Time option in messages to This is a mandatory DHCPv6 option and is
indicate how long the client has been trying to complete a included by default. TeraVM always uses 0
DHCP message exchange. for this option.

IA for Prefix Delegation The IA_PD option is used to carry a prefix delegation This is a mandatory DHCPv6 option, when
identity association (IA). An IA is identified via an IA ID the Identity Association Type field is Prefix
(IAID) and refers to a collection of addresses assigned Delegation, is included by default and
to a DHCPv6 client. The current release of TeraVM only contains the following fields:
supports one such collection of addresses. A requesting
• IAID: Default is the IAID of the Host,
router requests the use of prefix delegation by specifying
cannot be empty, cannot be modified
the Identity Association for Prefix Delegation (IA_PD)
and is automatically generated by
option (Option 25) in it's SOLICIT message.
TeraVM.
• T1: The time at which the requesting
router should contact the delegating
router from which the prefixes in the
IA_PD were obtained, to extend the
lifetimes of the prefixes delegated to
the IA_PD. Default is 0, cannot be
empty and cannot be modified.
• T2: The time at which the requesting
router should contact any available
delegating router to extend the
lifetimes of the prefixes assigned to
the IA_PD. Default is 0, cannot be
empty and cannot be modified.
• IA_PD_Options: Options associated
with this IA_PD. Default is empty and
cannot be modified.

The following options are not configured by default but can be added by you:

Option Request The Option Request option is used to identify a list of This is not a mandatory option. If specified
options in a message between a client and a server. it must be an integer between 0 and 65535.

Vendor Class This option is used by a client to identify the vendor that Octet String. Default is empty.
manufactured the hardware on which the client is running.

Vendor Specific This option is used by clients and servers to exchange Octet String. Default is empty.
Information vendor-specific information

SIP Server IPv6 Address This option specifies a list of IPv6 addresses indicating Default is empty. Can be modified to
List SIP outbound proxy servers available to the client. This list contain a list of IPv6 addresses.
is generated by the DHCPv6 Server.

7.2.1.3.4.2.1. DHCPv6 Authentication


The following Authentication information can be configured:

© Copyright 2018 TeraVM Java Client User Guide Page 102


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.2.2. Advanced DHCPv6 Options

Table 7-17. DHCPv6 Authentication

Field Description Validation

Protocol The authentication protocol. Only 'Delayed Authentication Protocol' is


supported.

DHCP Realm The DHCP realm that identifies the key used to generate Octet String
the "message authentication code" in the authentication
message

Authentication Key The key used to generate "message authentication code" Octet String
in the authentication message

Authentication Key ID The identifier for the key used to generate "message Integer
authentication code" in the authentication message

7.2.1.3.4.2.2. Advanced DHCPv6 Options


Click on the <Advanced> button of the Configure DHCPv6 Options dialog to display the Advance DHCPv6
Settings dialog which contains three tabs; the Options tab, Identification tab and the Timers tab.

The following options can be configured for DHCPv6:


Table 7-18. DHCPv6 Authentication

Field Description Validation

Enable Reconfigure Enables a client to send a Reconfigure Accept (Option 20) Enabled or Disabled. Default is Disabled.
Accept (option 20) to announce to the server whether the client is willing to
accept Reconfigure messages. A server uses this option
to tell the client whether or not to accept Reconfigure
messages.

Enable Rapid Commit The Rapid Commit option is used to signal the use of the Enabled or Disabled. Default is Disabled.
(option 14) two message exchange for address assignment.

The Identification tab options are automatically generated by TeraVM and cannot be modified.

The following DHCPv6 Timer information can be configured:


Table 7-19. Advanced DHCPv6 Settings - Timers

Field Description Validation

Max Delay of first Solicit Max delay applied to first SOLICIT message 0 - 65,535,000 (ms). Default is 1000ms.

Initial Solicit Timeout Timeout for the initial SOLICIT message 0 - 65,535,000 (ms). Default is 1000ms.

Max Solicit Timeout Max value for the SOLICIT message timeout 0 - 65,535,000 (ms). Default is 120,000 ms.
0 means no max

Max Solicit Max value for the number of times the SOLICIT message 0 - 65,535. Default is 0.
Retransmission Count will be retransmitted.

Max Solicit Max time for which the SOLICIT message will be 0 - 65,535,000 (ms). Default is 0 ms.
Retransmission Duration retransmitted.

7.2.1.3.4.3. DHCP Iteration Options


The button is displayed beside the DHCP Options field of the Configure DHCP Options step of the wizard
if multiple hosts are to be provisioned. This is done for both DHCPv4 and DHCPv6 options.

© Copyright 2018 TeraVM Java Client User Guide Page 103


Aeroflex Limited. All
rights reserved.
7.2.1.3.4.3. DHCP Iteration Options

DHCPv4 Iteration Options


For DHCPv4 options, the following dialog is displayed:

Figure 7-15. DHCPv4 Iteration Options Dialog

Only two options can be used to control bulk provisioning. These are Option 61 the Client ID and Option 82
the Relay Agent Information.

The Client ID can be set to the MAC Address of the Host or else the Client ID is not used.

For the Relay Agent Information, specific Circuit ID and Remote ID pairs can be imported from a CSV file or
else the Relay Agent Information is not used. There are no other choices.

To add specific Circuit ID and Remote ID pairs, click on the <Add from File> button.

Circuit ID and Remote ID pairs can be removed from the list either individually or in total using the
<Remove> or <Remove All> buttons.

DHCPv6 Options
The button is displayed in the Configure DHCPv6 Authentication dialog of the Configure DHCP Options
step of the host provisioning wizard if multiple hosts are to be provisioned.

DHCPv6 Authentication is enabled and configured by clicking on the Enable Authentication check box in
the Configure DHCP Settings step and clicking on the <Configure> button.

© Copyright 2018 TeraVM Java Client User Guide Page 104


Aeroflex Limited. All
rights reserved.
7.2.1.3.5. Configure EAP Settings

Figure 7-16. DHCPv6 Authentication Steps Dialog

7.2.1.3.5. Configure EAP Settings


Extensible Authentication Protocol (EAP) is an authentication framework that is used in wireless networks
and point-to-point connections. EAP provides for the transport and usage of keying material and parameters
generated by EAP methods. EAP is enabled by selecting the Enable EAP Authentication check box.

EAP Encapsulation Methods


When using EAP Authentication, there is a choice of two EAP encapsulation methods available from the
Add New Host Wizard dialog:

• RADIUS Remote Authentication Dial In User Service for authentication over EAP. To use RADIUS as
the EAP encapsulation method, you must first configure several steps, the host (shown in this Chapter),
the External RADIUS server ( Section 7.2.1.3.5.1) and the Test Agent Configuration using the RADIUS
tab (Chapter 9, Section 9.2.1).

• IEEE 802.1x also known as EAP over LAN (EAPoL). When a test using IEEE 802.1x is closed,
the hosts that use IEEE 802.1x authentication will send an EAP Logoff message. For the stopping
to be staggered, the Host Stop Rate can be configured in the Hosts tab of the TEST AGENT
CONFIGURATION panel.

EAP Method
A number of EAP methods are supported with default settings provided for either of the EAP Encapsulation
methods.

• RADIUS defaults are PEAP and MSCHAPv2.

• IEEE 802.1 is selected, the default is MD5.

© Copyright 2018 TeraVM Java Client User Guide Page 105


Aeroflex Limited. All
rights reserved.
7.2.1.3.5. Configure EAP Settings

Figure 7-17. Selecting EAP methods

EAP Methods are selected by clicking the option button and selecting the method from the list available,
an example is shown in the following image. PEAP encapsulates the EAP within an encrypted and
authenticated Transport Layer Security (TLS) tunnel, when using PEAP, another authentication method
must also be used.

Figure 7-18. EAP Method Selector

Extensible Authentication Protocol


Solutions that make use of EAP encapsulation methods are, typically, made up of three components
the Supplicant, the Authenticator, and the Authentication Server. The Supplicant authenticates to the
Authenticator using EAPoL (Extensible Authentication Protocol over LAN), and the Authenticator validates
the credentials with an Authentication Server using EAP (Extensible Authentication Protocol) encapsulated
in RADIUS.

TeraVM can emulate either:

• the Supplicant if the SUT is the Authenticator using IEEE 802.1 as the EAP method.

• the Authenticator if the SUT is the Authentication Server with RADIUS as the EAP method.

Configuring RADIUS Authentication


The dialog example that follows shows a configuration for the RADIUS EAP encapsulation method, the
Alpha Numeric Scaler can be applied to the Username and Password in the EAP settings.

© Copyright 2018 TeraVM Java Client User Guide Page 106


Aeroflex Limited. All
rights reserved.
7.2.1.3.5. Configure EAP Settings

1. Select Enable EAP Authentication in the Configure EAP Settings options in the Add New Host
Wizard.

2. From the EAP encapsulation method select RADIUS.

Figure 7-19. Radius Encapsulation Method

3. Configure the rest of the details as required, the image below shows how to enter a scalable
Username.

Figure 7-20. Scalable User Name Selected

© Copyright 2018 TeraVM Java Client User Guide Page 107


Aeroflex Limited. All
rights reserved.
7.2.1.3.5. Configure EAP Settings

4. You must provision the External RADIUS Server, to do this see Section 7.2.1.3.5.1.

5. When the External RADIUS Server is provisioned, you must then configure the Chapter 9, Section 9.2.1
using the RADIUS tab.
Table 7-20. Configure EAP Settings

Field Description Validation

Enable EAP Authentication Enables EAP Authentication when selected. Boolean value. Default value false

EAP Encapsulation Method Only available when the Enable EAP Authentication is Enumerated Value. Default value RADIUS.
true (checked). The value can be one of the following:
• RADIUS
• IEEE802.1

EAP Method Select the EAP method to be used. Selector type. Mandatory value. The value
can be selected from the following:
• MD5
• TLS
• TTLS
• MSCHAPv2
• PEAP
• SIM
• LEAP
• AKA
• GTC
• TLV
• TNC
• OTP
• PAX
• SAKE
If EAP Encapsulation method is RADIUS,
default is PEAP, MSCHAPv2.
If EAP Encapsulation method is
IEEE802.1, default is MD5
If you select PEAP, another authentication
method must also be used.

Username User name allows alphanumeric scaling. String value. Mandatory. Default value "".
Length range from 1 to 255. Valid
characters include: 'a-zA-Z0-9 .{}<>[]
()@#&*%_+=!-'

Password Password allows alphanumeric scaling. String value. Mandatory. Default value "".
Length range from 1 to 255. Valid
characters include: 'a-zA-Z0-9 .{}<>[]
()@#&*%_+=!-'

© Copyright 2018 TeraVM Java Client User Guide Page 108


Aeroflex Limited. All
rights reserved.
7.2.1.3.5.1. Provisioning the External RADIUS Server

7.2.1.3.5.1. Provisioning the External RADIUS Server


The RADIUS Host attribute is created when you configure a Host and select the Enable EAP
Authentication check box. For information on how to configure the EAP Method for RADIUS, see
Section 7.2.1.3.5.

Use the following procedure to create the External RADIUS Server.

1. In the Java client select the Test Group where you want to create the External RADIUS
Server, and from the Applications tab select RADIUS > External RADIUS Server.

2. In the Configure External RADIUS Server dialog, enter a Name, along with the Host IP Address and the
Port number for the server.

© Copyright 2018 TeraVM Java Client User Guide Page 109


Aeroflex Limited. All
rights reserved.
7.2.1.3.6. Statistics Settings

3. Click Finish.

If you wish to add External Properties, click next and enter any additional external properties that you
require, then click Finish.

4. You can now set the Test Agent Configuration settings so that all authentication be done using the
same server. For information on how to set the Test Agent configuration, see Chapter 9, Section 9.2.1.

7.2.1.3.6. Statistics Settings


The Add Host Wizard has a statistics settings section where you can specify how and which statistics you
want to view for the host. Refer to Configuring Statistics for Test Entities under Using TeraVM Statistics for
information on the parameter settings.

7.2.1.3.7. Activity Settings


Activity Settings let you create more realistic traffic profiles such as busy hour traffic scenarios, and prevent
artificial traffic bottlenecks in TeraVM. You can:

• Stagger the start and stop time of host(s) : You can add a delay before starting the host, and/or specify
a time period after which the host will stop.

© Copyright 2018 TeraVM Java Client User Guide Page 110


Aeroflex Limited. All
rights reserved.
7.2.1.3.7. Activity Settings

• Rate limit the number of hosts coming online and sending traffic: You can configure cycles of activity/
inactivity using Activity Cycles. By configuring activity cycles, you can create a host session for a
defined period of time, terminate the session and then re-create the session after a specified delay. This
will test the capabilities of the server in the customer network to handle multiple host session creations/
terminations during the lifetime of a test.

The folowing dialog is displayed for this step:

Figure 7-21. Add Host Wizard - Activity Settings

The following information is entered for this dialog:


Table 7-21. Add New Host Wizard - Activity Settings

Field Description Validation

Enable Start After Delay Allow the host to start later than the test group. If the test Default is Disabled. (Not available for
group contains a large number of hosts, this should be a external hosts).
profile over a range of time. By staggering host start times,
problems are prevented when interacting with server
hosts.

© Copyright 2018 TeraVM Java Client User Guide Page 111


Aeroflex Limited. All
rights reserved.
7.2.1.3.7. Activity Settings

Field Description Validation

Start After Delay Time after the test group starts before the host(s) will start. Integer or Max/Min profile. Min is 0, Max
is 1 Hour. Default 0. Supported metrics
are ms (default), sec and min. Required if
Enable Start After Delay is enabled.

Activity Cycles Displays status of Activity Cycles. Configured or Unconfigured. Click on


the Configure Activity Cycles buttons to
configure the cycles. Refer to the next table
on Configuring Activiy Cycles for more
details.

Enable Stop After Time Allows the host to stop before the end of the test group. Enabled or Disabled. Default is Disabled.
Required for all Virtual Hosts. Not available
for external hosts.

Stop After Time The Stop After timer starts at the moment the existing Integer or max/min profile Range: min=1
Start After timer expires. When the Stop After timer sec, max=1 year. Supported metrics secs,
expires, any active period present is shortened and mins, hours with default as secs. Required
gracefully terminated. This controls the duration of active/ if Enable Stop After Time is enabled.
inactive cycles.

Click on the Configure Activity Cycles button next to ActivityCycles field to configure activity cycles:

Figure 7-22. Configure Activity Cycles

The following information is entered for this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 112


Aeroflex Limited. All
rights reserved.
7.2.1.3.8. Additional Configuration - Block All Traffic

Table 7-22. Configure Activity Cycles

Field Description Validation

Enable Activity Cycles Enables activity cycles in the lifetime of a host (as Default is Disabled. (Not available for
opposed to continuous activity). external hosts).

Active Duration Length of time that the host will be active for, including any Integer or max/min profile Range: min=1
"set-up" time (such as PPPoE/DHCP configuration). sec, max=1 year. Supported metrics secs
(default), mins, hour. Required if Enable
Activity Cycles is enabled.

Enable Inactive Duration Forces inactivity between periods of activity. Enabled or Disabled. Default is Enabled.
Required if Enable Activity Cycles is
enabled.

Inactive Duration Length of time the host will be inactive for between Integer or max/min profile Range: min=1
periods of activity. This includes any "teardown" time sec, max=1 year. Supported metrics secs
(such as PPPoE/DHCP termination/release). (default), mins, hours. Required if Enable
Inactive Duration is enabled.

7.2.1.3.8. Additional Configuration - Block All Traffic


This is used only when the host is used in a security attack mitigation type test. Click on the Next button
on the Activity Settings step of the Add New Host Wizard to enter Additional Configuration details for the
host(s) that you are configuring.

© Copyright 2018 TeraVM Java Client User Guide Page 113


Aeroflex Limited. All
rights reserved.
7.2.2. Viewing and Modifying Hosts

Figure 7-23. Add Host Wizard - Additional Configuration

Table 7-23. Add New Host Wizard - Additional Configuration

Field Description Validation

Block All Traffic If enabled, blocks all traffic directed to this host. (This acts Enabled by ticking the checkbox. Default is
as a simple "all-or-nothing" firewall. It is typically used disabled.
for preventing "victims" in DDoS tests from becoming
overwhelmed with traffic.)

7.2.2. Viewing and Modifying Hosts

7.2.2.1. Viewing Hosts


The Hosts Display panel shows all host in a test group, with their full configuration details.

© Copyright 2018 TeraVM Java Client User Guide Page 114


Aeroflex Limited. All
rights reserved.
7.2.2.2. Setting Hosts in or Out of Service

Note
Hosts (and applications) must be loaded before they can be listed on the Display Panel.

Figure 7-24. List of Hosts Configured

Tick the Allow Sorting check box to sort the listed hosts by any of the configuration field values.

Note
This may have a performance value.

7.2.2.2. Setting Hosts in or Out of Service


Hosts can be set In or Out of Service regardless of whether their test group is running or not. Out of Service
hosts will still be configured as part of the running test, but they will not be active members of the test until
they are put back In Service.

The Service State can only be changed on Virtual, not External Hosts.

When a host is set Out of Service, its row in the table changes colour to indicate its new state, as shown.
The state of a host is indicated in the last column in the table of hosts. You can navigate to the end of the
table, and drag and drop the column to any position between the other columns.

© Copyright 2018 TeraVM Java Client User Guide Page 115


Aeroflex Limited. All
rights reserved.
7.2.2.2. Setting Hosts in or Out of Service

Figure 7-25. Host Service States

To change the Service State of a host:

1. Right click on the host(s) required to change.

2. A pop-up menu is displayed showing the appropriate Service State options for these hosts:

• If a single selected host is "In Service", the menu option Set Out of Service will be displayed:

Figure 7-26. Set out of Service

• If a single selected host is "Out of Service", the option Set In Service will be displayed.

• If multiple selected hosts are all "In Service", the option Set All Out of Service will be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 116


Aeroflex Limited. All
rights reserved.
7.2.2.3. Editing Host Properties

• If multiple selected hosts are all "Out of Service", the option Set All In Service will be displayed.

• If the multiple selected hosts have a mixture of service states, the options Set All In Service and
Set All Out of Service are displayed.

Figure 7-27. Set All In or Out of Service

• If the selected hosts(single or multiple selection) contains a type of host on which the service state
cannot be changed, then no service state options are displayed.

• If the selected hosts is a Scaled Host it is possible to find a specific host contained within the
Scaled Host and set this host In or Out of Service. There are many criteria for finding such a host
e.g by Name, IP Address, MAC Address or through a selection of other criteria.

7.2.2.3. Editing Host Properties


To edit information for hosts that have already been provisioned:

1. On the Hosts Display screen, click on the required host to highlight it.

2. Right click on the host to display a menu.

3. Click on the Properties option of the displayed menu.

4. The Host Properties dialog is displayed as show below.

Click on the required tab to edit the properties for this category of host settings. Values for the fields on
these pages are described in earlier sections:

© Copyright 2018 TeraVM Java Client User Guide Page 117


Aeroflex Limited. All
rights reserved.
7.2.2.4. Modifying Multiple Hosts

Figure 7-28. Host Properties

Click on <OK> to save the new settings.

7.2.2.4. Modifying Multiple Hosts


It is possible to modify certain fields of multiple hosts through a single "multi-modify" operation. These fields
are:

• Host Statistics

• Block All Traffic

These options are shown in the following screenshot:

© Copyright 2018 TeraVM Java Client User Guide Page 118


Aeroflex Limited. All
rights reserved.
7.2.2.5. Capturing PDUs on a Host

Figure 7-29. Multi-modify Hosts

To modify multiple hosts in this way:

1. Highlight the appropriate Hosts

2. Right-click and select the required option

Certain options will be greyed out depending on the selected hosts. In this example it is not possible to
configure either DHCP or PPPoE statistics because the selected Hosts are not DHCP or PPPoE enabled
hosts.

7.2.2.5. Capturing PDUs on a Host


You can capture PDUs on a per host basis rather than just on a physical port. Packets can be captured
at the client, server or both "sides" of the flow. For DDoS applications, packets can be captured on the
attacker, victim or both "sides" of the flow.

© Copyright 2018 TeraVM Java Client User Guide Page 119


Aeroflex Limited. All
rights reserved.
7.2.2.5. Capturing PDUs on a Host

Note
When capturing on a VoIP flow the capture is performed by filtering on the UA Client IP Address. This
means that packets will also be captured for any other application with the same IP Address.

To capture packets on a host:

1. Right click on the required host in the Hosts Display Panel.

2. Select "Capture PDUs" in the drop down menu.

3. What appears next depends on whether the host is a single or scaled Host. If it is a Scaled Host it will
be possible to perform a PDU Capture on a host contained within the scaled host by first finding the
Host and then capturing PDUs on the found host. It is possible to find a host by using certain criteria
such as the Host Name, IP Address, MAC Address.

4. If the host is a non-scaled Host or after finding a host within a Scaled host, the Host PDU Capture
Wizard is displayed.

Figure 7-30. Capture PDU Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 120


Aeroflex Limited. All
rights reserved.
7.2.2.5. Capturing PDUs on a Host

The following capture settings can be configured:


Table 7-24. Capture PDU Dialog Fields

Field Description Validation

Packet Count Number of packets to be captured. Defaults to 5000. 0 - 100,000,000.

Time Duration How long in seconds the packet capture No default. 0 - 86400 secs or 24 hours.
should last.

Packet Length Number of bytes to capture in each packet. Default is 0 meaning all bytes. Max is
65535.

IP Addresses Source and Destination addresses used Defaults to the "side" selected by you.
to filter packets for this application. Client/
Server will be the proxy if a Proxy is
used in a HTTP application. Destination
will be IGMP Multicast Group for IGMP
application.

When you click on the <Finish> button in the Host PDU Capture Wizard, the PDU Capture Tab screen is
displayed, indicating the progress and result of the capture.

© Copyright 2018 TeraVM Java Client User Guide Page 121


Aeroflex Limited. All
rights reserved.
7.2.2.5. Capturing PDUs on a Host

Figure 7-31. PDU Capture Tab

The following options are available for captures in this dialog:


Table 7-25. Capture PDU Manager Icons

View capture packets. The captured packets can be viewed in a packet inspection tool such as Wireshark. Make sure
Wireshark is on your path. This can also be performed via a right-mouse click on a selected capture.

View video content. If a packet capture contains video, the video itself can be viewed using the View Video Content
option. This option can also be performed via a right-mouse click on a selected capture. Make sure VLC is on your path.

Save the selected capture. This option can also be performed via a right-mouse click on a selected capture.

Delete the selected capture from the list. This option can also be performed via a right-mouse click on a selected
capture. It is not possible to delete the currently running capture.

Cancel the running capture. The Capture Completed icon is displayed beside the capture. This option can also be
performed via a right-mouse click on a selected capture.

© Copyright 2018 TeraVM Java Client User Guide Page 122


Aeroflex Limited. All
rights reserved.
7.2.2.6. Pinging from a Host

Capture completed. This icon is displayed beside a capture that is, completed.

7.2.2.6. Pinging from a Host


All hosts that are configured to participate in a test can initiate a Ping from a source IP address to a
destination or target IP address. The source information will always be gathered from the host selected.

Note
The Ping menu option is only enabled if the test group is running.

Note
The Ping menu option is not available for external hosts.

To Ping from a Host:

1. Display all the provisioned hosts in the Display Panel of the screen.

2. Click on the required host to select it.

3. Right click on the host and select the Ping From option from the menu. What happens next depends
on if the host is a Scaled Host or a single, non-scaled host. If it is a scaled host it is possible to perform
a ping on a host within the Scaled Host. However first a host must be found and then the ping is
performed on this found host. A host can be found by searching for it based on its Name, IP Address,
MAC Address or other criteria.

When a host is found within a Scaled Host or the selected host is a single, non-scaled host, the Initiate
Ping dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 123


Aeroflex Limited. All
rights reserved.
7.2.2.6. Pinging from a Host

Figure 7-32. Initiate Ping Dialog

The following information is required for this dialog:

Note
The source and destination IP addresses must be on different physical interfaces.

Note
The IP version, (v4/v6), of the destination of the Ping must match that of the source Host.

Table 7-26. Initiate Ping Dialog Fields

Field Description Validation

© Copyright 2018 TeraVM Java Client User Guide Page 124


Aeroflex Limited. All
rights reserved.
7.2.2.6. Pinging from a Host

Source EndPoint

Entity Name Selected source host to Cannot be modified. Determined by the Entity Type and IP Address field values.
ping from.

Entity Type To ping from a host, Host or Application.


select Host.

IP Address IP address of the selected Cannot be modified. If the host is a subnet, the first IP address from a list will be
host to ping from. selected by default.

Destination
EndPoint

Entity Name The destination entity to Determined by the Entity Type and IP Address field values.
be pinged.

Entity Type The destination entity type Can be an Application, Host or Valid IP Address which is entered in the following
to be pinged. field.

IP Address The destination IP Enter a valid IP address (this IP address can be any address - it doesn't have to be
address to be pinged. a TeraVM entity) or select from a list of available hosts or applications, depending
on which is selected in the Entity Type field. The IP version, (v4/v6), of the target of
the Ping must match that of the source Host. >Note:The destination address cannot
be; - an unspecified address; - a multicast address; - the broadcast address; - the
network address of the Host that the trace is initiated from; or - a loopback address
If a trace route operation is initiated from a subnet Host or an Application using a
subnet host, the IP address must be a valid address within the range associated with
the subnet host.

By clicking in the Advanced Settings button on this dialog, the following properties can be configured for a
ping:

Figure 7-33. Advanced Ping Settings

Table 7-27. Advanced Ping Settings Dialog Fields

Field Description Validation

Packet Size Expressed in bytes, this determines the Mandatory. Default value 64. IPv4: Min
size of each ping packet. It must be a fixed = 16, Max: MTU - 20, (20 = size of IPv4
value. header) IPv6: Min = 16, Max: MTU - 40,
(40 = size of IPv6 header)

Delay between Packets The delay in ms between ping packet Mandatory. Default value 1. Min = 1, Max =
transmissions. 3600000 ms.

© Copyright 2018 TeraVM Java Client User Guide Page 125


Aeroflex Limited. All
rights reserved.
7.2.2.6. Pinging from a Host

Ping Results
A ping operation, once initiated, continuously pings the destination host or application until canceled by the
user or until the test is stopped. When the ping operation is performed, the following Ping Results window is
displayed.

Figure 7-34. Ping Results Window

When a ping has been completed, the following summary information is displayed for the ping operation:
• Number of packets sent
• Number of packets received
• Percentage of packets lost
• Min/Max/Avg Round Trip time
The begin and end time for the operation is also displayed in this window.
The following buttons are available in this window to enable the following tasks:
• <Start> - Restart a previously completed/stopped ping operation.
• <Clear> - Clear the ping operation window at any time.

© Copyright 2018 TeraVM Java Client User Guide Page 126


Aeroflex Limited. All
rights reserved.
7.2.2.7. Trace Routing from a Host

• <Close> -Stop a ping that is, running and close the window.

• <Advanced> - View the Advanced Ping Settings. Refer to the Advanced Ping Settings dialog previously
in this section.

7.2.2.7. Trace Routing from a Host


All hosts that are configured to participate in a test can initiate a Trace Route from a source to a destination
IP address. The source information will always be gathered from the host selected.

Note
The Trace Route menu option is only enabled if the test group is running.

Note
The Trace Route menu option is not available for external hosts.

To Trace Route from a Host:

1. Display all the provisioned hosts in the Display Panel of the screen.

2. Click on the required host to select it.

3. Right click on the host and select the Trace Route From option from the menu. What happens next
depends on if the host is a scaled host or a single, non-scaled host. If it is a Scaled Host it is possible to
perform a traceroute on a host within the Scaled Host. However first a host must be found and then the
traceroute is performed on this found host. A host can be found by searching for it based on its Name,
IP Address, MAC Address or other criteria.

When a host is found within a Scaled Host or the host is a single, non-scaled Host the Initiate Trace
Route dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 127


Aeroflex Limited. All
rights reserved.
7.2.2.7. Trace Routing from a Host

Figure 7-35. Initiate Trace Route Dialog

The following information is required for this dialog:

Note
The source and destination IP addresses must be on different physical interfaces.

Note
You cannot trace a route between IPv6 and IPv4 addresses. Therefore, every destination IP address
that is, selected must match the IP version of the source IP address.

© Copyright 2018 TeraVM Java Client User Guide Page 128


Aeroflex Limited. All
rights reserved.
7.2.2.7. Trace Routing from a Host

Table 7-28. Initiate Trace Route Dialog Fields

Field Description Validation

Source EndPoint

Entity Name The selected source host to trace from. Cannot be modified. Determined by the
Entity Type and IP Address field values.

Entity Type To trace from a host, select Host. Host or Application.

IP Address IP address of the selected host to trace Cannot be modified. If the host is a subnet,
from. the first IP address from a list will be
selected by default.

Destination EndPoint

Entity Name The destination entity for the trace. Determined by the Entity Type and IP
Address field values.

Entity Type The destination entity type for the trace. Can be an Application, Host or Valid IP
Address which is entered in the following
field.

IP Address* The destination IP address for the trace. Enter a valid IP address (this IP address
can be any address - it doesn't have to be
a TeraVM entity) or select from a list of
available hosts or applications, depending
on which is selected in the Entity Type
field. The IP version, (v4/v6), of the target
of the Trace Route must match that of the
source Host.

Note
The destination IP address must be a valid address within the range associated with the subnet host.
It cannot be:

• an unspecified address

• a multicast address

• the broadcast address

• the network address of the Host that the trace is initiated from

• a loopback address If a trace route operation is initiated from a subnet Host or an Application
using a subnet host

By clicking in the Advanced Settings button on this dialog, the following properties can be configured for a
Trace Route :

© Copyright 2018 TeraVM Java Client User Guide Page 129


Aeroflex Limited. All
rights reserved.
7.2.2.7. Trace Routing from a Host

Figure 7-36. Advanced Trace Route Settings

Table 7-29. Advanced TraceRoute Settings Dialog Fields

Field Description Validation

Packet Size Expressed in bytes, this determines the Mandatory. Default value 64. IPv4: Min
size of each Trace Route packet. It must = 16, Max: MTU - 20, (20 = size of IPv4
be a fixed value. header) IPv6: Min = 16, Max: MTU - 40,
(40 = size of IPv6 header)

Delay between Packets The delay in ms between Trace Route Mandatory. Default value 1. Min = 1, Max =
packet transmissions. 3600000 ms.

Maximum Wait Time The maximum time in ms to wait for probe Mandatory. Default value 5000. Min = 1,
responses. Max = 3600000 ms.

Maximum Hop Count The maximum TTL (hop count) allowed. Mandatory. Default value 30. Min = 1, Max
= 255

Initial TTL The initial TTL value. Mandatory. Default value 1. Min = 1, Max =
255.

Trace Route Results


A Trace Route operation, once initiated, continuously probes until it reaches the destination of the route that
it is tracing or until canceled by the user.

Note
If the operation reaches the maximum number of hops allowed, it will finish even if the destination host
or application hasn't been reached.

When the Trace Route operation is performed, the following Trace Route Results window is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 130


Aeroflex Limited. All
rights reserved.
7.2.2.8. Deleting a Host

Figure 7-37. Trace Route Results

When a Trace Route has been completed, the following summary information is displayed for the Trace
Route operation:

• TTL Count

• Gateway IP address

• Round Trip time contacting each host in the route to the destination.

The begin and end time for the operation is also displayed in this window.

The following buttons are available in this window to enable the following tasks:

• <Start> - Restart a previously completed/stopped Trace Route operation.

• <Clear> - Clear the Trace Route operation window at any time.

• <Close> -Stop a Trace Route that is, running and close the window.

• <Advanced> - View the Advanced Trace Route Settings. Refer to the Advanced Trace Route Settings
dialog previously in this section.

7.2.2.8. Deleting a Host


1. Click on the required host to select it.

2. Right click on the host and select the Delete option from the menu.

© Copyright 2018 TeraVM Java Client User Guide Page 131


Aeroflex Limited. All
rights reserved.
7.2.2.8. Deleting a Host

The following warning is displayed.

Figure 7-38. Deletion Warning

3. Click Yes to proceed with the deletion.

© Copyright 2018 TeraVM Java Client User Guide Page 132


Aeroflex Limited. All
rights reserved.
Chapter 8. Applications

Chapter 8. Applications
8.1. Using TeraVM Applications
This chapter shows you how to create and work with TeraVM Applications. The details of the IP applications
supported are in the TeraVM Applications chapter.

8.1.1. Application Categories


Applications can be divided into three broad categories:
• Servers
• Clients
• Peers

Servers
A server application provides a service to other applications.
When a remote application attempts to connect, it accepts the connection and then services requests from
the remote application. The listening connection, (and often even the server itself), is referred to as the
listener, while the remote connections are referred to as the accepted connections.
For example, a web server (emulated as a HTTP server application in TeraVM) will accept connections
from remote clients, and provide them with resources they request using the HTTP protocol. A real-world
resource might typically be a file that is, stored in a directory on the web server. A TeraVM HTTP server can
simulate this, supplying either the actual file data or arbitrary data in place of real file data.
Typically, server applications are "passive" in that they do not initiate communication -- they passively listen
for incoming connections.

Clients
A client application consumes a service provided by a server application.
In the previous example, a web browser that connects to the web server to request a resource is the client
application. In TeraVM, this web browser would be represented as a HTTP client application.
Clients are "active" in that they actively initiate communication with servers. Therefore, client applications
typically "drive" the network activity during a test.

Peers
A peer or peering application is both a provider and a consumer of a service. In most cases, a peer can
be thought of as an application that has both a server and a client component. At any given moment,
a peer could be supplying a service to another peer, (acting as a server), or consuming another peer's
service, (acting as a client). The name "peer" was chosen to get across the idea that peers in a network
are considered equals, since they provide and consume the same, or similar services (though some can be
"more equal" than others).
Some examples of peering are:

© Copyright 2018 TeraVM Java Client User Guide Page 133


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

• A Peer-to-Peer (P2P) file sharing network consists of a group of peering applications that can request
files from other peers, (acting as clients), or share files with other peers, (acting as servers). In a
real-world P2P network, peers that can store large numbers of files, or that have very fast network
connections, can be "ranked" in such a way that they tend to act more as servers than clients. This is a
good example of a case where the term "peer" can be somewhat of a misnomer, since not all "peers"
are treated as equals.
• Voice over IP (VoIP) is another peering application. A VoIP phone can accept calls from other phones,
and can make calls to other phones. All the phones in a network are typically considered equals
(peers), and each phone can both "provide" and "consume" phone service.

8.1.2. Provisioning of IP Applications - Single and Scaled


TeraVM tests typically involve large numbers of hosts and applications. They can be created one at a time,
but to support large numbers scaling is recommended.
The provisioning steps for single or scaled applications are very similar - they are described later in this topic
on an application by application basis. The principle is the same for each.
There is also bulk provisioning, which can save time vs. single provisioning when the number of hosts and
applications is relatively low.

Scaling / Scaled Entities


A scaled entity, which can be used for hosts or applications, contains multiple test objects. Each test object
within the scaled entity differs from the previous by changing key parameters in a predetermined way.

Note
It is still possible to perform actions on individual objects within the scaled entity, for example view
statistics for a particular host or application.

A scaled application contains many applications of the same type. For example, a scaled HTTP client
application represents a number of individual HTTP Client applications - not a mixture of HTTP and other
applications. Each application may have unqiue specific fields. For example the Name field, together with
the scale factor controls the generation of unique names.
When provisioning an application, the Configure As field has an option called Scaled Entity. This option
is automatically selected when you set the Number of Applications being generated at once to greater
than 1. In this scenario, each field that can have a unique value for each entity contained within the Scaled
application, has a visual indicator and clicking this displays a new dialog offering control of the generation of
the unique values for the field.
A typical client can scale the following fields:
• Name
• Hosts
A typical server can scale the following fields:

© Copyright 2018 TeraVM Java Client User Guide Page 134


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

• Name

• Hosts

• Normal Statistics

• Fine Statistics

If either fine or normal statistics are enabled for a scaled server, you must configure how many of the entities
within the scaled server will have statistics enabled on them.

Scaled Provisioning of Server Applications


In the provisioning Wizard, if the 'Configure As' field has a value of 'Single App Per Row', then the Wizard
creates a single server and the 'Number of Servers' field must remain as 1.

In the provisioning Wizard, if the 'Configure As' field has a value of 'Scaled Entity', then the Wizard is
configured to a single scaled server and the 'Number of Servers' field represents the scale factor of the
scaled server. If a server is configured as a scaled server, then the scaler editor buttons will appear, where
appropriate, beside the supported scalable properties.

Bulk Provisioning
Here you specify one set of parameters, and multiple, separate objects are created from it. Each object
will differ from the last by changing one or more parameters in a predetermined way, (for example, an IP
Address field might be incremented for each new object). After a "Bulk-Provisioning" operation, each bulk-
provisioned object will be represented in TeraVM, (and in a running test), as a separate item. For example,
if a No. of Rows of 100 is entered, then 100 TeraVM objects will be created, and each of these will in turn
track a corresponding test object when the test is running.

It is possible to bulk provision most types of Client applications but only certain types of Server applications,
these are - HTTP, FTP, SMTP, POP3 and RTSP. When bulk provisioning servers, the number of hosts
selected must equal the number of servers being provisioned.

Bulk Provisioning of Client Applications


This provisioning mechanism allows the creation of many similar client applications. Each test will be
represented as a single row in the Display Window, possibly with slightly different details for example
different name, IP Address, VoIP password details - depending on the application type being created. Each
client can be configured with the same or a unique Host.

Bulk and Batch Provisioning of IP client applications (with the exception of Delay Sensitive, P2P, and DDoS
applications) enables you to create a large number of applications at the same time using the Add New
Client Application(s) Wizards for each type of client application. The following fields in the wizard are used
to configure bulk provisioning for applications.
Table 8-1. Bulk Provisioning Client Application parameters

Field Description Validation

No. of Clients Each application created via this mechanism has a row 1 to 100,000,000.
created in the Display Window for Applications allowing
statistics to be generated for each row.

© Copyright 2018 TeraVM Java Client User Guide Page 135


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Field Description Validation

Name A unique name for the application. If No. of Clients has a value greater than
1, the bulk provisioning button will be
displayed beside this field to enable unique
names to be created for each application.
Refer to the section on Unique Naming for
more details.

Configure As RTSP, HTTP, VoIP, SMTP, POP3 and TCP Playback The options for this field are:
provisioning dialogs can use the Configure As field to
• Single Client Per Row
configure single or multiple clients applications per row
in the Applications Display Window. Sometimes the term • Single Client Per Row - Varied
batch is used to describe a row that represents multiple Address
clients applications.
• Multiple Clients Per Row

Host(s) The host(s) that the client application(s) will bind to. Can be a single host or multiple hosts
equal to the amount of rows specified in
the No. of Rows field.

No. of Clients Per Row (Only available if Multiple Clients Per Row is selected
in the Configure As field) This field enables you to enter
the number of client application to generate for each row
configured in the No. of Rows. For example, if the No. of
Rows value is 100, and the No. of Clients Per Row is 2,
the number of clients generated is 200.

Server(s) HTTP, FTP, POP3, SMTP and RTSP can select multiple
Servers, all other client applications cannot. If multiple
Servers are selected the client will be assigned a Server
in one of two ways - the number of clients is divided by
the number of servers with each server assigned to the
resulting number of clients. Or, each client is assigned a
server linearly from the list of servers.

The No. of Clients entered, are the actual number of client rows that are displayed in the Applications
Display Window. The No. of Clients Per Row is represented by the value in the Represents column of the
Applications Display Window.

In the following example, 'BP Example 1' is configured with a Single Client Per Row whereas 'BP Example
41' is configured with 10 Multiple Clients Per Row.

© Copyright 2018 TeraVM Java Client User Guide Page 136


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Figure 8-1. Applications Display Window

Unique Naming of Multiple Applications


The 'Bulk Provisioning button is displayed beside the Name field of the Application Details step of the
wizard if multiple applications are to be provisioned. The Name Uniqueness dialog is displayed when this
button is clicked.

Figure 8-2. Name Uniqueness dialog

This dialog enables you to create unique names for all the applications you are configuring. Enter a value
in the Increment by: field to generate unique names containing increments of the entered name value. For
example, App, App1,App2, and so on.

Unique IP addressing of Multiple Applications


Examples of the different provisioning types and the associated iterations required to generate multiple
unique IP addresses are explained in the following sections.

© Copyright 2018 TeraVM Java Client User Guide Page 137


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Single Client Per Row


In this configuration, a single client application is configured as a single row in the Applications Display
Window and uses the same IP address for each TCP connection. In this case, the Represents column will
have a value of 1.

Single Client Per Row - Varied Addresses


In this configuration a single Client is created and represented as a single row in the Applications Display
Window, but the IP Address of the client changes for each TCP connection it attempts to establish. In this
case the Represents column will also have a value of 1.

A new Addressing Details step is created in the Add Client Application Wizard for this bulk provisioning
configuration.

Figure 8-3. Add Client Application Wizard - Address Details

The following fields are used to generate a unique IP address for each client row, for each TCP connection.

© Copyright 2018 TeraVM Java Client User Guide Page 138


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Table 8-2. Addressing Details

Field Description Validation

No. of IP Addresses The number of IP addresses to use within the subnet to Default is 2.
vary the IP addressing for each client.

Start IP Address Within The start IP address to use within the subnet to vary the The IP address configured for the Subnet
Subnet IP addressing for each client. host.

IP Address Within The mode used for assigning IP addresses to the client. Options are Sequential , Random or
Allocation Mode Zipfian Distribution.

Offset between IP If more than one client is using the same subnet host, the Default is 1.
Address Ranges address range used by each client is separated by the
offset value in this field.

For HTTP, SMTP and POP3 clients, it is possible to have finer control on when the IP Address changes that
is, not have it change for each attempted TCP Connection. There are two other control mechanisms:

• Retry After Failure: if a client receives a TCP error, it will retry the connection with the same IP Address.
The retry can happen a configurable number of times with delays between each retry.

• Retry on Success: if a client successfully completes it's work (as determined by its Session Details), it
can repeat itself again using the same IP Address. Like Retry After Failure, the repeat can happen a
number of times with delays between each repeat.

© Copyright 2018 TeraVM Java Client User Guide Page 139


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Figure 8-4. Retry/Repeat Details

Multiple Clients Per Row


In this configuration, multiple Client applications are configured per row in the Applications Display Window,
but use varied IP addresses within a specified range for each TCP connection. This is referred to as the bulk
provisioning of client "batches". In this case the Represents column will have a value greater than 1.

A new Addressing Details step is created in the Add Client Application Wizard for this bulk batched
provisioning configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 140


Aeroflex Limited. All
rights reserved.
8.1.2. Provisioning of IP Applications - Single and
Scaled

Figure 8-5. Add Client Application Wizard - Address Details

The following fields are used to generate a unique IP address for each client row, for each TCP connection.
Table 8-3. Addressing Details

Field Description Validation

No. of Clients Per Row The number of client application to generate for each row Default is 2.
configured in the No. of Rows field in the Application
Details step. For example, if the No. of Rows value is
100, and the No. of Clients Per Row is 2, the number of
clients generated is 200.

Start IP Address Within The start IP address to use within the subnet to vary the The IP address configured for the Subnet
Subnet IP addressing for each client. host.

Offset between IP If more than one client is using the same subnet host, the Default is 1.
Address Ranges address range used by each client is separated by the
offset value in this field.

© Copyright 2018 TeraVM Java Client User Guide Page 141


Aeroflex Limited. All
rights reserved.
8.1.3. Passive Analysis

Bulk Provisioning of Server Applications


This provisioning mechanism allows the creation of many similar server applications. Similar to bulk
provisioning of Clients, each server will be represented as a single row in the Display Window, possibly with
slightly different details for example different name, IP Address, Media ports - depending on the server type
being created.
The following server applications require additional attention when considering the implications of bulk
provisioning:
• RTSP:In the case of bulk provisioning of an RTSP server, a profile should be used for the Media Port(s)
field, however , this will not be enforced.
• When bulk creating instances of SMTP Receiver applications, a unique value must be assigned to
each receivers Domain Name field. The default approach will be to use a Step mechanism (use a base
value and an incrementing number). A second option is to provide a CSV file containing a list of Domain
Names - as each entry is read from the file it is assigned to the next Server, until all Servers have been
assigned a Domain Name.

Batch Provisioning
This is similar to scaling, however unlike scaling, it is not possible to isolate statistics or state for any
individual object within the batch.

8.1.3. Passive Analysis

Passive Analysis
Passive Analysis analyses the traffic pattern of an incoming stream of packets containing real time media
and computes a score of the user quality of the resulting media. Typically this is a Mean Opinion Score
(MOS) and is in the range 1-5. Passive analysis looks at the received stream for packet loss, jitter etc to
compute these statistics.
Passive Analysis is supported in the following client applications:
1. VoIP Client - Analysis of voice and video streams.
2. IGMP/MLD Client - Analysis of RTP video stream, MPEG2-TS video/audio streams.
3. RTSP Client - Analysis of RTP video/audio streams. If the RTP packet contains MPEG2-TS it is also
possible to analyse the MPEG2-TS video/audio stream.
4. RTP Unicast and Multicast Clients - Analysis of RTP video stream, MPEG2-TS video/audio streams.
The details are explained in the appropriate sections on VoIP, IGMP/MLD, RTSP and RTP. The Passive
Analysis statistics produced by each of the above applications are detailed in the TeraVM Metrics Guide.
However, it should be noted that due to the nature of Codecs the maximum values for Voice MOS scores
are:
• G.711 ulaw: 4.195
• G.711 alaw: 4.195
• G.722: 3.875

© Copyright 2018 TeraVM Java Client User Guide Page 142


Aeroflex Limited. All
rights reserved.
8.1.4. Adding an Application

• G.723: 3.770

• G.728: 4.035

• G.729: 3.945

• GSM: 3.566

• iLBC (13.33): 3.875

• iLBC (15.2): 3.945

For Video it is the bandwidth of the stream in combination with the video frame size (height/width) that
affects the maximum attainable MoS score. The greater the frame size the more bandwidth required to
deliver a video stream of required quality.

It is not possible to right-click on a Scaled Application and enable or disable Passive Analysis - instead it
must be configured during the provisioning of the scaled application.

8.1.4. Adding an Application

Adding an IP Application
A Test Group also contains all applications of a particular type or applications of different types and must
first be created before any applications are add or provisioned. See Adding a Test Group for more
information on how to set up a Test Group.

IP Applications can be added by either of three methods.

1. In the Test Group tab in the Configuration Window, select the required IP Test Case for which you
want to create an application.

2. Click on the Application tab in the adjoining display window for this Test Case.

3. Click on the Add Application icon in the display window.

4. Select the required application type from the list in the displayed menu.

or,

1. In the Test Group tab in the Configuration Window, select the required IP Test Case for which you
want to create an application.

2. Right click on the IP Test Case for this Group.

3. Select the Add app option from the menu.

4. Select the required application type from the list in the displayed menu.

or,alternatively:

1. In the Test Group tab in the Configuration Window, select the required IP Test Case for which you
want to create an application.

2. In the adjoining display window for this Test Case, list the configured hosts for this Test Case.

3. Right click on a selected host and select the Use with option from the menu.

© Copyright 2018 TeraVM Java Client User Guide Page 143


Aeroflex Limited. All
rights reserved.
8.1.5. Modifying an IP Application

4. Select the required application type from the list in the displayed menu.

Note
The Test Cases for the selected Test Group must be loaded before a new application can be added

For each application type selected, an appropriate provisioning wizard is displayed. The wizard comprises
of a number of provisioning steps which are listed on the left panel of the wizard dialog box. The specific
configuration fields for each step are displayed on separate pages of the wizard. When the settings for a
provisioning step are entered, click on the<Next>button to move on to the next step. You can also move
backwards to a previous step by clicking on the <Prev> button.

Warning messages are displayed in red at the bottom of the wizard pages to let you know which fields are
mandatory on the displayed page and to warn you if an incorrect value has been entered in a field.

8.1.5. Modifying an IP Application


There are two ways to modify an IP Application - modify a single Application or modify multiple applications.

Single Modify
To modify a single application:

1. Double click on the application or right-click and select Properties. This will display a property dialog
similar to the following:

© Copyright 2018 TeraVM Java Client User Guide Page 144


Aeroflex Limited. All
rights reserved.
8.1.5. Modifying an IP Application

Figure 8-6. Application Property Dialog

2. Change appropriate fields and hit OK.

Multi-Modify
To modify multiple (client) applications:

1. Highlight multiple client applications.

2. Right-click and select Properties. This will display a property dialog similar to the following:

© Copyright 2018 TeraVM Java Client User Guide Page 145


Aeroflex Limited. All
rights reserved.
8.1.5. Modifying an IP Application

Figure 8-7. Modify Multiple Applications

3. If you have highlighted applications of different types you will be asked to select the application type you
wish to modify - it is not possible to modify different types of applications.

4. Change the appropriate fields and hit OK.

Note
The above dialog has a Red border around some fields. This indicates the values contained in
these fields are different from among the selected number of clients (2 in this case).

If a field is greyed out it means it is not possible to change the value - the value will remain
unchanged after the multi-modify operation.

If you do not change the value of a field, the value remains the same after the multi-modify
operation.

In the above example, the Name and Host fields are different but cannot be changed. The ToS/
DiffServ field is different but can be changed.

If a field has an associated Metric and the metrics are different between applications, the
associated Metric drop-down will have a Red border and an empty selection in the drop-down. It

© Copyright 2018 TeraVM Java Client User Guide Page 146


Aeroflex Limited. All
rights reserved.
8.1.6. Listing Provisioned Applications

is possible to select a different Metric from the drop-down or leave it empty resulting in no change
to the Metric after the multi-modify operation.

If a checkbox is different between selected applications, it will also have a Red border. Either tick
or un-tick the checkbox to have the change applied to all selected applications. If the checkbox is
left unchanged, the associated field in all applications will remain unchanged.

If a field can have an empty value then you may wish to change all selected applications to have
an empty value. To do this simply type in a value into the field and then delete it.

8.1.6. Listing Provisioned Applications


When you provision an application, the new application and its configuration is listed on the Application
Display Window as shown.

Note
Hosts and applications must be loaded before they can be listed on the Display Panel.

Figure 8-8. Applications Display Window

The Allow Sorting check box can be ticked to enable users to sort the listed applications by any of the
configuration field values.

8.1.7. Enabling and Disabling an Application


If you do not wish a particular IP Application to be run within a Test Group, one solution is to disable it.
Disabling an Application keeps the details available for viewing in the Test Group, but it is not used in a test.

Note
An application cannot be disabled if the Test Group is currently running.

© Copyright 2018 TeraVM Java Client User Guide Page 147


Aeroflex Limited. All
rights reserved.
8.1.8. Setting an Application In and Out of Service

Note
There are no results/statistics for a disabled application.

Note
A Scaled Application can also be disabled - none of the contained entities will be part of the running
test group.

To enable an application:
1. Select an application or a group of Applications from the list of Applications in the Display Window, and
right click on them.
2. Click on the Enable(for one application) or Enable all (for a group of applications) menu option. This
will change the Admin State from Disabled to Enabled, regardless of the current state of individual
entries. For example, if 1 entry is already enabled it will stay enabled, while any disabled entries will be
enabled.
To disable an application:
1. Select an application or group of Applications from the list of Applications in the Display Window, and
right click on them.
2. Click on the Disable (for one application) or Disable all (for a group of applications) menu item. This
will change the Admin State from Enabled to Disabled, regardless of the current state of individual
entries. For example, if 1 entry is already disabled it will stay disabled, while any enabled entries will be
disabled.

8.1.8. Setting an Application In and Out of Service


Client and Server applications have a Service State. This defaults to "In Service" and means that the
application will be included in the configuration of a test. If the service state for a client is set to "Out of
Service", then the application will be stopped immediately that is, it will not wait for an outstanding request to
complete. If the service state is set to "In Service" then the client task will resume the issue of requests. The
Service State has no affect if the Admin State of the application is Disabled.
You can change the service state for application as follows:
To Set an application "In Service":
1. Select an application (can be a Scaled Application) or a group of Applications from the list of
Applications in the Display Window, and right click on them.
2. Click on the Set in Service menu option. If the application is a Scaled application then it is possible
to set all the contained applications In Service by selecting Set All In Service . It is also possible set a
specific application contained in the Scaled application In Service using the option Set Specific Entity
In Service . This option provides a mechanism for first finding the required application for example by
Name. Once found it is then set In Service.

© Copyright 2018 TeraVM Java Client User Guide Page 148


Aeroflex Limited. All
rights reserved.
8.1.9. Capturing PDUs on an Application

To Set an application "Out of Service":

1. Select an application (can be a Scaled Application) or group of Applications from the list of Applications
in the Display Window, and right click on them.

2. Click on the Set Out of Service menu option. If the application is a Scaled application then it is possible
to set all the contained applications Out of Service by selecting Set All Out of Service . It is also
possible set a specific application contained in the Scaled application Out of Service using the option
Set Specific Entity Out of Service . This option provides a mechanism for first finding the required
application for example by Name. Once found it is then set Out of Service.

8.1.9. Capturing PDUs on an Application


This facility allows you to capture PDUs on a per application basis rather than just on a physical port.
Packets can be captured at the Client, Server or both "sides" of the flow. For DDOS applications, packets
can be captured on the attacker, victim or both "sides" of the flow.

Note
When capturing on a VoIP flow, the capture is performed by filtering on the UA Client IP Address. This
means that packets will also be captured for any other application with the same IP Address.

Note
It is possible to capture the unencrypted TLS/SSL traffic passing through an AnyConnect Client
application. This allows the contents of the SSL connections used to establish tunnels and transfer
data to be captured in unencrypted format.

Note
It is possible to capture PDUs on an application within a Scaled application. The particuluar application
must first be identified for example by Name.

To capture packets on an application:

1. Right click on the required application in the Display Panel.

2. Select "Capture PDUs" in the drop down menu.

3. Select whether to capture PDUs on the Client, Server or Both Sides of the traffic flow.

4. The Application PDU Capture Wizard is displayed.

5. If the Application is a Scaled Application you must select an individual application from within the scaled
application. This is done by first finding the application - an application can be found via its Name and

© Copyright 2018 TeraVM Java Client User Guide Page 149


Aeroflex Limited. All
rights reserved.
8.1.9. Capturing PDUs on an Application

many other criteria. The Capture PDU option is not available on a Scaled Entity if the test group is not
running.

Figure 8-9. Applications PDU Capture Wizard

The following capture settings can be configured:


Table 8-4. Capture PDU Dialog Fields

Field Description Validation

Packet Count The number of packets to be captured. Defaults to 5000. 0 - 100,000,000

Time Duration How long in seconds the packet capture No default. 0 - 86400 secs or 24 hours.
should last.

Packet Length The number of bytes to capture in each Default is 0 meaning all bytes. Max is
packet. 65535.

Transport Protocol N/A

When the appropriate information is entered for capturing the PDUs and the <Finish> button is clicked, the
PDU Captures tab is displayed in the Console Window, indicating the progress and result of the capture.

© Copyright 2018 TeraVM Java Client User Guide Page 150


Aeroflex Limited. All
rights reserved.
8.1.9. Capturing PDUs on an Application

Figure 8-10. PDU Capture Items Screen

The following options are available for captures in this tab:


Table 8-5. Capture PDU Tab Icons

View capture packets. The captured packets can be viewed in a packet inspection tool such as Wireshark. Make sure
Wireshark is on your path. This can also be performed via a right-mouse click on a selected capture.

View video content. If a packet capture contains video, the video itself can be viewed using the View Video Content
option. This option can also be performed via a right-mouse click on a selected capture. Make sure VLC is on your path.

Save the selected capture. This option can also be performed via a right-mouse click on a selected capture.

Delete the selected capture from the list. This option can also be performed via a right-mouse click on a selected
capture. It is not possible to delete the currently running capture.

Cancel the running capture. The Capture Completed icon is displayed beside the capture. This option can also be
performed via a right-mouse click on a selected capture.

© Copyright 2018 TeraVM Java Client User Guide Page 151


Aeroflex Limited. All
rights reserved.
8.1.9. Capturing PDUs on an Application

Capture completed. This icon is displayed beside a capture that is, completed.

To capture unencrypted packets on an AnyConnect Client application:

1. Right click on the application in the Display Panel.

2. Select "Capture Unencrypted Traffic" in the drop down menu.

3. The Application Unencrypted Traffic Capture Wizard is displayed.

Figure 8-11. Application Unencrypted Traffic Capture Wizard

The following capture settings can be configured:


Table 8-6. Application Unencrypted Traffic Capture Dialog Fields

Field Description Validation

Security Protocols The packets to be decrypted. Defaults to those protocols associated with
the application from where this option was
launched. Currently this is the AnyConnect
and VoIP applications.

© Copyright 2018 TeraVM Java Client User Guide Page 152


Aeroflex Limited. All
rights reserved.
8.1.10. Pinging from an Application

If the AnyConnect Tunnel Type is SSL/TLS


then SSL/TLS is selected.
If the Tunnel Type is DTLS, then DTLS is
selected.
If Tunnel Type is IPSec/IKEv2 then both
IPSec and IKE is selected.
In the VoIP UA, if the authentication
algorithm is set to VoLTE-AKA-ESP and
the transport type is not SSL then IPSec is
selected.
In the VoIP UA, if transport type is SSL
and the authentication algorithm is not set
to VoLTE-AKA-ESP then SSL/TLS will be
selected.
In the VoIP UA, if the authentication
algorithm is set to be VoLTE-AKA-ESP and
the transport type is SSL then SSL/TLS
and IPSec will be selected.

Packet Count The number of packets to be captured. Defaults to 5000. 0 - 100,000,000

Time Duration How long in seconds the packet capture No default. 0 - 86400 secs or 24 hours.
should last.

Packet Length The number of bytes to capture in each Default is 0 meaning all bytes. Max is
packet. 65535.

8.1.10. Pinging from an Application


All applications that are configured to participate in a test can initiate a Ping from a source IP address to
a destination or target IP Address. The source information will always be gathered from the application
selected.

Note
The Ping menu option is only enabled if the test group is running.

Note
The Ping menu option is not available for external applications.

Note
It is possible to Ping from an application within a Scaled application. The particuluar application must
first be identified for example by Name.

To Ping from an Application:

© Copyright 2018 TeraVM Java Client User Guide Page 153


Aeroflex Limited. All
rights reserved.
8.1.10. Pinging from an Application

1. Display all the provisioned applications in the Display Panel of the screen.

2. Click on the required application to select it.

3. Right click on the application and select the Ping From option from the menu.

The Initiate Ping dialog is displayed:

4. If the Application is a Scaled Application you must select an individual application from within the scaled
application. This is done by first finding the application - an application can be found via its Name and
many other criteria. The Ping option is not available on a Scaled Entity if the test group is not running.

Figure 8-12. Initiate Ping Dialog

The following information is required for this dialog:


Table 8-7. Initiate Ping Dialog Fields

Field Description Validation

Source EndPoint

© Copyright 2018 TeraVM Java Client User Guide Page 154


Aeroflex Limited. All
rights reserved.
8.1.10. Pinging from an Application

Entity Name The selected source application to ping Cannot be modified. Determined by the
from. Entity Type and IP Address field values.

Entity Type To ping from an applications, select Host or Application.


Application.

IP Address IP address of the selected application to Cannot be modified.


ping from.

Destination EndPoint

Entity Name The destination entity to be pinged. Determined by the Entity Type and IP
Address field values.

Entity Type The destination entity type to be pinged. Can be an Application, Host or Valid IP
Address which is entered in the following
field.

IP Address The destination IP address to be pinged. Enter a valid IP address (this IP address
can be any address - it doesn't have to be
a TeraVM entity) or select from a list of
available hosts or applications, depending
on which is selected in the Entity Type
field. N ote:The destination address
cannot be; - an unspecified address;
- a multicast address; - the broadcast
address; - the network address of the
Host that the ping is initiated from; or -
a loopback address If a ping operation
is initiated from a subnet Host or an
Application using a subnet host, the IP
address must be a valid address within
the range associated with the subnet
host. Subnet hosts are used for the for
Multi-row applications and Single Row,
Varied Address applications.

By clicking in the Advanced Settings button on this dialog, the following properties can be configured for a
ping:

Figure 8-13. Advanced Ping Settings

Table 8-8. Advanced Ping Settings Dialog Fields

Field Description Validation

Packet Size Expressed in bytes, this determines the Mandatory. Default value 64. IPv4: Min
size of each ping packet. It must be a fixed = 16, Max: MTU - 20, (20 = size of IPv4
value.

© Copyright 2018 TeraVM Java Client User Guide Page 155


Aeroflex Limited. All
rights reserved.
8.1.10. Pinging from an Application

header) IPv6: Min = 16, Max: MTU - 40,


(40 = size of IPv6 header)

Delay between Packets The delay in ms between ping packet Mandatory. Default value 1. Min = 1, Max =
transmissions. 3600000 ms.

Ping Results
A ping operation, once initiated, continuously pings the destination application or host until canceled by the
user or until the test is stopped. When the ping operation is performed, the following Ping Results window is
displayed.

Figure 8-14. Ping Results Window

When a ping has been completed, the following summary information is displayed for the ping operation:
• Number of packets sent
• Number of packets received
• Percentage of packets lost
• Min/Max/Avg Round Trip time
The begin and end time for the operation is also displayed in this window.

© Copyright 2018 TeraVM Java Client User Guide Page 156


Aeroflex Limited. All
rights reserved.
8.1.11. Trace Routing from an Application

The following buttons are available in this window to enable the following tasks:

• <Start> - Restart a previously completed/stopped ping operation.

• <Clear> - Clear the ping operation window at any time.

• <Close> -Stop a ping that is, running and close the window.

• <Advanced> - View the Advanced Ping Settings. Refer to the Advanced Ping Settings dialog previously
in this section.

8.1.11. Trace Routing from an Application


All applications that are configured to participate in a test can initiate a Trace Route from a source to a
destination IP address. The source information will always be gathered from the application selected.

Note
The Trace Route menu option is only enabled if the test group is running.

Note
The Trace Route menu option is not available for external applications.

Note
It is possible to TraceRoute from an application within a Scaled application. The particuluar application
must first be identified for example by Name.

To Trace Route from an Application:

1. Display all the provisioned applications in the Display Panel of the screen.

2. Click on the required application to select it.

3. Right click on the application and select the Trace Route From option from the menu.

The Initiate Trace Route dialog is displayed:

4. If the Application is a Scaled Application you must select an individual application from within the scaled
application. This is done by first finding the application - an application can be found via its Name and
many other criteria. The Traceroute option is not available on a Scaled Entity if the test group is not
running.

© Copyright 2018 TeraVM Java Client User Guide Page 157


Aeroflex Limited. All
rights reserved.
8.1.11. Trace Routing from an Application

Figure 8-15. Initiate Trace Route Dialog

The following information is required for this dialog:


Table 8-9. Initiate Trace Route Dialog Fields

Field Description Validation

Source EndPoint

Entity Name The selected source application to trace Cannot be modified. Determined by the
from. Entity Type and IP Address field values.

Entity Type To trace from an application, select Host or Application.


Application.

IP Address IP address of the selected application to Cannot be modified.


trace from.

Destination EndPoint

Entity Name The destination entity for the trace. Determined by the Entity Type and IP
Address field values.

© Copyright 2018 TeraVM Java Client User Guide Page 158


Aeroflex Limited. All
rights reserved.
8.1.11. Trace Routing from an Application

Entity Type The destination entity type for the trace. Can be an Application, Host or Valid IP
Address which is entered in the following
field.

IP Address The destination IP address for the trace. Enter a valid IP address (this IP address
can be any address - it doesn't have to be
a TeraVM entity) or select from a list of
available hosts or applications, depending
on which is selected in the Entity Type
field. Note: The destination address cannot
be; - an unspecified address; - a multicast
address; - the broadcast address; - the
network address of the Host that the trace
is initiated from; or - a loopback address
If a trace route operation is initiated from
a subnet Host or an Application using a
subnet host, the IP address must be a valid
address within the range associated with
the subnet host. Subnet hosts are used for
the for Multi-row applications and Single
Row, Varied Address applications.

By clicking in the Advanced Settings button on this dialog, the following properties can be configured for a
Trace Route :

Figure 8-16. Advanced Trace Route Settings

Table 8-10. Advanced Ping Settings Dialog Fields


Field Description Validation

Packet Size Expressed in bytes, this determines the Mandatory. Default value 64. IPv4: Min
size of each Trace Route packet. It must = 16, Max: MTU - 20, (20 = size of IPv4
be a fixed value. header) IPv6: Min = 16, Max: MTU - 40,
(40 = size of IPv6 header)

Delay between Packets The delay in ms between Trace Route Mandatory. Default value 1. Min = 1, Max =
packet transmissions. 3600000 ms.

Maximum Wait Time The maximum time in ms to wait for probe Mandatory. Default value 5000. Min = 1,
responses. Max = 3600000 ms.

Maximum Hop Count The maximum TTL (hop count) allowed. Mandatory. Default value 30. Min = 1, Max
= 255

© Copyright 2018 TeraVM Java Client User Guide Page 159


Aeroflex Limited. All
rights reserved.
8.1.11. Trace Routing from an Application

Initial TTL The initial TTL value. Mandatory. Default value 1. Min = 1, Max =
255.

Trace Route Results


A Trace Route operation, once initiated, continuously probes until it reaches the destination of the route that
it is tracing or until canceled by the user.

Note
If the operation reaches the maximum number of hops allowed, it will finish even if the destination
application or host hasn't been reached.

When the Trace Route operation is performed, the following Trace Route Results window is displayed.

Figure 8-17. Trace Route Results

When a Trace Route has been completed, the following summary information is displayed for the Trace
Route operation:
• TTL Count
• Gateway IP address
• Round Trip time contacting each application or host in the route to the destination.

© Copyright 2018 TeraVM Java Client User Guide Page 160


Aeroflex Limited. All
rights reserved.
8.1.12. Deleting an Application

The begin and end time for the operation is also displayed in this window.
The following buttons are available in this window to enable the following tasks:
• <Start> - Restart a previously completed/stopped Trace Route operation.
• <Clear> - Clear the Trace Route operation window at any time.
• <Close> -Stop a Trace Route that is, running and close the window.
• <Advanced> - View the Advanced Trace Route Settings. Refer to the Advanced Trace Route Settings
dialog previously in this section.

8.1.12. Deleting an Application


To delete an application from TeraVM:
1. Display all the provisioned applications in the Display Panel of the screen.
2. Click on the required application to select it.
3. Right click on the application and select the Delete option from the menu.
The following warning is displayed.

Figure 8-18. Deletion Warning

4. Click Yes to proceed with the deletion.

8.2. TeraVM Applications


A TeraVM application provides or uses a particular network service. TeraVM applications run on TeraVM
hosts. A single application may only use a single host. A TeraVM application is typically responsible for
Layer 4-7 communication, while the TeraVM host handles all communication up to and including Layer 3. In
other words, hosts provide Node-to-Node connectivity, while applications handle the details of Application-
to-Application communication. A TeraVM Layer 4-7 test will typically involve a set of applications running on
an infrastructure of hosts. It is important to note that TeraVM treats details of the Layer 4 Transport Protocol,
(typically TCP or UDP), as a component of the application. By keeping the transport connection associated
with the application that created it, TeraVM can report transport-level statistics on a per-application basis,
instead of only on a per-host basis.
The following sections describe the applications supported by TeraVM.

© Copyright 2018 TeraVM Java Client User Guide Page 161


Aeroflex Limited. All
rights reserved.
8.2.1. Settings Common to Multiple Applications

Note
Raw Port Playback is available in IP Test Cases but it is not a pure IP application - it will replay
anything.

8.2.1. Settings Common to Multiple Applications


The Add Application Wizard has many fields common to all applications. They are described in this section.

Note
The configuration parameters for statistics are also common for most applications. Details can be
found in the section on Using TeraVM Statistics.

8.2.1.1. Application Details


Table 8-11. Client/Server Application Parameters - Common

Field Description

No. of Clients Number of client applications to be created at once.

No. of Servers Number of server applications to create at once.

Configure As Configures how applications(s) are grouped and displayed if you are provisioning multiple
applications. Choose between
• Single App per row (Bulk Provisioning)
• Scaled Entity (default when number > 1)
• See Chapter 7, Section 7.2.1.1 for further information.
What you choose here has an impact on the statistics (metrics) you can generate and
view. For more details, see the TeraVM metrics guide.

Name Unique name for the application.

Description Description for the application.

Host(s) All applications must run on a host. Select either a single host or multiple hosts from the list
of the previously configured IP Hosts for this test group. You can also create a host from this
field.

8.2.1.2. Advanced TCP Settings

8.2.1.2.1. TCP Characteristics Settings


TCP Characteristics specify the values of various TCP stack parameters such as Segment size, transmit
and receivers buffer sizes, time-out values and also the behaviour of the TCP stack in relation to connection
open/close strategy and the use of Selective ACKing. This will limit the number of attempted TCP
connections on, for example, a per second basis. A profile can be navigated to using the browser button,
designated with the ellipsis symbol (...)

© Copyright 2018 TeraVM Java Client User Guide Page 162


Aeroflex Limited. All
rights reserved.
8.2.1.2.1. TCP Characteristics Settings

Table 8-12. Add TCP Characteristics Dialog Fields

Field Description Validation

Name Name of the new TCP Characteristics, must be unique 3 - 32 Characters in length
within the TCP Characteristics Configuration Folder.

TCP Parameters

Max. Transmit Buffer Size Maximum size of the Senders Buffer that is, number of 64K - 1GB
segments sent without receiving an ACK. (Optional)

Max. Advertised Receive Maximum size of the Recipients Buffer. (Optional) 2 * MSS to 65525 bytes
Window Size

Initial Retransmission Starting time to wait for an ACK before retransmitting Default 3000 milliseconds. Optional value.
Time-Out SYN. Accepts a value from a range of 1 - 3000
milliseconds.

Maximum Retransmission Configures the Maximum time allowed for a Default 64 seconds. Optional value.
Time-Out(RTO) Retransmission Time Out. This parameter can only be set Accepts a value from a range of 1 - 64
if the (previous parameter) Initial Retransmission Time- seconds.
Out is set.
The Initial Retransmission Timeout must
be specified before this parameter is set,
and the Maximum Retransmission Timeout
must be greater than that specified.

TCP Timer This determines the frequency with which TCP 10 - 5000 milliseconds. Can be a profile.
connections are checked to see if retransmissions are
required.

TCP Behaviour

Emulate Delayed ACKs Emulate ACKs being delayed, either All Segments or for Select from the drop-down combo, All
a maximum of 2 Segments Max. 2 Segments within each Segments, Max 2 Segments or Off.
TCP window or no delayed ACKs, Off. Default is All Segments.

First data segment ACK Emulate sending the first data Segment with the ACK flag On or Off, Default is Off.
can SYN-ACK set to true to acknowledge a SYN ACK.

Final data segment can Emulate sending the last data Segment with the FIN flag On or Off, Default is On.
include FIN set to true.

Final data segment ACK Emulate sending the last data Segment with the FIN and On of Off, Default is On.
can include FIN ACK flag set to true.

TCP Options

Max. Segment Size (MSS) Maximum size of the TCP Data Segment. (Optional). Value in range of 1 - 9176 bytes or a
This value can be calculated as follows: MSS (Bytes) = profile. Note: the maximum MTU size
MTU (bytes) - IP Header Size (e.g. 20 or 40 bytes) - TCP (Maximum MTU) is 9216, the MSS
Header Size (e.g. 20 bytes). considers the TCP/IP Header size of 40/60
bytes.
• A runtime error is displayed if a number
greater than the maximum
allowed is used.

Window Scale The window scale used to extend the original TCP window 0 - 14, default is None. Configuring a
size. (Optional) window scale of 0 means no scaling but
the actual TCP window scale of 0 will be
specified as a TCP option

© Copyright 2018 TeraVM Java Client User Guide Page 163


Aeroflex Limited. All
rights reserved.
8.2.1.2.2. Connection Rate Limit Settings

Field Description Validation

Use Selected ACK (SACK) TCP will recognise an incoming "SACK permitted" option On or Off, Default is Off.
when permitted in a SYN packet, and subsequently use SACK options to
acknowledge Out of Sequence Data Segments.

Set Selected ACK (SACK) TCP will set the "SACK permitted" option in outgoing SYN On or Off, Default is Off.
permitted packets. Note that the TCP will always interpret incoming
packets that SACK Out of Sequence Data Segments,
even if "SACK permitted" was not set in the initial SYN
packet. The assumption is that the receiving end of a
connection will not use SACK unless the sending end
explicitly permitted it in its SYN packet.

Support Timestamp when Indicates if the receiving end of the TCP will support On or Off, default is Off.
requested Timestamping when requested. (Optional)

Request Timestamp Indicates if the TCP timestamp option will be included in On or Off, default is Off.
the SYN segment of TCP header. (Optional)

8.2.1.2.2. Connection Rate Limit Settings


Connection Rate Limit is used to control the rate at which connections are generated by the Client.
Table 8-13. Add Connection Rate Limit Dialog Fields

Field Description Validation

Name The unique name for the connection rate limit. 3 - 32 characters.

Rate Limit This is the rate (or conn/second) that can be applied to the 1 - 1000000. The Metric for the Rate Limit
application. value is conn/sec.

Enable Ramping This checkbox indicates if the specified rate limit will be Enabled or disabled. Default is disabled.
achieved over a ramp-up or ramp-down period.

Start From Starting rate limit. If this smaller than Rate Limit then there 1 - 1000000
is a ramp-up affect. If it is greater than the Rate limit, there
is a ramp-down affect.

Period The time in seconds or minutes over which the ramp-up or 0 - 3600 seconds or 0 - 60 minutes.
ramp-down occurs.

8.2.1.3. Additional Configuration


The Additional Configuration step of the wizard is used for provisioning general test parameters for an
application and hence many of the parameters that it contains are common to most applications.

Here you can set the start and stop time for an application test.

You can also enable Normal or Fine Statistics, and put the application in an aggregate group for statistics
collection (for more information, see the TeraVM Metrics Guide). Refer to Using TeraVM Statistics for
configuration steps.

Additional parameters are described within each relevant Application section.

The following information can be set in the Additional Configuration dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 164


Aeroflex Limited. All
rights reserved.
8.2.1.3.1. Passive Analysis

Table 8-14. Add New Application - Additional Configuration

Field Description Validation

Start After Time after which the application will start. Optional. Measured in milliseconds, seconds or
minutes. You can also create a profile. If blank
then TeraVM will work out an appropriate value
based on the number of applications configured
in the test group.

Stop After Duration of time after a task has started, that it will Optional. Can have a value in the range 1 -
run for, before automatically stopping. 86400 (secs). If it is a profile it can have min
and max values within this range. Blank means
it will run forever or until stopped manually.
Default is Blank. Supported metrics are secs,
min and hour with secs as the default.

Enable Normal Statistics TeraVM will gather normal statistics at the Application Default is Normal stats enabled.
sampling interval configured for your Test Group (see
Configuring Statistics General Parameters).

Enable Fine Statistics TeraVM will gather fine statistics at the Application Default is Fine stats disabled.
sampling interval configured for your Test Group (see
Configuring Statistics General Parameters).

Aggregate Group Aggregate Group to which this application belongs Optional. Select a group from the list of
for statistical reporting purposes. See Viewing previously configured groups or add a new
Aggregate Groups. group. "Default" is the test group.

For example, if you are configuring a HTTP client, the client will start after the time specified in Start After.
Once started, it will continuously attempt to open TCP connections to the selected HTTP server and issue
HTTP requests, until such time as the HTTP client is stopped (Stop After).

You can also create a profile for your Start After parameter, for example, if your application uses different
bit rates, as for HTTP Adaptive Bit Rate Client. The profile is used to add a rate limit range to manage the
client requests. For example, if there are 500 application requests with a limit of 100 per second then create
a profile and configure range values of 1 to 5000. Set the Start After time denomination to milliseconds (ms).

Another example may be for 5 application requests at 1 per second. The range values would then be 1 to 5
and the Start After time denomination is seconds (secs). Refer to the TeraVM User Guide for more details
on using profiles.

8.2.1.3.1. Passive Analysis


A number of applications, such as VoIP, IGMP/MLD, RTSP, RTP Unicast and Multicast Clients and Cisco
Telepresence, allow configuration of Passive Analysis which enables other parameters, such as Jitter Buffer,
to be set up. An example is shown below.

© Copyright 2018 TeraVM Java Client User Guide Page 165


Aeroflex Limited. All
rights reserved.
8.2.1.3.1. Passive Analysis

Figure 8-19. IGMP Client Application - Additional Configuration

Table 8-15. Additional Configuration - Passive Analysis

Field Description Validation

Configure Passive Allows the configuration of the client for Passive Analysis. Enabled by ticking the checkbox or
Analysis disabled by unticking. Default depends on
the application.

Note
Passive Analysis requires the purchase of a special software licence. If that licence has not been
purchased, and you try to enable the Configure Passive Analysis checkbox, a pop-up dialog
appears to advise you that one is required.

© Copyright 2018 TeraVM Java Client User Guide Page 166


Aeroflex Limited. All
rights reserved.
8.2.2. HTTP

Note
Configure Passive Analysis and Latency Stats (parameter available for some applications) are
mutually exclusive and cannot both be enabled simultaneously on the same user agent.

8.2.2. HTTP
HTTP (HyperText Transfer Protocol) transfers data on TCP/IP networks between a web server and a web
browser (client). For a definition of the HTTP protocol, please refer to RFC 2616. An HTTP server usually
accepts connections from HTTP clients on TCP port 80.

TLS Configuration Item


A Transport Layer Security Configuration Item can be applied to an HTTP Application. This allows a list of
Cipher Suits to be added to the TLS and can be done using an existing configuration item, or defined when
provisioning an HTTP Client Application.

When configuring Cipher Suites on HTTP Applications, the Enable TLS check box must be selected on both
the Client and the Server. You can then add your own Cipher List by selecting a Custom Configuration
option for the TLS Version.

SSLv3 cannot be selected from the Java UI, in order to enable it for HTTP Clients and Servers, see
Section 8.2.2.2.1.1.

• For information on Adding a Cipher Suite, in an HTTP Application, see Section 8.2.2.2.1.2.

• For information on Adding a Cipher Suite to other Applications, see Appendix B.

DNS Lookup
DNS Lookup on the HTTP Client is disabled by default, and can be enabled. When enabled, the URI must
be in one of the following formats for a DNS lookup to take place on the hostname:

• http://[hostname]/[path]

• https://[hostname]/[path]

An HTTP GET request can then be done on the Hostname. This behaviour can be enabled for HTTP when
provisioning the HTTP Client Application > Server Details, by selecting the check box Resolve Requests
with Test Agent DNS (see Section 8.2.2.2.2). You define the URLs in the HTTP Client Application >
Server Details, in the Resource List. The configuration of the DNS server is done in the Test Agent
Configuration dialog, using the DNS tab, see Chapter 9, Section 9.2.1 for information on configuring the
DNS server.

Examples of how the Hostname and GET request are used can be seen in the following table.
Table 8-16. Hostname and GET Request

URL Hostname GET Request

http://www.rte.ie/news www.rte.ie GET /news

http://mail.google.com/mail mail.google.com GET /mail

© Copyright 2018 TeraVM Java Client User Guide Page 167


Aeroflex Limited. All
rights reserved.
8.2.2.1. Provisioning a HTTP Server Application

URL Hostname GET Request

http://www.bbc.co.uk/news www.bbc.co.uk GET /news

When using HTTP/1.1, the Hostname will be added in the GET request as shown in the following example:

Types of HTTP Application


There are four types of HTTP applications in TeraVM:

• HTTP Client

• HTTP Server

• External HTTP Server

• External HTTP Proxy Server

Note
You should set up HTTP Server and Proxy Server applications first, as you will be required to select
these when setting up the client.

Note
TeraVM supports HTTP Versions 0.9, 1.0, 1.1, and 2.0.

8.2.2.1. Provisioning a HTTP Server Application


An HTTP server listens for traffic from a HTTP client and sends back appropriate responses.

The Add New HTTP Server Wizard dialog is displayed below.

© Copyright 2018 TeraVM Java Client User Guide Page 168


Aeroflex Limited. All
rights reserved.
8.2.2.1.1. Application Details

Figure 8-20. Add New HTTP Server Wizard

To provision a HTTP Server application, you must configure the following:


• Application Details
• Server Details
• Connection Details
• Additional Configuration

8.2.2.1.1. Application Details


The following information is required for a HTTP Server Application Details.
Table 8-17. HTTP Server Application Fields

Field Description Validation

Number of Servers Number of HTTP servers to create at once. Default is 1.

Configure As Configures how server(s) are grouped and displayed Required. If Number of Hosts = 1, the
if you are provisioning multiple servers, that is Number default value is "Single App per Row",
of Servers >1. Choose between Single App per row otherwise it is "Scaled Entity".

© Copyright 2018 TeraVM Java Client User Guide Page 169


Aeroflex Limited. All
rights reserved.
8.2.2.1.2. Server Details

Field Description Validation


(Bulk Provisioning) or Scaled Entity. See Chapter 7,
Section 7.2.1.1 for further information.

Name Unique name identifying the HTTP server application. Mandatory. String value between 1 and
255 characters in length.

Description Description for the server application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select a Host from the list of previously configured IP Mandatory. Either - - Direct Virtual Host or
hosts which the server will use to access the SUT. Indirect Virtual Host can be selected.

Enable TLS This field allows you to enable/disable TLS on the HTTP Mandatory, default is unchecked.
Server.
• If the TCP Port is 80, and this field is
then checked by you, then the TCP
Port will change to 443.
• If the TCP Port is 443, and this field is
then unchecked by you, then the TCP
Port will change to 80.

TCP Port TCP Port on which the server application will listen for Integer value between 0 and 65535.
TCP connections. Default is 80.

ToS/DiffServ Quality of Service metric for the server. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.2.1.2. Server Details


After entering the information required for the HTTP Server Application details, the next step of the wizard
displays the Server Details dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 170


Aeroflex Limited. All
rights reserved.
8.2.2.1.2. Server Details

Figure 8-21. Add HTTP Server Application Wizard - Server Details

The following information is required to provision the HTTP Server Application - Server Details.
Table 8-18. HTTP Server Application Server Details

Field Description Validation

Resource Preset Allows you to preset the Resource List None or MPEG-DASH. Default is None.

Resource List List of mappings between URIs and resources available. Max no. of entries is 100. When you
The resource mapping list allows you to configure a user- click on the <...>button beside the
friendly pathname for a resource such as a file. The Resource List field, the Resource List
pathname will be used by the client as part of its URL Selection dialog is displayed. Select from
when requesting data from the Server. The Server will use a previously configured resource list a or
the mapping to identify the resource to be returned to the refer to the section on HTTP Resource
Client. If you select MPEG-DASH in the Resource Preset, Lists in Chapter 8 -Test Case Configuration
a resource list suitable for MPEG-DASH clients is pre- for more details on adding new resource
selected. lists.

© Copyright 2018 TeraVM Java Client User Guide Page 171


Aeroflex Limited. All
rights reserved.
8.2.2.1.3. Server Details - Advanced Details

8.2.2.1.3. Server Details - Advanced Details


The Server Details Advanced Details Dialog contains the following tabs:

• Size-Based Requests

• ACWS Support

• OTT Fragment Repeat

• HTTP/2 Settings

Figure 8-22. Server Details Advanced Details Dialog

Table 8-19. Sized-Based Requests

Field Description Validation

Enable Extended Sized- If enabled any URL ending in a numeric value will cause Default is disabled, only URLs of the type /
Based Requests the Server to return that amount of data to the requesting number return the specified amount of
Client. data.

The ACWS Support tab is used to define a domain name for the HTTP server(s).
Table 8-20. ACWS Support

Field Description Validation

Domain Name Domain Name of the server. Optional. String with length range from
1 to 255. Valid characters: a-zA-Z0-9 .
{}<>[]()@#&*%_+=!- Default value: none.
Scalable.

© Copyright 2018 TeraVM Java Client User Guide Page 172


Aeroflex Limited. All
rights reserved.
8.2.2.1.3. Server Details - Advanced Details

The OTT Fragment Repeat tab is used to match multiple OTT client requests to a single video fragment, that
is, for every media fragment that a client requests, the HTTP Server replays the same video fragment. This
is used to prevent multiple video file fragments on the HTTP Server.
Table 8-21. OTT Fragment Repeat

Field Description Validation

URI Substring Each URI is stripped from the start of the entered string Optional. String with length range from 1
value. to 255. Valid characters: a-zA-Z0-9 .{}<>[]
()@#&*%_+=!- Default value: Null.
Dependencies:
• If default MPEG-DASH resource list
is selected, substring '_ffmpeg' is the
default value.
• If another resource list is selected, any
value can be entered.

Table 8-22. HTTP/2 Settings

Field Description Validation

Frame Size Size of the HTTP/2 frames sent by the server. Optional. Integer or profile with value
between: 1 and (16,777,215). Only
used for HTTP/2.

The HTTP/2 Settings tab is used to set a value or a profile for the size of the frames, the default value will
be (16 MB). Actual frame size will be the lowest between this value, the size advertised by the client in
SETTINGS_MAX_FRAME_SIZE (16 kB by default) and the actual resource size.

© Copyright 2018 TeraVM Java Client User Guide Page 173


Aeroflex Limited. All
rights reserved.
8.2.2.1.4. Connection Details

8.2.2.1.4. Connection Details

Figure 8-23. New HTTP Server Wizard: Connection Details

Table 8-23. HTTP Server Connection Details Fields

Field Description Validation

Response Delay Delay between when a HTTP requests is received and Optional. ms (default) sec, min. Range
when the HTTP response is sent. 0 ms and 60 secs. Default value: none.
Click ... to Add Profile.

8.2.2.1.5. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.2.2. Provisioning a HTTP Client Application


The following wizard is displayed for provisioning a HTTP Client application:

© Copyright 2018 TeraVM Java Client User Guide Page 174


Aeroflex Limited. All
rights reserved.
8.2.2.2. Provisioning a HTTP Client Application

Note
When you set up a HTTP client application, you have to specify the server it links to (in the Server
Details section). For this reason, always set up the server first.

Figure 8-24. Add HTTP Client Application Details

The steps required to provision a HTTP Client application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row")

• Server Details

© Copyright 2018 TeraVM Java Client User Guide Page 175


Aeroflex Limited. All
rights reserved.
8.2.2.2.1. Application Details

• Connection Details
• Additional Configuration

8.2.2.2.1. Application Details


The following general information is required for a HTTP Client application:
Table 8-24. HTTP Client Application Fields

Field Description Validation

No. of Clients Number of applications to be created at once. Default is 1. 1 - 50,000,000 clients can be
configured per server.

Configure as Configures how applications(s) are grouped and displayed The options for this field are:
if you are provisioning multiple applications, that is No.
• Single App Per Row
of Clients >1. Choose between Single App per row
(Bulk Provisioning) or Scaled Entity. See Chapter 7, • Scaled Entity
Section 7.2.1.1 for further information.
• Single Client Per Row - Varied
Address
When using this option, the No. of
Clients field will represent the No. of
Rows.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description Description for the application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select either a single Host or multiple Hosts from the list of Mandatory. The following types of hosts
the previously configured IP Hosts for this test group. can be selected: - - Direct Virtual Host -
Indirect Virtual Host - Subnet Virtual Host.

Enable TLS Enable/disable TLS on the HTTP Client. Mandatory, default is unchecked.
• If the TCP Port is 80, and this field is
checked then the TCP Port will change
to 443.
• If the TCP Port is 443, and this field
is unchecked then the TCP Port will
change to 80.

TLS Version Select the version of TLS if Enable TLS is selected. Mandatory, if Enable TLS is selected
then the TLS version is required. Select
from versions: TLS 1.0, TLS 1.1, TLS 1.2,
Custom Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 176


Aeroflex Limited. All
rights reserved.
8.2.2.2.1.1. Enabling SSLv3 on HTTP

Field Description Validation

TLS Configuration When Custom Configuration is selected as the TLS This field accepts a Cipher Suite
Version, this field is used to either create, edit or select an configuration item.
existing TLS configuration item.
Mandatory if TLS Version is set to Custom
Configuration.

Certificates Configuration Select the certificates needed for the cipher suite. All Accepts Certificate and Key File.
certificates generated by TeraVM use RSA.

TCP Port Source TCP Port on which the client will bind to its host. If Integer within the range 0 and 65535.
the port is set to the wildcard port (that is, if the Use Next
Available check box is ticked (default)) the application will
bind to the first available, non-privileged port. The HTTP
client binds to a transport port on its TeraVM host and
packets sent from.

ToS/DiffServ As packets are sent they are given a specific Quality Mandatory. Integer value between 0 and
of Service. Set Type of Service (ToS) value or a 255. Default is 0.
Differentiated Service Code Point (DSCP) value for the
client.

8.2.2.2.1.1. Enabling SSLv3 on HTTP


Use this procedure to ensure that SSLv3 in used on the HTTP client and server. This procedure overwrites
the settings for SSL and TLS that can be specified in procedure Adding a Cipher List.

1. Login into your TeraVM Controller and select Utilities > Global Settings.

2. From the drop-down box select where you want to set your Global Settings and click Configure.

3. From the Categories drop-down box, select Cryptographic Settings.

4. Select the check box for Use SSLv3 for HTTP clients and servers.

© Copyright 2018 TeraVM Java Client User Guide Page 177


Aeroflex Limited. All
rights reserved.
8.2.2.2.1.2. Adding a Cipher List

Figure 8-25. Use SSLv3 for HTTP clients and Servers

8.2.2.2.1.2. Adding a Cipher List


The following section outlines how to add a Cipher List as a TLS Configuration item when provisioning the
Application Details in the Add New HTTP Client Wizard.

Prerequisites

• Ensure that SSLv3 is not enabled in the Global Options, see Enabling SSLv3 on HTTP.

• Enable TLS must be selected on the HTTP Server and Client.

• If you are using DH and ECDH Ciphers then you will need to generate your own certificates. For
information on Generating Server Certificates, see Appendix B.

• For details about each field in the wizard for Applications Details, see Section 8.2.2.2.1.

• For more information on creating a TLS Configuration item, see Chapter 9, Section 9.3.13.

1. Select the Enable TLS check box.

© Copyright 2018 TeraVM Java Client User Guide Page 178


Aeroflex Limited. All
rights reserved.
8.2.2.2.1.2. Adding a Cipher List

2. From the drop-down menu select Custom Configuration.

3. In the TLS Configuration field, click the browse button.

© Copyright 2018 TeraVM Java Client User Guide Page 179


Aeroflex Limited. All
rights reserved.
8.2.2.2.1.2. Adding a Cipher List

4. From the Choose from Selection field, double-click the Cipher List you want to use for your
configuration. The select TLS Configuration item closes.

5. If there is no Cipher List for you to select, then click Add.... The Add TLS Configuration dialog is
displayed.

Figure 8-26. Add TLS Configuration

6. Under the Cipher Suites tab select the Version required. You can limit the list of Ciphers by entering
text into the Available Cipher Suites search field, the previous figure uses ECDHE as an example.

7. Select the List of Ciphers required from the left side column, use the >> button to move them to the List
of Selected Cipher Suites.

8. Enter the Name of the TLS Configuration. This field can be 1-255 characters long where the valid
characters are from the set: 'a-zA-Z0-9 .{}<>[]()@#&*%_+=!-'

9. Click OK and return to the Add New HTTP Client Wizard dialog.

10. In the Certificates Configuration field, click the […] browse button and locate the required certificate
and key file.

11. Continue to configure your HTTP Client Application as normal.

© Copyright 2018 TeraVM Java Client User Guide Page 180


Aeroflex Limited. All
rights reserved.
8.2.2.2.1.3. Advanced TCP

8.2.2.2.1.3. Advanced TCP


A TCP characteristics profile can be associated with an HTTP client. This will control the client application's
use of certain TCP connection functionality such as TCP Window Size, Buffer Size, MTU and so on. It is
also possible to associate a TCP connection rate limiter with a HTTP client. This will limit the number of
attempted TCP connections on, for example, a per second basis.
These settings are configured or previously configured options can be selected using the Advanced TCP
button.

Figure 8-27. HTTP Client Advanced TCP Settings Dialog

Click on the Add button beside the TCP Characteristics and Connection Rate Limit fields in the
Advanced TCP Settings Selection dialog. TCP and Rate Limiting Configuration is dealt with in more detail
in Chapter 11, Test Case Configurations.
All the Advanced TCP and Rate Limiting Settings that are configured are displayed in the Configuration
Panel in individual configuration folders for the Test Group that contains this HTTP application, as shown:

Figure 8-28. HTTP - TCP and Rate Limiting Configuration

© Copyright 2018 TeraVM Java Client User Guide Page 181


Aeroflex Limited. All
rights reserved.
8.2.2.2.2. Server Details

8.2.2.2.2. Server Details


The following Server Details dialog is displayed for provisioning the HTTP Client application. When the
Resolve Requests with Test Agent DNS, option is selected, as highlighted in the following figure, a default
HTTP server still needs to be configured, however, the requests will be sent to the IP address obtained from
the DNS query.

Figure 8-29. HTTP Client Server Details

HTTP and HTTPS Redirects

The HTTP client can switch between TLS and plain HTTP connections, according to the scheme found in
redirections or in the specified Request List. The following examples show the Request List and how the
Request List scheme operates.

© Copyright 2018 TeraVM Java Client User Guide Page 182


Aeroflex Limited. All
rights reserved.
8.2.2.2.2. Server Details

Figure 8-30. HTTP Request List Selection

You must specify absolute Request-URI in the request list whenever a change from/to HTTP/HTTPS is
required. On requests that do not contain this scheme, the current one will be maintained.

Figure 8-31. HTTP Request List Properties

Example of Request List Scheme

• /page1.html Request would be sent to the host configured for the client, using HTTPS if the client is
configured to do so.

© Copyright 2018 TeraVM Java Client User Guide Page 183


Aeroflex Limited. All
rights reserved.
8.2.2.2.2.1. HTTP Client Server Details Advanced
Settings

• https://1.2.3.4/page2.html For the second one the client would connect to 1.2.3.4 on standard https
port 443, if not there already.

• /page3.html request will always go to same port as previous one.

• http://1.2.3.4/page4.html Fourth request switches the client to using plain HTTP on 1.2.3.4 at port 80.

• Second time the /page1.html request is reached it will go to the plain HTTP port since it is the last one
used and this request contains only a relative URI (a "path").

Note
When reaching the first request (/page1.html) for the second time, there will be a reconnection even if
the scheme/host/port does not change

The following server information is required for provisioning a client:


Table 8-25. HTTP Client Server Details

Field Description Validation

Server Select a TeraVM External HTTP server or General Required. When provisioning more than
External Application with which the HTTP client will 1 Application, or when the Configure As
communicate. Refer to the section on Provisioning a field is set to "Scaled Entity" more than one
HTTP Server Application. Server can be selected.

Proxy Select an External HTTP Proxy Server Application with When provisioning more than 1
which the HTTP client will communicate with the server. Application, or when the Configure As
Refer to the section on Provisioning an External HTTP field is set to "Scaled Entity" more than
Proxy Server Application. one Proxy can be selected. If any of the
selected HTTP Servers is dynamic, it will
not be possible to set a Proxy and the field
will be grayed out.

HTTP Version Version of HTTP. Either 0.9, 1.0 or 1.1. Default is 1.1

Requested List A list of requests to be sent by the Client to the Server. When you click on the <...>button beside
Each request consists of a Request Method and a URI. the Request List field, the Request List
Selection dialog is displayed, see HTTP
and HTTPS Redirects. Select from a
previously configured request list a or refer
to the section on HTTP Request Lists
in the Test Case Configuration for more
details on adding new request list.

Resolve Requests with Enable check box if DNS queries based on the host name Default value: False. Mandatory.
Test Agent DNS should be performed. The DNS server is configurable
NOTE: When enabled an HTTP server
under the DNS tab in the Chapter 9, Section 9.2.1 Test
still needs to be configured, however, the
Agent Configuration.
requests will be sent to the IP address
obtained from the DNS query.

8.2.2.2.2.1. HTTP Client Server Details Advanced Settings


By clicking on the Advanced button in the Server Details step of the wizard, the following dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 184


Aeroflex Limited. All
rights reserved.
8.2.2.2.2.1.1. HTTP Authentication Configuration

Figure 8-32. HTTP Authentication Details

This dialog is used to enter details for the following items:

• Authentication

• Keyword Substitution

• Headers

• ACWS

8.2.2.2.2.1.1. HTTP Authentication Configuration


The Authentication tab displays the following Authentication Details dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 185


Aeroflex Limited. All
rights reserved.
8.2.2.2.2.1.2. Keyword Substitution

Figure 8-33. HTTP Authentication Details

Table 8-26. HTTP Client Authentication Details

Field Description Validation

Username Username to be used if the server requires authentication. String value between 1 and 64 characters
in length.

Password Password to be used if the server requires authentication. Optional. String value between 1 and 64
characters in length.

Use Initial Authentication When disabled, an unauthenticated request will always Default is disabled.
be sent first to the Server. The client will only resend
the request with authentication if the Server replies with
a 401 code. If enabled, the client will always send the
authentication information in the request, regardless of
whether or not the server has requested it.

8.2.2.2.2.1.2. Keyword Substitution


To avoid the need for specifying very large lists of Requests (URLs), you can vary elements of an individual
URL each time the HTTP client uses the URL.

Keyword Substitution enables special keywords to be substituted in both HTTP Request's URLs and in the
Body of a HTTP Header Field associated with the HTTP Client. The following dialog is displayed when the
Keyword Substitution tab is selected. A definition of all supported keywords is provided in the description
of HTTP Requests in the next topic.

© Copyright 2018 TeraVM Java Client User Guide Page 186


Aeroflex Limited. All
rights reserved.
8.2.2.2.2.1.3. Headers

Figure 8-34. HTTP Keyword Substitution

Table 8-27. HTTP Client Keyword Substitution Details

Field Description Validation

Enable Keyword Enables special keywords in both HTTP Request's URLs Default is disabled.
Substitution and in the Body of HTTP Header Fields associated with
this HTTP Client.

8.2.2.2.2.1.3. Headers
This dialog enables you to add a Header Field List containing a list of HTTP headers used in all client
requests.
Table 8-28. HTTP Client Headers Details

Field Description Validation

Header Field List A HTTP Header Field list configuration item containing the Optional. Available only for HTTP version
list of HTTP headers used in all the client's requests. > 0.9. When you click on the <...>button
beside the Headers Field List field, the
Header List Selection dialog is displayed.
Select from a previously configured Header
List list or refer to the section on HTTP
Headers Lists in Chapter 11 - Test Case
Configuration for more details.

© Copyright 2018 TeraVM Java Client User Guide Page 187


Aeroflex Limited. All
rights reserved.
8.2.2.2.2.1.4. ACWS

8.2.2.2.2.1.4. ACWS
At this tab, you can add specific information into a set of headers used in client requests. The information is
part of Anyconnect Web Security support to enable a https connection to a Cisco Cloud Web Service.
Table 8-29. HTTP Client ACWS Headers Details

Field Description Validation

Enable ACWS Support Enables the Cisco AnyConnect Web Security (ACWS) Deselected by default. If selected, all the
support. other fields are mandatory.

Username Identifies the user in a network. Length range from 1 to 255. Valid
characters: a-zA-Z0-9 .{}<>[]()@#&*%_+=!-
Default: none. Scalable

Usergroup(s) Identifies a group of people within an organization String, with a length range from 1 to 255.
(Windows Domain Name/User-Group). Valid chars: a-zA-Z0-9 .{}<>[]()@#&*%_
+=!- Default value: none. Scalable

License Key Used to encrypt the information into the HTTP Headers. String, with a length range from 1 to 255.
Default value: none

Agent Version Version of the ACWS software being used String, with a length range from 1 to 255.
Valid chars: a-zA-Z0-9 .{}<>[]()@#&*%_
+=!- Default value: none

8.2.2.2.3. Connection Details


The Connection Details step in the Add HTTP Client wizard controls the behavior of the TCP Connection.

The following information is required for the Connection Details dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 188


Aeroflex Limited. All
rights reserved.
8.2.2.2.3. Connection Details

Figure 8-35. HTTP Client Connection Details

Note
the fields that are editable depend upon the HTTP Version selected in the previous Server Details
dialog. For example, selecting HTTP/1.1 would allow you to edit all the fields except those options
applicable only to HTTP/2.

Table 8-30. HTTP Connection Details

Field Description Validation

No. of Requests Per Number of HTTP requests issued in a Only applicable if the versions are HTTP/1.1 or HTTP/2. Can
Connection single TCP connection. have an integer value in the range 1 - 100. It can also be a
profile with min and max values within this range. Default is 1.
When Resolve Requests with Test
Agent DNS is enabled, the HTTP client
will perform the No. of Requests Per

© Copyright 2018 TeraVM Java Client User Guide Page 189


Aeroflex Limited. All
rights reserved.
8.2.2.2.3.1. Advanced Connection Settings

Field Description Validation


Connection on the same connection.
However, if there are not enough
subsequent requests pointing to the
same server, a new connection will
have to be established before this
maximum is reached.

Delay Between Requests Delay in milliseconds between each Only applicable if the version of HTTP/1.1 or HTTP/2 or and
method issued in a TCP connection. the number of requests is > 1 (since 1.1 is the only version
that supports multiple requests per connection. Can be value
in the range 0 - 600,000 (ms). It can also be a profile with min
and max values within this range. Default is 0 indicating no
delay. Supported metrics are ms, sec and min with ms as the
default.

Delay Between Delay in milliseconds between each Can be value in the range 0 - 600,000 (ms). It can also be a
Connections TCP connection created. profile with min and max values within this range. Default is 0
indicating no delay. Supported metrics are ms, sec and min
with ms as the default.

Connection Close Timer Time to wait before closing the Optional value. Integer or profile. Value checks: between 0
connection after all data has been and 2145600000 ms (596 hours) Default: 0 Dependencies:
received. only if http/1.1 or http/2 is used.

Max Concurrent Streams Maximum number of concurrent Mandatory value. Integer or profile. Default value is 5. Value
streams. Only applicable if HTTP/2 is checks between 1 and 100. Only applicable if HTTP/2 is used.
used.

Stream Weight Weight (or priority) of the stream as Optional value. Integer or profile. Value checks 0 <= weight
defined RFC 7540. Only applicable if <= 255. Default value not set. Only applicable if HTTP/2 is
HTTP/2 is used. used.

8.2.2.2.3.1. Advanced Connection Settings


By clicking on the Advanced button on the Connection Details dialog, you can set advanced connection
parameters.

Use the checkboxes to enabled or disable the following settings:


Table 8-31. HTTP Advanced Connection Details

Field Description Validation

Ignore Redirects Allow HTTP redirects to be ignored. Only applicable for HTTP/1.0 and HTTP/1.1. Default is
Disabled..

Close Connection with Terminate the HTTP Connection with a reset. Only applies to HTTP version 1.1. Default is Disabled..
Reset

8.2.2.2.4. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.

© Copyright 2018 TeraVM Java Client User Guide Page 190


Aeroflex Limited. All
rights reserved.
8.2.2.3. Provisioning an External HTTP Server
Application

Table 8-32. Add New HTTP Client - Additional Configuration

Field Description Validation

Enable HTTP Response Collection of the Response Codes. Default is disabled as it takes up valuable
Code Statistics processing time. If required, then only enable for
a small number of applications.

8.2.2.3. Provisioning an External HTTP Server Application


If a test requires a real TeraVM Web Server, then you must use this application.
The following wizard is used to provision the External HTTP Server Application:

Figure 8-36. Add new External HTTP Application Server

8.2.2.3.1. Application Details


The following information is required for an External HTTP Server Application Details.
Table 8-33. External HTTP Server Application Fields

Field Description Validation

Name Unique name identifying the External HTTP server Mandatory. String value between 1 and
application. 255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 191


Aeroflex Limited. All
rights reserved.
8.2.2.3.2. External Server Properties

Field Description Validation

Description Description for the external server application. String value between 1 and 512 characters
in length. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

TCP Port The TCP Port on which the external server application will Integer value between 0 and 65535.
listen for TCP connections Default is 80.

ToS/DiffServ Quality of Service metric for the external server Mandatory. Integer value between 0 and
application. 255. Default is 0.

8.2.2.3.2. External Server Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM. Some of the information stored via this property sheet could include,
for example:

• Version - the version of HTTP supported by this External HTTP Server.

• URL List: a list of "pages" available on this External HTTP Server

To enter a Property/Name value pair, click the <Add> button on this page, and the Add Property Value
dialog is displayed:

Enter a Name/Value pair and click on the <OK> button.

8.2.2.4. Provisioning an External HTTP Proxy Server Application


The HTTP Client can make its request via a Proxy Server. This proxy server will either service the request or
pass it to the HTTP Server specified in the request.

Follow the exact same procedure in TeraVM as for the External HTTP Server Application. The only
difference in the configuration is the proxy server does not have a ToS/DiffServ parameter.

Note
The request string does not represent the full request sent to the Proxy Server.

8.2.3. HTTP Adaptive Bit Rate


Over-the-Top delivery systems and Content Delivery Networks are evolving rapidly resulting in more video
being delivered to a greater number of consumer devices including TV, Smart Phones and Tablets, with
various screen resolutions, frame sizes and frame rates. Testing performance on an adaptive streaming
delivery solution is a complex challenge, requiring content delivery mechanisms to be dynamically altered to
emulate various test scenarios with a range of device types and network bandwidths and conditions.

© Copyright 2018 TeraVM Java Client User Guide Page 192


Aeroflex Limited. All
rights reserved.
8.2.3.1. Overview

8.2.3.1. Overview
TeraVM supports the testing of HTTP adaptive streaming with a dedicated HTTP Adapter Bit Rate Client
application. This application is easily configurable to emulate a range of media devices, enabling you to test
common OTT streaming methods including Adobe’s HTTP Dynamic Streaming (HDS), Microsoft’s Silverlight
(Smooth) and Apple's HTTP Live Streaming (HLS).

Each TeraVM media client can be configured to consume the appropriate Manifest file or Playlist, download
the appropriate media file fragments, report on statistics on a per-flow basis and choose an adaptive
strategy that is, appropriate to specific device types.

Testing OTT video using the TeraVM ‘per flow’ strategy enables you to measure performance of the
incoming content on a per request basis. A range of performance measurements including server timing
responses, accurate playback of the correct video source and download speeds can be accurately analyzed
for OTT adaptive video streams.

Figure 8-37. OTT Testing with TeraVM

The TeraVM HTTP Adaptive Bit Rate Client fully supports the following features:

• Ability to ingest a list of URLs, each of which can be assigned to an individual virtual client or shared.

• Full redirect support with CNAME

• Cookie/URL-token-based support

• Adjustable client buffer when streaming the various formats

• Support for a range of devices including Android, iPad, iPod, iPhone (IOS), MacBook and Internet
Explorer clients with preconfigured templates.

• Random data generation using dynamic HTTP files

• ‘Per flow’ performance measurements on a per device, per request, basis

• Connectivity to a range of third party adaptive streaming servers

© Copyright 2018 TeraVM Java Client User Guide Page 193


Aeroflex Limited. All
rights reserved.
8.2.3.2. Designing a Testing Strategy

• Emulation of adaptive rate changes and bandwidths

• Dynamic user profile creation

• Per request ‘Get Time’ response measurements

8.2.3.2. Designing a Testing Strategy


The testing of a dynamic environment, such as OTT media streaming, requires individual emulated test
end-points which can adapt to the varying network path conditions that each is experiencing and request
an appropriate video rate suitable for the prevailing conditions. Performance is a correlation of the received
media’s quality and the performance of the underlying network infrastructure delivering the content. Testing
the quality of the HTTP adaptive streaming environment needs to be end-to-end with a focus on a ‘per
individual’ end-point basis which is effectively provided by the TeraVM solutions. Part of any test strategy for
the analysis of a HTTP adaptive streaming server should include:

• Measurement of performance under varying load conditions.

• Defining the limitations of the server under extreme load conditions will help in planning load capacity
for frame rate switchover requests from the client side end-points.

• Varying the end-point buffer sizes by testing various buffer sizes operators can examine the impact on
quality if the fixed key frame size is to vary from video to video.

• Assess the mitigation functionally. Initial testing will provide an indication to the maximum number of
switchover requests a server may handle. Further security investigations should include generating
multiple switchover requests, from a single end-point, faster than the server can respond to.

• Accessing how the server deals with routine DDoS attacks.

8.2.3.2.1. Test Selection Options


The TeraVM HTTP Adaptive Bit Rate Client is a versatile tool which enables the following items to be
adapted in order to emulate a range of media streaming options and conditions and also to vary the
conditions of the underlying network infrastructure delivering the content.

8.2.3.2.1.1. Client Types


The following types of OTT streaming clients can be emulated by the client:

• Apple HLS

• Adobe Flash HDS

• Microsoft Smooth Streaming

Apple HLS

TeraVM’s HTTP Adapter Bit Rate Client for HLS is fully compliant to consume any media defined in a
Playlist.

The HLS client player takes the initial URL it is configured to download and attempts to stream HLS media
as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 194


Aeroflex Limited. All
rights reserved.
8.2.3.2.1.2. Stream Selection

1. The client downloads the Variant Playlist File which will list one or more Playlist files, each for a specific
bandwidth.

2. In the Variant Playlist file, the HLS media client parses each #EXT-X-STREAM-INF: tag to identify the
Playlist file. The URI for that Playlist file is specified on the next line

3. The client then selects an appropriate Playlist file and downloads this file.

4. The client downloads each media segment described in the Playlist file in the order specified.

5. When all media segments are downloaded the media streaming is complete.

6. The HLS client moves on to the next iteration of media streaming.

Each Variant Playlist and Playlist file must be an Extended M3U Playlist file. If the files do not start with the
#EXTM3U tag, the HLS client will terminate the session.

Both Live Video and Video On Demand (VOD) are supported where the varying quality levels are consumed
by the HLS client by reacting to any network congestion or by defining a Profile of Quality levels. The HLS
client does not decrypt the media.

Microsoft Silverlight Smooth

TeraVM supports Microsoft Smooth streaming in a similar manner to the HLS support as described above.

Adobe HDS

TeraVM supports Adobe HDS streaming for Video On Demand (VOD) content over standard HTTP
connections.

Live delivery is not currently supported as it uses Adobe Flash Media Server streaming workflows supporting
Real Time Messaging Protocol (RTMP).

8.2.3.2.1.2. Stream Selection


Once the OTT Streaming Application downloads the initial Manifest it must then select a stream from the list.
This selection can be made in the client with the following options:
Table 8-34. Streaming Selection

Stream Description

First in Manifest The first entry in the Manifest is selected.

Lowest Bit Rate The entry with lowest bit rate is selected.

Highest Bit Rate The entry with highest bit rate is selected.

Level Quality The client orders the list based on bit rates and selects that entry from the list. If the
number exceeds the number of entries in the Manifest then the highest bit rate is
selected.

Bit Rate The stream which is closest to that bit rate and bit rate. If none of the advertised bit rates
satisfy that criteria then select the stream with the lowest bit rate.

8.2.3.2.1.3. Session Duration


The following options are available in the client for controlling the durations of OTT streaming sessions.

© Copyright 2018 TeraVM Java Client User Guide Page 195


Aeroflex Limited. All
rights reserved.
8.2.3.2.1.4. Monitoring Methods for Adaptive
Streaming

Table 8-35. Session Duration

Duration Control Description

Session Duration The duration of an OTT session. If not specified the OTT client will not terminate the
session.

Delay between Sessions This is the delay before attempting the next session. Note that this field is not dependent
on Session Duration being enabled. A session can end if no more fragments are
available to stream and this parameter will determine the delay before next OTT session.

8.2.3.2.1.4. Monitoring Methods for Adaptive Streaming


Adaptive Streaming is a central component of OTT streaming. The streaming client can stream the same
media resource at a number of varying bit rates, each detailed in the original Manifest. This allows the
stream to continue streaming the same resource whilst reacting to network conditions as it can adapt or
switch during the session. It also allows the client to determine what is the optimal stream based on its local
conditions.

The HTTP Adaptive Bit Rate client supports the following methods for monitoring the stream for making
adaptive changes
Table 8-36. Session Duration

Method Description

GET Time The time taken to download a fragment is compared with the duration as configured in
the Manifest or an alternate configuration.

Bit Rate The bit rate for downloading a media segment is compared with the bit rate as configured
in the Manifest.

Quality Level Change List The quality level changes are can be configured in TeraVM.

Both the GET Time and Bit Rate adaptive streaming algorithms will monitor the download of each fragment
and determine if an adaptive streaming change is required once that fragment has been downloaded.

A download percentage is calculated for each media fragment and compared against the Shift UP/DOWN
percentages as follows:

• GET time percentage = (Fragment download GET time/Media Duration as specified in the Playlist) *
100.

• Bit Rate percentage = (Bit rate for downloading Fragment/Bit rate for that Playlist in the Manifest) * 100.

Refer to the section on Streaming Details. All of the streams are ordered within TeraVM on increasing order
of bandwidth. The OTT client will move up or down the streams by requesting fragments from a higher or
lower bit rate. These changes are either the result of user directed changes or a reaction to the download of
a fragment if monitoring the GET Time or Bit rate.

If the download percentage is below the Shift UP percentage then downloading is faster than the video is
being consumed and the client can try to up shift to the next highest stream in the ordered list.

If the download percentage is above the Shift DOWN percentage then the video may not be streaming at a
sufficient rate to maintain the bit rate and will downshift to the next lowest stream.

If there is no higher stream available for up shift, the OTT client continues with the current stream. Similarly
if no lower stream is available for down shift, then the OTT client continues with the current stream.

© Copyright 2018 TeraVM Java Client User Guide Page 196


Aeroflex Limited. All
rights reserved.
8.2.3.2.1.5. Playout Buffer

A list of adaptive changes can be configured along with an interval or list of intervals between each change.
The adaptive changes are configured as follows:
Table 8-37. Adaptive Changes

Quality Level Description

Lowest Quality Level Select the lowest bit rate that is, available.

Quality Level Select the stream to select based on its bit rate order. If the value exceeds the number
present in the Manifest file then the highest media stream is selected.

Shift Up n Quality Levels Shift up to a higher level stream by the number of steps defined.

Shift Down n Quality Levels Shift down to a lower level stream by the number of steps defined.

Highest Quality Level Select the highest bit rate that is, available.

Each adaptive change will only be made when download of a Media Fragment has completed.

8.2.3.2.1.5. Playout Buffer


The TeraVM OTT client supports a playout buffer which contains downloaded media for playout that can be
used if any temporary delays occur in the OTT stream. A playout buffer downloads a number of fragments to
fill the buffer and then subsequently downloads fragments on an ‘as needed’ basis.

The playout buffer size is specified as a time duration typically in a number of seconds rather than the
number of fragments, as it is not always possible to know the fragment size before the session begins. Also,
ultimately it is the number of seconds delay that a playout buffer introduces that is, of most concern to a
user.

In order to implement the playout buffer, the OTT client must know the media playtime duration of the
downloaded fragment. How this is determined is dependent on the client type. Typically, it is present in the
Manifest but may also be encoded as an attribute in the Fragment itself.

If enabled, the playout buffer first downloads the number of fragments required to fill the buffer. At this point
the buffer is considered to have started playing. The current play time simply advances with elapsed time.
The buffer is considered to be empty if the current playtime exceeds the start play time plus the media
duration of all the currently downloaded fragments. The playout buffer will attempt to keep the buffer full by
downloading fragments as required. that is, , it sets a timer after which the buffer size will drop below the
playout size cushion. At this point it will download a fragment and should keep the buffer full.

If no playout buffer is enabled, you can configure the following options:

• No delay between fragments so downloading is done as quickly as possible.

• Specify a delay between fragment downloads.

• Download fragments at fragment duration intervals. So if fragment contains 10 seconds of media and
downloads in 1 second, the next download will occur at 9 seconds.

8.2.3.2.1.6. DNS Resolution


The TeraVM OTT client supports the resolution of host names to IP addresses for the initial GET request for
the Manifest.

© Copyright 2018 TeraVM Java Client User Guide Page 197


Aeroflex Limited. All
rights reserved.
8.2.3.2.1.7. Redirection of Streaming Clients

The IP address of the HTTP initial request is in the ‘Host’ value in the Header Field list. A DNS Resolver is
configured to resolve any such host names.

TeraVM DNS configuration settings enable you to emulate DNS requests using real applications. TeraVM’s
emulated DNS requests are fully stateful and operate with third party DNS relays.

8.2.3.2.1.7. Redirection of Streaming Clients


OTT client supports redirection responses to any GET request. They are frequently used to offload
streaming clients to other servers. Also, if a DNS resolver is configured, the host name to where the client is
redirected will be resolved to an IP address. Redirection requires no configuration.

8.2.3.2.1.8. Cookie Support


Cookie support can be enabled on the HTTP Adaptive Bit Rate client to allow the client to remember the last
cookie it encountered.

8.2.3.2.1.9. Live and On-demand Selection


The client supports both Live and On-demandOTT for HLS and Smooth streaming. The type of streaming is
not identifiable to the client until the Manifest is downloaded for the media resource for the stream. The main
difference between both type of streaming is that once all the fragments identified in the initial Manifest are
downloaded for a live stream, the client must either download a new Manifest or identify the next fragment
from information available by decoding the previous fragments.

8.2.3.3. Setting up an OTT Test


TeraVM delivers real world proof of concept by emulating the most realistic OTT streaming environment
which can represent actual deployments of several thousand of individual OTT clients. OTT testing requires
the configuration of multiple TeraVM HTTP Adaptive Bit Rate Clients and either a third party or internal
TeraVM OTT streaming source.

8.2.3.3.1. Downloading Live and On-Demand Media Fragments


Using OTT, media being delivered is split into multiple fragments. Each fragment contains a few seconds of
media and can be downloaded individually. The use of HTTP and multiple fragments simplifies the media
delivery and also allows fragments to be cached using the existing HTTP caching mechanisms.

Typically, fragments are made available at different bit rates. A Manifest file is first downloaded by the
TeraVM HTTP Adaptive Bit Rate Client specifying the bit rates. The client can then select or change the rate
depending on its requirements. This allows a wide range of devices to stream the same media as they can
select or adapt to the bit rate that is appropriate to their circumstances.

The protocols for the delivery of OTT media vary depending on the media vendor. They all follow the
same principals with a client first downloading a Manifest file, selecting a stream and then downloading
the fragments. All three streaming methods supported by TeraVM (HLS, HDS and Smooth) use HTTP
for downloading the manifest files and fragments. They first require the client to download a Manifest
file describing the media. With Smooth, the manifest is an XML file and contains information required to
download the fragments. HLS requires another file specifying the list of fragments to be downloaded.

© Copyright 2018 TeraVM Java Client User Guide Page 198


Aeroflex Limited. All
rights reserved.
8.2.3.3.2. Test Prerequisites

HDS specifies an MPEG-4 bootstrap file that must be downloaded in order to identify the fragments to
be downloaded. Once the client has the necessary information it can proceed to download the media
fragments.
All of the methods support both live and on-demand streaming. With live streaming new fragments are
constantly being generated and made available for download. With HLS and HDS an updated Manifest
file or Bootstrap file must be re-downloaded in order to identify the new fragments. (Note: Adode HDS live
streaming is not currently supported in TeraVM) With Smooth, timing information in an existing fragment
should allow name of the next fragment to be constructed to allow it be downloaded.
It is not necessary for a client to know if a stream is live or on-demand before it begins streaming. Normally
the client can identify a live stream using attributes in the Manifest file that it downloads from the server.
These attributes are dependent on the streaming method.

8.2.3.3.2. Test Prerequisites


The following TeraVM and network setup are required for testing OTT adaptive streaming:
• PC installed with a Web browser and the TeraVM GUI client
• TeraVM chassis with unique IP address (Refer to the TeraVM Getting Started Guide for
recommendations)
• Network connection between PC and the TeraVM system
• Third party video streaming server or TeraVM HTTP Server Application.
For testing, TeraVM splits the traffic flow into two distinct parts
• layer 2-3 configuration item or ‘Host’, and,
• layer 4-7 configuration or ‘Application’.
A Host represents a unique node in the network with its own Layer 2 attributes (Ethernet MAC address,
VLAN tagging, L2 Point-to-Point configuration, etc) and Layer 3 attributes (IP address, subnet mask,
gateway address, and so on.)
TeraVM Applications run on Hosts in exactly the same way that real-world software applications run on
machines. For example, a browser running on a PC would be represented in TeraVM as a HTTP client
application running on a Host or a media player on an iPad would be represented in TeraVM as a HTTP
Adaptive Bit Rate client application running on a Host.

Note
It is recommended for OTT that only one IP address is used per application and that no more than 1.2
Gb per packet processor (test card) that the host is assigned to.

8.2.3.3.3. Video Stream Sourcing


There are two options available for sourcing video streams for testing OTT:
• Using a third party video streaming server, or

© Copyright 2018 TeraVM Java Client User Guide Page 199


Aeroflex Limited. All
rights reserved.
8.2.3.4. Configuring OTT Test Elements

• Back to back testing using a TeraVM HTTP Server.

8.2.3.4. Configuring OTT Test Elements


OTT test are configured and executed in the TeraVM GUI.

Figure 8-38. TeraVM GUI

This section outlines the steps and procedures required in setting up and executing an OTT test. For a more
detailed description of GUI operation, refer to the TeraVM User Guide. The following steps are required
to set up and execute an OTT test for a single device. All steps are performed in the TeraVM GUI unless
otherwise specified.

• Set up a Test Folder and Test Groups for the OTT tests.

• Configure a TeraVM gateway for the media device to connect to the network. The gateway is the first
hop or entry point of the virtual endpoint into the network.

– Configure an External Host

– Configure an External HTTP Server Gateway application to run on this host

• Configure a virtual TeraVM media device (for example, iPhone or iPad)

– Configure an External Host

– Configure an External HTTP Server Gateway application to run on this host

© Copyright 2018 TeraVM Java Client User Guide Page 200


Aeroflex Limited. All
rights reserved.
8.2.3.4. Configuring OTT Test Elements

Note
There is no requirement for an HTTP Adaptive Bit Rate Client Server application as the HTTP
Adaptive Bit Rate Client interacts with HTTP servers.

• Configure the media streaming resource server.

– If using a third part media streaming , configure an External Gateway host or use the previously
configured external host and use the IP Address of the external server.

– If doing an internal back-to-back test, configure a Virtual Host and a HTTP Server application to run
on this host that holds a media resource file.

• Set up the testing thresholds for Applications, Hosts, Nodes and/or Aggregate Statistics. Thresholds are
monitoring algorithms that can be added to an emulated application flow to allows you to filter out key
information from large amounts of statistical data during live test runs.

• Run the Test Group

The test can be paused and stopped at any time.

• Analyze Performance Results You can review performance on a number of entities at an application
level, host level, or port level during a live test. Results may display with per second granularity.

Additional DNS settings are configured in a dedicated management web page.

Figure 8-39. Adaptive Bit Rate Test Configuration with External Streaming

© Copyright 2018 TeraVM Java Client User Guide Page 201


Aeroflex Limited. All
rights reserved.
8.2.3.5. Creating an External Gateway

Figure 8-40. Adaptive Bit Rate Test Configuration for Back-to-Back Testing

8.2.3.5. Creating an External Gateway


An external gateway is required to connect the virtual media device to the network. To set up a gateway:

1. Configure an External Host.

2. Configure an External HTTP Server Gateway application to run on this host.

8.2.3.5.1. Configuring an External Host


In the TeraVM GUI:

1. Select the Host tab.

2. Click on the Add New Host icon. The Add New Host wizard is opened. The following categories of
information are required for host configuration:

• General Detail

• Optional parameters

© Copyright 2018 TeraVM Java Client User Guide Page 202


Aeroflex Limited. All
rights reserved.
8.2.3.5.2. Configure an External HTTP Server
Application

Figure 8-41. Adaptive Bit Rate Test Configuration for Back-to-Back Testing: Configure an External Host

See General Details - External Host in the User Guide to find out how to configure an external host.

8.2.3.5.2. Configure an External HTTP Server Application


In the TeraVM GUI:

1. Select the Application tab.

2. Click on the Add New Application icon.

3. Select the HTTP -> External HTTP Server application from the menu.

© Copyright 2018 TeraVM Java Client User Guide Page 203


Aeroflex Limited. All
rights reserved.
8.2.3.5.2. Configure an External HTTP Server
Application

Figure 8-42. Adaptive Bit Rate Test Configuration for Back-to-Back Testing: Configure an External HTTP
Server Application

The Add New External HTTP Server wizard is opened. The wizard provides the following configuration
dialogs for this application:

• Configure External Server

• External Properties

© Copyright 2018 TeraVM Java Client User Guide Page 204


Aeroflex Limited. All
rights reserved.
8.2.3.6. Configuring an Adaptive Bit Rate Client
Application

Figure 8-43. Adaptive Bit Rate Test Configuration for Back-to-Back Testing: External HTTP Server
Application Configuration Wizard

See IP Applications,Provisioning an External HTTP Server Application in the User Guide to find out
how to configure the External HTTP Server Application.

8.2.3.6. Configuring an Adaptive Bit Rate Client Application


In the TeraVM GUI:

1. Select the Application tab.

2. Left mouse click on the Add New Application icon.

© Copyright 2018 TeraVM Java Client User Guide Page 205


Aeroflex Limited. All
rights reserved.
8.2.3.6.1. Application Details

Figure 8-44. Adaptive Bit Rate Test Configuration: Open the Adaptive Bit Rate Client Application

The New Adaptive Bit Rate Client Application wizard is displayed. The following categories of information
are required for configuring this client application:

• Application Details

• Client

• Streaming

• Session

• Additional

8.2.3.6.1. Application Details


The Application Details dialog is displayed as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 206


Aeroflex Limited. All
rights reserved.
8.2.3.6.1. Application Details

Figure 8-45. Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Application Details

Configure the Application details for the client as follows:


Table 8-38. Adaptive Bit Rate Client: Application Details

Field Description

No. of Clients For a single device set as 1.

Configure as Select Single App Per Row to set up an initial test. Refer to the section 10.3. Scaled
Provisioning of Client Applications of the User Guide to see details of other options for
scaling test scenarios.

Name Enter a unique name identifying the application, for example, iPhone.

Description Add a description, if required. For example, iPhone_OS4

Host Select a previously configured virtual host on which run the application or create a new
host. Refer to the section on Configuring a Virtual Host in the User Guide.

Client Type Select from one of the following types of OTT streaming clients to emulate. Options are:
• Apple HLS

© Copyright 2018 TeraVM Java Client User Guide Page 207


Aeroflex Limited. All
rights reserved.
8.2.3.6.1.1. Advanced TCP Configuration

Field Description
• Adobe Flash HDS
• Microsoft Smooth Streaming

ToS/DiffServ Quality of Service metric for the client. Leave blank unless otherwise required.

Advanced settings for TCP can be configured by clicking on the Advanced TCP… button.

8.2.3.6.1.1. Advanced TCP Configuration


The following dialog is displayed for advanced TCP settings:

Figure 8-46. Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Application Details: TCP
Settings.

Configure the following TCP characteristics if required:


Table 8-39. Adaptive Bit Rate Client: Application Details - Advanced TCP

Field Description

TCP Characteristics TCP Characteristics to use.

Connection Rate Limit Connection Rate Limit to use.

8.2.3.6.2. Server Details


This dialog enables you to select and provide details of the Server that the client will communicate with.

© Copyright 2018 TeraVM Java Client User Guide Page 208


Aeroflex Limited. All
rights reserved.
8.2.3.6.2. Server Details

Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Client Details: TCP Settings.

The following details can be configured in this dialog:


Table 8-40. Adaptive Bit Rate Client: Client Details

Field Description

HTTP Server Select the HTTP Server from which to start the OTT session. This can be an external
server using the IP address of the gateway when using DNS. This server can be
configured here if not previously configured. (Refer to the section on Configuring an
External HTTP Server Application).

HTTP Proxy Select a HTTP Proxy server if used.

HTTP Version Select the HTTP Version from the following options:
• 1.1
• 1.0
• 0.9

Manifest Request List Select or create a Manifest List which contains a list of paths identifying manifest files
on the third party or HTTP server. These paths are used by the client to request media
streams.

© Copyright 2018 TeraVM Java Client User Guide Page 209


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.1. Creating a HTTP Request List

Field Description
To select or create a list, click on the […] button. Refer to the section below on selecting
or creating a Request List.

Click on the Advanced HTTP… button to configure advanced HTTP details.

8.2.3.6.2.1. Creating a HTTP Request List


To select or create a list:

1. Click on the […] button beside the Manifest Request List field in the Server Details dialog of the HTTP
Adaptive Bit Rate Client Application wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 210


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.1. Creating a HTTP Request List

Figure 8-47. Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Server Details: HTTP
Request List.

2. Select a previously configured list or click on the Add button to create a new one. The Add Request
Dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 211


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.1. Creating a HTTP Request List

Figure 8-48. Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Server Details: Add
HTTP Request List.

3. Enter a meaningful name for the list, for example Apple_Get.

4. Choose the Selection Mode type. (Refer to the TeraVM User Guide for more details in relation to this
setting)

5. Click on the Add button to add requests to the list. The Add Request dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 212


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.1. Creating a HTTP Request List

Figure 8-49. Adaptive Bit Rate Test Configuration: HTTP Adaptive Bit Rate Client - Server Details: Add
Request List - Add Request.

6. Select Get (default) as the Request Method.

7. Enter a valid URI for the streaming server, for example, /iphone/samples/bipbop/bipbopall.m3u8.

8. To add a set of valid header fields to be used by the client to access the manifest files and content on the
dedicated streaming server, click on the […] button beside the Header Field List field. The Select Header
Field List dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 213


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.1. Creating a HTTP Request List

Figure 8-50. HTTP Adaptive Bit Rate Client - Server Details: Add Request List - New Header Field List

9. Select a header list if one has been previously configured. Otherwise, click on the Add button to create a
new header list.

© Copyright 2018 TeraVM Java Client User Guide Page 214


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.2. Advanced HTTP Configuration

Figure 8-51. HTTP Adaptive Bit Rate Client - Server Details: Add Request List - Add Header Field

10. Enter the field name or left mouse click on the scroll icon to the right of the field to display a list of field
option.
11. Highlight the required field and click the Select button.
12. Add content for the Field Body, for example, for a Host header, the body content would be a host name
such as devimages.apple.com.

Note
A host name is required if the DNS Resolve Host Header option is enabled in the Advanced HTTP
Configuration for this client. Refer to the following section on Advanced HTTP Configuration.

13. Repeat the header selection until all the required headers are in the list. The header list should include
User-Agent, Accept, Accept-Language, Accept-Charset, Connection, Host, Accept-Encoding.

8.2.3.6.2.2. Advanced HTTP Configuration


When you click on the Advanced HTTP… button in the Server Details dialog of the HTTP Adaptive Bit
Rate Client Application wizard, the Advanced HTTP Details dialog is displayed. This dialog contains the
following functionality which is accessed by clicking on the appropriate tabs:
• Authentication
• Keyword Substitution
• Headers
• Cookie

© Copyright 2018 TeraVM Java Client User Guide Page 215


Aeroflex Limited. All
rights reserved.
8.2.3.6.2.2. Advanced HTTP Configuration

• DNS

Figure 8-52. HTTP Adaptive Bit Rate Client - Server Details: Advanced HTTP Settings

Configure the HTTP settings as follows:


Authentication
Table 8-41. HTTP Adaptive Bit Rate Client: Server Details - Advanced HTTP Configuration: HTTP Authentication
Field Description

HTTP Username* Username for HTTP authentication, if required.

HTTP Password* Password for HTTP authentication, if required.

Keyword Substitution
Table 8-42. HTTP Adaptive Bit Rate Client: Server Details - Advanced HTTP Configuration: Keyword Substitution
Field Description

Enable HTTP Keyword Substitution Enable or disable HTTP Keyword substitution functionality.
HTTP Headers and URLS allow the use of special keywords that are substituted at
runtime by values selected based on the particular keyword definition.
Note: Enabling this feature can have a negative effect on performance.

Headers
Table 8-43. HTTP Adaptive Bit Rate Client: Server Details - Advanced HTTP Configuration: Headers
Field Description

HTTP Header Field List Select or create a list of HTTP Header Fields which are used in requests issued by the
client.

Cookie
Table 8-44. HTTP Adaptive Bit Rate Client: Server Details - Advanced HTTP Configuration: Cookie
Field Description

TCP Characteristics TCP Characteristics to use.

© Copyright 2018 TeraVM Java Client User Guide Page 216


Aeroflex Limited. All
rights reserved.
8.2.3.6.3. Streaming Details

Field Description

Connection Rate Limit Connection Rate Limit to use.

DNS
Table 8-45. HTTP Adaptive Bit Rate Client: Server Details - Advanced HTTP Configuration

Field Description

DNS Resolve Host Header Enable this option to determine the IP address of the HTTP initial request using the value
in the Host field of the Header Field list or the HTTP Request list, if present.
Note: A DNS Resolver must be configured for this functionality to work. Refer to the
section on Configuring a DNS Resolver.

8.2.3.6.3. Streaming Details


The Streaming Details dialog in the client provisioning wizard enables you to configure all the streaming
specific features for the HTTP Adaptive Bit Rate Client. Different configuration options are available
depending on the type of Adaptive Streaming Method that is, selected.

© Copyright 2018 TeraVM Java Client User Guide Page 217


Aeroflex Limited. All
rights reserved.
8.2.3.6.3. Streaming Details

Figure 8-53. HTTP Adaptive Bit Rate Client - Streaming Details

Configure the Streaming Details as follows:


Table 8-46. HTTP Adaptive Bit Rate Client: Streaming Details

Field Description

Initial Stream Selection Select from the following options how the initial stream is selected from the list presented
in the Manifest:
• Highest Bit Rate
• Lowest Bit Rate
• First in Manifest
• Quality Level
• Bit Rate

Quality Level If Quality Level is selected in the first field, enter or select a quality level for the initial
stream based on its position in the ordered bit rate list. 1 indicates the lowest bit rate.

© Copyright 2018 TeraVM Java Client User Guide Page 218


Aeroflex Limited. All
rights reserved.
8.2.3.6.3. Streaming Details

Field Description
Otherwise create a profile to force the Adaptive Bit Rate Client to change quality levels
as specified in the profile.
Refer to the section on Creating a Quality Level or Bit Rate Profile.

Bit Rate If Bit Rate is selected for the Initial Stream Selection, select the bit rate of the stream
closest to bit rate value and also <= value. This value must be bet ween 1kb/s and 200
mb/s. Default value 900 kb/s.
For Smooth, this value must match exactly what is in the Manifest

Adaptive Streaming Method Select how the client will monitor the stream for adaptive streaming. Options are:
• Monitor Fragment Retrieval Time
• Monitor Fragment Bit Rate
• Quality Level Change List
• None

Adaptive Streaming Shift Up Threshold Required if Adaptive Streaming Method is Monitor Fragment Retrieval Time or
Monitor Fragment Bit Rate.
Enter a threshold value as a % below which the client will shift up to next highest quality
stream if the fragment retrieval time or bit rate drops below this value. Value must be
between 1 and 1000.

Adaptive Streaming Shift Down Required if Adaptive Streaming Method is Monitor Fragment Retrieval Time or
Threshold Monitor Fragment Bit Rate.
Enter a threshold value as a % above which the client will shift down to next lowest
quality stream if the fragment retrieval time or bit rate drops exceeds this value. Value
must be between 1 and 1000 and must be greater than Adaptive Streaming Shift Up
Threshold.
The Adaptive Bit Rate Client typically downloads the media in approximately 2 second
chunks via HTTP. The Manifest file will identify a number of different bitrates at which the
stream can be downloaded.
It is possible to switch between these quality levels during the media stream to adapt to
the network conditions.
The following adaptive streaming methods are supported:
1. Gettime Percentage
2. Bitrate Percentage
Also, an adaptive streaming change can only take place between downloading of media
chunks. An example configuration is as follows:
The Gettime and Bitrate both react by increasing or decreasing the requested level for
quality associated with the stream in response to network conditions. Both methods
calculate a percentage and then will upshift or downshift or make no change.
The Gettime percentage = (Chunk download GET time/Media Duration as specified in
the Manifest) * 100.
The Bitrate percentage = (Bitrate for downloading Chunk/Bitrate for that Quality Level in
the Manifest) * 100.
If this value is below the ‘Shift UP’ percentage, the endpoint is downloading faster
than the video is being consumed. As a result the emulated streaming media client will
attempt to shift to the next highest Quality Level.

© Copyright 2018 TeraVM Java Client User Guide Page 219


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1. Advanced Streaming Features

Field Description
If this value is above the ‘Shift DOWN’ percentage, the endpoint may not be streaming
the video at a sufficient rate to display. This will result in a downshift to the next lowest
Quality Level.
Example:
A media streaming client downloads a 2 second chunk in 1 second the Gettime
percentage is 1/2*100 = 50%.
If the ‘Shift UP’ percentage is 60%, the media streaming client will attempt to up shift to
the next Quality Level.
If, on the other hand, the bitrate is 1.9Mbs and the bitrate for the Quality Level is 2Mbs,
the Bitrate % is 1900/2000*100 = 95%.
If the ‘Shift DOWN’ percentage is 90 then the Quality Level is decremented.

Quality Level Change List Select or create a list of quality level state changes. Refer to the section on Creating a
Quality Level Change Liston page 41.

Adaptive Change Interval Required if Adaptive Streaming Method is Quality Level Change List.
Specify an interval between adaptive changes in seconds, minutes or hours. Range is 1
sec to 24 hours.

Fragment Download Algorithm Select how the downloading of fragments is implemented by client. Options are:
• Playout Buffer
• No Delay
• Delay between Fragments
• At Fragment Play Rate

Playout Buffer Delay Required if Fragment Download Algorithm is Playout Buffer.


Enter the delay in seconds and/or minutes to be played on received media in order to fill
playout buffer. Range from 1 sec to 60 mins. Default value is 30 seconds for HLS and 10
seconds for other client types.

Delay Between Fragments Required if Fragment Download Algorithm is Delay Between Fragments. Enter a
delay in msec, secs or, mins between downloading fragments. Range is from 1 msec 60
mins.

Click on the Advanced button to configure more advanced streaming features.

8.2.3.6.3.1. Advanced Streaming Features


The following dialog is displayed for advanced streaming features:

© Copyright 2018 TeraVM Java Client User Guide Page 220


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate
Profile

Figure 8-54. HTTP Adaptive Bit Rate Client - Streaming Details: Advanced Streaming Details

Configure the Advanced Streaming Details as follows:

General
Table 8-47. HTTP Adaptive Bit Rate Client: Streaming Details - Advanced Streaming Details: General Tab

Field Description

Downgrade Fragment Error Limit Required if Adaptive Streaming Method has a value other than None. Enter the
number of fragment retrieval errors before downgrading to a lower stream.

Microsoft Smooth Streaming


Table 8-48. HTTP Adaptive Bit Rate Client: Streaming Details - Advanced Streaming Details: Microsoft Smooth Tab

Field Description

Smooth Live Fragment Repeat Smooth Fragments are identified by their durations. This is the length of the repeat
Sequence Length sequence of those durations used in live streaming. This setting allows the client to
identify fragments once the Manifest is exhausted for live stream.
This value, when set, forces the Adaptive Bit Rate Client to change quality level (bands)
a number of times.

8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate Profile


If Quality Level or Bit Rate is the method being used for selection of the initial stream, a profile can be
created to provide a range of random quality level or bit rate values to be used for initial selection. To create
a profile:

1. Click on the […] button beside the Quality Level or Bit Rate field. The Select Profile dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 221


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate
Profile

Figure 8-55. Quality Level or Bit Rate Profile

2. Click on the Add button to add a new profile. The Add Profile (Probability Distribution Function) dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 222


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate
Profile

Figure 8-56. Creating Quality Level or Bit Rate: Add Profile (Probability Distribution Function)

3. Enter a meaningful Name for this profile.

4. Enter a description if required.

5. Click the Add button to display the Add Profile Element dialog. This dialog enables you to enter a value
or a range of values associated with a time period.

© Copyright 2018 TeraVM Java Client User Guide Page 223


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate
Profile

Figure 8-57. Quality Level or Bit Rate Profile: Add Profile Element

6. Using the slider (or Up, Down keys), select a Time Period percentage value.

7. Enter a single Value or range or values to be associated with this Time Period.

8. Click OK to add the profile element.

© Copyright 2018 TeraVM Java Client User Guide Page 224


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.1. Creating a Quality Level or Bit Rate
Profile

Figure 8-58. Create Quality Level or Bit Rate: Profile Properties (Probability Distribution Function)

9. Add another profile element if 100% of the time period is not complete used in the first element.

Note
The profile must be 100% configured that is, there must be no unused time periods before the profile
can be successfully added.

10. Click OK to add the profile.

© Copyright 2018 TeraVM Java Client User Guide Page 225


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.2. Creating a Quality Level Change List

Figure 8-59. Create Quality Level or Bit Rate Profile: Select Profile

11. Select the required profile from the list.

8.2.3.6.3.1.2. Creating a Quality Level Change List


A Quality Level profile will force the HTTP Adaptive Bit rate Client to change quality levels as specified in the
list of adaptive changes in the profile.

An Adaptive Change Interval or list of intervals must also be configured if using quality level changes.

This list of changes will be repeated throughout the test.

TeraVM will normalize the changes. So the levels cannot decrease

To create a Quality Level Change List:

1. Click on the […] button beside the Quality Level Change List field. The Quality Level Change List
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 226


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.2. Creating a Quality Level Change List

Figure 8-60. Create Quality Level Change List

2. Click on the Add button to add a new list.

© Copyright 2018 TeraVM Java Client User Guide Page 227


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.2. Creating a Quality Level Change List

Figure 8-61. Create Quality Level Change List: Add New Quality Level Change List

3. Enter a meaningful Name for this list.

4. Tick the Repeat the Quality Level Changes once completed box if this option is required.

5. Click on the Add button to add a Quality Level Change to the list. The following dialog is displayed:

Figure 8-62. Create Quality Level Change List: Add Quality Level Change

© Copyright 2018 TeraVM Java Client User Guide Page 228


Aeroflex Limited. All
rights reserved.
8.2.3.6.3.1.2. Creating a Quality Level Change List

6. Select a Quality Level to add to the list. Options are:

• Highest Quality Level

• Lowest Quality Level

• Quality Level (1 is the lowest level that can be selected)

• Shift Up Quality Levels

• Shift Down Quality Levels

If you select the Quality Level or Shift Up or Shift Down options, you can enter a numerical value for the
level you require.

TeraVM will normalize the changes so that the levels cannot decrease below 1 and will not exceed the
maximum of Quality Levels identified in the Manifest

Figure 8-63. Create Quality Level Change List: Edit Quality Level Change

7. Click OK to add the level change.

8. Repeat this process until you have added all the required changes to the list.

9. Click OK to add the list.

© Copyright 2018 TeraVM Java Client User Guide Page 229


Aeroflex Limited. All
rights reserved.
8.2.3.6.4. Session Details

Figure 8-64. Create Quality Level Change List: Select Quality Level Change List

10. Select the required Quality Level Change List.

8.2.3.6.4. Session Details


The Session dialog enables you to configure the length of an interval between client/server sessions.

© Copyright 2018 TeraVM Java Client User Guide Page 230


Aeroflex Limited. All
rights reserved.
8.2.3.6.5. Additional Configuration

Figure 8-65. Session Details

Configure the session as follows:


Table 8-49. HTTP Adaptive Bit Rate Client: Session Details - Configuring Session Details:

Field Description

Client end session Allows the client to terminate the session before end of stream.

Session Duration Duration of OTT session before client will terminate.

Delay between Sessions Delay between sessions. Applied if session fails, client ends session or server ends
session.

8.2.3.6.5. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.

© Copyright 2018 TeraVM Java Client User Guide Page 231


Aeroflex Limited. All
rights reserved.
8.2.3.6.6. Configuring a Media Streaming Server

Table 8-50. Add New HTTP Client - Additional Configuration

Field Description Validation

Enable HTTP Response Collection of the Response Codes. Default is disabled as it takes up valuable
Code Statistics processing time. If required, then only enable for
a small number of applications.

8.2.3.6.6. Configuring a Media Streaming Server


You can test OTT streaming using either a third part media streaming server or using a TeraVM emulated
media streaming server (back-to-back testing).

8.2.3.6.6.1. External Media Streaming Server


The external media streaming server is connected to a TeraVM external gateway host.

To configure the gateway host:

1. Configure the host as described in the section Configuring an External Host

See Chapter 9. Hosts: Section 9.4.2. General Details - External Host in the User Guide to find out how
to configure an external host.

2. Use the IP address of the external media streaming server in the IP Address field.

© Copyright 2018 TeraVM Java Client User Guide Page 232


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2. TeraVM Emulated Media Streaming
Server

Figure 8-66. Gateway Host for External Streaming Server

The configured HTTP Adaptive Bit Rate client (see Configuring an Adaptive Bit Rate Client Application
above) requests media files from the external media server.

8.2.3.6.6.2. TeraVM Emulated Media Streaming Server


To set up back-to-back testing, the following configuration is required:
1. Configure a HTTP Server application to hold media resource files. This server application runs on a
virtual host which can be configured as per the instructions in the section on Configuring a Virtual Host.
2. Configure the Manifest Request List in the HTP Adaptive Bit rate Client application.
3. Configure the Media Segment URI strip value for lookup setting in the TeraVM Global Configuration
site.

8.2.3.6.6.2.1. Configuring a HTTP Server Application


In the TeraVM GUI:

© Copyright 2018 TeraVM Java Client User Guide Page 233


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.1.1. Application Details

1. Select the Application tab.

2. Left mouse click on the Add New Application icon.

Figure 8-67. Select HTTP Server Application

The New HTTP Server Application wizard is displayed. The following categories of information are required
for configuring this client application:

• Application Details

• Server Details

• Additional Configuration: select Normal, Fine or Group Statistics as required.

8.2.3.6.6.2.1.1. Application Details


The Application Details dialog is displayed as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 234


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.1.2. Server Details

Figure 8-68. HTTP Server Application Wizard

Configure general details for the application as follows:


Table 8-51. HTTP Server Application Wizard: General Details

Field Description

Name Enter a meaningful name for the server application.

Description Enter a description if required.

Host Select a previously configured virtual host for this gateway or create a new host.
SeeConfiguring a Virtual Host above.

Enable TLS Leave as disabled that is, port 80 is used unless port 443 is required.

TCP Port Leave the TCP port at the default value of 80.

ToS/DiffServ Leave blank unless otherwise required. Refer to the TeraVM User Guide for more
details of this field.

8.2.3.6.6.2.1.2. Server Details


In the Server Details dialog, add a list of URLs which map to media resource files on the server. The
following example for HLS Streaming shows mappings for a manifest file, a program index file and a video
file.

© Copyright 2018 TeraVM Java Client User Guide Page 235


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.2. Configuring the Adaptive Bit Rate Client
Application

Figure 8-69. HTTP Server Application Wizard: Server Details

Contact your VIAVI representative for details of sample streaming files available for OTT testing.

8.2.3.6.6.2.2. Configuring the Adaptive Bit Rate Client Application


For back-to-back testing you will need to set up a Manifest Request List in the HTTP Adaptive Bit Rate
Client to request the media streaming files on the HTTP Server application.

This is configured in the Client Details page of the application wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 236


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.3. Configuring the ‘Media Segment URI
strip value for lookup’ setting

Figure 8-70. HTTP Adaptive Bit Rate Client Properties

8.2.3.6.6.2.3. Configuring the ‘Media Segment URI strip value for lookup’ setting
This media Segment URI strip value for lookup setting enables you to load a single resource file on the
HTTP Server application to avoid loading all video file fragments onto this server. This will result in the
media streaming client request being truncated to match the resource name.

This setting is configured in the Media Streaming Client Settings section of the TeraVM Global Configuration
site:

http://TeraVM_IPaddress/userconf

© Copyright 2018 TeraVM Java Client User Guide Page 237


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.3. Configuring the ‘Media Segment URI
strip value for lookup’ setting

Figure 8-71. Media Streaming URI strip value for lookup

For example, if the Resource URL on the server is:

/files/clear/ipad/1200/file

the media streaming client request with video fragments would be as follows:

/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels(2750000)/Fragments(video=0)

Therefore, the Media Segment URI strip value for lookup value would be “(“ which truncates each client
sample request to:

© Copyright 2018 TeraVM Java Client User Guide Page 238


Aeroflex Limited. All
rights reserved.
8.2.3.6.6.2.3. Configuring the ‘Media Segment URI
strip value for lookup’ setting

/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels
This enables a single file to be returned for all requests as follows:
/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels(2750000)/
Fragments(video=200000000)
/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels(2750000)/
Fragments(video=400000000)
/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels(2750000)/
Fragments(video=600000000)
/mediadl/iisnet/smoothmedia/Experience/Shenick_720p.ism/QualityLevels(2750000)/
Fragments(video=800000000)
This is shown in the following PCAP example:

Figure 8-72. Wireshark PCAP File

© Copyright 2018 TeraVM Java Client User Guide Page 239


Aeroflex Limited. All
rights reserved.
8.2.4. CoAP

8.2.4. CoAP
The Constrained Application Protocol (CoAP) is an application layer protocol for use with low-power
devices such as sensors in wireless networks and constrained networks in the Internet of Things. CoAP is a
lightweight protocol that is designed to keep messages compact and resource efficient.

In TeraVM you can create a CoAP Device and a CoAP External Server application, so that the CoAP
application emulates an IoT device sending messages to the IoT Server. The TeraVM CoAP device is
scalable and the messages that are sent between the device and server are configurable within TeraVM.
The TeraVM implementation of the CoAP application supports the following CoAP options:

• Uri-Path: For sending the registration request to the IoT Server.

• Content-Format: Will be included in the initial ‘2.05 Content’ response for the GET request. Can be
present in the POST request from IoT Server to send config to the device endpoint.

• Uri-Query: Will be included in the registration request as ep=<device id> .

• Accept: Can appear in the GET request form the IoT Server to specify the content format supported by
it.

• Observe: Will be received in GET request from the IoT Server. Will also be present in the periodic '2.05
Content' messages to IoT Server.

8.2.4.1. Provisioning CoAP Device Application


If you select to add a CoAP Device, the Add New CoAP Device Wizard is displayed. The steps required to
provision a CoAP device are:

• Application Details

• General Details

• Traffic Model

• Additional Configuration

To start the Add New CoAP Device Wizard, in the TeraVM GUI:

1. Select the Application tab.

2. Left mouse click on the Add New Application Icon.

3. Select CoAp > CoAP Device .

© Copyright 2018 TeraVM Java Client User Guide Page 240


Aeroflex Limited. All
rights reserved.
8.2.4.1.1. Application Details

8.2.4.1.1. Application Details


The following dialog is displayed when provisioning a CoAP device.

Figure 8-73. CoAP Device – Application Details

Table 8-52. CoAP device - Application Details

Field Description Validation

No. of Clients Each application created via this Default value: 1. An integer range from to 500,000.
mechanism has a row created in
the Display Window for Applications
allowing statistics to be generated for
each row.

Configure As How the CoAP Device Applications will Default value: Scaled Entity. Mandatory. Clients can only be
be provisioned. scaled Entity.

Name Unique name identifying the client. Mandatory. String value between 1 and 255 characters in
length. With the following valid chars: 'a-zA-Z0-9 . {}<>[]
()@#&*%_+=!-'

Description This field allows you to enter a String value between 1 and 512 characters in length. No
description for the application. Default. Optional.

Host(s) The virtual host used by this Default value: none. Mandatory. Value checks for the
application. following:
• Direct/Indirect virtual host
• Address may be assigned dynamically

© Copyright 2018 TeraVM Java Client User Guide Page 241


Aeroflex Limited. All
rights reserved.
8.2.4.1.2. General Details

Field Description Validation


• Cannot be an external host
• Host may have IPv4 or IPv6 address

Port This specifies the port that the server Default value: none. Value checks:
will listen for incoming requests on the
• Mandatory if Use Next Available is false.
client side.
• between 0 and 65535.

Use Next Available Used in conjunction with Port field. Default value: True. Mandatory. Type Boolean.

ToS/DifServ Quality of Service metric for the server Mandatory. Integer value between 0 and 255. Default is 0.
application.

8.2.4.1.2. General Details


In the General Details dialog, use the Server field to assign the Resource Directory Server for the client to
communicate with, give the device node a unique identifier, and then specify the URI path for the Resource
Director.

Figure 8-74. CoAP Device – General Details

© Copyright 2018 TeraVM Java Client User Guide Page 242


Aeroflex Limited. All
rights reserved.
8.2.4.1.3. Traffic Model

Table 8-53. CoAP Device – General Details

Field Description Validation

Server Used to assign a TeraVM CoAP Default value: none. Type: CoAP External RD.
External Resource Directory Server.
The Resource directory server is an
external host/application to which the
device node is going to communicate
with.

Device Name Unique name identifying the TeraVM Mandatory. String value between 1 and 63 characters in
CoAP Device application length. With the following valid chars: 'a-zA-Z0-9-._ can be
scaled.

Registration Path The registration URI path at the Default value: "/". Mandatory. Follows the /path format. String
Resource Directory value with the following valid chars: 'a-zA-Z0-9-._

Re-registration Time Determines how frequently the re- Default value: 24 Hrs. Mandatory. Type: Integer or profile with
registration message is sent by the metric. Value checks:
device node
• Metric in [sec, mins, hours]
• Range: 0 secs - 24 hours

Registration Retry Interval Defines the time the device node will Default value: 5 mins. Optional. Type: Integer. Value checks:
wait after a failed registration attempt to
• Metric in [sec, mins, hours]
retry registration.
• Range: 0 secs - 24 hours

DTLS Enabled Check box to indicate if DTLS should Default value: False. True when check box is selected.
be used.

Pre-Shared Key The key used for encryption. Optional. Mandatory if DTLS is Selected. Value must be:
• length between: 1-128 bytes (= 2-256 hex chars)
• valid chars: hex, even length (even number of nibbles)
Default value: none. Scalable Hexadecimal Scaler String

PSK Identity The pre-shared key identity that will be Optional. Mandatory if DTLS is Selected. Value must be:
exchanged.
• length between: 1-128 bytes
• valid chars: ascii
Default value: none. Scalable Alpha Numeric Property Scaler
and String List Scaler.

8.2.4.1.3. Traffic Model


The Traffic Model dialog is used to setup the reporting details, the report delay and interval can be
configured as a profile with configurable elements where each element represents a value or a range of
values associated with a time period.

© Copyright 2018 TeraVM Java Client User Guide Page 243


Aeroflex Limited. All
rights reserved.
8.2.4.1.3. Traffic Model

Figure 8-75. CoAP Device – Traffic Model

Profile Configuration
Both Initial Reporting Delay and Reporting Interval fields support Profiles. To select or add a profile, click
the <...> button. The following figure shows the various profile dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 244


Aeroflex Limited. All
rights reserved.
8.2.4.1.3. Traffic Model

Figure 8-76. CoAP Profiles

Table 8-54. Device General Details

Field Description Validation

Initial Reporting Delay Defines the time for which the device Default value: 0 secs. Optional. Type: Integer or profile
node will wait before sending the first data with metric. Optional. Value checks:
report. This can be configured as a Profile.
• Metric in [secs, mins, hours]
• Range: 0 secs - 24 hours

Reporting Interval Defines the periodicity of sending the Default value: 24 hours. Optional. Type: Integer or profile
data reports. This can be configured as a with metric. Optional. Value checks:
Profile.
• Metric in [secs, mins, hours]
• Range: 0 secs - 24 hours

Reporting Payload Payload included in the periodic reports Default value: none. Optional String value.
sent by the device node.

Payload Format Represents the media type of the payload. Default value: text/plain. Mandatory. Value can the
following possible values:
• text/plain
• application/octet-stream

© Copyright 2018 TeraVM Java Client User Guide Page 245


Aeroflex Limited. All
rights reserved.
8.2.4.1.4. Additional Configuration

8.2.4.1.4. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.4.2. Provisioning CoAP External Server


The CoAP External Recourse Directory (RD) is required to emulate the resource directory on the IoT server.
If you select to add a CoAP External RD, the Add New External CoAP Server Wizard is displayed. The
steps required to provision a CoAP device are:

• Configure External Server

• External Properties

To start the Add New External CoAP Server Wizard, in the TeraVM GUI:

1. Select the Application tab.

2. Left mouse click on the Add New Application Icon.

3. Select CoAP > CoAP External RD

8.2.4.2.1. Configure External Server


The Configure External Server dialog allows you to add the information for the IoT Server.

© Copyright 2018 TeraVM Java Client User Guide Page 246


Aeroflex Limited. All
rights reserved.
8.2.4.2.2. External Properties

Figure 8-77. CoAP Server – Configure External Server

Table 8-55. Configure External CoAP Server

Field Description Validation

Name Unique name identifying the TeraVM Mandatory. String value between 1 and 255 characters in
CoAP External Server length. With the following valid chars: 'a-zA-Z0-9 . {}<>[]
()@#&*%_+=!-'

Description This field allows you to enter a description String value between 1 and 512 characters in length. No
for the application. Default. Optional.

Host Select a Host from the list of the previously Mandatory. Direct or Indirect Virtual Host. If Direct, then IP
configured IP hosts which the server will address must be static.
use to access the SUT.

UDP Port The UDP Port number to use Default value: 5683

8.2.4.2.2. External Properties


The Collector External Properties dialog allows you to add any additional external properties. The External
Properties dialog enables you to configure a list of string parameter/value pairings to which no intelligence
will be applied by TeraVM.

© Copyright 2018 TeraVM Java Client User Guide Page 247


Aeroflex Limited. All
rights reserved.
8.2.4.2.2. External Properties

Figure 8-78. CoAP Server – Collector External Properties

To enter a Property/Name value pair, click on the Add button on this page, and the Add Property Value
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 248


Aeroflex Limited. All
rights reserved.
8.2.5. IP Replay Applications

8.2.5. IP Replay Applications


IP Replay applications take pcap files and replay the packets over server and client hosts. Using IP Replay
applications, TCP and UDP packet information can be replayed in the same order and in the same rate as
the original pcap. To correctly configure IP Replay applications, you must ensure that the client and server
hosts are on different interfaces on the same Test Agent. Other TeraVM applications can run in the same
test but cannot use a host that is selected for IP Replay.

The IP Replay application maps the source destination IP address from the pcap file to the IP addresses
of the client and server hosts. The pcap file is configured as part of a Playback Resource List and can
be replayed over thousands of times with a configurable replay rate. Configuration options exist for both a
single application per row, or for a scaled entity.

Normal and fine statistics can be enabled for an IP Replay application. To gather statistics on an individual
pcap, the Playback Resource List should contain a single pcap. For information on the statistics supported
by this feature, see the TeraVM Metrics Guide.

8.2.5.1. Provisioning an IP Replay Application


If you select to add an IP Replay Application, the Add New IP replay Application dialog is displayed. For
a Single App per Row, you can select one or more non-scaled client or server hosts. The following image
shows an example of choosing multiple hosts.

© Copyright 2018 TeraVM Java Client User Guide Page 249


Aeroflex Limited. All
rights reserved.
8.2.5.1. Provisioning an IP Replay Application

Figure 8-79. Add New IP Replay Application (Single App per Row)

If the entity is scaled, you will be able to select only a single host or a scaled host. An example of choosing a
single host is shown in the following image.

Figure 8-80. Add New IP Replay Application (Scaled Entity)

© Copyright 2018 TeraVM Java Client User Guide Page 250


Aeroflex Limited. All
rights reserved.
8.2.5.1.1. Application Details

The following steps are required to provision an IP Replay Application.

• Application Details

• IP Replay Field Details

• IP Replay Additional Configuration

8.2.5.1.1. Application Details


The following information is required to provision an IP Replay Application Details.
Table 8-56. IP Replay Application Details

Field Description Validation

No. of Apps The number of entries to be created Default value: 1. An integer range from 1 to 1,000,000.
Mandatory.

Configure As How the IP Replay Applications will be Default value: Scaled Entity. Enumerated value with the
provisioned. possible values of:
• Single App per Row
• Scaled Entity
Mandatory.

© Copyright 2018 TeraVM Java Client User Guide Page 251


Aeroflex Limited. All
rights reserved.
8.2.5.1.2. IP Replay Field Details

Field Description Validation


A scaled instance can use a single client host and a
single server host, both may be themselves scaled or
non-scaled.
The scale factor of the application does not need to
match the scale number of the client/server hosts.

Name Unique name identifying the TeraVM IP Default value: none.


Replay application.
String, with a length range from 1 to
255. Valid chars: a-zA-Z0-9 .{}<>[]
()@#&*%_+=!-
Mandatory.

Description Free form description of the application. Default value: none. Optional String value with the length
range of 1 to 512.

Client Host The client hosts used by this application. Default value: none. Mandatory. A list of Hosts. If Single
App, the list should contain one or more non-scaled
hosts; if Scaled Entity, the list should contain only a
single host scaled or non-scaled. Hosts themselves must
be Direct or Indirect Virtual Hosts which have IP Address
Assignment set as Static, (with IPv4 or IPv6).

Server Host The server hosts used by this application. Default value: none. Mandatory. A list of Hosts. If Single
App, the list should contain one or more non-scaled
hosts; if Scaled Entity, the list should contain only a
single host scaled or non-scaled. Hosts themselves must
be Direct or Indirect Virtual Hosts which have IP Address
Assignment set as Static (with IPv4 or IPv6).

8.2.5.1.2. IP Replay Field Details


The image below shown an example of the IP Replay Field Details dialog. Note that Server IP Filter is
chosen and Vary Ephemeral TCP/UDP Ports field is checked.

© Copyright 2018 TeraVM Java Client User Guide Page 252


Aeroflex Limited. All
rights reserved.
8.2.5.1.2. IP Replay Field Details

Figure 8-81. IP Replay Field Details

The following information is required to provision the IP Replay Field Details.


Table 8-57. IP Replay Field Details

Field Description Validation

Playback Resource List A list of playback resources to select from. Mandatory.


Default value: None
Playback Resource List Configuration item.

Host Replay Selection for This field will be used in order to clarify why a filter is Default value: Client sends first packet.
Packets needed and how selection of hosts for replay is being
Mandatory enumeration value with values
used.
of:
A filter (represented as an IPv4 or IPv6 address) can • Client sends first packet
be applied for selecting packets to be sent over the
• Server IP Filter
server host. The filter will be available if the Server IP
Filter option is selected.
If Client sends first packet option is selected,
IP Replay application will assume the first time
it encounters an IP address in the source field
that packet originates on the client host. Another

© Copyright 2018 TeraVM Java Client User Guide Page 253


Aeroflex Limited. All
rights reserved.
8.2.5.1.3. Additional Configuration

Field Description Validation


assumption will be the IP address in the destination
field will be mapped to the server host.

Server IP Filter This IP address must match an IP address in the Default address: none. Value must be a
pCaps to be replayed in order to select packets. valid IPv4 or IPv6 address from pCaps.
Mandatory when Server IP Filter option is
This field will be hidden if Client sends first Packet is
selected.
selected from Host Replay Selection for Packets.

Replay Rate Represents the rate with which the packets are Default value: 1.0. Optional number value
replayed. Controls the time interval between sending with range from 0.1 to 10.0.
packets, the higher the value, the slower the replay
rate. This is on a best effort basis and cannot be
guaranteed.

Delay between Resources Controls the delay between Resources. Mandatory. Default value: 0 ms
Random profile or integer with metric.
Value as metric in [ms, secs], min = 0 ms,
max = 3 600 secs

Delay for ARP Resolution Controls the Delay for ARP Resolution. Optional. Default value: 100 us
Integer with metric. Value as metric in [us,
ms, secs], min = 0 ms, max = 5 secs.

Vary TCP Sequence Number Specifies if Vary TCP Sequence Number is enabled or Mandatory. Boolean value.
not.
Default value: TRUE

Vary Ephemeral TCP/UDP Specifies if Vary Ephemeral TCP/UDP Ports is enabled Mandatory. Boolean value.
Ports or not.
Default value: TRUE
If this field is unchecked, then the field List of
Ephemeral Ports to Exclude will not be visible.

List of Ephemeral Ports to Comma separated list of integers representing a list of Optional.
Exclude ports.
Default value: 5060,8080
If the field Vary Ephemeral TCP/UDP Ports is
A comma separated list of integers
unchecked, then this field will not be visible.
between 1,024 and 65,535. This property
will be set only if Vary Ephemeral TCP/
UDP Ports is true.

8.2.5.1.3. Additional Configuration


The following dialog is displayed when the configuration is for a Single App per Row.

© Copyright 2018 TeraVM Java Client User Guide Page 254


Aeroflex Limited. All
rights reserved.
8.2.5.1.3. Additional Configuration

Figure 8-82. Additional Configuration (Single App per Row)

The following dialog is displayed when the configuration is for a Scaled Entity.

© Copyright 2018 TeraVM Java Client User Guide Page 255


Aeroflex Limited. All
rights reserved.
8.2.5.1.3. Additional Configuration

Figure 8-83. Additional Configuration (Scaled Entity)

The following information is required to provision the IP Replay Additional Configuration.


Table 8-58. IP Replay Application Fields

Field Description Validation

Start After Controls the delay before starting the application. Optional. Default value: NULL ms
Integer with metric value as [ms, secs,
mins, hrs] range from 0 ms to 168 hours
(10 080 mins / 604 800 secs / 604 800 000
ms).

Stop After Specifies the length of time that the Application should Optional. Default value: NULL secs
run for before stopping.
Default value: Aggregate group. Integer
with metric value as [secs, mins, hrs] range
from 0 secs to 168 hours (10 080 mins /
604 800 secs / 604 800 000 ms).

Enable Normal Statistics Specifies if normal statistics are enabled or not. Mandatory. Default value: TRUE
Boolean value.

Enable Fine Statistics Specifies if fine statistics are enabled or not. Mandatory. Default value: FALSE
Boolean value.

© Copyright 2018 TeraVM Java Client User Guide Page 256


Aeroflex Limited. All
rights reserved.
8.2.5.1.4. Packet Capture

Field Description Validation

Aggregate group Specifies the aggregate statistics group that this Mandatory.
application should write statistics to.
Default value: Aggregate group

8.2.5.1.4. Packet Capture


When IP Replay applications have been created you are then able to capture their PDU's, on either the
Client or Server. To do this, right-click on an application and select Capture PDU's.

Figure 8-84. IP Replay Capture PDU

8.2.6. Multicast IGMP/MLD


A Multicast IGMP or MLD Application allows you to test sending and receiving IP multicast messages for
specific multicast groups.
IGMP (Internet Group Management Protocol) is defined in RFC 1112 as the standard for IPv4 multicasting
in the Internet.
MLD (Multicast Listener Discovery) is defined in RFC 2710 as the standard for IPv6 multicasting in the
Internet. MLD is derived from IGMPv2.
IGMP and MLD provisioning are identical, therefore IGMP is only described in this section.
There are three types of Multicast IGMP/MLD applications which can be provisioned in TeraVM. These are:
• Multicast IGMP/MLD Client(s)

© Copyright 2018 TeraVM Java Client User Guide Page 257


Aeroflex Limited. All
rights reserved.
8.2.6.1. IGMP/MLD Versions

• Multicast IGMP/MLD Server(s)

• Multicast IGMP/MLD External Server

8.2.6.1. IGMP/MLD Versions


TeraVM supports three versions of IGMP – v1, v2 and v3.

• Version 1

In this version a host joins a group but no specific leave messages are issued. The multicast router
determines if a host is no longer interested in a group; for example if the host does not respond to
a query from the router. If multiple clients on the same Layer 2 Tunnel are concurrently joining the
same multicast group, they may suppress the sending of reports if they see appropriate reports being
generated by another of those clients.

• Version 2

This version supports both join and leave messages/reports. IGMPv2 requires the Router Alert option
(that is, tell the router to inspect the packet) is set in all messages sent from an IGMPv2 client. If
multiple clients on the same Layer 2 Tunnel are concurrently joining the same multicast group, they may
suppress the sending of reports if they see appropriate reports being generated by another of those
clients.

• Version 3

This is an extension to version 2 that supports filter lists: that is, a client can indicate in a report that
it only wants to receive packets from a multicast group where those packets have a specific source
IP Address. IGMPv3 requires the Router Alert option (that is, tell the router to inspect the packet) is
set in all messages sent from an IGMPv3 client. If multiple clients on the same Layer 2 Tunnel are
concurrently joining the same multicast group, each client will always issue its own reports regardless of
reports issues by the other clients.

TeraVM supports two versions of MLD - v1 and v2.

• Version 1

This version supports both “Join” and “Done” Listener Reports. MLD requires the Router Alert option
(that is, tell the router to inspect the packet) is set in all messages sent from an MLDv1 client. If multiple
clients on the same Layer 2 Tunnel are concurrently joining the same multicast group, then they may
suppress the sending of reports if they see appropriate reports being generated by another of those
clients.

• Version 2

This is an extension to version 1 that supports filter lists that is, a client can indicate in a report that it
only wants to receive packets from a multicast group where those packets have a specific source IP
Address. MLDv2 requires the Router Alert option (that is, tell the router to inspect the packet) is set in
all messages sent from an MLDv2 client. If multiple clients on the same Layer 2 Tunnel are concurrently
joining the same multicast group, each client will always issue it's own reports regardless of reports
issues by the other clients.

© Copyright 2018 TeraVM Java Client User Guide Page 258


Aeroflex Limited. All
rights reserved.
8.2.6.2. Provisioning a Multicast IGMP Server
Application

8.2.6.2. Provisioning a Multicast IGMP Server Application


The IGMP Server uses a host to access the network. Unlike TCP applications, it does not bind to a specific
transport port on that host. An IGMP server may only run on a Direct Virtual Host.
Once started, the IGMP server will continuously send a stream of multicast packets to a specified group or
groups. As packets are sent from the IGMP Server application, they are given a specific Quality of Service.
This is achieved by configuring a Type of Service (ToS) value or a Differentiated Service Code Point (DSCP)
value for the server.
These packets could be sourced from:
• Random (non-RTP) data produced by TeraVM
• pcap file containing RTP or non-RTP data
The Server streams to one or more specified multicast groups which are contained in a Multicast Group List.
The following Add New IGMP Server Wizard is displayed to provision an IGMP server:

Figure 8-85. IGMP Server - Application Wizard

The following steps are required to provision an IGMP server:


• Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 259


Aeroflex Limited. All
rights reserved.
8.2.6.2.1. Application Details

• Server Details

• Streamed Contents

• Additional Configuration

8.2.6.2.1. Application Details


The following information is required for the applications details step of the IGMP Server wizard:
Table 8-59. IGMP Server Application Fields

Field Description Validation

Name Unique name identifying the IGMP server application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct Virtual Host is the only
hosts which the server will use to access the SUT. host type that can be selected.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.6.2.2. Server Details


The Server Details step dialog is displayed as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 260


Aeroflex Limited. All
rights reserved.
8.2.6.2.2. Server Details

Figure 8-86. IGMP Server - Server Details

The following details are required for the server step of the IGMP Server provisioning wizard:
Table 8-60. Multicast (IGMP/MLD) Server Application -Server Details

Field Description Validation

Router Alert Tells the Router to examine this packet more closely. Enabled/Disabled. Default is Enabled.

Multicast Group Selection A drop down to select whether to use a config item or Select from a previously configured group
provided value fields for specific Multicast group the client or add a new group. Refer to the section
is interested in. If 'Group List' is selected browse through in on IGMP Configuration in Chapter 11 -
Interest Group List field button to a config file containing Test Case Configurations for more details
a list of groups which the client is interested in. Each on Multicast Groups. Mandatory. Can be
group can contain up to 100 entries. Each entry in the one of 'Group List' or 'Specific Group'.
list contains the address of the multicast group plus a Default: Group List.
Destination Port and Source Port. If 'Specific Group' is
selected the Mutlicast Group Address, Source Port and
Destination Port fields appear.

Multicast Group Address The Multicast IP address the server will associate to. IP Address. Mandatory if 'Specific Group'
option is selected from the Multicast
Group Selection combo box. Must be
an IPv4 multicast address without a
prefix. IPv4 multicast address range from
224.0.0.0 to 239.255.255.255. Default
value: 239.252.1.1.

© Copyright 2018 TeraVM Java Client User Guide Page 261


Aeroflex Limited. All
rights reserved.
8.2.6.2.3. Streamed Content

Field Description Validation

Source Port Source port Integer. Mandatory if 'Specific Group'


option is selected from the Multicast Group
Selection combo box. Minimum value = 0
and the maximum = 65,535. Default value:
null. If user selects 'Accept Data from any
Source Port' checkbox, this field will be
disabled/grayed out.

Destination Port Destination Port Integer. Mandatory if 'Specific Group'


option is selected from the Multicast Group
Selection combo box. Minimum value
= 0 and the maximum = 65,535. If user
selects 'Accept Data to any Destination
Port' checkbox, this field will be disabled/
grayed out.

8.2.6.2.3. Streamed Content


The Streamed Content step of the wizard enables you to configure details regarding the type, content,
payload size and rate of the data stream.

Figure 8-87. IGMP Server - Streamed Content

© Copyright 2018 TeraVM Java Client User Guide Page 262


Aeroflex Limited. All
rights reserved.
8.2.6.2.3. Streamed Content

The following details are required for the Streamed Content step of the wizard.
Table 8-61. IGMP/MLD Server - Streamed Content

Field Description Validation

Media Transport Identifies the type of media transport in the outgoing RTP or MPEG2-TS. Default is RTP.
stream.

Stream Content What data the stream is sending that is, from a pcap file or Options are File or Data. Data is the
arbitrary data produced by MLIPS. default.

Payload Size Available if Streamed Content is Data. The size, in bytes, Default is 1316. This field is only available
of the payload portion of each packet to be transferred by if the Streamed Content is Data.
the server host.

Data Rate Available if Stream Content is Data. Rate at which data Default is 1 Mb/Sec. Integer Mb/Sec 1
will be multicast to the specified group in Mb/s, Kb/s, or - 100 (GigE max is 1000) Kbs/Sec 1 -
Packets/s. Only applicable if the data is arbitrary. (that is, 100,000 Pkts/Sec 0 – 200,000 Default 1
not from a pcap file). Stream Content must be Data. Mb/s. Measured in Kb/Sec, Mb/s, or Pkt/s.

Playback Resource Available if Stream Content is File. A list of single pcap An existing list of preconfigured files can
files containing RTP or Non-RTP (MPEG2 TS) packets. be selected from the Playback Resource
List Select Dialog shown below or a new
Playback Resource List can be added from
this dialog. Refer to Chapter 11 for details
of Playback Resource Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 263


Aeroflex Limited. All
rights reserved.
8.2.6.2.3. Streamed Content

Figure 8-88. Playback Resource List Selection

Note
If the Stream Content property in a IGMP/MLD Server is set to “File” and the selected Playback
Resource List consists of resources of type “Capture File”, the Media Transport must match with
the type of conversations present in the first capture file in the selected Playback Resource List. For
example, if the Media Transport is set to “RTP”, then the first capture file in the selected Playback
Resource List must contain UDP/RTP conversations. If the Media Transport is set to “MPEG2-

© Copyright 2018 TeraVM Java Client User Guide Page 264


Aeroflex Limited. All
rights reserved.
8.2.6.2.4. Additional Configuration

TS”, then the first resource in the selected Playback Resource List must contain UDP/Unknown
conversations. This will be validated when a test is being started.

If the Stream Content property in a IGMP/MLD Server is set to “File” and the selected Playback
Resource List consists of resources of type “MPEG2-TS File”, then the Media Transport can be set to
either “RTP” or “MPEG2-TS”.

A Playback Resource list can contain multiple resources. However, all resources in a playback
resource list must reference files containing the same data type.

If the resource list is used in an IGMP/MLD Server, only the first resource will be used and the others
will be ignored. If a resource list containing more than one resource is used by an IGMP/MLD Server,
a warning will be generated while the test is starting and this will be displayed in the Run Output
console.

8.2.6.2.4. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.6.3. Provisioning a Multicast IGMP Client Application


The TeraVM IGMP Client application accesses the SUT via a TeraVM host. Unlike TCP applications, it does
not bind to a specific transport port on that host. An IGMP client may only use a Direct Virtual Host and not
any other type of host.

As packets are sent from the IGMP Client application, they will be given a specific Quality of Service. This
will be achieved by allowing the operator configure a Type of Service (ToS) value or a Differentiated Service
Code Point (DSCP) value for the client – the DSCP value is set when configuring the ToS/Diffserv field.

Once started, an IGMP client application will determine which multicast groups it needs to join, what order it
needs to join them in and how long it should remain a member of each of those groups.

The following wizard is displayed to provision an IGMP Client.:

© Copyright 2018 TeraVM Java Client User Guide Page 265


Aeroflex Limited. All
rights reserved.
8.2.6.3.1. Application Details

Figure 8-89. IGMP Client - Application Details

The steps required to provision a IGMP Client application are:

• Application Details

• Client Details

• Join Details

• Filter Details (Only available for IGMPv3 and MLDv2)

• Additional Configuration

• Passive Analysis (Only available if Passive Analysis is Configured)

8.2.6.3.1. Application Details


The following information is required for the Applications Details step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 266


Aeroflex Limited. All
rights reserved.
8.2.6.3.2. Client Details

Table 8-62. IGMP Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
The default value is "Single App per Row",
field.
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description Description for the application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select either a single host or multiple hosts from the list of Mandatory. Only a Direct Virtual Host can
the previously configured IP Hosts for this Test Group. be selected for this client.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

Media Transport Identifies the type of media transport in the incoming RTP, MPEG2-TS /RTP or MPEG2-TS
stream. Default is RTP.

8.2.6.3.2. Client Details


The Client Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 267


Aeroflex Limited. All
rights reserved.
8.2.6.3.2. Client Details

Figure 8-90. IGMP Client Application - Client Details

Table 8-63. IGMP Client Application -Client Details

Field Description Validation

IGMP Version IGMP multicast protocol version. Default is V2. Can be IGMP V1, V2 or V3.
Select value from drop down combo-box.

Router Alert Tells the Router to examine this packet more closely. Enabled/Disabled. Default is Enabled.

Interested Group A drop down to select whether to use a config item or Select from a previously configured group
Selection provided value fields for specific Multicast group the client or add a new group. Refer to the section
is interested in. If 'Group List' is selected browse through in on IGMP Configuration in Chapter 11 -
Interest Group List field button to a config file containing Test Case Configurations for more details
a list of groups which the client is interested in. Each on Multicast Groups. Mandatory. Can be
group can contain up to 100 entries. Each entry in the one of 'Group List' or 'Specific Group'.
list contains the address of the multicast group plus a Default: Group List.
Destination Port and Source Port. If 'Specific Group' is
selected the Mutlicast Group Address, Source Port and
Destination Port fields appear.

Mutlicast Group Address The Multicast IP address of the specific group the client is IP Address. Mandatory if 'Specific
interested in. Group' selected in 'Interested Group

© Copyright 2018 TeraVM Java Client User Guide Page 268


Aeroflex Limited. All
rights reserved.
8.2.6.3.3. Join Details

Field Description Validation


Selection' field. Must be an Ipv4 multicast
address without a prefix. The IPv4
multicast address range is from 224.0.0.0
to 239.255.255.255. Default value:
239.252.1.1.

Source Port Source port of the specific group. Integer. Mandatory if 'Specific Group'
selected in 'Interested Group Selection'
field. Minimum value = 0, maximum
=65,535. Default value: null. Displayed
only if the Interested Group Selection
is 'Specific Group'. Note: If user selects
'Accept Data from any Source Port'
checkbox, this field is disabled/grayed out.

Destination Port The Destination Port of the specific group. Integer. Mandatory if 'Specific Group'
selected in 'Interested Group Selection'
field. Minimum value = 0, maximum
=65,535. Default value: null. Note: If user
selects 'Accept Data to any Destination
Port' checkbox, this field will be disabled/
grayed out.

Accept data from a Allows the client to override the Source ports for the When the tickbox is checked the client
Source Address multicast groups configured in the multicast group list. will accept data from any group with any
Source port. Default is ticked.

Accept data to any Allows the client to override the Destination ports for the When the tickbox is checked the client
Destination Address multicast groups configured in the multicast group list. will accept data from any group with any
Destination port. Default is ticked.

8.2.6.3.3. Join Details


The IGMP client interacts with a multicast group via a small number of “reports” sent between it and the
multicast router. These are typically Membership Reports that indicate when the client wants to join a group,
when the client wants to leave a group or the client reports itself as a member of a group in response to
a query from a multicast router. A client must join a multicast group before it can receive packets for that
group.

The Join Details step of the wizard displays the following dialog to configure parameter for joining or leaving
a group.

© Copyright 2018 TeraVM Java Client User Guide Page 269


Aeroflex Limited. All
rights reserved.
8.2.6.3.3. Join Details

Figure 8-91. IGMP Client Application - Join Details

Table 8-64. Add Multicast (IGMP/MLD) Client Application - Join Details

Field Description Validation

Join Groups If set to enabled, the client will always automatically Default is Enabled. Enabled/Disabled.
attempt to join the specified group. If set to disabled, the Select value from drop down list.
client will not attempt to join the group, and duration and
delay fields will be grayed out.

Group Strategy If Join is set to enabled and No. of Rows in the Default is Sequential. Sequential/
Application Configuration Step is greater than 1, Group Random/Concurrent. Select value from
Strategy is enabled. It specifies how the clients are to drop down list.
join each group on the server. Sequential, client joins
each group in order. Random, client joins each group at
random. Concurrent, client joins all groups at one time.

Leave Group Controls how a client leaves a group, if ever. After Join Default is After Duration. Never/After
means immediately after Join completes. After Duration Join/After Duration. Select value from
means allow Duration to elapse before leaving. Only drop down list.
available if Join Groups is Enabled.

Duration of Join Time period, in milliseconds, after which the client rejoins Integer 1 to 86400000 (ms) or profile. If it is
the group(s) it is interested in. Applicable only if Leave a profile then the min and max values must

© Copyright 2018 TeraVM Java Client User Guide Page 270


Aeroflex Limited. All
rights reserved.
8.2.6.3.3.1. Advanced Configuration

Field Description Validation


Group is “After Duration”.Only available if Join Groups is be within this range. Default 1. Allowable
Enabled. metrics are ms, sec, min and hour with ms
as the default.

Delay before Rejoin Time period, in milliseconds, after which the client rejoins Integer 1 to 86400000 or profile. If it is a
the group(s) it is interested in. Not applicable if Leave profile then the min and max values must
Group is “Never”.Only available if Join Groups is Enabled. be within this range. Default 1. Allowable
metrics are ms, sec, min and hour with ms
as the default.

8.2.6.3.3.1. Advanced Configuration


By clicking on the Advanced button in the Join Details step of the wizard, the Advanced IGMP Settings
dialog is displayed. This dialog contains two tabs:
• Reports
• Queries
The Join Membership Report tells the multicast router that the client wants to join one or more multicast
groups. Membership report parameters are set in the Queries tab of the dialog.
The Reports tab enables you to configure other report parameters in order to maximise the number of
reports generated.
The Reports tab dialog is displayed as follows:

Figure 8-92. Advanced IGMP Setting - Reports

© Copyright 2018 TeraVM Java Client User Guide Page 271


Aeroflex Limited. All
rights reserved.
8.2.6.3.3.1. Advanced Configuration

This dialog requires the following information:


Table 8-65. Advanced IGMP Settings - Reports

Field Description Validation

Join Report Delay Delay in milliseconds between the issuing of each join Value between 1 – 10 (secs). Default is
membership report. Only available if Join Groups is 1. This will be changed to allow ms in
Enabled. the GUI and change the values to 1 –
3,600,000(ms) with default of 1000. It can
also be a profile with min and max values
in the range 1 – 3,600,000. Measured in
ms, sec and hour with ms as the default.

Join Report Count The number of times to send a join report before Integer 1 to 255. Default is 1.
assuming the associated multicast router is not
responding. Only available if Join Groups is Enabled.

Rejoin After Failure If enabled, and if the client detects that it hasn't received Enabled, Disabled. Default is Disabled.
a packet after a specified time period (the Join Timeout),
then the client will continuously attempt to rejoin the
group, after intervals of the specified time period, until
such time as the rejoin is successful. Only available if Join
Groups is Enabled.

Join Timeout Time in milliseconds after which the client will go into an Integer value or profile. Default is 2
error state if a packet has not been received within this seconds. Min is 1 and max is 3,600,000
time. This is only available if Join Groups is Enabled. ms. Measured in ms, sec and min with sec
as the default.

The Queries tab dialog is displayed as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 272


Aeroflex Limited. All
rights reserved.
8.2.6.3.3.1. Advanced Configuration

Figure 8-93. IGMP/MLD Advanced Settings - Queries

This dialog requires the following information:


Table 8-66. IGMP/MLD Client Advanced Settings - Queries

Field Description Validation

Unsolicited MR If enabled, the client will periodically send membership Optional. Enabled or Disabled. Default is
(Membership Reports) reports to the all routers group. Only available if Join Disabled.
Groups is Enabled.

Delay Between UMRs Delay in milliseconds between the issuing of each Integer value or profile. 1 – 3,600,000 (ms).
(Unsolicited Membership unsolicited membership report. This is only available if It can also be a profile with min and max
Reports) Unsolicited MRs is Enabled. values in the range 1 – 3,600,000. Default
is 1 if enabled. Measured in ms, sec, min
and hour with ms as the default.

Override Of Max QRT If enabled, the client can specify an override to the default Enabled or Disabled. Default is Disabled.
(Query Response Time) maximum query response time. Only available if Join
Groups is Enabled.

Maximum QRT (Query Maximum time period in milliseconds after which the client Min 1, max 3,600,000 (ms). Default is
Response Time) will respond to a query regarding an interested group, if blank if Override is Disabled – MLIPS
no other client has responded. If the Override flag is set, will default it to between 1 – 10000ms. If
then the client will always ignore a Query's requested Max Override is Enabled the default it cannot
Response Time, and use the configured value (if there is be blank. Can also be a profile with above
one, otherwise the MLIPS default). If the Override flag is min/max. Measured in ms, sec and min.
not set, then the client will only use the configured value if
the Query does not specify a Max Response Time.

© Copyright 2018 TeraVM Java Client User Guide Page 273


Aeroflex Limited. All
rights reserved.
8.2.6.3.4. Filter Details

8.2.6.3.4. Filter Details


The Filter Details step of the wizard uses the following dialog to configure filter lists for the client.

Figure 8-94. IGMP Client - Filter Details

The following information is required for this dialog:


Table 8-67. IGMP Client Application - Filter Details

Field Description Validation

Filter If Enabled then the filter is applied, otherwise client Enabled, Disabled (default).
receives all packets

Filter Type Indicates type of filtering. Applicable only if filtering is Default is Include and this is the only
enabled. option currently available.

Filter List List of source IP addresses to be used to filter on packets Select from a list of previously configured
received. Only Applicable for IGMPv3 clients, and only Filter Lists or add a new Filter List. Refer
if filtering is enabled. Only available if Join Groups is to the section on IGMP Configuration in
Enabled. Chapter 11 - Test Case Configurations.

© Copyright 2018 TeraVM Java Client User Guide Page 274


Aeroflex Limited. All
rights reserved.
8.2.6.3.5. Additional Configuration

8.2.6.3.5. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.
Table 8-68. Add New IGMP Client - Additional Configuration

Field Description Validation

Configure Passive As described in Settings Common to Multiple Applications, Default is disabled.


Analysis Additional Configuration, Passive Analysis. If enabled,
allows configuration of the following two Jitter Buffer
parameters.

Playout Jitter Buffer Delay Jitter buffer delay before packets are considered played. Integer value in the range 0-65535ms.
If Passive Analysis is enabled, it accepts the an input from Available units are ms, sec. Default is
a Jitter buffer. TeraVM uses a Jitter Buffer Emulator which 300ms. Only available in the following
emulates jitter buffers such as Set Top Boxes used to circumstance: • Media Transport is RTP •
compensate for network jitter. Or Passive Analysis is enabled.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer value in the range 0 - 65535.
Size. Available units are ms and sec. Default
is 900ms. Only available in the same
circumstances that Playout Jitter can be
configured.

8.2.6.3.5.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics settings
can be configured.

The IGMP Statistics dialog is displayed as shown.

© Copyright 2018 TeraVM Java Client User Guide Page 275


Aeroflex Limited. All
rights reserved.
8.2.6.3.5.1. Statistics Configuration

Figure 8-95. IGMP Statistics

The following statistics can be enabled or disabled in this dialog:


Table 8-69. IGMP Client Application - Advanced Additional Configuration

Field Description Validation

Enable Normal/Fine As described in Settings Common to Multiple Applications, Enabled by ticking the checkbox or
Statistics Additional Configuration. disabled by leaving the checkbox empty.
Default is ticked to enable Normal statistics
and unticked to disable Fine statistics.

Enable Leave Time Indicates the IGMP Client will continue to report leave Enabled by ticking the checkbox or
Statistics statistics after it has left the group. disabled by leaving the checkbox empty.
Default is disabled.

Enable Maximum Leave This field, if enabled, is used to imit the length of time that Enabled or Disabled. Default is Disabled.
Time the client will monitor a group, (collecting leave statistics),
after leaving.
Note: That the client will cease monitoring a group, (that
is, stop collecting leave statistics for that group), when
either of the Maximum Leave Time or Maximum Leave
Timeout conditions is met. In other words, if the Maximum
Leave Time is reached, the client will stop monitoring
the group, regardless of whether or not it is still receiving
packets. Likewise, if a packet does not arrive within the

© Copyright 2018 TeraVM Java Client User Guide Page 276


Aeroflex Limited. All
rights reserved.
8.2.6.3.6. Passive Analysis

Field Description Validation


designated Leave Timeout interval, the client will stop
monitoring the group, regardless of whether or not the
Maximum Leave Time has been reached.

Maximum Leave Time The maximum amount of time after leaving a group that “Indefinite” or Integer in the range 1 to
the client will monitor that group to measure the leave 3,600,000 ms. (1 hour). Available units
time. are ms and sec. Default is “Indefinite”.
Available only if “Leave Statistics” is
enabled.

Enable Maximum Leave This field, if enabled,is used to imit the length of time that Enabled or Disabled. Default is Disabled.
Timeout the client will monitor a group, (collecting leave statistics),
after leaving. (See note for Enable Maximum Leave
Time field)

Leave Timeout The maximum amount of time that can elapse without “Indefinite” or Integer in the range 1 to
receiving a packet before the client will assume that the 3,600,000 ms. (1 hour). Available units are
leave is complete, (and therefore stop monitoring the ms and sec. Default is 1 sec. Available only
group). if “Leave Statistics” is enabled.

8.2.6.3.6. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
following Passive Analysis is displayed as the last step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 277


Aeroflex Limited. All
rights reserved.
8.2.6.3.6. Passive Analysis

Figure 8-96. IGMP Client - Passive Analysis

The following information is required for this dialog:


Table 8-70. IGMP Passive Analysis Dialog Fields

Field Description Validation

Analyse Video ES If Media Transport contains MPEG2-TS elementary Enabled/Disabled. Default, if available, is
streams then this allows the video elementary stream Enabled.
to be analysed. (Only available if Media Transport is
MPEG2-TS/RTP or MPEG2-TS. At least one of Analyse
Video ES and Analyse Audio ES must also be enabled.)

Video Codec Allows the IGMP client to measure passive quality metrics For all values of Media Transport the
for the incoming stream. If Media Transport is RTP following values are available:
this field is always available. If the Media Transport is
• JPEG
MPEG2-TS/RTP or MPEG2-TS, this property is only
enabled if Analyse Video ES is enabled • MPEG
• H.261
• H.263
• H.263+

© Copyright 2018 TeraVM Java Client User Guide Page 278


Aeroflex Limited. All
rights reserved.
8.2.6.3.6. Passive Analysis

Field Description Validation


• H.264
• MPEG-4
• VC-1
• MPEG2TS
If Media Transport i s RTP, the following
additional value is available: .
• Static
Default is MPEG.

Analyse Audio ES If Media Transport contains MPEG2-TS elementary Enabled/Disabled. Default, if available, is
streams then this allows the audio elementary stream to Disabled.
be analysed. (Only available in the if Media Transport is
MPEG2-TS/RTP or MPEG2-TS. At least one of Analyse
Video ES and Analyse Audio ES must also be enabled.)

Audio Codec Used for passive analysis of the audio stream. (Only Allowed values are:
available if Media Transport is MPEG2-TS/RTP or
• MPEG-1 Layer 1
MPEG2-TS.)
• MPEG-1 Layer 2
• MPEG-1 Layer 3
• MPEG-2 AAC
• AC-3
• MPEG-4 AAC
• MPEG-4 Low Delay AAC
• MPEG-4 High Efficiency AAC
Default is MPEG-1 Layer 1. Only available
if Analyse Audio Stream is enabled.

Auto determine ES PID(s) TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is enabled.
incoming stream to analyse. (Only available in the if
Media Transport is MPEG2-TS/RTP or MPEG2-TS. At
least one of Analyse Video ES and Analyse Audio ES
must be also enabled.)

Video ES PID PID of the Video Elementary Stream to be analysed. Integer value. Min is 16 and Max is
This allows the functionality for detecting the PID to be 8192. No Default. Only available if
overridden. (Only available in the if Media Transport is Auto Determine ES PID(s) is disabled.
MPEG2-TS/RTP or MPEG2-TS.) This property is only available if Auto
Determine ES PID(s) is disabled and
Analyse Video ES is enabled. If both
Video ES PID and Audio ES PID are
available they cannot have the same value.

Audio ES PID PID of the Audio Elementary Stream to be analysed. Integer value. Min is 16 and Max is 8192.
This allows the functionality for detecting the PID to be No Default. Only available if Analyse
overridden. (Only available in the if Media Transport is Audio Stream is enabled and Auto
MPEG2-TS/RTP or MPEG2-TS.) determined ES PID(s) is disabled.
If both Video ES PID and Audio ES PID
are available, they cannot have the same
value.

© Copyright 2018 TeraVM Java Client User Guide Page 279


Aeroflex Limited. All
rights reserved.
8.2.6.4. Provisioning a Multicast IGMP External
Server Application

Field Description Validation

Enable Passive Analysis Configures the collection of Passive Analysis statistics. Enabled by ticking the checkbox or
Statistics disabled by leaving the checkbox empty. N/
A is Passive Analysis is not configured.

Enable Time to First I- Allows the IGMP client to measure the time from the Join Enabled by ticking the checkbox or
Frame Statistics to the first complete I-Frame reception. Note: Qmets disabled by leaving the checkbox empty.
I-Frame statistic can be unreliable when the stream Default is disabled.
is encrypted or the video payload is not supported for
VQmon for decoding.
If Media Transport is RTP then this property is always
available. If Media Transport is MPEG2-TS/RTP or
MPEG2-TS, then is property is only available if Analyse
Video ES is enabled.

8.2.6.4. Provisioning a Multicast IGMP External Server Application


If a test is to interact with a real IGMP Server, then an External IGMP Server must be configured in TeraVM.
As with all external applications, the IGMP External Server needs to use an External Host to communicate
with the SUT.

The following dialog is displayed to provision an IGMP External Server Application.

© Copyright 2018 TeraVM Java Client User Guide Page 280


Aeroflex Limited. All
rights reserved.
8.2.6.4.1. External Server Properties

Figure 8-97. IGMP External Server

Table 8-71. External IGMP Server Application Fields

Field Description Validation

Name Unique name identifying the External IGMP server Mandatory. String value between 1 and
application. 255 characters in length.

Description Description for the external server application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

Multicast Group List List of groups that this server will multicast to. Each Select from a previously configured group
group can contain up to 100 entries. Each entry in the or add a new group. Refer to the section
list contains the address of the multicast group plus a in on IGMP Configuration in Chapter 11 -
Destination Port and Source Port. Test Case Configurations for more details
on Multicast Groups.

8.2.6.4.1. External Server Properties


The following dialog is displayed for the External Server properties step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 281


Aeroflex Limited. All
rights reserved.
8.2.6.4.1. External Server Properties

Figure 8-98. IGMP External Server

The External Properties dialog enables you to configure a list of string parameter/value pairings which
describe how the external server may have been configured to operate. These properties are informational
only and can prove useful as a means of keeping track of the test environment. Some of the information
stored via this property sheet could include, for example:

• Version - the version of IGMP supported by this External IGMP Server.

To enter a property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 282


Aeroflex Limited. All
rights reserved.
8.2.7. VoIP

Figure 8-99. Add Property Value Dialog

8.2.7. VoIP
Voice over IP (VoIP) refers to the use of IP networking to deliver telephony services. VoIP call data
uses a packet-switched network for transport, instead of traditional dedicated, circuit-switched telephony
transmission lines. Other terms for VoIP are IP Telephony and Internet telephony. The term VoIP is also
used to describe video telephony. SIP (Session Initiation Protocol) is one of the leading signaling protocols
for VoIP.

VoIP tests in TeraVM are provided by client and server applications:

• TeraVM VoIP User Agent (UA) on the client side

The TeraVM VoIP UA is capable of the following:

– SIP Registration

– Initiating SIP calls

– Accepting SIP calls

– SIP Trunking

– Encrypting and authenticating SRTP packets (if this transmission method is chosen). See note.

• TeraVM VoIP User Agent Server (UAS) or External SIP Proxy on the server side

The TeraVM VoIP UAS is only capable of accepting SIP calls.

Note
SRTP encryption and authentication is not possible for Dual Hosted or B2B VoIP User Agents.

IMS Functionality
A VoIP UA can operate in a IMS mode when paired with an appropriate RTSP Client application. To achieve
this it is necessary to have the appropriate licence, to enable IMS mode on the Test Agent Configuration and
to ensure both the VoIP UA and RTSP Client use the same username.

© Copyright 2018 TeraVM Java Client User Guide Page 283


Aeroflex Limited. All
rights reserved.
8.2.7.1. Provisioning a VoIP UAS Application

B2B (Back to Back) UA Functionality


In order to increase the number of calls generated by TeraVM without increasing the number of VoIP
subscribers and hosts, TeraVM supports B2B (Back to Back) functionality.
B2B UA functionality allows multiple VoIP UAs to initiate or accept calls as a single VoIP subscriber. This
means multiple VoIP UAs are allowed to initiate and accept calls as the same VoIP subscriber on the same
host (or pair of hosts for a Dual Hosted VoIP UA).
In network terms, each VoIP UA using that host can share the same SIP port on a host and be configured
with the same SIP user and SIP domain name. Each VoIP UA will represent an individual call for a single
VoIP subscriber. This allows multiple simultaneous calls to be supported for a single VoIP subscriber on a
host.

VoIP Call Rate Limits


All VoIP UA applications on a Packet Processor are subject to a call rate limit, for example 10 calls attempts/
sec. This limit is applied directly to a Card, therefore the a VoIP Call Rate limit is configured at the Card
Level Configuration. Refer to Card Level Configuration.

Controlling RTP Packet Transmission


VoIP UA applications have a "disable RTP transmission" field which allows you to enable or disable RTP
packets transmission for the VoIP UA before a test has actually started. You can also enable/disable RTP
packet transmission during the running of a VoIP test by right-clicking on the selected application(s).

SIP Trunking
A SIP trunk is the routing of a large number of SIP calls for different users between a pair of IP addresses.
In a real world environment this emulates the exchange of SIP traffic for a number of users between two
SIP proxies. In TeraVM a group of VoIP UAs can be used to simulate VoIP traffic over a SIP trunk. For
information on the configuration of SIP Trunking, see Section 8.2.7.3.

SIP Header Field List


SIP Header Field Lists can be used to configure SIP Headers to provide different testing scenarios, the
available default preconfigured scenarios are: VoLTE Emergency Call, SIP PBX, SIP Privacy, CUCM-
CTMS-Trunk.
This chapter provides an example of how to configure SIP-PBX. SIP-PBX Emulation extends SIP Trunking
with support for registration attributes for bulk telephone numbers (RFC 6140),and adds the ability to
configure the SIP Register. To configure for this scenario:
1. Configure SIP Trunking, see Section 8.2.7.3.
2. Extend the SIP Trunking for SIP-PBX emulation, see Section 8.2.7.3.1.1.
3. Use a Configuration item to set the values in the SIP message, see Chapter 9, Section 9.3.14.3.

8.2.7.1. Provisioning a VoIP UAS Application


A VoIP UAS is used to listen for traffic, and accept SIP Calls from a VoIP UA.

© Copyright 2018 TeraVM Java Client User Guide Page 284


Aeroflex Limited. All
rights reserved.
8.2.7.1.1. Add New VoIP UAS - Application Details

If you select to add a VoIP User Agent Server, the Add New VoIP UAS Wizard dialog is displayed.

Figure 8-100. Add New VoIP UAS Wizard

The steps following are required to provision a VoIP UAS application:


• Application Details
• Server Details
• Call Details
• Additional Configuration

8.2.7.1.1. Add New VoIP UAS - Application Details


In addition to common fields described at the beginning of this chapter, the following fields in the VoIP UAS
Application Details.
Table 8-72. VoIP UAS Application Fields

Field Description Validation

Transport Type Transport protocol that this UAS is configured to use. Can be either UDP or TCP. Default is UDP.

SIP Port Port for UAS to listen for SIP requests. Default is 5060. Value must be between 1
and 65535.

© Copyright 2018 TeraVM Java Client User Guide Page 285


Aeroflex Limited. All
rights reserved.
8.2.7.1.2. Add New VoIP UAS - Server Details

Field Description Validation

RTP Port Numeric range profile indicating ports to be used for An even Integer between 1 and 65535.
creating RTP media sessions. RTP ports will always be Can also be a profile. Mandatory. No
even. Default.

SIP ToS/DiffServ Quality of Service metric for the SIP messages sent by the Mandatory. Integer value between 0 and
VoIP UAS application. 255. Default is 0.

RTP ToS/DiffServ Quality of Service metric for the media messages sent by Mandatory. Integer value between 0 and
the VoIP UA application. Media messages include RTP or 255. Default is 0.
RTCP messages.

8.2.7.1.2. Add New VoIP UAS - Server Details


After entering the information required for the VoIP UAS Application Details, the next step of the wizard
displays the Server Details step.

Figure 8-101. Add VoIP UAS Application Wizard - Server Details

The following information is required to provision the VoIP UAS Application - Server Details.

© Copyright 2018 TeraVM Java Client User Guide Page 286


Aeroflex Limited. All
rights reserved.
8.2.7.1.3. Add New VoIP UAS - Call Details

Table 8-73. VoIP UAS Server Details Fields

Field Description Validation

SIP Username Username to identify this VoIP UAS. String value between 3 and 32 characters
in length. Mandatory. No default.

SIP Domain Name Domain name, for example shenick.com, used to identify String value between 3 and 32 characters
this VoIP UAS. in length. Mandatory. No Default.

Generate RTCP Reports Determines if RTCP Reports will be generated by this Checkbox - default is not ticked.
UAS.

8.2.7.1.3. Add New VoIP UAS - Call Details


After entering the information required for the VoIP UAS Server Details, the next step of the wizard displays
the Call Details step.

Figure 8-102. Add VoIP UAS Application Wizard - Call Details

© Copyright 2018 TeraVM Java Client User Guide Page 287


Aeroflex Limited. All
rights reserved.
8.2.7.1.3.1. Advanced SIP Options

The following information is required to provision the VoIP UAS Application - Call Details.
Table 8-74. VoIP UAS Call Details Fields

Field Description Validation

Disable RTP Allows for the generation of SIP messages without RTP Checkbox - default is not ticked.
Transmission media.

Enable SRTP Enables the use of SRTP by this UAS. The crypto-suite Checkbox - default is not ticked.
used by the client is automatically detected by the server.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0 and 30,000. Can also
accepting/rejecting a call. This can be a profile to inject be a profile. Default is 0 meaning no delay.
variability into the delay answering the call. Allowable metrics are ms and sec with ms
as the default.

Busy Ratio Percentage of calls to reject with a busy response. Integer between 0 and 100. Default is 0.

Allow UAS End Call Allows the UAS to terminate the call. Checkbox - default is not ticked.

Average Hold Time The length of time for the call in milliseconds. This relates Minimum value is 0. Maximum is 168 hours
to the media part of the call and excludes time spent on (1 week). Can also be a profile. Default is
signaling to setup and tear down the call. A value of 0 5. N/A if Allow UAS End Call is enabled.
means that the call is terminated immediately after being Metric is ms,sec, min and hours with sec
established and that no RTP media is exchanged. If the as the default.
remote endpoint is a foreign SIP UA it may not be possible
to prevent it sending some RTP traffic before the call is
torn down.

8.2.7.1.3.1. Advanced SIP Options


Clicking on the Advanced SIP Options button in the Call Details step of the wizard displays the following
dialog:

Figure 8-103. Advanced SIP Options

© Copyright 2018 TeraVM Java Client User Guide Page 288


Aeroflex Limited. All
rights reserved.
8.2.7.1.4. Add New VoIP UAS - Additional
Configuration

The following field can be configured for SIP Calls:


Table 8-75. Advanced SIP Options Dialog Fields

Field Description Validation

Send 100 Trying If enabled, a 100 TRYING message is sent in response to Enabled/Disabled. Default is Enabled.
an INVITE for a call which is to be accepted.

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. Enabled/Disabled. Default is Disabled.
It is a PRovisional ACKnowledgement by a calling party
to a provisional response. The 100rel PRACK option is
available as an option for the VoIP UA and UAS.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is Disabled.
If enabled, a session timer is negotiated during the call
setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call. Available as an
option for the VoIP UA and UAS.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

8.2.7.1.4. Add New VoIP UAS - Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 289


Aeroflex Limited. All
rights reserved.
8.2.7.2. Provisioning a VoIP UA

8.2.7.2. Provisioning a VoIP UA


The VoIP UA application is a TCP/UDP application. SIP messages (used to establish a call) may be
exchanged over UDP or TCP. RTP packets (carrying the traffic) are always exchanged over UDP.

To use a Host in TCP mode, the VoIP UA Application creates a TCP listener on a specified TCP port.
When a TCP connection is received, the server will allocate resources to respond to requests on the new
connection and it will then continue to listen for more new connections. After a connection is established, the
UA will simply monitor that connection and serve out data in response to any incoming requests. Packets
sent from the VoIP UA Application will have the source TCP port set to this port. The VoIP UA Application
must bind to a specific port - it cannot bind to the wildcard port.

A VoIP test has a number of differences from other client/server tests such as HTTP or SMTP. These are:

• VoIP UA is a combined client and server. The UA is capable of both accepting and making calls.

• VoIP UA has two distinct operations. Registration of the UA location with the external server and
initiating calls to other UAs.

• For calls to be completed it is necessary that all UAs have registered their locations with SIP servers.
This allows SIP servers to forward calls to UAs. If UAs have not registered then calls destined for those
UAs cannot be forwarded to them.

• The VoIP UA may establish calls with many different UAs via its external SIP proxy. If the UA is an
external SIP proxy server, this will forward the call on towards the destination UA.

If the UA has a list of URIs to call, each URI should result in a call being established with a different UA.

The following dialog is displayed when provisioning a VoIP UA:

Figure 8-104. VoIP UA Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 290


Aeroflex Limited. All
rights reserved.
8.2.7.2. Provisioning a VoIP UA

The following configuration steps are required to provision a VoIP UA:

• Application Details

• Addressing Details (Only available if bulk provisioning is enabled in the Application Details step)

• General Details

• In/Out Call Setup

• Call Details

• Additional Configuration

© Copyright 2018 TeraVM Java Client User Guide Page 291


Aeroflex Limited. All
rights reserved.
8.2.7.2.1. Application Details

• Passive Analysis (Only available if Passive Analysis is enabled)

Note
The number of VoIP clients (and their associated usernames) should be known before creating a VoIP
Call List to be used by a VoIP application.

8.2.7.2.1. Application Details


In this section, you set up the general information required by your VoIP UA application. Many of
these parameters are common to other applications and are described in Settings Common to Multiple
Applications.

The other fields are:


Table 8-76. VoIP UA Application Details

Field Description Validation

SIP Trunking Refer to SIP Trunking for details on this feature and how
to configure it.

Transport Type Transport protocol to be used. UDP, TCP or TLS. Default is UDP. If TCP
is selected, Advanced TCP Characteristics
can be configured by clicking on the
Advanced TCP button in this step.

SIP Port Port for UA to listen for SIP requests. Value must be between 1 and 65535. You
can make the ports scalable by clicking
the scale box and arrow, then entering
Increment by and Every x Entities
values.
The default port depends on the Transport
Type that you select.
• For UDP or TCP, it is 5060.
• For TLS, it is 5061.

RTP Port Numeric range profile indicating ports to be used for Can be a single value if the UA allows
creating RTP media sessions. RTP ports chosen shall maximum of one outstanding VoIP call.
always be even. If RTCP is selected on a call then RTCP Integer between 2 and 65535. Can also be
port is RTP port plus one. If not specified the range is a profile. Mandatory. Default is 16384. If
16384-32767. Can be a single value as the client allows Single value must be unique on the host.
maximum of one outstanding VoIP call. Values in profile
must be between 1 and 65535.

SIP ToS/DiffServ Quality of Service metric for the SIP messages sent by the Integer value between 0 and 255.
VoIP UA application. Mandatory. Default is 0.

RTP ToS/DiffServ Quality of Service metric for the media messages sent by Integer value between 0 and 255.
the VoIP UA application. Media messages include RTP or Mandatory. Default is 0.
RTCP messages.

Advanced TCP Refer to the chapter on TCP Configuration for more


details.

© Copyright 2018 TeraVM Java Client User Guide Page 292


Aeroflex Limited. All
rights reserved.
8.2.7.2.2. Addressing Details

8.2.7.2.2. Addressing Details


The Addressing Details step of the wizard is enabled if Multiple Client Per Row is selected in the
Application details step of the wizard.

Figure 8-105. VoIP UA - Addressing Details

The following fields are used to generate a unique IP address for each client row, for each TCP/UDP
connection.
Table 8-77. VoIP UA - Addressing Details

Field Description Validation

No. of Clients Per Row The number of client application to generate for each row Default is 2.
configured in the No. of Rows field in the Application
Details step. For example, if the No. of Rows value is
100, and the No. of Clients Per Row is 2, the number of
clients generated is 200.

Start IP Address Within The start IP address to use within the subnet to vary the The IP address configured for the Subnet
Subnet IP addressing for each client. host.

© Copyright 2018 TeraVM Java Client User Guide Page 293


Aeroflex Limited. All
rights reserved.
8.2.7.2.3. General Details

8.2.7.2.3. General Details


The General Details step of the wizard enables the configuration of the Client SIP details and its registration
with a SIP Server. The following dialog is displayed for this step:

Figure 8-106. VoIP UA - General Details

Note
When Register with Server is enabled and VoLTE-AKA-ESP is selected as authentication algorithm,
Emergency Call and Register with Server fields will not be editable.

The following information is required for this dialog:


Table 8-78. VoIP UA General Details

Field Description Validation

Server VoIP UA applications, TeraVM UAS or External Optional. No default. When provisioning more
SIP Proxy with which the VoIP UA Application will than 1 Application, or when the Configure
communicate. As field is set to Scaled Entity more than
one Server can be selected. When selecting

© Copyright 2018 TeraVM Java Client User Guide Page 294


Aeroflex Limited. All
rights reserved.
8.2.7.2.3. General Details

Field Description Validation


a server application the following validation
applies:
• non-scaled VoIP UA: can also have non-
scaled VoIP UA's as server.
• scaled VoIP UA: can also have scaled
VoIP UA's as a server.
• VoIP UA application cannot use itself as a
server.
• a non-scaled VoIP UA can have non-
scaled server applications: UA Server, Any
External Server, VoIP UA.
• scaled VoIP UA can have both scaled
and non-scaled server applications: VUA
Server, Any External Server, VoIP UA.
• HTTP Server - for downloading
configuration files when emulating a Cisco
phone.

SIP Username Username used in the SIP URI for the calling entity. String value between 1 and 32 characters in
length. Combination with SIP Domain Name
must be unique across VoIP UA Applications
within the test group that have Register with
Server enabled. Mandatory. No default.

SIP Display Name This field forms part of the SIP "From:" field which 1-32 alphanumeric characters plus the
identifies who is originating the call. This field can be following characters -.!%*_+`'~ No default
used as a unique extension number for each UA. value. Optional. The field can be scaled if the
application is configured as a Scaled Entity.

SIP Domain Name The Domain name that is, shenick.com. The UA's IPv4 address or string value between 3 and 32
host IP address can also be used as the host name. characters in length. Combination with SIP User
Name must be unique across VoIP Applications
within the test group that have "Register with
Server" enabled. Mandatory. No Default.

Emergency Call Configures VoIP UA application to make an Boolean. Default value is False.
emergency call.
The field is FALSE when:
• SIP trunking is Use Trunk or Act as
Trunk.
• Server is not selected or any other server
than the SIP Proxy Server/HTTP Server is
selected.
Field will be editable only when:
• SIP Trunking is set to disable.
• Register with Server is editable.
• Server used is SIP Proxy Server or HTTP
Server
When the field is set to TRUE, Register with
Server is set to Enabled then the Emergency
Call field will be non-editable.

© Copyright 2018 TeraVM Java Client User Guide Page 295


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.1. Authentication Details

Field Description Validation

SIP Header Field List SIP Header Value - name attribute String value of: 1-1024 characters
Allowed character set:
0..9a..zA..Z-_[space]`!"£$%^&*()_+=|\,./
<>?;'#:@~[]{}
An exampled of this value can be seen when
the Emergency Call check box is selected,
the default VoLTE Emergency call contains the
following SIP Header fields:

Contact: <sip:{user}@{localip}{sos}>{conpms}

Authentication Details Dialog used to configure authorization details used See next section for details on Authentication
during SIP registration. Details.

Register with Server Used to REGISTER with the SIP Server. Available Enabled to allow SIP Register with server, and
only when the SIP Trunking field is set as Act as Disabled to not allow the SIP Register with the
Trunk . Server.
Mandatory if Sip Trunking is set as Act as
Trunk.

Register with Server If enabled, the UA must first register with the SIP Default is Disabled.
Proxy server before starting the test. It is also
possible to indicate support for IMS Multimedia. Not
applicable if the VoIP UA is configured with a TeraVM
VoIP UAS.

Emulate Phone Type TeraVM now supports the emulation of different Mandatory. Default is Generic Phone.
Cisco Phone Types. If the "Generic Phone" value
is selected, then TeraVM will continue to emulate a
generic phone type, otherwise the selected phone
type will be emulated by TeraVM.

8.2.7.2.3.1. Authentication Details


The following dialog is used to configure authorization details used during SIP registration.

Two Authentication Algorithm schemas can be selected in the Authentication Details dialog. The fields that
must be updated in the Authentication Details dialog change depending on the requirements of the selected
algorithm.

The Authentication Algorithm schemas are:

1. Digest

2. VoLTE-AKA-ESP

The fields for both algorithm schemas are explained in the tables below.

© Copyright 2018 TeraVM Java Client User Guide Page 296


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.1. Authentication Details

Figure 8-107. SIP Authentication Details - Using the 'Digest' Authentication Algorithm

The fields described below appear when Digest is selected as the Authentication Algorithm:
Table 8-79. VoIP UA - Authentication Details for 'Digest' Authentication Algorithm

Field Description Validation

Authentication Algorithm The authentication methods available in TeraVM to Default setting is Digest. Mandatory. There
provide a secure SIP call. are two Authentication Algorithm options
available as authentication methods:
• Digest
• VoLTE-AKA-ESP

Use SIP Username If enabled, then the username entered in the SIP Enabled or disabled. Default is enabled.
Username field is used in the SIP URI for the calling
entity.

Password This password is used to respond to any Digest String value between 3 and 255 characters
challenges for SIP requests from this client. If this is not in length. Optional. No default. The
set, the SIP request immediately fails if the client receives password is scaleable.
a challenge response.

Specify Authorization Determines whether or not the SIP Register message Enabled or Disabled. Default is Disabled.
Username will use the SIP Username in the Authorization field or a
specific Authorization value.

Authorization Username The username to use in the Authorization field if Specify This field can have a specific value or
Authorization Username is enabled. use keywords {user} and {domain}.
Any instance of the {user} keyword will
be replaced with the value of the SIP
Username. Any instance of the {domain}
keyword will be replaced by the value of
the Domain Name field for this UA.

© Copyright 2018 TeraVM Java Client User Guide Page 297


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.1. Authentication Details

When the Authentication algorithm VoLTE-AKA-ESP is selected in the Authentication Details dialog, the
fields change to allow you to enter the AKA key and the AKA OP.

Figure 8-108. SIP Authentication Details - Using the 'VoLTE-AKA-ESP' Authentication Algorithm

The fields below appear when VoLTE-AKA-ESP is selected as the Authentication Algorithm in the
Authentication Details dialog:
Table 8-80. VoIP UA - Authentication Details for 'VoLTE-AKA-ESP' Authentication Algorithm

Field Description Validation

Authentication Algorithm The authentication methods available in TeraVM to Mandatory. There are two Authentication
provide a secure SIP call. Algorithm options available as
authentication methods:
• Digest
• VoLTE-AKA-ESP
Default setting is 'Digest'.

Specify Authorization User name to use when authenticating. Optional. If not specified SIP user name
Username will be used.

Authorization Username Mandatory if 'Specify Authorisation User


Name' is selected. Length range from 1 to
255. Valid characters include a-zA-Z0-9.
{}<>[]()@#&*%_+=!-.
The name is scalable.

© Copyright 2018 TeraVM Java Client User Guide Page 298


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.2. Advanced Registration Details

Field Description Validation

AKA Key Key to be used for AKA. The key is scalable. Mandatory if VoLTE-AKA-ESP is selected
as the Authentication Algorithm. Value
must be a 32 character Hexadecimal String
i.e 0..9, a..f, A..F. The key is made up of
the ASCII value of the SIP UserName with
appended zeros to make it 32 characters
long.
The key is scalable.

AKA OP AKA Operator ID to be used as input to AKA key Optional. Value must be a 32 character
generation algorithm. When VoIP UA application is scaled, Hexadecimal String i.e 0..9, a..f, A..F.
AKA OP field can also be scaled.
Default value: 32x0 if VoLTE-AKA-ESP is
. selected.

Use AKA OP as the OPc When check box is selected, AKA OP is used as the OPc Optional Boolean value. Default is False.
value. value.

Protected SIP Port Protected SIP port for sending SIP messages via ESP Mandatory if VoLTE-AKA-ESP algorithm
once AKA algorithm has run to agree IPsec SAs. is selected. Value must be an Integer
between 0 and 65535. These must not
match the SIP port Field's value.
Default value: 2468.

ESP Encryption Encryption Algorithm to be used for ESP Select one of three LTE ESP Encryption
methods: aes-cbc (default), des-ede3-cbc
or NULL.
Mandatory if VoLTE-AKA-ESP algorithm
selected.

ESP Authentication Authentication Algorithm to be used for ESP Select one of two ESP Authentication
methods: hmac-md5-96 (default), or
hmac-sha-1-96.
Mandatory if VoLTE-AKA-ESP algorithm
selected.

8.2.7.2.3.2. Advanced Registration Details


If the Register with Server setting is enabled on the General Details tab, the Advanced button in this step
is activated. The following dialog is displayed by clicking on this button to enable the configuration of extra
details for registering this UA with the SIP proxy and for supporting 3GPP IMS Multimedia.

Note
The parameter settings below are not applicable if the Register with Server setting is disabled.

Figure 8-109. Advanced UA Registration Details

© Copyright 2018 TeraVM Java Client User Guide Page 299


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.2. Advanced Registration Details

There are two tabs in the Advanced UA Registration Details dialog:

• Registration Interval

• 3GPP IMS Multimedia

The fields for Registration Interval tab are described as follows:


Table 8-81. VoIP UA - Registration Interval tab

Field Description Validation

Use Server Interval The UA can choose to use the server registration interval Default is Enabled.
if registration with server is enabled.

Registration Interval Interval between registration attempts by the UA, if Value between 1 ms and 86,400,000
registration with server is enabled. If specified, this defines ms (24 hours). Default is 3,600,000 ms
the expiration interval requested by the UA in the expires (1 hour). N/A if Use Server Interval is
field in the registration request. The requested expiration Enabled. Can be a profile. Allowable
interval will always be 60 seconds greater then the timer metrics are ms, sec, min and hour with min
interval to allow registration to occur if the registration as the default.
occurs again. If not specified the UA will attempt to
register again within the interval returned by the server in
the registration response.

Opening the 3GPP IMS Multimedia tab in the Advanced UA Registration Details dialog provides you with the
option to enable 3GPP IMS Multimedia support.

Figure 8-110. VoIP UA- 3GPP IMS Multimedia tab

© Copyright 2018 TeraVM Java Client User Guide Page 300


Aeroflex Limited. All
rights reserved.
8.2.7.2.3.2. Advanced Registration Details

The fields for 3GPP IMS Multimedia tab are described as follows:
Table 8-82. VoIP UA - 3GPP IMS Multimedia tab

Field Description Validation

Enable 3GPP IMS Enabling this indicates UA support for 3GPP IMS Default is Enabled.
Multimedia Multimedia in the SIP REGISTER Message.

IMEI International Mobile Station Equipment Identity number to 14 or 15 digit number. If 14 digits are
identify 3GPP, iDEN and some satellite phones. You must entered, the 15th number is scalable. Click
click Enable 3GPP IMS Multimedia before you can enter the arrow button to select scaling method
an IMEI number which is required for IMS registration. (the following field appears).

Scaler Method used to scale the IMEI number. Options:


• String List Scaler (enter List of
Strings or import a list of IMEI
numbers)
• IMEI Number Scaler (enter the
Increment by value)

© Copyright 2018 TeraVM Java Client User Guide Page 301


Aeroflex Limited. All
rights reserved.
8.2.7.2.4. In/Out Call Setup

8.2.7.2.4. In/Out Call Setup


The In/Out Call Setup step allows for the configuration of the VoIP call initiation and answering details. The
following dialog is displayed for this step:

Figure 8-111. VoIP UA In/out Call Setup

Emergency Calls

This feature allows the VoIP UA to be configured to make a mix of emergency and non-emergency calls. An
emergency call is configured by configuring the Call URI field to start with the string urn:service:sos. When
this is the case, the "sos" attribute will be added to the Contact of the REGISTER message to indicate this
UA is making an emergency call.

SIP Field Settings:

© Copyright 2018 TeraVM Java Client User Guide Page 302


Aeroflex Limited. All
rights reserved.
8.2.7.2.4.1. SIP Call Options

If specifying a Contact field via the SIP Field Settings the following format can be used to preserve values
configured in the UI:

Contact: <sip:{user}@{localip}{sos}>{conpms}

The variables defined in {} will be replaced with values from the UI configured for UA.
Example: Non-Emergency Call

Contact: <sip:bob3@1.1.1.2>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"
;+g.3gpp.smsip

Example: Emergency Call

Contact: <sip:bob2@1.1.1.2;sos>;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mm
tel";+g.3gpp.smsip>

The following information is required for this step:


Table 8-83. VoIP UA In/Out Call Details Dialog Fields

Field Description Validation

Allow UA to Initiate Calls The UA can choose to initiate calls or not. If enabled, this Default is Enabled. Enabled/Disabled.
UA can initiate calls. Specification of other call related properties
are dependent on this setting.

Called Party Selection Allows the user to either select a Configuration Item or to Default is blank.
select a list of Call URI to all.

Call URI Used to add a service to the call. Default is blank. If urn:service:sosis
entered into this field, then the Contact
header of the REGISTER is set to sos,
making it an emergency call. Otherwise,
when blank; a normal call.

Call List The name of a Call List configured in the VoIP Choose from the list.
Configuration folder.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0 and 30,000. Can also
accepting/rejecting a call. This can be a profile to inject be a profile. Default is 0 meaning no
variability into the delay answering the call. delay. Optional if UA is provisioned along
with an External SIP Proxy. N/A if UA is
provisioned with a TeraVM VoIP UAS.
Allowable metrics are ms and sec with ms
as the default.

Busy Ratio Percentage of calls to reject with a busy response. Integer between 0 and 100. Default is 0.
Optional if UA is provisioned along with an
External SIP Proxy. Not applicable if UA is
provisioned with a TeraVM VoIP UAS.

Allow UA End Call Allows a UA to terminate calls when it is not configured to Enabled/Disabled. Default is disabled.
initiate calls.

8.2.7.2.4.1. SIP Call Options


Clicking on the SIP Call OptionsFiel button in the In/Out Call Setup step of the wizard displays the
following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 303


Aeroflex Limited. All
rights reserved.
8.2.7.2.5. Call Details

Figure 8-112. SIP Call Options

The following field can be configured for SIP Calls:


Table 8-84. SIP Call Options Dialog Fields

Field Description Validation

Send 100 Trying If enabled, a 100 TRYING message is sent in response to Enabled/Disabled. Default is Enabled.
an INVITE for a call which is to be accepted.

Support for REFER If enabled it indicates to SIP proxy if REFER message is Enabled/Disabled. Default is Disabled.
Request supported and therefore which method can be used to
transfer calls.

The REFER message allows the SIP proxy to transfer an existing call by sending a REFER message
to UA on an existing session. The Refer-To field in the REFER message identifies the target for the UA
to open a new call to. NOTIFY messages must also be generated on the existing session by the UA to
indicate the success/failure of the call transfer. The initial NOTIFY message indicates that the call has
been attempted. The 2nd NOTIFY messages contains the final status code for the transfer call attempt and
therefore indicates if call succeeded or not. The UA will have 2 calls while the initial call and transfer call
exist. It is responsibility of the SIP server sending the REFER to close the original call.

8.2.7.2.5. Call Details


The Call Details tab enables you to configure delays between calls and the average length of calls. It also
allows you to configure encryption and authentication on the calls.

The BHCA (Busy Hour Call Attempts) is an important value for a VoIP application. It controls the call rate
that is, the number of calls attempted per hour. This value is dependent on the number of clients and the
average hold time for a call and you are not allowed to enter a value that cannot be achieved based on the
configured client count and average hold time. A simple formula to help with this is:

(Maximum Average Hold Time rounded up to nearest second + 3 seconds) <= (3600 * client count/ BHCA)

Therefore, a hold time of 0 and a client count of 50 means the maximum value for BHCA is 60,000. If a
BHCA fig of 120,000 is required then the number of clients should be increased to 100.

© Copyright 2018 TeraVM Java Client User Guide Page 304


Aeroflex Limited. All
rights reserved.
8.2.7.2.5. Call Details

Note
Clients will not maintain the configured BHCA value if either:

• they are on a call when the next call is to be initiated. This can occur if a client in another test
case entry calls this client.

• the previous call has not completed. A 3 second window should be sufficient. This may be the
case if the call answering delay is configured or SIP packets are dropped.

The following details are required:


Table 8-85. VoIP UA Call Details Dialog Fields

Field Description Validation

Stream Profile The name of a Stream Profile configured in the RTP Choose from the list or add a new profile.
Configuration folder. Refer to Chapter on Configuration.
Mandatory if Allow UA to Initiate Calls is
Enabled

Disable RTP Allows for the generation of SIP messages without RTP Checkbox - default is not ticked.
Transmission media.

Enable SRTP Enables the use of SRTP by this UA. Checkbox - default is not ticked.

SRTP Crypto-Suite If Enable SRTP is selected, a list of cipher suites for Choose one cipher suite from
encrypting and authenticating your data is presented: the drop down menu. Default is:
AES_CM_128_HMAC_SHA1_32
• AES_CM_128_HMAC_SHA1_32
• AES_CM_128_HMAC_SHA1_80
• AES_CM_128_NULL_AUTH
• NULL_CIPHER_HMAC_SHA1_80

Generate RTCP Reports Determines if RTCP Reports will be generated by this UA. Checkbox - default is not ticked.

Allow Delay between Calls If selected, then the delay between calls is governed by Default is Enabled. Enabled/Disabled. N/A
the BHCA property. if Initiate Calls is disabled.

BHCA (Busy Hour Call The BHCA is the number of calls to be attempted per Minimum value is the VoIP UA batch count,
Attempts) hour. It is controlled by the number of clients and the or 1 if the UA is not batched. Maximum is
average hold time. This field is enabled only if delays are 1,200,000. N/A if Initiate Calls is disabled.
allowed between calls. N/A if Allow Delay Between Calls is
disabled. Mandatory otherwise.

Average Hold Time The length of time for the call in milliseconds. This relates Minimum value is 0. Maximum is 168 hours
to the media part of the call and excludes time spent on (1 week). Can also be a profile. Default is
signaling to setup and tear down the call. If 0 then this 5. N/A if Initiate Calls is disabled. Metric
value indicates that the call is terminated immediately after is ms,sec, min and hours with sec as the
being established and that no RTP media is exchanged. default. If metric is hours then Allow Delay
If the remote endpoint is a foreign SIP UA it may not be Between Calls should be disabled.
possible to prevent it sending some RTP traffic before the
call is torn down.

© Copyright 2018 TeraVM Java Client User Guide Page 305


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.1. Adaptive Stream Changes

8.2.7.2.5.1. Adaptive Stream Changes


The Adaptive Stream Changes button is only available when a Stream Profile containing an Adaptive Bit
Rate Level List has been selected. Clicking on the Adaptive Stream Changes button in the Call Details
step of the wizard displays the following dialog:

Figure 8-113. Adaptive Stream Changes

The following fields can be configured for Adaptive Stream Changes:


Table 8-86. Adaptive Stream Changes Dialog Fields

Field Description Validation

Enable AMR Level If enabled, the call will cycle through the Bit Rate Level Enabled/Disabled. Default is Disabled.
Changes List assigned to the Stream Profile, using the order
determined by the following fields.

Change Level Mode Determines how the call will cycle through the list of Bit Either "Level Change List" or "Variable
Rate Levels. Level Change". Default is "Level Change
List".

Level Change List A list of level changes that should be applied to the Bit Mandatory, if Enable AMR Level Changes
Rate Level List during a call. is enabled, and Change Level Mode is
"Level Change List"

Variable Level Change A profile that can be configured to configure the order of Mandatory, if Enable AMR Level Changes
the levels that should be applied to the Bit Rate Level List is enabled, and Change Level Mode is
during a call. "Variable Level Change"

Interval Between Change The Interval between each level change during a call. Can be value in the range 0 - 3,600,000
(ms). It can also be a profile with min and
max values within this range. Default is 40
indicating no delay. Supported metrics are
ms, sec and min with ms as the default.

8.2.7.2.5.2. Advanced (Call Details)


Clicking on the Advanced button in the Call Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 306


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.1. The SIP Tab

Figure 8-114. Advanced Call Details Dialog

The Advanced Call Details dialog has three tabs:


• SIP
• DTMF
• General
These tabs are explained in the following sections:

8.2.7.2.5.2.1. The SIP Tab


The SIP tab (visible above) contains the following advanced SIP options which can be configured for a UA:
Table 8-87. VoIP UA Provisioning - Call Details - Advanced: The SIP Tab

Field Description Validation

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. Enabled/Disabled. Default is Disabled.
It is a PRovisional ACKnowledgement by a calling party
to a provisional response. The 100rel PRACK option is
available as an option for the VoIP UA and UAS.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is disabled.
If enabled, a session timer is negotiated during the call

© Copyright 2018 TeraVM Java Client User Guide Page 307


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.2. The DTMF Tab

Field Description Validation


setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call. Available as an
option for the VoIP UA and UAS.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

8.2.7.2.5.2.2. The DTMF Tab


The DTMF Tab contains the fields for configuring the DTMF mode and if required, DTMF Events. Clicking
the DTMF Tab opens the following dialog:

Figure 8-115. The DTMF Tab

The DTMF mode drop-down list box contains three options:


• Not supported – select if DTMF is not being used (selected by default
• Supported – select to support but not send DTMF events in SIP messages
• Generate Events – select to generate defined DTMF events

© Copyright 2018 TeraVM Java Client User Guide Page 308


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.2.1. DTMF Events Scaler

Once Generate Events is selected the DTMF tab requires the following information:
Table 8-88. DTMF tab with Generate Events Selected

Field Description Validation

DTMF Mode Indicates support mode for DTMF. Supported mode Options include: “Not Supported”,
indicate support for DTMF in SIP message but events are “Supported” or “Generate Events” Default:
not sent. Generate Events mode indicates to support and Not Supported.
generate DTMF events in SIP messages.

DTMF Events List of DTMF Events. Mandatory if DTMF Mode is “Generate


Events”. Possible DTMF Value:
• Range between 1 and 512 characters.
• If the UA is not scaled/bulk provisioned
each event must be one of 0-9,A-
D,&,*,#,Flash
• If the UA is scaled each event must be
0-9 and an optional # at the end
• A delay value is allowed after an
event as 0{1000}.Any type of brackets
allowed ( '()','[]','{}' ). No delay can be
specified after the last event. Delay
must be between 100 and 3600000
ms
Default value: None. Example:
1,0,0,3(310),2,9,9,3,3(400),#

Initial Delay Initial delay before sending 1st DTMF event on a call. A Mandatory if DTMF Mode is “Generate
longer initial delay is required before 1st event should be Events” Integer with metric. Range from
sent. 100ms to 60 minutes. Default value: 3
seconds

Inter Event Delay Delay between each DTMF Mandatory if DTMF Mode is “Generate
Events”. Integer or Profile with metric.
Range from 100ms to 60 minutes. Default
value: 300m

Event Duration Duration of time to generate RTP DTMF messages for Mandatory if DTMF Mode is “Generate
each DTMF event. Events”. Integer with metric. Range from
100ms to 8 seconds Default value: 300ms.

Event Volume Value for volume field in a DTMF message. Mandatory if DTMF Mode is “Generate
Events”. Integer Range from 0 to 63.
Default value: 2.

8.2.7.2.5.2.2.1. DTMF Events Scaler


When provisioning a scaled VoIP UA Client, an option to allow the scaling of the DTMF Events field is
presented after the DTMF Events field:

Figure 8-116. The DTMF Tab when using a scaled VoIP UA Client:

© Copyright 2018 TeraVM Java Client User Guide Page 309


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.2.1. DTMF Events Scaler

Selecting the Scaling checkbox enables scaling (highlighted).

Clicking the Scaling button (highlighted) opens the following dialog:

Figure 8-117. The DTMF Events Scaler dialog with DTMF Events Scaler selected:

This dialog requires the following information when DTMF Events Scaler is selected:

© Copyright 2018 TeraVM Java Client User Guide Page 310


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.2.1. DTMF Events Scaler

Table 8-89. VoIP UA - Advanced: The DTMF Tab - DTMF Events Scaler dialog with DTMF Events Scaler Selected

Field Description Validation

Scaler Property Scaler Type. Mandatory. Options:


• DTMF Events Scaler
• String List Scaler
Default: DTMF Events Scaler

Base DTMF Events First DTMF Event upon which values are incremented. Mandatory.
• Each event must be 0-9 and an
optional # at the end.
• A delay value is allowed after an
event as 0{1000}.Any type of brackets
allowed ( '()','[]','{}' ). No delay can be
specified after the last event. Delay
must be between 100 and 3600000
ms
Default value: None

Increment by Value for increment. Value added to base DTMF event for
increment

Every The step for incrementing Incrementing will only occur based on the
set number of entities.

When String List Events Scaler is selected the dialog appears as follows:

Figure 8-118. The DTMF Events Scaler dialog with String List Scaler selected:

© Copyright 2018 TeraVM Java Client User Guide Page 311


Aeroflex Limited. All
rights reserved.
8.2.7.2.5.2.3. The General Tab

This dialog requires the following information when String List Scaler is selected:
Table 8-90. VoIP UA - Advanced: The DTMF Tab - Scaled DMTF Configuration: String List Events Scaler

Field Description Validation

List of Strings List of added DTMF Events strings Mandatory.

Add DTMF Event string entered in Add field. Mandatory.


• Each event must be 0-9 and an
optional # at the end.
• A delay value is allowed after an
event as 0{1000}.Any type of brackets
allowed ( '()','[]','{}' ). No delay can be
specified after the last event. Delay
must be between 100 and 3600000
ms
Default value: None. Click Add… to include
DTMF Event string in the List of Strings
field box.

Import Includes DTMF Event string from an external .csv file. Optional. Click Import… to open import
dialog and browse to .csv file containing
stored DTMF Event strings.
Note: the .csv file must be formatted with
the entity number first followed by the
DTMF Event strings for that entity with
inverted commas around each string.
For example:
Column1
"1,2,2,2{275},4,5{350},7,7{350},8"
"2,2{275},4,5{350},7,7{350},#"
"1,2,2,,4,B{350},7,7,A{350},Flash"

When bulk DTMF Event strings are added through the scaler the DTMF Events field provides the number of
values added. For example, if 10 DTMF Event strings is added the field would say “10 Values”.

8.2.7.2.5.2.3. The General Tab


In the General tab the SIP update "Disable Call Transfer" is set. This option disables all call transfer
functionality. When the General Tab is selected it appears as follows:

Figure 8-119. The General Tab

© Copyright 2018 TeraVM Java Client User Guide Page 312


Aeroflex Limited. All
rights reserved.
8.2.7.2.6. SMS Message

In the General tab the SIP update "Disable Call Transfer" is set. This option disables all call transfer
functionality. This dialog requires the following information:
Table 8-91. General tab

Field Description Validation

Disable Call Transfer Disable all call transfer functionality. Do not follow BYE/ Mandatory. Must select either true or false.
Also and reject received REFER messages. Select true to enable. Default is false.

8.2.7.2.6. SMS Message


If the VoIP UA is configured for registration and has IMS Multimedia Telephony enabled (in the General
Details step) you can indicate support for IMS Multimedia Telephony and SMS via its SIP REGISTER
message in order to send and receive SMS messages in a 3GPP IMS environment. Configuring the SIP
REGISTER message is done through the SMS Message Support option in the SMS Message step. As
IMS Multimedia is not enabled by default, the fields in this step are normally greyed out. However, if IMS
Multimedia is enabled in the General Details step the SMS Message Support option fields are active.

8.2.7.2.6.1. SMS Message Support


The SMS Message step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 313


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.2. Receive SMS

Figure 8-120. VoIP Client Application - SMS Message

The options in the SMS Message Support drop-down include:

• None

• Receive SMS

• Send/Receive SMS

8.2.7.2.6.2. Receive SMS


If Receive SMS is selected the SMS Message wizard step changes to allow you to enter the SMS Gateway
URI:

Figure 8-121. VoIP Client Application - SMS Message: Receive SMS

© Copyright 2018 TeraVM Java Client User Guide Page 314


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.2. Receive SMS

The following field is used to configure the SMS Gateway URI:


Table 8-92. VoIP UA - SMS Message: Receive SMS

Field Description Validation

SMS Message URI URI for SMS Gateway of the format (sip| Mandatory.
tel):username[@domain]
Characteristics:
• Length range from 5 to 512 characters
• valid chars: a-zA-Z0-9 ._-
• Format: (sip|tel):username[@domain].
• Username portion may start with + but
must be made of digits 0 to 9 including
leasing 0s. Number of digits between 1
and 15.
Default: None

© Copyright 2018 TeraVM Java Client User Guide Page 315


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.3. Send/Receive SMS

Field Description Validation


Dependencies: 3GPP SMS Support must
be Receive SMS or Send/Receive SMS

8.2.7.2.6.3. Send/Receive SMS


If, however, the Send/Receive SMS option is selected the SMS Message step dialog changes to allow you
to configure the appropriate SMS Gateway URI, the recipient(s) and content of the SMS messages to be
sent and the delays between the sending of SMS messages:

Figure 8-122. VoIP Client Application - SMS Message: Send/Receive SMS

The following fields are used to configure the Send/Receive SMS parameters:

© Copyright 2018 TeraVM Java Client User Guide Page 316


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.3. Send/Receive SMS

Table 8-93. VoIP UA - SMS Message: Send/Receive SMS

Field Description Validation

Message Recipient Select Message Recipient Enumerated Type. Mandatory


Selection
Characteristics:
• E.164 Number
• Message Recipient List
Set to E.164 Number by default.
Dependencies: 3GPP SMS Support
must be Send/Receive SMS

E.164 Number E.164 Number of Message Recipient String. Mandatory


Characteristics:
• May start with a +
• Must consist of digits 0..9.
• Between 1 and 15 digits including
leading 0s
If Allow UA Initiate calls enabled and
Called Party Selection is Call URI then
default value should be username from
the Call URI field. Otherwise none.
Dependencies: Message Recipient
Selection must be E.164 number

Message Recipient List Selects VoIP Call List for multiple recipients Mandatory. VoIP Call List Configuration
Item
Each user name in call list must conform
to following:
• May start with a +
• Must consist of digits 0..9.
• At least 1 to 15 digits including
leading 0s.
If Allow UA Initiate calls enabled and
Called Party Selection is VoIP Call List
then default value should be the selected
VoIP Call List. Otherwise Null.
Dependencies: Message Recipient
Selection must be Message Recipient
List

SMS Message List List of SMS messages to send. Mandatory. MS Message List. In order
to configure a list of SMS Message,
click on the “...” button after the “SMS
Message List field.
Dependencies: 3GPP SMS Support
must be Send/Receive SMS.

Send SMS messages in Allows a number of messages to be sent in close proximity of Mandatory. Boolean.
Burst each other.

© Copyright 2018 TeraVM Java Client User Guide Page 317


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.3.1. Send/Receive SMS Message Support:
Configure SMS List

Field Description Validation


Select checkbox to enable option to
Send SMS in Bursts. Disabled by
default.
Dependencies: 3GPP SMS Support
must be Send/Receive SMS

Delay between each SMS. Controls delay between bursts of messages Mandatory. Integer or profile with metric.
Characteristics:
• metric in [ms, secs, minutes]
• value 0 to 60 minutes
Default: 1 sec
Dependencies: option Send SMS
messages in Burst must be enabled

8.2.7.2.6.3.1. Send/Receive SMS Message Support: Configure SMS List


As mentioned above, clicking the '...' button after the SMS Message List field in the Send/Receive SMS
message support option allows you to add SMS lists through the Select SMS List dialog box.

Figure 8-123. VoIP Client Application - SMS Message: Send/Receive SMS - Select SMS List

© Copyright 2018 TeraVM Java Client User Guide Page 318


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.3.1. Send/Receive SMS Message Support:
Configure SMS List

The Select SMS List dialog box allows you to add, edit and delete lists of SMS messages, as well as create
new lists. All added lists appear in the Choose from Selection section. The names of the SMS lists are
shown in the left-hand column and the number of SMS messages within the list appear in the right-hand
column.

The message type used and the contents of a selected list also appear at the bottom of the dialog in the
Properties of Selected Items: section.

To edit or delete an SMS Message list first select it in the Choose from Selection section and click either
Edit or Delete.

© Copyright 2018 TeraVM Java Client User Guide Page 319


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.3.1. Send/Receive SMS Message Support:
Configure SMS List

To add a new SMS Message list click the Add button below the Choose from Selection section.

This opens the Add SMS Message List dialog box:

Figure 8-124. VoIP Client Application - SMS Message: Send/Receive SMS - Add SMS Message List

The Add SMS Message List dialog box is used to create or modify an SMS Message List. New SMS
Messages can be added or those that have already been created can be edited or deleted using the Add,
Edit and Delete buttons respectively.

In addition, the order that the message appears in the list can also be changed by selecting the message
and clicking the Move Up and Move Down buttons.

To add a new message click the Add button. This opens the Add SMS Message dialog box:

Figure 8-125. VoIP Client Application - SMS Message: Send/Receive SMS - Add SMS Message

© Copyright 2018 TeraVM Java Client User Guide Page 320


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.4. Delays Between Sending of SMS

Select the message type from the Type drop-down list. It is Text, by default. Enter the content of the
message in the Text: field. Click OK to confirm the changes and close.

Note
Click on the help button to get information on supported keywords substitution when entering message
content. Also, the title of “Add SMS Message” dialog will be “Edit SMS Message” in edit mode.

8.2.7.2.6.4. Delays Between Sending of SMS


Delays can be configured in order to control how SMS are sent to the recipient(s). These delays are
configured through the Delays between Each SMS field by entering the delay in seconds, minutes or hours
or by selecting the Additional Configuration button as highlighted below:

Figure 8-126. VoIP Client Application - SMS Message: Send/Receive SMS - Delays between sending
of SMS

© Copyright 2018 TeraVM Java Client User Guide Page 321


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.4. Delays Between Sending of SMS

To configure a delay between a series of SMS message bursts first select the Send SMS messages in
Burst checkbox. Once selected the new delay properties become visible and configurable.

Figure 8-127. VoIP Client Application - SMS Message: Send/Receive SMS - Send SMS messages in
Burst

© Copyright 2018 TeraVM Java Client User Guide Page 322


Aeroflex Limited. All
rights reserved.
8.2.7.2.6.4. Delays Between Sending of SMS

Once Send SMS Messages in Burst checkbox is selected the Delay between each SMS field disappears
from the SMS Message step in the VoIP Client Application wizard and three other properties become visible:

• Number of SMS in a Burst:

Value entered in this field indicates the number of SMS messages in a Burst (A Burst is a group of
SMS Messages within the selected SMS Message List). It is used to introduce granularity in the delays
configuration.

• Delay between SMS in a Burst:

The time between the sending of SMS messages within a Burst.

• Delay between Burst of SMS:

The time between the sending of the last SMS message of a Burst and the sending of the first SMS
message of the next Burst.

© Copyright 2018 TeraVM Java Client User Guide Page 323


Aeroflex Limited. All
rights reserved.
8.2.7.2.7. Additional Configuration

In addition to these delays an “Initial SMS Delay” property is configurable in the next step of the Wizard:
“Additional Configuration”.

8.2.7.2.7. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.
Table 8-94. VoIP UA - Additional Configuration

Field Description Validation

Initial Call Delay A delay which can be applied before any calls are initiated Optional. Default is 0. Supported metrics
by the UA. are ms, sec, min and hour with ms as the
default. Can also be a profile.

Initial SMS Delay Initial delay before sending 1st SMS message Mandatory. Integer or profile with metric
Characteristics:
• metric in [ms, secs, minutes, hours]
• value 0 to 1 hour
Default: 0 secs
Dependencies: 3GPP SMS Support
must be Send/Receive SMS and IMS
Multimedia. Otherwise option greyed out.

Configure Passive Allows the configuration of the client for Passive Analysis. Enabled by ticking the checkbox or
Analysis Refer to the section on Passive Analysis for more details. disabled by leaving the checkbox empty.
Default is disabled.

Note
Passive Analysis requires the purchase of a special software licence. If that licence has not been
purchased, and you try to enable the Configure Passive Analysis checkbox, a pop-up dialog
appears to advise you that one is required.

8.2.7.2.7.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics settings
can be configured.

The VoIP Statistics dialog is displayed as shown.

Figure 8-128. VoIP Statistics

© Copyright 2018 TeraVM Java Client User Guide Page 324


Aeroflex Limited. All
rights reserved.
8.2.7.2.8. Passive Analysis

The following statistics can be enabled or disabled in this dialog:


Table 8-95. VoIP UA Application - Advanced Additional Configuration

Field Description Validation

Enable Normal/Fine As described in Settings Common to Multiple Applications, Default is Normal statistics enabled and
Statistics Additional Configuration. Fine statistics disabled.

Enable Latency Statistics Indicates the VoIP UA will report Latency statistics. Enabled by ticking the checkbox or
disabled by leaving the checkbox empty.
Default is disabled.
Note
Latency Statistics and Passive Analysis are
mutually exclusive and can't both be enabled
on the same UA.

8.2.7.2.8. Passive Analysis


If the Configure Passive Analysis check box is selected in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

Figure 8-129. VoIP UA Passive Analysis Details

© Copyright 2018 TeraVM Java Client User Guide Page 325


Aeroflex Limited. All
rights reserved.
8.2.7.2.8. Passive Analysis

The following fields requires values for this dialog:


Table 8-96. VoIP UA - Passive Analysis

Field Description Validation

Analyse Media Type Indicate the type of Media to be Analysed. Select from: voice, video, voice and video.
Default is voice. When voice and video is
selected, the MoS statistics are enabled for
both streams at the same time.

Playout Jitter Buffer Delay The delay before received RTP packets are considered Integer in the range 0 to 65535 ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms and sec . Default
input from a Jitter buffer. TeraVM uses a Jitter Buffer is 40ms for all media types. Available if
Configure Passive Analysis is enabled.

© Copyright 2018 TeraVM Java Client User Guide Page 326


Aeroflex Limited. All
rights reserved.
8.2.7.3. SIP Trunking in TeraVM

Field Description Validation


Emulator which emulates jitter buffers such as Set Top
Boxes used to compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer in the range 0 to 65535 ms.
Size. Available units are ms and sec .The value
must be >= to the value of Playout Jitter
Buffer. Default value is 80ms for all media
types.

Video Codec Used to select the expected video codec of the video Must be chosen from one of the following
stream for analysis. There is no validation that the codec's : Static JPEG MPEG H.261 H.263
selected value matches the actual video stream received H.263+ H.264 MPEG-4 VC-1 Available if
or indeed that a video stream will be received. Configure Passive Analysis is enabled
and Analyse Media Type is "Video".

Analyse MPEG2TS ES Allows passive analysis on the MPEG2-TS packets Enabled/Disabled. Default is Disabled.
embedded in the RTP stream. Available if Configure Passive Analysis
is enabled and Analyse Media Type is
"Video".

Auto determine ES PID TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is enabled.
incoming stream to analyze. Available if Analyse MPEG2-TS is
enabled.

Video ES PID PID of the video elementary stream to be analysed. Integer value. Min is 16 and Max is
This allows the functionality for detecting the PID to be 8192. No Default. Only available if Auto
overridden. Determine ES PID is disabled.

Enable Passive Analysis Enables TeraVM to collect passive analysis stats. Enabled/Disabled. Default is enabled. Only
Statistic available if Configure Passive Analysis is
enabled.

8.2.7.3. SIP Trunking in TeraVM


SIP Trunking in TeraVM can be configured to simulate different scenarios depending on your requirement:

i. VoIP UAs can be configured to simulate VoIP traffic over a SIP trunk.

ii. SIP Trunking can be further configured for SIP-PBX Simulation.

Configuration Overview

• One UA within the group acts as an originating trunk endpoint and will not make calls.

• The other VoIP UAs are configured to route their SIP traffic via the SIP trunk. The RTP traffic originates
and terminates on the host associated with that VoIP UA.

• For SIP-PBX simulation, the SIP Trunking configuration is extended to support registration attributes
for bulk telephone numbers (RFC 6140), and the SIP Register Request-URI is configured so that the
Register message is routed correctly.

The diagrams that follow give a high level overview of SIP emulation in TeraVM. It is possible to support a
number of SIP Trunks in a test. Multiple SIP Trunks may be terminated on the same SIP server.

© Copyright 2018 TeraVM Java Client User Guide Page 327


Aeroflex Limited. All
rights reserved.
8.2.7.3. SIP Trunking in TeraVM

Figure 8-130. SIP Trunking Emulation in TeraVM

SIP-PBX emulation in TeraVM is configured so that the SIP messages are registered and as part of the
registration, multiple telephone numbers can be registered.

Figure 8-131. SIP-PBX Emulation in TeraVM

© Copyright 2018 TeraVM Java Client User Guide Page 328


Aeroflex Limited. All
rights reserved.
8.2.7.3.1. SIP Trunking Configuration

8.2.7.3.1. SIP Trunking Configuration


1. Create a SIP Proxy on the TeraVM Java Client by following the steps in the section on Provisioning an
External SIP Proxy. Define an External Host in advance for this Proxy (see Adding Hosts).

2. Set up a VoIP UA Application following the steps in the section on Provisioning a VoIP UA Application.

3. First, set up one of the VoIP UAs to act as a SIP Trunk.

• In the Add New VoIP UA(s) Wizard, Application Details, select Act as Trunk in the drop down
list of SIP Trunking.

Figure 8-132. SIP Trunking Options

© Copyright 2018 TeraVM Java Client User Guide Page 329


Aeroflex Limited. All
rights reserved.
8.2.7.3.1. SIP Trunking Configuration

Note
This application must be configured as Single App per Row in order to allow it to act as a
trunk.

• Assign a Trunk ID to this trunk.

• Click on Advanced SIP Trunking and if required, specify the parameters as described in the SIP
Trunking Parameters table:

• Select transport type to be UDP, TCP or TLS and enter the SIP Port and SIP ToS/DiffServ. The
RTP fields will not be configurable since this UA will not make or receive calls.

• Assign a Host(s), Name and Description for this UA.

• Click Next and fill in remaining configuration details (General Details, In/Out Call Setup, etc).

© Copyright 2018 TeraVM Java Client User Guide Page 330


Aeroflex Limited. All
rights reserved.
8.2.7.3.1. SIP Trunking Configuration

Figure 8-133. Configuration of VoIP UA to act as SIP Trunk

4. Next, set up each UA that uses this trunk. For each UA:

• In the Add New VoIP UA(s) Wizard, Application Details, select Use Trunk in the drop down list
of SIP Trunking.

Note
This application can be configured as Multiple Clients per Row/Scaled Entity or Single
App per Row.

• Select the Trunk ID that this UA will use from the drop down list (Trunk ID defined previously).

• Enter the RTP Port (select from drop down list if ports have already been defined) and RTP ToS/
DiffServ. The Transport Type and SIP fields including SIP Trunking will not be configurable.

© Copyright 2018 TeraVM Java Client User Guide Page 331


Aeroflex Limited. All
rights reserved.
8.2.7.3.1. SIP Trunking Configuration

• Assign a Host(s), Name and Description for this UA.

• Click Next and fill in remaining configuration details (General Details, In/Out Call Setup, and so
on).

5. Continue the Test Group configuration, such as Thresholding and Statistics before executing the SIP
Trunk test.
Table 8-97. SIP Trunking Parameters

Field Description Validation

name SIP Header List attribute name (name )

SIP Trunking This field allows you to configure the The options are:
VoIP UA to act as a SIP Trunk or User
• Disabled - The UA is not using SIP
Trunking. This is the default setting.
• Act as Trunk - Enable the UA to be
configured as a SIP trunk.
• Use Trunk - Enable the UA to be
configured as a user of a SIP trunk.

SIP Trunk ID If SIP Trunking is configured as Act as String value between 1 and 255
Trunk, create a unique ID for the trunk. characters in length.
If configured as Use Trunk, select a
Valid chars: 'a-zA-Z0-9 .{}<>[]()@#&*%_
previously defined Trunk ID.
+=!-'
Empty by default. Value must be entered
if SIP Trunking is set to Act as Trunk or
Use Trunk.

Advanced SIP Trunking

Specify Parameters If enabled, will allow the user to add an RFC 4904 Trunk Group with the following
parameters for a UA configured as Act as Trunk. The values entered will be added to
the Request URI message. All 4 parameters must be configured.
Specify Parameters is disabled by default.

Originating Trunk Group Specifies the Originating Trunk Group String value between 1 and 255
value characters in length.
Valid chars: 'a-zA-Z0-9.{}<>()@#&*%_
+=!-~'/$'
Empty by default. Value must be entered
if SIP Trunking is set to Act as Trunk and
Specify Parameters is checked.

Originating Trunk Context Specifies the Originating Trunk Context String value between 1 and 255
value characters in length.
Valid chars: 'a-zA-Z0-9.{}<>()@#&*%_
+=!-~'/$'
Empty by default. Value must be entered
if SIP Trunking is set to Act as Trunk and
Specify Parameters is checked.

Terminating Trunk Group Specifies the Terminating Trunk Group String value between 1 and 255
value characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 332


Aeroflex Limited. All
rights reserved.
8.2.7.3.1.1. Applying a SIP-Header Field List

Field Description Validation


Valid chars: 'a-zA-Z0-9.{}<>()@#&*%_
+=!-~'/$'
Empty by default. Value must be entered
if SIP Trunking is set to Act as Trunk and
Specify Parameters is checked.

Terminating Trunk Context Specifies the Terminating Trunk Context String value between 1 and 255
value characters in length.
Valid chars: 'a-zA-Z0-9.{}<>()@#&*%_
+=!-~'/$'
Empty by default. Value must be entered
if SIP Trunking is set to Act as Trunk and
Specify Parameters is checked.

8.2.7.3.1.1. Applying a SIP-Header Field List


SIP Header Field Lists are configuration items that can be used to give different testing scenarios. You can
create your own Header Field Lists or use one of the predefined scenarios that have default value sets.
The predefined scenarios are: CUCM-CTMS-Trunk, SIP PBX, SIP Privacy, VoLTE Emergency Call. The
following procedure is for SIP-PBX emulation.

Prerequisites

• SIP Trunking is configured as Act as Trunk as shown in the previous section: Section 8.2.7.3.1.

• This procedure uses the predefined SIP PBX SIP Header Field List, for information on SIP Header Field
List Configuration items, see Chapter 9, Section 9.3.14.3.

1. From the Add New VoIP UA(s) Wizard dialog in the General Details, enter the details of the Server and
those for the UA identification.

© Copyright 2018 TeraVM Java Client User Guide Page 333


Aeroflex Limited. All
rights reserved.
8.2.7.3.1.1. Applying a SIP-Header Field List

2. For the SIP Header Field List click the […] browse button to locate the Configuration item. The Select
SIP Header Field List dialog open.

© Copyright 2018 TeraVM Java Client User Guide Page 334


Aeroflex Limited. All
rights reserved.
8.2.7.3.1.1. Applying a SIP-Header Field List

3. Locate and select the SIP Header Field List with the name SIP PBX. The Header Fields by default are
defined as shown in the following table:
Table 8-98. SIP-PBX Default Values

Method Field Name Field Body

REGISTER Proxy-Require gin

REGISTER Require gin

REGISTER Expires 600

REGISTER Contact <sip:{localip}:{port};bnc;transport={transport};{conuripms}>;{conpms}

ALL Allow ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, MESSAGE, SUBSCRIBE, UPDATE,
PRACK, REFER

4. Click Next and fill in the remaining configuration details for this test. For more information on SIP
Header Field List Configuration item, see Chapter 9, Section 9.3.14.3.

© Copyright 2018 TeraVM Java Client User Guide Page 335


Aeroflex Limited. All
rights reserved.
8.2.7.4. Provisioning a VoIP B2B UA

Table 8-99. Adding a SIP Header Field List Parameters

Field Description Validation

SIP Header Field List SIP Header Value - name attribute String value of: 1-1024 characters
Allowed character set:
255 a-zA-Z0-9 .{}<>[]()@#&*%_+=!-

Register with Server Used to REGISTER with the SIP Server. Enabled to allow SIP Register with server, and
Available only when the SIP Trunking field is Disabled to not allow the SIP Register with the
set as Act as Trunk . Server.

8.2.7.4. Provisioning a VoIP B2B UA


B2B UA functionality allows multiple VoIP UA's to initiate or accept calls as a single VoIP subscriber. This
means that multiple VoIP UA's are allowed to initiate and accept calls as the same VoIP subscriber on the
same host . In network terms, each VoIP UA using that host can share the same SIP port on a host and
be configured with the same SIP user and SIP domain name. Each VoIP UA will represent an individual
call for a single VoIP subscriber. This allows multiple simultaneous calls to be supported for a single VoIP
subscriber on a host.

VoIP UA (B2B Mode) applications have the same basic functionality as a non-B2B Mode VoIP UA, except
for the following items:

• The SIP Port field is not applicable. This value is set on the host.

• A VoIP UA (B2B Mode) application cannot use TCP as a transport type for SIP calls.

• Multiple clients per row is not supported.

• Selected hosts must have the B2BUA flag enabled and cannot be subnet hosts.

• Only one VoIP UA (B2B Mode) using a given host can perform SIP registration. This will be validated at
runtime.

The following dialog is displayed when provisioning a VoIP B2B UA:

Figure 8-134. VoIP B2B UA Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 336


Aeroflex Limited. All
rights reserved.
8.2.7.4.1. Application Details

The following configuration steps are required to provision a VoIP B2B UA:
• Application Details
• General Details
• In/Out Call Setup
• Call Details
• Additional Configuration
• Passive Analysis (Only available if Passive Analysis is enabled)

Note
The number of VoIP clients (and their associated usernames) should be known before creating a VoIP
Call List to be used by a VoIP application.

8.2.7.4.1. Application Details


The following information is required for the Application Details step:

© Copyright 2018 TeraVM Java Client User Guide Page 337


Aeroflex Limited. All
rights reserved.
8.2.7.4.2. General Details

Table 8-100. VoIP B2B UA Application Details

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 40, 000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Only the single clients per row is supported for B2BUA. The options for this field are:
• Single Client Per Row

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Direct Virtual Host or Indirect Virtual Host.
Hosts for this Test Group. Selected hosts must have the B2BUA
flag enabled and cannot be subnet hosts.
Mandatory. No default.

Transport Type Transport protocol to be used. Default is UDP.

RTP Port Numeric range profile indicating ports to be used for Can be a single value if the UA allows
creating RTP media sessions. RTP ports chosen shall maximum of one outstanding VoIP call.
always be even. If RTCP is selected on a call then RTCP Integer between 2 and 65535. Can also be
port is RTP port plus one. If not specified the range is a profile. Mandatory. Default is 16384. If
16384-32767. Can be a single value as the client allows Single value, must be unique on the host.
maximum of one outstanding VoIP call. Values in profile
must be between 1 and 65535.

SIP ToS/DSCP Quality of Service metric for the SIP messages sent by the Integer value between 0 and 255.
VoIP UA application Mandatory. Default is 0.

RTP ToS/DSCP Quality of Service metric for the media messages sent by Integer value between 0 and 255.
the VoIP UA application. Media messages include RTP or Mandatory. Default is 0.
RTCP messages.

8.2.7.4.2. General Details


The General Details step of the wizard enables the configuration of the Client SIP details and its registration
with a SIP Server. The following dialog is displayed for this step:

Figure 8-135. VoIP B2B UA - General Details

© Copyright 2018 TeraVM Java Client User Guide Page 338


Aeroflex Limited. All
rights reserved.
8.2.7.4.2. General Details

The following information is required for this dialog:


Table 8-101. VoIP B2B UA General Details

Field Description Validation

Server TeraVM UAS or External SIP Proxy with which the VoIP Mandatory. No default.
UA Application will communicate

SIP Username Username used in the SIP URI for the calling entity. This String value between 1 and 32 characters
value will be incremented if either Entry Count or Client in length. Combination with SIP Domain
Count > 1. Name must be unique across VoIP UA
Applications within the test group that have
"Register with Server" enabled. Mandatory.
No default.

SIP Domain Name The Domain name that is, shenick.com. The UA's host IP IPv4 address or string value between 3 and
address can also be used as the host name. 32 characters in length. Combination with
SIP User Name must be unique across
VoIP Applications within the test group
that have "Register with Server" enabled.
Mandatory. No Default..

Use SIP Username If enabled, then the username entered in the SIP Enabled or disabled. Default is enabled.
Username field is used in the SIP URI for the calling
entity.

© Copyright 2018 TeraVM Java Client User Guide Page 339


Aeroflex Limited. All
rights reserved.
8.2.7.4.2.1. Advanced Registration Details

Field Description Validation

Password This password is used to respond to any Digest String value between 3 and 32 characters
challenges for SIP requests from this client. If this is not in length. Optional. No default.
set, the SIP request immediately fails if the client receives
a challenge response.

Register with Server If enabled, the UA must first register with the SIP Proxy Default is Disabled. Enabled/Disabled.
server before starting the test. Not applicable if the VoIP
B2B UA is configured with a TeraVM VoIP UAS.

8.2.7.4.2.1. Advanced Registration Details


If the Register with Server setting is enabled, the Advanced button in this step is activated. The following
dialog is displayed by clicking on this button to enable the configuration of extra details for registering this
UA with the SIP proxy.

Figure 8-136. Advanced UA Registration Details

The fields for this dialog are described as follows:


Table 8-102. VoIP UA - Advanced Registration Details
Field Description Validation

Use Server Interval The UA can choose to use the server registration interval Enabled or Disabled. Default is
if registration with server is enabled. Disabled. N/A if Register With Server is
Disabled.

Registration Interval Interval between registration attempts by the UA, if Minimum value is 1 ms. Maximum value
registration with server is enabled. If specified, this defines is 86,400,000 ms (24 hours). Default is
the expiration interval requested by the UA in the expires 3,600,000 ms (1 hour). N/A if Register
field in the registration request. The requested expiration With Server is Disabled. N/A if Use Server
interval will always be 60 seconds greater then the timer Interval is Enabled. Can be a profile.
interval to allow registration to occur if the registration Allowable metrics are ms, sec, min and
occurs again. If not specified the UA will attempt to hour with min as the default.
register again within the interval returned by the server in
the registration response.

8.2.7.4.3. In/Out Call Setup


The In/Out Call Setup step allows for the configuration of the VoIP call initiation and answering details. The
following dialog is displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 340


Aeroflex Limited. All
rights reserved.
8.2.7.4.3. In/Out Call Setup

Figure 8-137. VoIP UA In/out Call Setup

The following information is required for this step:


Table 8-103. VoIP B2B UA In/Out Call Details Dialog Fields

Field Description Validation

Allow UA to Initiate Calls The UA can choose to initiate calls or not. If enabled, this Default is Enabled. Enabled/Disabled.
UA can initiate calls. Specification of other call related properties
are dependent on this setting.

Call List The name of a Call List configured in the VoIP Choose from the list.
Configuration folder.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0 and 30,000. Can also
accepting/rejecting a call. This can be a profile to inject be a profile. Default is 0 meaning no
variability into the delay answering the call. delay. Optional if UA is provisioned along
with an External SIP Proxy. N/A if UA is
provisioned with a TeraVM VoIP UAS.
Allowable metrics are ms and sec with ms
as the default.

© Copyright 2018 TeraVM Java Client User Guide Page 341


Aeroflex Limited. All
rights reserved.
8.2.7.4.3.1. SIP Call Options

Field Description Validation

Busy Ratio Percentage of calls to reject with a busy response. Integer between 0 and 100. Default is 0.
Optional if UA is provisioned along with an
External SIP Proxy. Not applicable if UA is
provisioned with a TeraVM VoIP UAS.

Allow UA End Call Allows a UA to terminate calls when it is not configured to Enabled/Disabled. Default is disabled.
initiate calls.

8.2.7.4.3.1. SIP Call Options


Clicking on the SIP Call Options button in the In/Out Call Setup step of the wizard displays the following
dialog:

Figure 8-138. SIP Call Options

The following field can be configured for SIP Calls:


Table 8-104. SIP Call Options Dialog Fields

Field Description Validation

Send 100 Trying If enabled, a 100 TRYING message is sent in response to Enabled/Disabled. Default is Enabled.
an INVITE for a call which is to be accepted.

8.2.7.4.4. Call Details


The Call Details step enables you to configure delays between calls and the average length of calls.
The BHCA (Busy Hour Call Attempts) is an important value for a VoIP application. It controls the call rate
that is, the number of calls attempted per hour. This value is dependent on the number of clients and the
average hold time for a call and you is not allowed to enter a value that cannot be achieved based on the
configured client count and average hold time. A simple formula to help with this is:
(Maximum Average Hold Time rounded up to nearest second + 3 seconds) <= (3600 * client count/ BHCA)
Therefore, a hold time of 0 and a client count of 50 means the maximum value for BHCA is 60,000. If a
BHCA fig of 120,000 is required then the number of clients should be increased to 100.

© Copyright 2018 TeraVM Java Client User Guide Page 342


Aeroflex Limited. All
rights reserved.
8.2.7.4.4. Call Details

Note
Clients will not maintain the configured BHCA value if either:

• they are on a call when the next call is to be initiated. This can occur if a client in another test
case entry calls this client.

• the previous call has not completed. A 3 second window should be sufficient. This may be the
case if the call answering delay is configured or SIP packets are dropped.

Figure 8-139. VoIP Call Details Dialog

The following details are required for this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 343


Aeroflex Limited. All
rights reserved.
8.2.7.4.4.1. Adaptive Stream Changes

Table 8-105. VoIP B2B UA Call Details Dialog Fields

Field Description Validation

Stream Profile The name of a Stream Profile configured in the RTP Choose from the list or add a new profile.
Configuration folder. Refer to Chapter on Configuration.
Mandatory if Allow UA to Initiate Calls is
Enabled.

Disable RTP Allows for the generation of SIP messages without RTP Checkbox - default is not ticked.
Transmission media.

Generate RTCP Reports Enables SRTP to be used by this UA. Checkbox - default is not ticked.

Allow Delay between Calls If selected, then the delay between calls is governed by Default is Enabled. Enabled/Disabled. N/A
the BHCA property. if Initiate Calls is disabled.

BHCA (Busy Hour Call The BHCA is the number of calls to be attempted per Minimum value is the VoIP UA batch count,
Attempts) hour. It is controlled by the number of clients and the or 1 if the UA is not batched. Maximum is
average hold time. This field is enabled only if delays are 1,200,000. N/A if Initiate Calls is disabled.
allowed between calls. N/A if Allow Delay Between Calls is
disabled. Mandatory otherwise.

Average Hold Time The length of time for the call in milliseconds. This relates Minimum value is 0. Maximum is 168 hours
to the media part of the call and excludes time spent on (1 week). Can also be a profile. Default is
signaling to setup and tear down the call. If 0 then this 5. N/A if Initiate Calls is disabled. Metric
value indicates that the call is terminated immediately after is ms,sec, min and hours with sec as the
being established and that no RTP media is exchanged. default.
If the remote endpoint is a foreign SIP UA it may not be
possible to prevent it sending some RTP traffic before the
call is torn down.

8.2.7.4.4.1. Adaptive Stream Changes


The Adaptive Stream Changes button is only available when a Stream Profile containing an Adaptive
Bit Rate Level List has been selected. Clicking on the Adaptive Stream Changes button in the Call
Detailsstep of the wizard displays the following dialog:

Figure 8-140. Adaptive Stream Changes

© Copyright 2018 TeraVM Java Client User Guide Page 344


Aeroflex Limited. All
rights reserved.
8.2.7.4.4.2. Advanced SIP

The following fields can be configured for Adaptive Stream Changes:


Table 8-106. Adaptive Stream Changes Dialog Fields

Field Description Validation

Enable AMR Level If enabled, the call will cycle through the Bit Rate Level Enabled/Disabled. Default is Disabled.
Changes List assigned to the Stream Profile, using the order
determined by the following fields.

Change Level Mode Determines how the call will cycle through the list of Bit Either "Level Change List" or "Variable
Rate Levels. Level Change". Default is "Level Change
List".

Level Change List A list of level changes that should happen to the Bit Rate Mandatory, if Enable AMR Level Changes
Level List during a call. is enabled, and Change Level Mode is
"Level Change List"

Variable Level Change A profile that can be configured to configure the order of Mandatory, if Enable AMR Level Changes
the levels that should be applied to the Bit Rate Level List is enabled, and Change Level Mode is
during a call. "Variable Level Change"

Interval Between Change The Interval between each level change during a call. Can be value in the range 0 - 3,600,000
(ms). It can also be a profile with min and
max values within this range. Default is 40
indicating no delay. Supported metrics are
ms, sec and min with ms as the default.

8.2.7.4.4.2. Advanced SIP


Clicking on the Advanced SIP button in the Details step of the wizard displays the following dialog:

Figure 8-141. Advanced SIP Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 345


Aeroflex Limited. All
rights reserved.
8.2.7.4.5. Additional Details

The following advanced SIP options can be configured for a UA:


Table 8-107. Advanced SIP Options Dialog Fields

Field Description Validation

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. Enabled/Disabled. Default is Disabled.
It is a PRovisional ACKnowledgement by a calling party
to a provisional response. The 100rel PRACK option is
available as an option for the VoIP UA and UAS.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is disabled.
If enabled, a session timer is negotiated during the call
setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call. Available as an
option for the VoIP UA and UAS.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

8.2.7.4.5. Additional Details


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.

© Copyright 2018 TeraVM Java Client User Guide Page 346


Aeroflex Limited. All
rights reserved.
8.2.7.4.5.1. Statistics Configuration

Table 8-108. VoIP B2B UA - Additional Configuration

Field Description Validation

Initial Call Delay A delay which can be applied before any calls are initiated Optional. Default is 0. Supported metrics
by the UA. are ms, sec, min and hour with ms as the
default. Can also be a profile.

Configure Passive As described in Settings Common to Multiple Applications, Default is Disabled. Configure Passive
Analysis Additional Configuration, Passive Analysis. If enabled, Analysis and Latency Stats are mutually
allows configuration of the following two parameters. exclusive and cannot both be enabled
simultaneously for the same B2B VoIP UA.

8.2.7.4.5.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics settings
can be configured.

The following statistics can be enabled or disabled in this dialog:


Table 8-109. VoIP B2B Client Application - Advanced Additional Configuration

Field Description Validation

Enable Normal/Fine As described in Settings Common to Multiple Applications, Default is Normal statistics enabled and
Statistics Additional Configuration. Fine statistics disabled.

Enable Latency Statistics Specifies whether or not latency statistics are available for Default disabled. Latency statistics may be
this VoIP B2B UA. enabled if all the following are true:
• UA is configured to initiate calls.
• The stream profile must be configured
for RTP receive.
• Passive Analysis is not configured.
Configure Passive Analysis and Latency
Stats are mutually exclusive and cannot
both be enabled simultaneously for the
same VoIP B2B UA

8.2.7.4.6. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

Figure 8-142. VoIP B2B UA - Passive Analysis

© Copyright 2018 TeraVM Java Client User Guide Page 347


Aeroflex Limited. All
rights reserved.
8.2.7.4.6. Passive Analysis

The following fields requires values for this dialog:


Table 8-110. VoIP B2B UA - Passive Analysis

Field Description Validation

Analyse Media Type Indicate the type of Media to be Analysed. Voice, Video. Default is Voice.

Playout Jitter Buffer Delay The delay before received RTP packets are considered Integer in the range 0 to 65535 ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms and sec . Default
input from a Jitter buffer. TeraVM uses a Jitter Buffer is 40ms for all media types. Available if
Emulator which emulates jitter buffers such as Set Top Configure Passive Analysis is enabled.
Boxes used to compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer in the range 0 to 65535 ms.
Size. Available units are ms and sec .The value
must be >= to the value of Playout Jitter
Buffer. Default value is 80ms for all media
types.

Video Codec Used to select the expected video codec of the video Must be chosen from one of the following
stream for analysis. There is no validation that the codec's : Static JPEG MPEG H.261 H.263
selected value matches the actual video stream received H.263+ H.264 MPEG-4 VC-1 Available if
or indeed that a video stream will be received. Configure Passive Analysis is enabled
and Analyse Media Type is "Video".

© Copyright 2018 TeraVM Java Client User Guide Page 348


Aeroflex Limited. All
rights reserved.
8.2.7.5. Provisioning an External SIP Proxy

Field Description Validation

Analyse MPEG2TS ES Allows passive analysis on the MPEG2-TS packets Enabled/Disabled. Default is Disabled.
embedded in the RTP stream. Available if Configure Passive Analysis
is enabled and Analyse Media Type is
"Video.

Auto determine ES PID TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is enabled.
incoming stream to analyze. Available if Analyse MPEG2-TS is
enabled.

Video ES PID PID of the video elementary stream to be analysed. Integer value. Min is 16 and Max is
This allows the functionality for detecting the PID to be 8192. No Default. Only available if Auto
overridden. Determine ES PID is disabled.

Enable Passive Analysis Enables TeraVM to collect passive analysis stats. Enabled/Disabled. Default is enabled. Only
Statistic available if Configure Passive Analysis is
enabled.

8.2.7.5. Provisioning an External SIP Proxy


An External SIP Proxy is TeraVM's representation of a SIP server on the SUT. As with all external
applications, the SIP External Proxy needs to use an External Host to communicate with the SUT.
The following dialog is displayed to provision a SIP External Proxy Application.

Figure 8-143. External SIP Proxy Details

This dialog requires the following information:

© Copyright 2018 TeraVM Java Client User Guide Page 349


Aeroflex Limited. All
rights reserved.
8.2.7.5.1. External SIP Proxy Properties

Table 8-111. VoIP External SIP Proxy Details

Field Description Validation

Name Unique name identifying the VoIP External SIP Proxy Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP External Host. Mandatory. No default.
hosts which the server will use to access the SUT.

SIP Port Well known port for UA to listen for SIP requests. Integer value between 1 and 65535.
Default is 5060.

SIP Domain Name Domain name that is, shenick.com. IPv4 address or string value between 3
and 32 characters in length. Mandatory. No
default.

8.2.7.5.1. External SIP Proxy Properties


The following dialog is displayed for the External SIP proxy properties step of the wizard:

Figure 8-144. External SIP Proxy Properties

The External SIP Proxy Properties dialog enables you to configure a list of string parameter/value
pairings which describe how the external server may have been configured to operate. These properties are
informational only and can prove useful as a means of keeping track of the test environment.

© Copyright 2018 TeraVM Java Client User Guide Page 350


Aeroflex Limited. All
rights reserved.
8.2.8. Dual Hosted VoIP

To enter a property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

8.2.8. Dual Hosted VoIP


Dual Hosted VoIP applications can make calls over either IPv4 or IPv6 and register using either an IPv4 or
IPv6 SIP proxy.

Dual Hosted VoIP tests in TeraVM are provided by a TeraVM Dual Hosted VoIP User Agent (UA).

The TeraVM Dual Hosted VoIP UA provides most of the capabilities of a Single Host VoIP UA , including the
following functionality:

• SIP Registration

• Initiating SIP calls

• Accepting SIP calls

However, the Dual Hosted VoIP UA differs from the existing VoIP UA in how it delivers this functionality:

• SIP Registration

The Dual Hosted VoIP application allows the possibility of registering with either an IPv4 or an IPv6
external SIP proxy. However, during registration, regardless of the IP version of the external SIP proxy,
both the IPv4 and the IPv6 addresses will be included in the Contact Details registered with the external
SIP proxy. This allows the Dual Hosted VoIP UA accept calls from either IPv4 or IPv6 UA's. Registration
is not optional for the Dual Hosted VoIP UA.

• Accepting SIP Calls

The Dual Hosted VoIP application accepts calls from either IPv4 or IPv6 UA(s), however, as with the
VoIP UA, it will only ever accept or initiate one call at a time.

• Initiating SIP Calls

The Dual Hosted VoIP application allows the initiation of calls via an IPv4 or an IPv6 SIP proxy. The
actual Proxy will be selected within the application. No dependency will exist between the IP version of
the SIP proxy chosen for registration and the IP version of the SIP proxy chosen for initiating calls.

Provisioning an External SIP proxy is described previously in this topic, in Section 16 - VoIP Applications.

Note
Other applications, such as DDoS, are prevented from selecting a Dual Hosted application as a server
or remote application.

Dual Hosted VoIP also supports B2B Mode UA functionality to allows multiple VoIP UA's to initiate or accept
calls as a single VoIP subscriber. If you wish to use VoIP in B2B mode, then you must select a Dual Hosted
VoIP UA (B2B Mode) application.

© Copyright 2018 TeraVM Java Client User Guide Page 351


Aeroflex Limited. All
rights reserved.
8.2.8.1. Provisioning a Dual Hosted VoIP UA

8.2.8.1. Provisioning a Dual Hosted VoIP UA


Dual Hosted VoIP UA Applications use both an IPv4 and an IPv6 host for network access, thus providing the
dual hosted nature of the application. Configuration options exist for both a single application per row, or for
a scaled entity.

A single hosted VoIP UA requires a TeraVM VoIP UA Server or an external SIP proxy as its server. If a
TeraVM UA Server is selected, then no registration can take place and the UAS just acts as a termination
point for calls from the UA. If an external SIP proxy is selected, the UA can optionally choose to register with
the selected SIP proxy. The VoIP UA can also be optionally configured to initiate calls.

The Dual Hosted UA differs from the VoIP UA in that it requires an IPv4 and an IPv6 SIP proxy. Either Proxy
can be used for Registration and initiating calls - you specifies which Proxy is to be used for Registration
and which Proxy is to be used for making calls. Note that both IPv4 and IPv6 SIP proxies are required
even if you chooses that both calls and registrations use the same IP version. A Dual Hosted UA requires
compulsory registration, therefore the selection of a VoIP UAS is not required.

The following dialog is displayed when provisioning a Dual Hosted VoIP UA:

Figure 8-145. Dual Hosted VoIP UA Application Details (Scaled Entity)

© Copyright 2018 TeraVM Java Client User Guide Page 352


Aeroflex Limited. All
rights reserved.
8.2.8.1. Provisioning a Dual Hosted VoIP UA

The following configuration steps are required to provision a Dual Hosted VoIP UA:

• Application Details

• General Details

• In/Out Call Setup

• Call Details

• Additional Configuration

• Passive Analysis (Only available if Passive Analysis is enabled)

Note
The number of Dual Hosted VoIP clients (and their associated usernames) should be known before
creating a VoIP Call List to be used by this application.

© Copyright 2018 TeraVM Java Client User Guide Page 353


Aeroflex Limited. All
rights reserved.
8.2.8.1.1. Application Details

8.2.8.1.1. Application Details


The following information is required for the Application Details step:

Note
The "batching" of Dual Hosted VoIP applications (that is, "Single Client Varied Address" or "Multiple
Clients" modes) is not supported, therefore subnet hosts can not be selected for this application.

Table 8-112. Dual Hosted VoIP UA Application Details

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 40, 000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure As How the Dual Hosted VoIP UA will be provisioned. Default value: Single App per Row.
Enumerated value with the possible values
of:
• Single App per Row
• Scaled Entity - when selected, also allows
scalable fields in the General Details
dialog.
Mandatory

Name Unique name identifying the dual hosted VoIP UA client. Mandatory. String value between 1 and
128 characters in length. No Default.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

IPv4 Host IPv4 host which the application will use to access the Mandatory. Direct Virtual Host, Indirect
SUT for any IPv4 communication. Allows specified scaled Virtual Host. No default. Must be an IPv4
hosts. Host. It can be PPPoE enabled, or DHCP
host. Must be on same card as the IPv6
host.

IPv6 Host IPv6 which the application will use to access the SUT for Mandatory. Direct Virtual Host, Indirect
any IPv6 communication. Allows specified scaled hosts. Virtual Host. No default. Must be an IPv6
host. It can be PPPoE enabled, or DHCP
host. Must be on the same card as the
IPv4 host.

Transport Type Transport protocol to be used. UDP, TCP or TLS. Default is UDP. If TCP
is selected, Advanced TCP Characteristics
can be configured by clicking on the
Advanced TCP button in this step. Refer
to the chapter on TCP Configuration.
• If the SIP Port value is 5060, and this
field is changed to TLS, then the SIP
Port will be changed to 5061.
• If the SIP Port value is 5061, and this
field is changed to either UDP or TCP,

© Copyright 2018 TeraVM Java Client User Guide Page 354


Aeroflex Limited. All
rights reserved.
8.2.8.1.2. General Details

Field Description Validation


then the SIP Port will be changed to
5060.

SIP Port Well known port for UA to listen for SIP requests. Default is 5060. Value must be an integer
Enabling/disabling scaling for this field is allowed if the between 1 and 65535. Mandatory.
application is scaled.

RTP Port Numeric range profile indicating ports to be used for Integer between 2 and 65535. Can also
creating RTP media sessions. RTP ports chosen shall be a profile. Mandatory. No Default. If an
always be even. If RTCP is selected on a call then RTCP integer value is supplied then the value
port is RTP port plus one. must be even. A single port value can also
be supplied. At runtime, this port will be
subject to normal port validation rules.

SIP ToS/DSCP Quality of Service metric for the SIP messages sent by the Integer value between 0 and 255.
Dual Hosted VoIP UA application Mandatory. Default is 0.

RTP ToS/DSCP Quality of Service metric for the media messages sent by Integer value between 0 and 255.
the Dual Hosted VoIP UA application. Media messages Mandatory. Default is 0.
include RTP or RTCP messages.

TCP Characteristics TCP characteristics control the use of certain TCP Optional if Transport Type is TCP. N/A
functionality. If specified they override the TCP otherwise.
Characteristics specified for the Host which the Dual
Hosted VoIP UA resides on.

8.2.8.1.2. General Details


The General Details step of the wizard enables the configuration of the Client SIP details and its registration
with a SIP Server. When Configure As: Scaled Entity from the Application Details dialog is selected,
scaling options are available for SIP Username and SIP Display Name fields. The following dialog is
displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 355


Aeroflex Limited. All
rights reserved.
8.2.8.1.2. General Details

Figure 8-146. VoIP UA - General Details

The following information is required for this dialog:


Table 8-113. Dual Hosted VoIP UA General Details

Field Description Validation

IPv4 SIP Proxy External IPv4 SIP Proxy with which the UA will Mandatory. No default. Must be an external
communicate with for IPv4 Registration and IPv4 calls. IPv4 application.

IPv6 SIP Proxy External IPv6 SIP proxy with which the UA will Mandatory. No Default. Must be an
communicate with for IPv6 Registration and IPv6 calls. external IPv6 application.

SIP Username Username used in the SIP URI for the calling entity. String value between 1 and 32 characters
Allows the enabling/disabling of scaling for this field if the in length. Combination with SIP Domain
application is scaled. Name must be unique across Dual Hosted
VoIP UA Applications and (single hosted)
VoIP UAs configured to register within the
test group. Mandatory. No default. If bulk
provisioning then Bulk Provisioning icon

© Copyright 2018 TeraVM Java Client User Guide Page 356


Aeroflex Limited. All
rights reserved.
8.2.8.1.2.1. Advanced Additional Configuration
Details

Field Description Validation


button will be available offering standard
increment and import from CSV file.

SIP Display Name SIP Display Name to be used in the "From:" field. Allows Optional. No default, alphanumeric value
the enabling/disabling of scaling for this field if the between 1 and 32 characters in length.
application is scaled. With the following valid chars: "-.!%*_+`'~"

SIP Domain Name The Domain name that is, shenick.com. String value between 3 and 32 characters
in length. Combination with SIP User Name
must be unique across Dual Hosted VoIP
Applications and (single hosted) VoIP UAs
applications configured to register within
the test group. Mandatory. No Default.

Use SIP Username If enabled, the UA can choose to reuse the SIP User Enabled or disabled. Default is enabled.
Name for the password.

SIP Password This password is used to respond to any Digest String value between 3 and 32 characters
challenges for SIP requests from this client. If this is not in length. Optional. No default. If bulk
set, the SIP request immediately fails if the client receives provisioning enabled then the following
a challenge response. options are available:
• Disable iteration, password won't
Enabling/disabling scaling for this field is allowed if the
change across applications.
application is scaled.
• Password is the same as the user
name.
• Iteration with a certain step
• Assigning password from CSV file.

Register with Server If enabled, the UA must first register with the SIP Proxy Default is Disabled. Enabled/Disabled.
server before starting the test.

Registration SIP Proxy Only available when Register with Server is enabled. Default value of Ipv4 SIP Proxy.

8.2.8.1.2.1. Advanced Additional Configuration Details


Click on the Advanced button in this step displays the following dialog to enable the configuration of extra
details for this UA.

© Copyright 2018 TeraVM Java Client User Guide Page 357


Aeroflex Limited. All
rights reserved.
8.2.8.1.3. In/Out Call Setup

Figure 8-147. Advanced Dual Hosted UA Additional Configuration Details

The fields for this dialog are described as follows:


Table 8-114. Dual Hosted VoIP UAS - Advanced Configuration Details

Field Description Validation

Use Server Interval The UA can choose to use the server registration interval Enabled or Disabled. Default is Enabled.
or specify its own interval. N/A if Register With Server is Disabled.

Registration Interval Interval between registration attempts by the UA. If Minimum value is 1 ms. Maximum value
specified, this defines the expiration interval requested by is 86,400,000 ms (24 hours). Default is
the UA in the expires field in the registration request. The 3,600,000 ms (1 hour). N/A if Use Server
requested expiration interval will always be 60 seconds Interval is Enabled. Can be a profile.
greater then the timer interval to allow registration to occur Allowable metrics are ms, sec, min and
if the registration occurs again. If not specified the UA will hour with min as the default.
attempt to register again within the interval returned by the
server in the registration response.

Enable Received RTP If enabled allows Dual Hosted VoIP UA to check for Enabled/Disabled. Default is enabled.
Timeout inactivity on incoming RTP packets.

Received RTP Timeout Amount of time before not receiving RTP packets is Value between 10 and 60000ms. Allowed
considered a Problem state. metrics are ms, secs. Default value is 300
ms,

8.2.8.1.3. In/Out Call Setup


The In/Out Call Setup step allows for the configuration of the Dual Hosted VoIP call initiation and answering
details. The following dialog is displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 358


Aeroflex Limited. All
rights reserved.
8.2.8.1.3. In/Out Call Setup

Figure 8-148. Dual Hosted VoIP UA In/out Call Setup

The following information is required for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 359


Aeroflex Limited. All
rights reserved.
8.2.8.1.3.1. SIP Call Options

Table 8-115. Dual Hosted VoIP UA In/Out Call Details Dialog Fields

Field Description Validation

Allow UA to Initiate Calls The UA can choose to initiate calls or not. If enabled, this Default is Enabled. Enabled/Disabled.
UA can initiate calls. Specification of other call related properties
are dependent on this setting.

Call SIP Proxy Choose the Proxy to be used to initiate calls. N/A if Allow UA to Initiate Calls is
disabled. Select from previously configured
External IPv4 or IPv6 SIP Proxies. Default
is the IPv6 Proxy.

Called Party Selection Indicates if the application will specify the called party Select required mechanism for specifying
using a VoIP Call List configuration item or a URI. the called party. N/A if Allow UA to Initiate
Calls is disabled Can be set to VoIP Call
List or Call URI. Default is Call URI.

Call URI SIP URI to call. N/A if Allow UA to Initiate Calls is


disabled or Called Party Selection is a
When configuring Dual Hosted VoIP UA as a Scaled
Call List. String value between 1 and 512
Entity, select the check box to display Edit Properties
characters in length. No default. Allowed
options, and choose the type of scaler you want to use.
characters are: 0-9,a-z,A-Z and special
characters .,[]:;-_@ The URI is not checked
to see if it is a valid URI.

Call List The name of a Call List configured in the VoIP Select required VoIP Call List Configuration
Configuration folder. Provides URIs to be called. Item. N/A if Allow UA to Initiate Calls is
disabled or Called Party Selection is a
URI. No default.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0 and 30,000. Can also
accepting/rejecting a call. This can be a profile to inject be a profile. Default is 0 meaning no delay.
variability into the delay answering the call. Optional if UA is provisioned along with an
External SIP Proxy. Allowable metrics are
ms and sec with ms as the default.

Busy Ratio Percentage of calls to reject with a busy response. Integer between 0 and 100. Default is 0.
Optional if UA is provisioned along with an
External SIP Proxy.

Allow UA End Call The Dual Hosted VoIP UA can be configured to end an Enabled/Disabled. Default is disabled.
incoming call once the Average Hold Time has expired. Mandatory

8.2.8.1.3.1. SIP Call Options


Clicking on the SIP Call Options button in the In/Out Call Setup step of the wizard displays the following
dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 360


Aeroflex Limited. All
rights reserved.
8.2.8.1.4. Call Details

Figure 8-149. SIP Call Options

The following field can be configured for SIP Calls:


Table 8-116. SIP Call Options Dialog Fields
Field Description Validation

Send 100 Trying A Dual Hosted VoIP UA Includes this message in the SIP Enabled/Disabled. Default is Enabled.
responses generated for a successful incoming INVITE Mandatory.
request.

8.2.8.1.4. Call Details


The Call Details step enables you to configure delays between calls and the average length of calls.
The BHCA (Busy Hour Call Attempts) is an important value for a VoIP application. It controls the call rate
that is, the number of calls attempted per hour. This value is dependent on the number of clients and the
average hold time for a call and you is not allowed to enter a value that cannot be achieved based on the
configured client count and average hold time. A simple formula to help with this is:
(Maximum Average Hold Time rounded up to nearest second + 3 seconds) <= (3600 * client count/ BHCA)
Therefore, a hold time of 0 and a client count of 50 means the maximum value for BHCA is 60,000. If a
BHCA fig of 120,000 is required then the number of clients should be increased to 100.

Note
Clients will not maintain the configured BHCA value if either:

• they are on a call when the next call is to be initiated. This can occur if a client in another test
case entry calls this client.

• the previous call has not completed. A 3 second window should be sufficient. This may be the
case if the call answering delay is configured or SIP packets are dropped.

Figure 8-150. Dual Hosted VoIP Call Details Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 361


Aeroflex Limited. All
rights reserved.
8.2.8.1.4. Call Details

Click the Advanced... button to see the Advanced Call Details. For more information about Advanced Call
Details ,see Section 8.2.8.1.4.2.

The following details are required for the Call Details dialog:
Table 8-117. Dual Hosted VoIP UA Call Details Dialog Fields

Field Description Validation

Stream Profile The name of a Stream Profile configured in the RTP Choose from the list or add a new profile.
Configuration folder. Refer to Chapter on Configuration.
Mandatory if Allow UA to Initiate calls is
Enabled.

Disable RTP Disables the transmission of RTP data by the Dual Hosted Enabled or Disabled. Default is Disabled.
Transmission VoIP UA. Mandatory.

Enable SRTP Enables the use of SRTP by this UA. Enabled or Disabled. Default is Disabled.
Mandatory.

© Copyright 2018 TeraVM Java Client User Guide Page 362


Aeroflex Limited. All
rights reserved.
8.2.8.1.4.1. Adaptive Stream Changes

Field Description Validation

Generate RTCP Reports Enables or disables the periodic generation of RTCP Enabled or Disabled. Default is Disabled.
reports. Mandatory.

Allow Delay between Calls If selected, then the delay between calls is governed by Enabled or Disabled. Default is Enabled. N/
the BHCA property. A if Allow UA to Initiate Calls is disabled.

BHCA (Busy Hour Call The BHCA is the number of calls to be attempted per Minimum value 1. Maximum is 1,200,000.
Attempts) hour. It is controlled by the number of clients and the N/A if Allow UA to Initiate Calls is
average hold time. This field is enabled only if delays are disabled. N/A if Allow Delay Between
allowed between calls. Calls is disabled. Mandatory otherwise.
Validation rule as in VoIP UA, that Max
AHT + 3sec <= 3600/BHCA.

Average Hold Time The length of time for the call in milliseconds. This relates Minimum value is 0. Maximum is 168 hours
to the media part of the call and excludes time spent on (1 week). Can also be a profile. Default
signaling to setup and tear down the call. If 0 then this is 5. N/A if Allow UA to Initiate Calls is
value indicates that the call is terminated immediately after disabled. Metric is ms,sec, min and hours
being established and that no RTP media is exchanged. with sec as the default. Validation rule as
If the remote endpoint is a foreign SIP UA it may not be in VoIP UA, that Max AHT + 3sec <= 3600/
possible to prevent it sending some RTP traffic before the BHCA.
call is torn down.

8.2.8.1.4.1. Adaptive Stream Changes


The Adaptive Stream Changes button is only available when a Stream Profile containing an Adaptive
Bit Rate Level List has been selected. Clicking on the Adaptive Stream Changes button in the Call
Detailsstep of the wizard displays the following dialog:

Figure 8-151. Adaptive Stream Changes

The following fields can be configured for Adaptive Stream Changes:

© Copyright 2018 TeraVM Java Client User Guide Page 363


Aeroflex Limited. All
rights reserved.
8.2.8.1.4.2. Advanced SIP

Table 8-118. Adaptive Stream Changes Dialog Fields

Field Description Validation

Enable AMR Level If enabled, the call will cycle through the Bit Rate Level Enabled/Disabled. Default is Disabled.
Changes List assigned to the Stream Profile, using the order
determined by the following fields.

Change Level Mode Determines how the call will cycle through the list of Bit Either "Level Change List" or "Variable
Rate Levels. Level Change". Default is "Level Change
List".

Level Change List A list of level changes that should happen to the Bit Rate Mandatory, if Enable AMR Level Changes
Level List during a call. is enabled, and Change Level Mode is
"Level Change List"

Variable Level Change A profile that can be configured to configure the order of Mandatory, if Enable AMR Level Changes
the levels that should be applied to the Bit Rate Level List is enabled, and Change Level Mode is
during a call. "Variable Level Change"

Interval Between Change The Interval between each level change during a call. Can be value in the range 0 - 3,600,000
(ms). It can also be a profile with min and
max values within this range. Default is 40
indicating no delay. Supported metrics are
ms, sec and min with ms as the default.

8.2.8.1.4.2. Advanced SIP


Clicking on the Advanced ...button in the Call Details step of the wizard displays the following dialog:

Figure 8-152. Dual Hosted VoIP - Advanced SIP Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 364


Aeroflex Limited. All
rights reserved.
8.2.8.1.4.2. Advanced SIP

The following tables describe the Advanced Call Details dialog options for the SIP and the DTMF tab:
Table 8-119. Dual Hosted VoIP - Advanced SIP Options Dialog Fields

Field Description Validation

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. Enabled/Disabled. Default is Disabled.
It is a PRovisional ACKnowledgement by a calling party
to a provisional response. The 100rel PRACK option is
available as an option for the Dual Hosted VoIP UA.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is disabled.
If enabled, a session timer is negotiated during the call
setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call. Available as an
option for the Dual Hosted VoIP UA.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

Once Generate Events is selected the DTMF tab requires the following information:
Table 8-120. Advanced Call Details - DTMF

Field Description Validation

DTMF Mode The DTMF Mode to be used, as selected Mandatory value The following options are
from the drop-down list box. available:
• Generate Events - select to generate
defined DTMF events.
• Not Supported - select if DTMF is not
being used (default value).
• Supported - select to support but
not to send DTMF events in SIP
messages.

DTMF Events List of DTMF Events. The DTMF Mandatory when DTMF Mode Generate
Events is scalable, for more information events is selected.
about the DTMF Event Scaler, see
Default value: Null.
Section 8.2.7.2.5.2.2.1.
When the DTMF is Not Scaled, the
following value checks are made:
Alphanumeric (0-9,A-D) and the following
characters / "*" / "#" / "Flash". All events
must be comma separated.
When the DTMF is Scaled, the following
value checks are made: 0-9 and a final #.
An optional delay in milliseconds can be
specified between any type of brackets (),
[], {} right after each event.

Initial Delay Initial delay before sending 1st DTMF Mandatory when DTMF Mode Generate
event on a call. A longer initial delay is events is selected. Default value: 3
required before 1st seconds. Numeric value: 100ms - 60
minutes.
event should be sent.

© Copyright 2018 TeraVM Java Client User Guide Page 365


Aeroflex Limited. All
rights reserved.
8.2.8.1.5. Additional Configuration

Field Description Validation

Inter Event Delay Delay between each DTMF Mandatory when DTMF Mode Generate
events is selected. Default value: 300
milliseconds. Numeric value: 100ms - 60
minutes

Event Duration Duration of time to generate RTP DTMF Mandatory when DTMF Mode Generate
messages for each DTMF event. events is selected. Default value: 300
milliseconds. Numeric value: 100ms - 8
seconds.

Event Volume Value for volume field in a DTMF message. Mandatory when DTMF Mode Generate
events is selected. Default value: 2
seconds. Numeric value: 0 - 63

8.2.8.1.5. Additional Configuration


The Additional Details step of the wizard displays the following dialog:

Figure 8-153. Dual Hosted VoIP Client Application - Additional Details

© Copyright 2018 TeraVM Java Client User Guide Page 366


Aeroflex Limited. All
rights reserved.
8.2.8.1.5.1. Statistics Configuration

Note
Passive Analysis requires the purchase of a special software licence. If that licence has not been
purchased, and you try to enable the Configure Passive Analysis checkbox, a pop-up dialog
appears to advise you that one is required.

This dialog requires the following information:


Table 8-121. Dual Hosted VoIP UA - Additional Configuration

Field Description Validation

Start After Delay in milliseconds before the SIP UA starts. Once this Optional. Measured in milliseconds,
timer expires the UA is available to accept calls and if seconds or minutes. If blank then TeraVM
configured will attempt to register. Optional. If blank then will work out an appropriate value based
the controller will work out an appropriate value based on on the number of client applications
the number of clients configured in the test group. configured in the test group.

Stop After Number of seconds SIP UA will initiate calls/registrations Optional. Can have a value in the range
or accept incoming calls. 1 - 86400 (secs). If it is a profile it can
have min and max values within this
range. Blank means it will run forever or
until stopped manually. Default is Blank.
Supported metrics are secs, min and hour
with secs as the default.

Initial Call Delay A delay which can be applied before any calls are Optional. Default is 0. Supported metrics
initiated by the UA. This delay is applied once all SIP are ms, sec, min and hour with ms as the
UAs have started and completed a registration attempt, default. Can also be a profile.
thus ensuring that Dual Hosted VoIP Applications have
registered their location, allowing calls to be routed to
them.

Configure Passive Allows the configuration of the client for Passive Analysis. Enabled/Disbaled. Default is disabled.
Analysis Refer to the section on Passive Analysis for more details.
Passive Analysis and Latency Stats are
mutually exclusive and cannot both be
enabled simultaneously for the same Dual
Hosted VoIP UA. Passive Analysis may be
enabled if the following are true:
• The UA is configured to initiate calls
• The stream profile is configured for
RTP receive or full duplex.

Aggregate Group (See The Aggregate Group to which this Dual Hosted VoIP UA Optional. Select a group from the list of
section on Statistical Application belongs for statistical reporting purposes. previously configured groups with which
Grouping) to associate this application or click on the
<Add> button to add a new group. (Refer
to the section on Statistical Grouping in
the Test Results topic for more details.)

8.2.8.1.5.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics settings
can be configured.

© Copyright 2018 TeraVM Java Client User Guide Page 367


Aeroflex Limited. All
rights reserved.
8.2.8.1.6. Passive Analysis

The Dual Hosted VoIP Statistics dialog is displayed as shown.

Figure 8-154. Dual Hosted VoIP Statistics

The following statistics can be enabled or disabled in this dialog:


Table 8-122. Dual Hosted VoIP Application - Advanced Additional Configuration

Field Description Validation

Enable Normal/Fine TeraVM will gather normal and/or fine statistics. "Fine" Enabled by ticking the checkbox or
Statistics statistics are collected at very short intervals, (every disabled by leaving the checkbox empty.
second by default, though the interval is configurable) Default is ticked to enable Normal statistics
and can be enabled/disabled while a test is running. and unticked to disable Fine statistics.
Fine statistics can only be enabled on up to 60 entities
at any given time. "Normal" statistics can be enabled
for all Dual Hosted VoIP UA Applications at specified
intervals. Normal statistics will be collected at longer
intervals, (30s, 1m, 5m - 30s by default). Note that Normal
statistics are "all-or-nothing" - either all Dual Hosted VoIP
UA Applications are collecting Normal statistics at the
specified interval, or none are.

Latency Stats Whether or not normal stats are available for this Dual Enabled or Disabled. Default disabled.
Stack VoIP UA Latency stats may be enabled if all the
following are true:
• UA is configured to initiate calls
• The stream profile is configured for
RTP receive.
Passive Analysis and Latency Stats are
mutually exclusive and cannot both be
enabled simultaneously for the same Dual
Hosted VoIP UA.

8.2.8.1.6. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 368


Aeroflex Limited. All
rights reserved.
8.2.8.1.6. Passive Analysis

Figure 8-155. Dual Hosted VoIP UA Passive Analysis Details

The following fields requires values for this dialog:


Table 8-123. Dual Hosted VoIP UA - Passive Analysis

Field Description Validation

Analyse Media Type Indicate the type of Media to be Analysed. Select from: voice, video, voice and video.
Default is voice. When voice and video is
selected, the MoS statistics are enabled for
both streams at the same time.

Playout Jitter Buffer Delay The delay before received RTP packets are considered Integer in the range 0 to 65535 ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms and sec . Default
input from a Jitter buffer. TeraVM uses a Jitter Buffer is 40ms for all media types. Available if
Emulator which emulates jitter buffers such as Set Top Configure Passive Analysis is enabled.
Boxes used to compensate for network jitter.

© Copyright 2018 TeraVM Java Client User Guide Page 369


Aeroflex Limited. All
rights reserved.
8.2.8.2. Provisioning a Dual Hosted (B2B) VoIP UA

Field Description Validation

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer in the range 0 to 65535 ms.
Size. Available units are ms and sec .The value
must be >= to the value of Playout Jitter
Buffer. Default value is 80ms for all media
types.

Video Codec Used to select the expected video codec of the video Must be chosen from one of the following
stream for analysis. There is no validation that the codec's : Static JPEG MPEG H.261 H.263
selected value matches the actual video stream received H.263+ H.264 MPEG-4 VC-1 Available if
or indeed that a video stream will be received. Configure Passive Analysis is enabled
and Analyse Media Type is "Video".

Analyse MPEG2TS ES Allows passive analysis on the MPEG2-TS packets Enabled/Disabled. Default is Disabled.
embedded in the RTP stream. Available if Configure Passive Analysis
is enabled and Analyse Media Type is
"Video".

Auto determine ES PID TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is enabled.
incoming stream to analyze. Available if Analyse MPEG2-TS is
enabled.

Video ES PID PID of the video elementary stream to be analysed. Integer value. Min is 16 and Max is
This allows the functionality for detecting the PID to be 8192. No Default. Only available if Auto
overridden. Determine ES PID is disabled.

Enable Passive Analysis Enables TeraVM to collect passive analysis stats. Enabled/Disabled. Default is enabled. Only
Statistic available if Configure Passive Analysis is
enabled.

8.2.8.2. Provisioning a Dual Hosted (B2B) VoIP UA


Dual Hosted VoIP UA (B2B Mode) applications have the same basic functionality as a non-B2B Mode Dual
Hosted VoIP UA, except for the following items:

• The SIP Port field is not applicable. This value is set on the host.

• A VoIP UA (B2B Mode) application cannot use TCP as a transport type for SIP calls.

• Multiple clients per row is not supported.

• Selected hosts must have the B2BUA flag enabled and cannot be subnet hosts.

• Only one VoIP UA (B2B Mode) using a given host can perform SIP registration. This will be validated at
runtime.

• A Register with Server field is available in Dual Hosted UA (B2B Mode) to allow this application to
enable or disable SIP Registration. In a Dual Hosted UA (B2B Mode), only ONE application among all
bound to the same B2BUA enabled host should be able to send a SIP register. Therefore, the rest need
to have it disabled.

The following dialog is displayed when provisioning a Dual Hosted VoIP B2B UA:

© Copyright 2018 TeraVM Java Client User Guide Page 370


Aeroflex Limited. All
rights reserved.
8.2.8.2. Provisioning a Dual Hosted (B2B) VoIP UA

Figure 8-156. Dual Hosted VoIP UA Application Details

The following configuration steps are required to provision a Dual Hosted VoIP B2B UA:
• Application Details
• General Details
• In/Out Call Setup
• Call Details
• Additional Configuration
• Passive Analysis (Only available if Passive Analysis is enabled)

Note
The number of Dual Hosted B2B VoIP clients (and their associated usernames) should be known
before creating a VoIP Call List to be used by this application.

© Copyright 2018 TeraVM Java Client User Guide Page 371


Aeroflex Limited. All
rights reserved.
8.2.8.2.1. Application Details

8.2.8.2.1. Application Details


The following information is required for the Application Details step:

Note
The "batching" of Dual Hosted VoIP B2B applications (that is, "Single Client Varied Address" or
"Multiple Clients" modes) is not supported, therefore subnet hosts cannot be selected for this
application.

Table 8-124. Dual Hosted VoIP B2B UA Application Details

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 40, 000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Name Unique name identifying the dual hosted VoIP B2B UA Mandatory. String value between 1 and
client. 128 characters in length. No Default.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

IPv4 Host IPv4 host which the application will use to access the SUT Mandatory. Direct Virtual Host, Indirect
for any IPv4 communication. Virtual Host. No default. Must be an IPv4
Host. It can be PPPoE enabled, or DHCP
host. Must be on same card as the IPv6
host.

IPv6 Host IPv6 which the application will use to access the SUT for Mandatory. Direct Virtual Host, Indirect
any IPv6 communication. Virtual Host. No default. Must be an IPv6
host. It can be PPPoE enabled, or DHCP
host. Must be on the same card as the
IPv4 host.

Transport Type Transport protocol to be used. UDP. Default is UDP.

RTP Port Numeric range profile indicating ports to be used for Integer between 2 and 65535. Can also
creating RTP media sessions. RTP ports chosen shall be a profile. Mandatory. No Default. If an
always be even. If RTCP is selected on a call then RTCP integer value is supplied then the value
port is RTP port plus one. must be even. A single port value can also
be supplied. At runtime, this port will be
subject to normal port validation rules.

SIP ToS/DSCP Quality of Service metric for the SIP messages sent by the Integer value between 0 and 255.
Dual Hosted VoIP UA application Mandatory. Default is 0.

RTP ToS/DSCP Quality of Service metric for the media messages sent by Integer value between 0 and 255.
the Dual Hosted VoIP UA application. Media messages Mandatory. Default is 0.
include RTP or RTCP messages.

8.2.8.2.2. General Details


The General Details step of the wizard enables the configuration of the Client SIP details and its registration
with a SIP Server. The following dialog is displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 372


Aeroflex Limited. All
rights reserved.
8.2.8.2.2. General Details

Figure 8-157. Dual Hosted VoIP B2B UA - General Details

The following information is required for this dialog:


Table 8-125. Dual Hosted VoIP B2B UA General Details

Field Description Validation

IPv4 SIP Proxy External IPv4 SIP Proxy with which the UA will Mandatory. No default. Must be an external
communicate with for IPv4 Registration and IPv4 calls. IPv4 application.

IPv6 SIP Proxy External IPv6 SIP proxy with which the UA will Mandatory. No Default. Must be an
communicate with for IPv6 Registration and IPv6 calls. external IPv6 application.

SIP Username Username used in the SIP URI for the calling entity. String value between 1 and 32 characters
in length. Combination with SIP Domain
Name must be unique across Dual Hosted
VoIP UA Applications and (single hosted)
VoIP UAs configured to register within the
test group. Mandatory. No default. If bulk
provisioning then Bulk Provisioning icon
button will be available offering standard
increment and import from CSV file.

© Copyright 2018 TeraVM Java Client User Guide Page 373


Aeroflex Limited. All
rights reserved.
8.2.8.2.2.1. Advanced Additional Configuration
Details

Field Description Validation

SIP Domain Name The Domain name that is, shenick.com. String value between 3 and 32 characters
in length. Combination with SIP User Name
must be unique across Dual Hosted VoIP
Applications and (single hosted) VoIP UAs
applications configured to register within
the test group. Mandatory. No Default.

Use SIP Username If enabled, the UA can choose to reuse the SIP User Enabled or disabled. Default is enabled.
Name for the password.

Password This password is used to respond to any Digest String value between 3 and 32 characters
challenges for SIP requests from this client. If this is not in length. Optional. No default. If bulk
set, the SIP request immediately fails if the client receives provisioning enabled then the following
a challenge response. options are available:
• Disable iteration, password won't
change across applications.
• Password is the same as the user
name.
• Iteration with a certain step
• Assigning password from CSV file.

Register with Server If enabled, the UA must first register with the SIP Proxy Default is Disabled. Enabled/Disabled.
server before starting the test.

Registration SIP Proxy Only available when Register with Server is enabled. Default value of Ipv4 SIP Proxy.

8.2.8.2.2.1. Advanced Additional Configuration Details


Click on the Advanced button in this step displays the following dialog to enable the configuration of extra
details for this UA.

Figure 8-158. Advanced Dual Hosted B2B UA Additional Configuration Details

© Copyright 2018 TeraVM Java Client User Guide Page 374


Aeroflex Limited. All
rights reserved.
8.2.8.2.3. In/Out Call Setup

The fields for this dialog are described as follows:


Table 8-126. Dual Hosted VoIP B2B UAS - Advanced Configuration Details

Field Description Validation

Use Server Interval The UA can choose to use the server registration interval Enabled or Disabled. Default is Enabled.
or specify its own interval. N/A if Register With Server is Disabled.

Registration Interval Interval between registration attempts by the UA. If Minimum value is 1 ms. Maximum value
specified, this defines the expiration interval requested by is 86,400,000 ms (24 hours). Default is
the UA in the expires field in the registration request. The 3,600,000 ms (1 hour). N/A if Use Server
requested expiration interval will always be 60 seconds Interval is Enabled. Can be a profile.
greater then the timer interval to allow registration to occur Allowable metrics are ms, sec, min and
if the registration occurs again. If not specified the UA will hour with min as the default.
attempt to register again within the interval returned by the
server in the registration response.

Enable Received RTP If enabled allows Dual Hosted VoIP UA to check for Enabled/Disabled. Default is enabled.
Timeout inactivity on incoming RTP packets.

Received RTP Timeout Amount of time before not receiving RTP packets is Value between 10 and 60000ms. Allowed
considered a Problem state. metrics are ms, secs. Default value is 300
ms,

8.2.8.2.3. In/Out Call Setup


The In/Out Call Setup step allows for the configuration of the Dual Hosted B2B VoIP call initiation and
answering details. The following dialog is displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 375


Aeroflex Limited. All
rights reserved.
8.2.8.2.3. In/Out Call Setup

Figure 8-159. Dual Hosted B2B VoIP UA In/out Call Setup

The following information is required for this step:


Table 8-127. Dual Hosted VoIP B2B UA In/Out Call Details Dialog Fields

Field Description Validation

Allow UA to Initiate Calls The UA can choose to initiate calls or not. If enabled, this Default is Enabled. Enabled/Disabled.
UA can initiate calls. Specification of other call related properties
are dependent on this setting.

Call SIP Proxy Choose the Proxy to be used to initiate calls. N/A if Allow UA to Initiate Calls is
disabled. Select from previously configured
External IPv4 or IPv6 SIP Proxies. Default
is the IPv6 Proxy.

Called Party Selection Indicates if the application will specify the called party Select required mechanism for specifying
using a VoIP Call List configuration item or a URI. the called party. N/A if Allow UA to Initiate
Calls is disabled Can be set to VoIP Call
List or Call URI. Default is Call URI.

Call URI SIP URI to call. N/A if Allow UA to Initiate Calls is


disabled orCalled Party Selection is a

© Copyright 2018 TeraVM Java Client User Guide Page 376


Aeroflex Limited. All
rights reserved.
8.2.8.2.3.1. SIP Call Options

Field Description Validation


Call List. String value between 1 and 512
characters in length. No default. Allowed
characters are: 0-9,a-z,A-Z and special
characters .,[]:;-_@ The URI is not checked
to see if it is a valid URI.

Call List The name of a Call List configured in the VoIP Select required VoIP Call List Configuration
Configuration folder. Provides URIs to be called. Item. N/A if Allow UA to Initiate Calls is
disabled or Called Party Selection is a
URI. No default.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0 and 30,000. Can also
accepting/rejecting a call. This can be a profile to inject be a profile. Default is 0 meaning no delay.
variability into the delay answering the call. Optional if UA is provisioned along with an
External SIP Proxy. Allowable metrics are
ms and sec with ms as the default.

Busy Ratio Percentage of calls to reject with a busy response. Integer between 0 and 100. Default is 0.
Optional if UA is provisioned along with an
External SIP Proxy.

Allow UA End Call The Dual Hosted VoIP UA can be configured to end an Enabled/Disabled. Default is disabled.
incoming call once the Average Hold Time has expired. Mandatory

8.2.8.2.3.1. SIP Call Options


Clicking on the SIP Call Options button in the In/Out Call Setup step of the wizard displays the following
dialog:

Figure 8-160. SIP Call Options

The following field can be configured for SIP Calls:


Table 8-128. SIP Call Options Dialog Fields

Field Description Validation

Send 100 Trying A Dual Hosted VoIP UA Includes this message in the SIP Enabled/Disabled. Default is Enabled.
responses generated for a successful incoming INVITE Mandatory.
request.

© Copyright 2018 TeraVM Java Client User Guide Page 377


Aeroflex Limited. All
rights reserved.
8.2.8.2.4. Call Details

8.2.8.2.4. Call Details


The Call Details step enables you to configure delays between calls and the average length of calls.

The BHCA (Busy Hour Call Attempts) is an important value for a VoIP application. It controls the call rate
that is, the number of calls attempted per hour. This value is dependent on the number of clients and the
average hold time for a call and you is not allowed to enter a value that cannot be achieved based on the
configured client count and average hold time. A simple formula to help with this is:

(Maximum Average Hold Time rounded up to nearest second + 3 seconds) <= (3600 * client count/ BHCA)

Therefore, a hold time of 0 and a client count of 50 means the maximum value for BHCA is 60,000. If a
BHCA fig of 120,000 is required then the number of clients should be increased to 100.

Note
Clients will not maintain the configured BHCA value if either:

• they are on a call when the next call is to be initiated. This can occur if a client in another test
case entry calls this client.

• the previous call has not completed. A 3 second window should be sufficient. This may be the
case if the call answering delay is configured or SIP packets are dropped.

© Copyright 2018 TeraVM Java Client User Guide Page 378


Aeroflex Limited. All
rights reserved.
8.2.8.2.4. Call Details

Figure 8-161. Dual Hosted VoIP B2B Call Details Dialog

Dual Hosted VoIP B2B Call Details Dialog

The following details are required for this dialog:


Table 8-129. Dual Hosted VoIP B2B UA Call Details Dialog Fields

Field Description Validation

Stream Profile The name of a Stream Profile configured in the RTP Choose from the list or add a new profile.
Configuration folder. Refer to Chapter on Configuration.
Mandatory if Allow UA to Initiate Calls.

Disable RTP Disables the transmission of RTP data by the Dual Hosted Enabled or Disabled. Default is Disabled.
Transmission VoIP B2B UA. Mandatory.

Generate RTCP Reports Enables or disables the periodic generation of RTCP Enabled or Disabled. Default is Disabled.
reports. Mandatory.

Allow Delay between Calls If selected, then the delay between calls is governed by Enabled or Disabled. Default is Enabled. N/
the BHCA property. A if Allow UA to Initiate Calls is disabled.

© Copyright 2018 TeraVM Java Client User Guide Page 379


Aeroflex Limited. All
rights reserved.
8.2.8.2.4.1. Adaptive Stream Changes

Field Description Validation

BHCA (Busy Hour Call The BHCA is the number of calls to be attempted per Minimum value 1. Maximum is 1,200,000.
Attempts) hour. It is controlled by the number of clients and the N/A if Allow UA to Initiate Calls is
average hold time. This field is enabled only if delays are disabled. N/A if Allow Delay Between
allowed between calls. Calls is disabled. Mandatory otherwise.
Validation rule as in VoIP UA, that Max
AHT + 3sec <= 3600/BHCA.

Average Hold Time The length of time for the call in milliseconds. This relates Minimum value is 0. Maximum is 168 hours
to the media part of the call and excludes time spent on (1 week). Can also be a profile. Default
signaling to setup and tear down the call. If 0 then this is 5. N/A if Allow UA to Initiate Calls is
value indicates that the call is terminated immediately after disabled. Metric is ms,sec, min and hours
being established and that no RTP media is exchanged. with sec as the default. Validation rule as
If the remote endpoint is a foreign SIP UA it may not be in VoIP UA, that Max AHT + 3sec <= 3600/
possible to prevent it sending some RTP traffic before the BHCA.
call is torn down.

8.2.8.2.4.1. Adaptive Stream Changes


The Adaptive Stream Changes button is only available when a Stream Profile containing an Adaptive
Bit Rate Level List has been selected. Clicking on the Adaptive Stream Changes button in the Call
Detailsstep of the wizard displays the following dialog:

Figure 8-162. Adaptive Stream Changes

The following fields can be configured for Adaptive Stream Changes:


Table 8-130. Adaptive Stream Changes Dialog Fields

Field Description Validation

Enable AMR Level If enabled, the call will cycle through the Bit Rate Level Enabled/Disabled. Default is Disabled.
Changes List assigned to the Stream Profile, using the order
determined by the following fields.

Change Level Mode Determines how the call will cycle through the list of Bit Either "Level Change List" or "Variable
Rate Levels. Level Change". Default is "Level Change
List".

© Copyright 2018 TeraVM Java Client User Guide Page 380


Aeroflex Limited. All
rights reserved.
8.2.8.2.4.2. Advanced SIP

Field Description Validation

Level Change List A list of level changes that should happen to the Bit Rate Mandatory, if Enable AMR Level Changes
Level List during a call. is enabled, and Change Level Mode is
"Level Change List"

Variable Level Change A profile that can be configured to configure the order of Mandatory, if Enable AMR Level Changes
the levels that should be applied to the Bit Rate Level List is enabled, and Change Level Mode is
during a call. "Variable Level Change"

Interval Between Change The Interval between each level change during a call. Can be value in the range 0 - 3,600,000
(ms). It can also be a profile with min and
max values within this range. Default is 40
indicating no delay. Supported metrics are
ms, sec and min with ms as the default.

8.2.8.2.4.2. Advanced SIP


Clicking on the Advanced SIP button in the Details step of the wizard displays the following dialog:

Figure 8-163. Dual Hosted VoIP B2B - Advanced SIP Dialog

The following advanced SIP options can be configured for a UA:

© Copyright 2018 TeraVM Java Client User Guide Page 381


Aeroflex Limited. All
rights reserved.
8.2.8.2.5. Additional Details

Table 8-131. Dual Hosted VoIP B2B - Advanced SIP Options Dialog Fields

Field Description Validation

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. Enabled/Disabled. Default is Disabled.
It is a PRovisional ACKnowledgement by a calling party
to a provisional response. The 100rel PRACK option is
available as an option for the Dual Hosted VoIP UA.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is disabled.
If enabled, a session timer is negotiated during the call
setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call. Available as an
option for the Dual Hosted VoIP UA.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

8.2.8.2.5. Additional Details


The Additional Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 382


Aeroflex Limited. All
rights reserved.
8.2.8.2.5. Additional Details

Figure 8-164. Dual Hosted VoIP B2B Client Application - Additional Details

Note
Passive Analysis requires the purchase of a special software licence. If that licence has not been
purchased, and you try to enable the Configure Passive Analysis checkbox, a pop-up dialog
appears to advise you that one is required.

This dialog requires the following information:


Table 8-132. Dual Hosted VoIP B2B UA - Additional Configuration

Field Description Validation

Start After Delay in milliseconds before the SIP UA starts. Once this Optional. Measured in milliseconds,
timer expires the UA is available to accept calls and if seconds or minutes. If blank then TeraVM
configured will attempt to register. Optional. If blank then will work out an appropriate value based
the controller will work out an appropriate value based on on the number of client applications
the number of clients configured in the test group. configured in the test group. .

© Copyright 2018 TeraVM Java Client User Guide Page 383


Aeroflex Limited. All
rights reserved.
8.2.8.2.5.1. Statistics Configuration

Field Description Validation

Stop After Number of seconds SIP UA will initiate calls/registrations Optional. Can have a value in the range
or accept incoming calls. 1 - 86400 (secs). If it is a profile it can
have min and max values within this
range. Blank means it will run forever or
until stopped manually. Default is Blank.
Supported metrics are sec, min and hour
with min as the default.

Initial Call Delay A delay which can be applied before any calls are Optional. Default is 0. Supported metrics
initiated by the UA. This delay is applied once all SIP are ms, sec, min and hour with ms as the
UAs have started and completed a registration attempt, default. Can also be a profile.
thus ensuring that Dual Hosted VoIP Applications have
registered their location, allowing calls to be routed to
them.

Configure Passive Allows the configuration of the client for Passive Analysis. Enabled or Disabled. Default is Disabled.
Analysis Refer to the section on Passive Analysis for more details. Configure Passive Analysis and Latency
Stats are mutually exclusive and cannot
both be enabled simultaneously for the
same Dual Hosted B2B VoIP UA.

Aggregate Group (See The Aggregate Group to which this Dual Hosted VoIP UA Optional. Select a group from the list of
section on Statistical Application belongs for statistical reporting purposes. previously configured groups with which
Grouping) to associate this application or click on the
<Add> button to add a new group. (Refer
to the section on Statistical Grouping in
the Test Results topic for more details.)

8.2.8.2.5.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics settings
can be configured.

The Dual Hosted VoIP B2B Statistics dialog is displayed as shown.

Figure 8-165. Dual Hosted VoIP Statistics

The following statistics can be enabled or disabled in this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 384


Aeroflex Limited. All
rights reserved.
8.2.8.2.6. Passive Analysis

Table 8-133. Dual Hosted VoIP B2B Application - Advanced Additional Configuration

Field Description Validation

Enable Normal/Fine TeraVM will gather normal and/or fine statistics. "Fine" Enabled by ticking the checkbox or
Statistics statistics are collected at very short intervals, (every disabled by leaving the checkbox empty.
second by default, though the interval is configurable) Default is ticked to enable Normal statistics
and can be enabled/disabled while a test is running. and unticked to disable Fine statistics.
Fine statistics can only be enabled on up to 60 entities
at any given time. "Normal" statistics can be enabled
for all Dual Hosted VoIP UA Applications at specified
intervals. Normal statistics will be collected at longer
intervals, (30s, 1m, 5m - 30s by default). Note that Normal
statistics are "all-or-nothing" - either all Dual Hosted VoIP
UA Applications are collecting Normal statistics at the
specified interval, or none are.

Latency Stats Whether or not normal stats are available for this Dual Enabled or Disabled. Default disabled.
Hosted B2B VoIP UA Latency statistics may be enabled if all the
following are true:
• 1) UA is configured to initiate calls.
• 2) The stream profile must be
configured for RTP receive.
• 2) The stream profile must be
configured for RTP receive.
Configure Passive Analysis and Latency
Stats are mutually exclusive and cannot
both be enabled simultaneously for the
same Dual Hosted B2B VoIP UA

8.2.8.2.6. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 385


Aeroflex Limited. All
rights reserved.
8.2.8.2.6. Passive Analysis

Figure 8-166. Dual Hosted VoIP B2B UA Passive Analysis Details

The following fields requires values for this dialog:


Table 8-134. Dual Hosted VoIP UA - Passive Analysis

Field Description Validation

Analyse Media Type Indicate the type of Media to be Analysed. Voice, Video. Default is Voice.

Playout Jitter Buffer Delay The delay before received RTP packets are considered Integer in the range 0 to 65535 ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms and sec . Default

© Copyright 2018 TeraVM Java Client User Guide Page 386


Aeroflex Limited. All
rights reserved.
8.2.8.2.7. PDU Capture for Dual Hosted VoIP
Applications

Field Description Validation


input from a Jitter buffer. TeraVM uses a Jitter Buffer is 40ms for all media types. Available if
Emulator which emulates jitter buffers such as Set Top Configure Passive Analysis is enabled.
Boxes used to compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer in the range 0 to 65535 ms.
Size. Available units are ms and sec .The value
must be >= to the value of Playout Jitter
Buffer. Default value is 80ms for all media
types.

Video Codec Used to select the expected video codec of the video Must be chosen from one of the following
stream for analysis. There is no validation that the codec's : Static JPEG MPEG H.261 H.263
selected value matches the actual video stream received H.263+ H.264 MPEG-4 VC-1 Available if
or indeed that a video stream will be received. Configure Passive Analysis is enabled
and Analyse Media Type is "Video".

Analyse MPEG2TS ES Allows passive analysis on the MPEG2-TS packets Enabled/Disabled. Default is Disabled.
embedded in the RTP stream. Available if Configure Passive Analysis
is enabled and Analyse Media Type is
"Video".

Auto determine ES PID TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is enabled.
incoming stream to analyze. Available if Analyse MPEG2-TS is
enabled.

Video ES PID PID of the video elementary stream to be analysed. Integer value. Min is 16 and Max is
This allows the functionality for detecting the PID to be 8192. No Default. Only available if Auto
overridden. Determine ES PID is disabled.

Enable Passive Analysis Enables TeraVM to collect passive analysis stats. Enabled/Disabled. Default is enabled. Only
Statistic available if Configure Passive Analysis is
enabled.

8.2.8.2.7. PDU Capture for Dual Hosted VoIP Applications


To capture PDUs for Dual Hosted VoIP applications, as these application utilize both an IPv4 and an IPv6
host, you can select either to Capture on IPv4 Host or Capture on IPv6 Host.

8.2.8.2.8. Pinging/Tracing Dual Hosted VoIP Applications


As a dual hosted VoIP application utilizes both an IPv4 and an IPv6 host, the 'Calling' host is the default
to provide the source details for the From side of the Ping/Trace Route. This default can be changed and
another host can be selected from the drop-down list to use in the Ping/Trace Route.

8.2.9. RTSP
The Real Time Streaming Protocol (RTSP) is a standard defined for efficient broadcast of audiovisual data
to large groups. The data can be live video feeds or stored clips. It is a control protocol used to negotiate
such things as the underlying transport mechanism for example UDP (multicast, unicast) or TCP, the
delivery mechanism for example RTP and so on. RTSP does not deliver the data.
RTSP is the signalling protocol used to negotiate the setting up of streams containing the video/audio
between the client and server. Real-time Transport Protocol (RTP) is used to deliver those streams from the
server to the client. The sister protocol of RTP Real-time Control Protocol (RTCP) can be used by the clients
and servers to provide on-going reports on the status of the streams.

© Copyright 2018 TeraVM Java Client User Guide Page 387


Aeroflex Limited. All
rights reserved.
8.2.9.1. Provisioning an RTSP Server Application

An RTSP Client can operate in an IMS mode when paired with an appropriate VoIP UA application.
To achieve this it is necessary to have the appropriate licence, to enable IMS mode on the Test Agent
Configuration and to ensure both the VoIP UA and RTSP Client use the same username.

An RTSP Client can be configured to stream data based on a customer selecting videos via a Verizon FiOS
TV Interactive Media Guide (IMG) service that they can access from their set-top box (STB). The STB uses
HTTP to access the IMG and RTSP to download the media. TeraVM emulates the IMG and the RTSP
applications. TeraVM RTSP records and displays a set of response codes as real-time statistics for session
analysis.

There are four types of RTSP applications which can be provisioned in TeraVM. These are:

• RTSP Client

• RTSP Server

• External RTSP Server

• External RTSP Proxy Server

Note
It is recommended that RTSP Server applications are set up first of all, as you will be required to
select these during the RTSP Client application provisioning process.

8.2.9.1. Provisioning an RTSP Server Application


An RTSP Server is used to listen for traffic from an RTSP Client and send back appropriate responses in
order to generate RTSP traffic on the network.

The RTSP Server will create a TCP listener on a specified TCP port on a host. When a TCP connection is
received, the server will allocate resources to establish an RTSP session. The initial connection is a control
socket. Once an RTSP session is established the RTSP server will respond to requests sent by the RTSP
client This may include the streaming of RTP media packets to the client. The RTP packets can be streamed
either using UDP or over the TCP control socket.

If you select to add an RTSP Server, the Add New RTSP Server Wizard dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 388


Aeroflex Limited. All
rights reserved.
8.2.9.1.1. Application Details

Figure 8-167. Add New RTSP Server Wizard

The steps following are required to provision an RTSP Server application are:

• Application Details

• Server Details

• Additional Configuration

8.2.9.1.1. Application Details


The following information is required for an RTSP Server Application Details.
Table 8-135. RTSP Server Application Fields

Field Description Validation

Name Unique name identifying the HTTP server application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

© Copyright 2018 TeraVM Java Client User Guide Page 389


Aeroflex Limited. All
rights reserved.
8.2.9.1.2. Server Details

Field Description Validation

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

TCP Port The TCP Port on which the server will listen for TCP Integer value between 0 and 65535.
connections. Default is 554. Advanced TCP
Characteristics can be configured by
clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

Media Port(s) Range indicating ports to be used for UDP unicast media Integer or numeric profile with values
sessions for sending RTP packets. in the range 0-65535. Default is blank.
If an integer value is chosen it must be
even. If a non-zero integer value specified
then this port must be included in runtime
validation for use of the port by other TCP
applications on this host.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

Media ToS/DiffServ Quality of Service metric for the UDP packets containing Integer value between 0 and 255.
RTP/RTCP generated by the server. Mandatory. Default is 0.

8.2.9.1.2. Server Details


After entering the information required for the RTSP Server Application details, the next step of the wizard
displays the Server Details dialog.

Figure 8-168. RTSP Server Application Wizard - Server Details

© Copyright 2018 TeraVM Java Client User Guide Page 390


Aeroflex Limited. All
rights reserved.
8.2.9.1.2. Server Details

The following information is required to provision the RTSP Server Application - Server Details.
Table 8-136. RTSP Server Application Server Details

Field Description Validation

Media Content List A list of one or more pathname/multimedia stream profile Select from a previously configured Media
name mappings. Content List.

Media Stream Duration Method of controlling the stream duration for this server. Options are Indefinite, Amount of Data
(default) or Period of Time.

© Copyright 2018 TeraVM Java Client User Guide Page 391


Aeroflex Limited. All
rights reserved.
8.2.9.1.3. Additional Configuration

Field Description Validation

Amount of Data The amount of bytes streamed. Available if Media Stream Integer or number profile with value in
Duration is set to "Amount of Data". the range 1Kbytes and 4,294,967,296
Kbytes(~4 Gb) bytes. Allowable metrics are
Kibytes, Mibytes and Gibytes with Mbytes
as the default. If selected the default value
is 10Mbytes.

Period of Time The stream duration defined by a time period. Available if Integer or numeric profile with value in the
Media Stream Duration is set to "Period of Time". range 0-86,400 seconds. Allowable metrics
are ms, secs, min and hour with secs as
the default. If selected default duration is
900 seconds.

Generate RTCP Reports If enabled, the server will generate periodic RTCP reports Enabled/disabled. Default is enabled.
to the RTSP clients for each RTP stream.

Update RTP Packets with Enable adding RTP latency timestamps to packets. Enabled/disabled. Default is enabled.
Latency Timestamps

8.2.9.1.3. Additional Configuration


The Additional Details dialog is the last step in the wizard for adding a RTSP Server application.

© Copyright 2018 TeraVM Java Client User Guide Page 392


Aeroflex Limited. All
rights reserved.
8.2.9.1.3. Additional Configuration

Figure 8-169. Add RTSP Server Application Wizard - Additional Details

The following information is required for this step of the wizard.


Table 8-137. RTSP Server- Additional Configuration

Field Description Validation

Enable Normal/Fine TeraVM will gather normal and/or fine statistics. "Fine" Enabled by ticking the checkbox or disable
Statistics statistics are collected at very short intervals, (every by leaving the checkbox empty. Default
second by default, though the interval is configurable) is ticked to enable Normal statistics and
and can be enabled/disabled while a test is running. Fine unticked to disable Fine statistics.
statistics can only be enabled on up to 60 entities at any
given time. "Normal" statistics can be enabled for all RTSP
Server Applications at specified intervals. Normal statistics
will be collected at longer intervals, (30s, 1m, 5m - 30s by
default). Note that Normal statistics are "all-or-nothing" -
either all RTSP Server Applications are collecting Normal
statistics at the specified interval, or none are.

Aggregate Group (See The Aggregate Group to which this RTSP Server Optional. Select a group from the list of
section on Statistical Application belongs for statistical reporting purposes. previously configured groups with which
Grouping) to associate this application or click on the

© Copyright 2018 TeraVM Java Client User Guide Page 393


Aeroflex Limited. All
rights reserved.
8.2.9.2. Provisioning an RTSP Client Application

Field Description Validation


<Add> button to add a new group. (Refer
to the section on Statistical Grouping in
the Test Results topic for more details.)

8.2.9.2. Provisioning an RTSP Client Application


The steps required to provision an RTSP Client application are:
• Application Details
• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row". Refer to the section on Bulk and Batch Provisioning for
details of this steps)
• Client Details
• Session Details
• Additional Configuration
• Passive Analysis (Only available if passive Analysis is configured in the Additional Details step)

8.2.9.2.1. Application Details


In this section, you set up the general information required by your RTSP Client application. Many of
these parameters are common to other applications and are described in Settings Common to Multiple
Applications.
The other fields are:
Table 8-138. RTSP Client Application Fields

Field Description Validation

TCP Port The TCP Port on which the client will bind to it's host. If Integer with a min and max value between
the port is set to the wildcard port (that is, if the Use Next 0 and 65535.
Available check box is ticked (default)) the application will
bind to the first available, non-privileged port.

Media Stream Method Media Stream Method. The method used to stream the Supported values are UDP (unicast) or
media packets to the client. TCP. Default is UDP (unicast). If TCP is
selected, Advanced TCP Characteristics
can be configured by clicking on the
Advanced TCP button in this step. Refer
to the chapter on TCP Configuration.

Media Port Ports to be used for receiving UDP unicast streams. Integer or numeric profile with values in the
range 0-65535. Can be a profile. Default
is blank. If an integer value is chosen
then the value must be even. Note: If
integer value is selected than only one
RTP stream can be supported. If a non-
zero integer value specified then this port
must be included in runtime validation for
use of the port by other TCP applications
on this host. This field is disabled if the
Media Stream Method is TCP.

© Copyright 2018 TeraVM Java Client User Guide Page 394


Aeroflex Limited. All
rights reserved.
8.2.9.2.2. Client Details

Field Description Validation

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

Media ToS/DiffServ Quality of Service metric for the UDP packets containing Integer value between 0 and 255.
RTP/RTCP generated by the server. Mandatory. Default is 0.

8.2.9.2.2. Client Details


The following client parameters must be configured:

Note
Extra configuration is required if you are testing video streaming using an IMG browser. This is
highlighted for the relevant parameters below.

Table 8-139. RTSP Client Server Details

Field Description Validation

Configure HTTP Configuration parameters if you want to configure an Optional. See RTSP HTTP Configuration.
Server(s)... HTTP request before and after your RTSP session, for
example, if you are using IMG browsing in your RTSP
Client.

Server(s) RTSP server with which the RTSP client will Mandatory if no HTTP server is
communicate. configured. When provisioning more than
1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

Proxy Identifies the RTSP proxy server with which the RTSP Required. When provisioning more than
client will communicate. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Proxy can be selected.

Media Resource Lists Requested Media Resource List. Request Keywords can Mandatory field when the Server(s) field
be configured here. has been filled in. No defaults. Select a
Requested Media Resource List from those
available in the Configuration folder. Refer
to Test Configuration for more information
on Media Resource Lists.

Pathnames List List of paths that you selected in Media Resource List. N/A

Selection Mode How the clients iterates through the list of pathnames Sequential or Random. Default is
configured in its Requested Media Resource List. Sequential.

Ignore Redirects Specifies that RTSP should not follow the redirects Enabled, Disabled. Default value is
contained in any 3xx responses to DESCRIBE requests. disabled.

Authentication... Configuration parameters if authentication is required. Optional. See RTSP Authentication


Configuration.

Request Keywords... Configuration parameters if Request keywords will be Optional. See RTSP HTTP Configuration.
used in HTTP and RTSP requests.

© Copyright 2018 TeraVM Java Client User Guide Page 395


Aeroflex Limited. All
rights reserved.
8.2.9.2.2. Client Details

Enabling Fulcrum HTTP


Specific parameters and Global Settings need setting before you can use Fulcrum testing. This procedure
shows those settings.

1. Login into your TeraVM Controller and select Utilities > Global Settings.

2. From the drop-down box select where you want to set your Global Settings and click Configure.

3. From the Categories drop-down box, select RTSP Client Settings.

• For the Configure Server-Specific RTSP Client settings drop-down menu, select Fulcrum
HTTP/Cisco Content.

• select the Use RTSP Client TCP conn rate limit as session rate limit check box.

Figure 8-170. Global Settings – RTSP Client Settings

4. From the Global Settings menu, from the drop-down Categories, select RTSP Server Settings and
ensure that the check box Emulate TandBerg/Cisco CDS Server and Enable default RTSP stream
are selected.

© Copyright 2018 TeraVM Java Client User Guide Page 396


Aeroflex Limited. All
rights reserved.
8.2.9.2.2. Client Details

Figure 8-171. Global Settings – RTSP Server Settings

5. In the Java Client either from an existing RTSP Client, or from the Add New RTSP Client(s) Wizard, in
the Client Details panel, select Configure HTTP Server(s). For more details on the Configure HTTP
Server(s) parameters, see the next section.

Figure 8-172. Configure HTTP Server

The Configure HTT Server(s) panel opens

6. In the Configure HTTP Server(s) panel, select a teardown server and, if required, Enable TLS. If TLS
is enabled, select a TLS version from the drop-down box.

© Copyright 2018 TeraVM Java Client User Guide Page 397


Aeroflex Limited. All
rights reserved.
8.2.9.2.2.1. RTSP HTTP Configuration

Figure 8-173. Configure HTTP Server – Teardown Settings

7. A Teardown Request List can be added or created as required.

8.2.9.2.2.1. RTSP HTTP Configuration


Clicking the optional buttons Configure HTTP Server(s)... and Request Keywords... in the Client Details
step of the wizard, allows you to configure the HTTP parameters required to support testing an IMG browser
in conjunction with RTSP media selection and streaming.

A number of dialog boxes are displayed if these options are selected. The parameters they contain are
described below.

© Copyright 2018 TeraVM Java Client User Guide Page 398


Aeroflex Limited. All
rights reserved.
8.2.9.2.2.1. RTSP HTTP Configuration

Note
All of these parameters are optional and can be left blank if not required. You can find more details on
these parameters in the Test Configuration chapter under HTTP Configuration.

Table 8-140. Configure HTTP Server(s) Parameters

Field Description Validation

Server(s) HTTP server in RTSP client for IMG browsing. Select a previously configured HTTP
server or create a new one. See
Provisioning a HTTP Server Application.

Teardown Servers Add another HTTP server for Teardown. Select a previously configured HTTP
server or create a new one. See
Provisioning a HTTP Server Application.

Enable TLS Select check box to choose a version of TLS. Mandatory, if Enable TLS is selected
then the TLS version is required. Select
from versions: TLS 1.0, TLS 1.1, TLS 1.2,
Custom Configuration.

TLS Version Select the TLS Version required. Default value: TLS 1.0. Select from: TLS
1.0; TLS 1.1; TLS 1.2; DTLS 1.0; DTLS
1.2.

Request List HTTP request list that will be sent to HTTP server by the Select from a previously configured
RTSP client. request list or create a new list. See HTTP
Configuration.

Teardown Request List These requests can be sent to an alternate HTTP server if A list of HTTP requests that can be sent
the Teardown Server is configured. Otherwise they will be once the RTSP session has itself been torn
sent to the HTTP Server designated by the Server field. down.
Select from a previously configured request
list or create a new list.

Advanced HTTP... Configuration parameters for DNS and Header Fields. N/A
Select to access the following parameters.

Header Field List List of HTTP Headers included in requests issued by Select from a previously configured header
RTSP client. field list or create a new list. See HTTP
Configuration.

Enable DNS Resolve Host If enabled, use DNS resolution to determine the IP Enable / Disable
Header Field address from the Host header field. Enable this option to
determine the IP address of the HTTP initial request using
the value in the Host field of the Header Field list or the
HTTP Request list, if present. Note: A DNS Resolver must
be configured for this functionality to work. Refer to the
section on Configuring a DNS Resolver.

Request Keywords
You can assign values to keywords that can be placed inside HTTP or RTSP requests. The keywords will be
substituted for their values before a request is sent.

Request keywords can be entered via the Java Client in three locations:

© Copyright 2018 TeraVM Java Client User Guide Page 399


Aeroflex Limited. All
rights reserved.
8.2.9.2.2.1. RTSP HTTP Configuration

• HTTP Request URI, when configuring the Request List of your HTTP server (see a screenshot
example below)

• Header Field List, when configuring your HTTP server

• RTSP Media Resource List Path, on the main Client Details tab. See note.

Note
To add keywords to RTSP requests, you must

– First select the "Tandberg Setup/Cisco" option for Configure Server-Specific RTSP Client
settings on the RTSP Client Settings category of Global Settings (TeraVM Controller
Administration Interface).

– Next, enable user defined headers by adding the text "UUData" to the end of the RTSP
media resource pathname.

– Finally, add your required keywords after the "UUData" text in the RTSP media resource
pathname

Note
As well as adding keywords, you may require other settings in your RTSP
Media Resource List Path, for example to inhibit ads during video streaming.
Here is an example of an RTSP Media Resource List Path that you can use:
UUData:{SP}Service=OpenStreamSvc;AppReq=Purchase;AssetID=0|
{asset_id};ContextId=1024;FolderId=1;X-AdInhibit:{SP}TRUE;{CRLF}CASystemId:
{SP}4700;

The substitution values for keywords specific to RTSP Client can be configured in the dialog box that opens
when you click Request Keywords.... They are described here:
Table 8-141. Request Keywords Parameters

Field Description Validation

STB Id Set Top Box identifier for each RTSP client Alphanumeric string value between 1 and
255 characters in length.. This can be
scaled using by default an Alpha Numeric
Scaler or by using a String List Scaler.
Click the Scaling properties button to edit
properties. It is possible to add these
Strings by importing a CSV file with a list of
values. Clicking the "Import..." button in the
Edit Properties dialog will open the "CSV
Import Dialog".

Asset Id Id of the media resource requested from IMG for each As above.
RTSP client

© Copyright 2018 TeraVM Java Client User Guide Page 400


Aeroflex Limited. All
rights reserved.
8.2.9.2.2.2. RTSP Authentication Configuration

Note
An additional keyword, "TERM_MAC" can be added as part of the HTTP and RTSP request strings,
as shown in the HTTP Request URI screen below. It's values are substituted by the MAC addresses of
the host interfaces.

Figure 8-174. HTTP Request URI Example

8.2.9.2.2.2. RTSP Authentication Configuration


By clicking on the Authentication button in the Client Details step of the wizard, an Authentication
Details dialog is displayed with the following parameters:
Table 8-142. RTSP Client Authentication Details

Field Description Validation

Username User name to be used if the server requires String value between 1 and 64 characters
authentication. in length. Valid characters are a-z A-Z 0-9.

Password Password to be used if the server requires authentication. String value between 1 and 64 characters
The Password field is optional. in length. Valid characters are a-z A-Z 0-9.

Use Initial Authentication Indicates whether or not to use initial authentication. If Default is disabled. Can only be enabled if
username/password supplied then include authentication userame/password is supplied.
details in initial DESCRIBE request.

8.2.9.2.3. Session Details


The Session Details step in the Add RTSP Client wizard controls the behavior of the Media Stream. The
following dialog is displayed for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 401


Aeroflex Limited. All
rights reserved.
8.2.9.2.3. Session Details

Figure 8-175. RTSP Client - Session Details

The following information is required for the Session Details dialog.


Table 8-143. RTSP Client Application - Session Details

Field Description Validation

Media Transport Protocol used to encapsulate media to be streamed. Options are MPEG2-TS/RTP, MPEG2-TS
and RTP. Default is RTP.
MPEG2-TS is not available when Media
Stream method is TCP.

Generate RTCP Reports If enabled, the server will generate periodic RTCP reports Enabled/disabled. Default is enabled. This
to the RTSP clients for each RTP stream. field is not available if the Media Transport
method is MPEG2-TS.

Media Stream Type Media stream types which are to be streamed from a Valid values are All, Audio Only or Video
received media description. Only. Default is All.
If the Media Transport method is
MPEG2-TS or MPEG2-TS/RTP, this field
can only be All.

© Copyright 2018 TeraVM Java Client User Guide Page 402


Aeroflex Limited. All
rights reserved.
8.2.9.2.3.1. Advanced Details

Field Description Validation

Media Inactivity Time-out If no media packets are received on a stream for a period Integer in the range 1-60,000 milliseconds.
in excess of this time-out then the RTSP session is torn Default is 1,000 ms. Allowable metrics are
down. ms and sec with ms as the default.

Media Stream Duration Method of controlling the stream duration for this server. Options are Indefinite, Amount of Data
(default) or Period of Time. Default is
Period of Time. Mandatory

Amount of Data The amount of bytes streamed. Integer or number profile with value in
the range 1Kbytes and 4,294,967,296
Kbytes(~4 Gb) bytes. Allowable metrics are
Kibytes, Mibytes and Gibytes with Mbytes
as the default. If selected the default value
is 10Mbytes.
Only available if Media Stream Duration is
set to Amount of Data.

Period of Time The stream duration defined by a time period. Integer or numeric profile with value in the
range 0-86,400 seconds. Allowable metrics
are ms, secs, min and hour with secs as
the default. If selected default duration is
900 seconds.
Only available if Media Stream Duration is
set to "Period of Time.

Delay Between Sessions Delay in milliseconds between each RTSP session for the Can have an integer value or a profile with
client. max and min values of 3,600,000 (ms) and
0 respectively. Default is 0 that is, no delay
between sessions. Allowable metrics are
ms, sec and min with ms as the default.

Clicking on the Advanced Details button enables you to enter advanced configuration for session
management and interoperability options with other RTSP server.

8.2.9.2.3.1. Advanced Details


Clicking on the Advanced Details button displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 403


Aeroflex Limited. All
rights reserved.
8.2.9.2.3.1.1. Interoperability

Figure 8-176. RTSP Advanced Session Details

There are two tabs available in this dialog:


• Interoperability
• Keep Alive

8.2.9.2.3.1.1. Interoperability
The Interoperability tab in the Advanced Session Details dialog enables you to configure RTSP for
Seachange VoD server interoperability.
Table 8-144. Advanced Session Configuration - Interoperability

Field Description Validation

Skip DESCRIBE Request Allows RTSP client to skip the RTSP DESCRIBE request Enabled or Disabled. Default is disabled
in the RTSP session. RTSP uses the DESCRIBE request if Media Transport is RTP or MPEG2-
to get a description of the individual streams that make up TS/RTP. Default is enabled if Media
the requested media resource. Transport is MPEG2-TS. This field is not
available if the Media Stream Method is
TCP. Mandatory.

Transport Specifier Transport Specifier attribute for the Transport field in the Optional. Available values are :
RTSP SETUP request.
• RTP/AVP
• RTP/AVP/UDP
• MP2T/AVP/UDP

© Copyright 2018 TeraVM Java Client User Guide Page 404


Aeroflex Limited. All
rights reserved.
8.2.9.2.3.1.2. NAT Poke Hole

Field Description Validation


• RAW/RAW/UDP
• MP2T/H2221/UDP
You can also supply your own value for this
field with a String format between 1 and 64
characters. The allowable characters for
this field are A-Z a-z 0-9.
Default is empty (MLIPS will use its own
default). This field is not available if the
Media Stream Method is TCP.

Transport Attributes Enables you to set additional attributes for the Transport Available values are destination={localip}.
Specifier field in the RTSP SETUP request. Alternatively you can enter your own value
with a string value between 1 and 64
characters. The allowable characters for
this field are A-Za-z0-9,.-[]{}/;:=. Default is
no additional attributes.Optional.

RTSP Headers List of additional RTSP header attributes to be added to The following headers CANNOT be added
RTSP requests. to the list:
• CSeq
• Content-Length
• Transport
• Session
• Authorization
The allowable characters for this field are
a-z A-Z 0-9 .{}<>[]\'@#&*%_+=!-. Space is
allowed. CR or LF are NOT allowed. Each
header field can be between 1 and 512
characters. Default is empty. Optional.

Enable NAT Poke Hole This is the Seachange proprietary protocol. Refer to Enabled or Disabled. Default is Disabled.
section on NAT Poke Hole. Only available if Skip DESCRIBE Request
is enabled. This field is also not available if
the Media Stream Method is TCP.

8.2.9.2.3.1.2. NAT Poke Hole


Seachange supports a simple protocol for poking a hole in a NAT. It consists of sending a UDP packet in
the reverse direction of the proposed UDP media stream. This punches a hole in the NAT for the incoming
media stream. An acknowledgement packet is required from the VoD server to indicate whether the request
has been successful or not. If successful, then the RTSP client can issue a PLAY request to start the
stream. Once the media stream has started, the RTSP client must send regular UDP keep-alive requests
to keep the UDP NAT hole open. This is a proprietary protocol and is only applicable to Seachange RTSP
servers.

If NAT Poke Hole is enabled, you can click on the NAT Poke Hole button to configure this protocol. The
Advanced NAT Poke Hole Details dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 405


Aeroflex Limited. All
rights reserved.
8.2.9.2.3.1.3. Keep Alive

Figure 8-177. Advanced NAT Poke Hole Details

The following configuration can be entered for this dialog:


Table 8-145. Advanced NAT Poke Hole Details

Field Description Validation

NAT Poke Hole Timeout Timeout for NAT poke hole requests. Integer. Units are ms, sec. Default units
are ms. Minimum is 1ms, Maximum
is 60000ms. Default is 2000ms. Only
available if Seachange NAT poke hole
protocol is enabled.

NAT Poke Hole Attempts Number of attempts for NAT poke hole requests if Integer. Minimum is 1. Maximum is 50.
response is not received. Default is 3. Only available if Seachange
NAT poke hole protocol is enabled.

Enable Keep-Alives Indicates whether to send NAT poke hole keepalives. Enabled/Disaabled. Default is Enabled.
Only available if Seachange NAT poke
hole protocol is enabled.

Keep-Alive Interval Interval between NAT poke hole keepalive requests. Integer. Units are ms, sec, minutes. Default
units are sec. Minimum is 1ms. Maximum
is 360000ms. Default is 60s. Only available
if Seachange NAT poke hole protocol is
enabled.

Enable Encryption Allows portions of NAT poke hole protocol to be be Enabled/Disabled. Default is disabled. Only
encrypted to protect some RTSP client details. available if Seachange NAT poke hole
protocol is enabled.

8.2.9.2.3.1.3. Keep Alive


RTSP sessions are frequently characterised by extremely long intervals between RTSP client requests. The
RTSP server may request that the client sends regular RTSP requests to keep the session alive. The RTSP
server does this by supplying a value for the session timeout.

Clicking on the Keep Alive tab in the Advanced Session Details dialog displays the following dialog for
configuring Keep Alive:

© Copyright 2018 TeraVM Java Client User Guide Page 406


Aeroflex Limited. All
rights reserved.
8.2.9.2.3.1.3. Keep Alive

Figure 8-178. Advanced Session Details - Keep Alive

The following configuration can be entered for this dialog:


Table 8-146. Advanced Session Configuration -Keep Alives

Field Description Validation

Enable Keep-Alive Specifies whether an RTSP client should keep a session Enabled or Disabled. Default is Enabled.
alive. Mandatory.

Keep-Alive Request Method used to keep session alive. Options are PING or GET_PARAMETER.
Default is GET_PARAMETER. Only
available if RTSP Session Keep-Alive is
enabled.

Override Server Session Specifies if the RTSP client should override the Server Enabled or Disabled. Default is disabled.
Timeout supplied timeout value. This includes the server supplying Only available if RTSP Session Keep-Alive
no value. is enabled.

Session Timeout Locally configured value for RTSP session timeout. Integer value or profile. Minimum is 1ms.
Maximum value is 3600000ms (1 hour).
Available units are ms, sec, mins. Default
unit is sec. Only available if Override
Server Session Timeout is available.
Default is 120 seconds.

Keep-Alive Multiplier Multiplier to be applied to Server Timeout value. If Server Number between 0.10 and 10.00. Default
does not specify a timeout then no RTSP keep-alive is 0.7. Only available if Override Server
requests are sent. Session Timeout is NOT enabled.
Mandatory.

© Copyright 2018 TeraVM Java Client User Guide Page 407


Aeroflex Limited. All
rights reserved.
8.2.9.2.4. Additional Details

8.2.9.2.4. Additional Details


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.

The following information can be set in the Additional Configuration dialog:


Table 8-147. Add New RTSP Client - Additional Configuration

Field Description Validation

Configure Passive Enables passive analysis of video streams received by Default is Disabled. .Passive Analysis
Analysis this client. As described in Settings Common to Multiple is not available if this client represents
Applications, Additional Configuration, Passive Analysis. multiple clients in MLIPS. Passive Analysis
If enabled, allows configuration of the following two is not available if the Media Stream Type
parameters. is "Audio".

Playout Jitter Buffer Delay Jitter buffer delay before packets are considered played. Integer value in the range 0-65535ms.
If Passive Analysis is enabled, it accepts the an input from Available units are ms, sec. Default is
a Jitter buffer. TeraVM uses a Jitter Buffer Emulator which 300ms.
emulates jitter buffers such as Set Top Boxes used to
compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer value in the range 0 - 65535.
Size. Available units are ms and sec. Default is
60,000ms. The maximum jitter buffer must
be >= than the playout jitter buffer size.

8.2.9.2.4.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration tab, statistics settings can be
configured.

Enabling RTSP Latency Statistics


Use this procedure if you want to enable the RTSP Latency Statistics on a provisioned RTSP Server and
Client application.

Prerequisite

• The RTSP client and server must be on the same Test Agent.

1. On the RTSP Server Application from the Server Details dialog, enable Update RTP Packets with
Latency Timestamp check box.

2. If Passive Analysis is configured on the RTSP Client application, then in the Server Details dialog
ensure Update RTP Packets with Latency Timestamp check box is disabled and enable Generate
RTCP Reports check box. Otherwise go to next step.

3. On the RTSP Client Application from the RTSP Statistics select Enable Latency Statistics check box.

4. RTSP Latency is now configured.

RTSP Statistics Dialog


The RTSP Statistics dialog is shown as follows.

© Copyright 2018 TeraVM Java Client User Guide Page 408


Aeroflex Limited. All
rights reserved.
8.2.9.2.4.1. Statistics Configuration

Figure 8-179. RTSP Statistics Dialog

The following statistics can be enabled or disabled in this dialog:


Table 8-148. RTSP Statistics - Additional Configuration

Field Description Validation

Enable Normal/Fine TeraVM will gather normal and/or fine statistics. "Fine" Enabled by ticking the checkbox or
Statistics statistics are collected at very short intervals, (every disabled by leaving the checkbox empty.
second by default, though the interval is configurable) Default is ticked to enable Normal statistics
and can be enabled/disabled while a test is running. and unticked to disable Fine statistics.
Fine statistics can only be enabled on up to 60 entities
at any given time. "Normal" statistics can be enabled
for all RTSP applications at specified intervals. Normal
statistics will be collected at longer intervals, (30s, 1m,
5m - 30s by default). Note that Normal statistics are "all-
or-nothing" - either all RTSP Applications are collecting
Normal statistics at the specified interval, or none are.

Enable Latency Stats Whether or not normal stats are available for this RTSP Enabled or Disabled. Default disabled.
application. Latency statistics may be enabled if all the
following are true:
TeraVM measures the Latency by of RTP packets
• Can only be set to true if media
sent from RTSP Server to Client by updating the RTP
transport field is RTP or MPEG2-TS/
timestamp field with the transmission time of the packet.
RTP.
On reception this can be compared with reception time
and the latency of the packet can be calculated. Configure Passive Analysis and Latency
Stats can be collected simultaneously
once the RTSP Server has Generate
RTCP Reports option enabled.

Note
When collecting Latency
Statistics, the RTSP client
and server must be on the
same Test Agent so that they
share the same time source.

© Copyright 2018 TeraVM Java Client User Guide Page 409


Aeroflex Limited. All
rights reserved.
8.2.9.2.5. Passive Analysis

8.2.9.2.5. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

Note
In addition to a special software licence, for RTSP, passive analysis can only be configured if:

• The RTSP Client uses an external RTSP Server or use own RTSP Server that has been
configured with Stream Profile containing RTP Codec AVP of type "Pcap Replay".

• The client is not configured as "Multiple Clients per Row" in the Application Details step of the
wizard.

RTSP Client Passive Analysis Details

The following fields requires values for this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 410


Aeroflex Limited. All
rights reserved.
8.2.9.2.5. Passive Analysis

Table 8-149. RTSP Passive Analysis Dialog Fields

Field Description Validation

Video Codec Allows the RTSP client to measure passive quality metrics Allowed values if media transport is RTP:
for the incoming stream.
• JPEG
• MPEG
• H.261
• H.263
• H.263+
• H.264
• MPEG-4
• VC-1
• Static
Allowed values if media transport is
MPEG2-TS or MPEG2-TS/RTP:
• JPEG
• MPEG
• H.261
• H.263
• H.263+
• H.264
• MPEG-4
• VC-1
Default is MPEG.

Analyse Audio Stream Determines if the audio portion of an incoming stream will Enabled/Disabled. Default is Disabled.
be analysed.

Audio Codec Used for passive analysis of the audio stream. Allowed values are:
• MPEG-1 Layer 1
• MPEG-1 Layer 2
• MPEG-1 Layer 3
• MPEG-2 AAC
• AC-3
• MPEG-4 AAC
• MPEG-4 Low Delay AAC
• MPEG-4 High Efficiency AAC
Default is MPEG-1 Layer 1. Only
applicable if Configure Passive Analysis
is enabled and Analyse Audio Stream is
enabled.

Auto determine ES PID(s) TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is Enabled. Only
incoming stream to analyse. available if Configure Passive Analysis

© Copyright 2018 TeraVM Java Client User Guide Page 411


Aeroflex Limited. All
rights reserved.
8.2.9.3. Provisioning an External RTSP Server
Application

Field Description Validation


is enabled and the Media Transport is
MPEG2-TS or MPEG2-TS/RTP.

Video ES PID PID of the Video Elementary Stream to be analysed. Integer value. Min is 16 and Max is 8192.
This allows the functionality for detecting the PID to be It is only available if the Auto determine
overridden. Elementary PID is Disabled and Media
Transport is MPEG2-TS or MPEG2-TS/
RTP. Default is unspecified. Cannot be the
same as the Audio ES PID.

Audio ES PID PID of the Audio Elementary Stream to be analysed. Integer value. Min is 16 and Max is 8192.
This allows the functionality for detecting the PID to be It is only available if the Auto determine
overridden. Elementary PID is Disabled and Media
Transport is MPEG2-TS or MPEG2-
TS/RTP and Analyse Audio Stream is
Enabled. Default is unspecified. Cannot be
the same as the Video ES PID.

Enable Passive Analysis Configures the collection of Passive Analysis statistics. Enabled by ticking the checkbox or
Statistics disabled by leaving the checkbox empty. N/
A if Passive Analysis is not configured.

8.2.9.3. Provisioning an External RTSP Server Application


If a test requires a real TeraVM Web Server, then an External RTSP Server application must be used.

The following wizard is used to provision the External RTSP Server Application:

© Copyright 2018 TeraVM Java Client User Guide Page 412


Aeroflex Limited. All
rights reserved.
8.2.9.3.1. Application Details

Figure 8-180. External RTSP Server - Application Server

8.2.9.3.1. Application Details


The following information is required for an External RTSP Server Application Details.
Table 8-150. External RTSP Server Application Fields

Field Description Validation

Name Unique name identifying the External RTSP server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the external String value between 1 and 512 characters
server application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

TCP Port The TCP Port on which the external server application will Integer value between 0 and 65535.
on which the server will listen for TCP connections Default is 554.

© Copyright 2018 TeraVM Java Client User Guide Page 413


Aeroflex Limited. All
rights reserved.
8.2.9.3.2. External Server Properties

8.2.9.3.2. External Server Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-181. RTSP External Server Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 414


Aeroflex Limited. All
rights reserved.
8.2.9.4. Provisioning an External RTSP Proxy Server
Application

Figure 8-182. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

8.2.9.4. Provisioning an External RTSP Proxy Server Application


An RTSP proxy server will accept RTSP sessions from clients and forward them to their ultimate destination
as specified in the requested URL. This allows RTSP access to be controlled, or for content to be cached
by, the proxy server.

The following wizard is used to configure an External RTSP Proxy Server Application.

© Copyright 2018 TeraVM Java Client User Guide Page 415


Aeroflex Limited. All
rights reserved.
8.2.9.4. Provisioning an External RTSP Proxy Server
Application

Figure 8-183. Add New External RTSP Proxy Server Application.

The following information is required for this step of the wizard:


Table 8-151. External RTSP Proxy Server Application Fields

Field Description Validation

Name Unique name identifying the External RTSP Proxy server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the external String value between 1 and 512 characters
proxy server application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

TCP Port The port for accepting RTSP sessions. Integer value between 0 and 65535.
Default is 8554.

Note
The request string does not represent the full request sent to the Proxy Server.

© Copyright 2018 TeraVM Java Client User Guide Page 416


Aeroflex Limited. All
rights reserved.
8.2.9.4.1. External Proxy Server Properties

8.2.9.4.1. External Proxy Server Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-184. Add New External RTSP Proxy Server - Properties

To enter a property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Figure 8-185. Add Property Value Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 417


Aeroflex Limited. All
rights reserved.
8.2.10. RTP

8.2.10. RTP
The Real-time Transport Protocol (RTP) provides end-to-end network transport functions suitable for
applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast
network services.

RTP was originally designed as a multicast protocol, but has since been applied in many unicast
applications. RTP is closely associated with the RTP control protocol (RTCP). The data transport is
augmented by RTCP to allow monitoring of the data delivery in a manner scalable to large multicast
networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to
be independent of the underlying transport and network layers. The protocol supports the use of RTP-level
translators and mixers.

There are four types of RTP applications which can be provisioned in TeraVM. These are:

• Unicast RTP Client Application

• External Unicast RTP Client Application

• Multicast RTP Client Application

• External Multicast RTP Server Application

Using these applications, the following test scenarios can be configured:

• Unicast RTP Client sending/receiving data to/from an External Unicast RTP Client .

• Unicast RTP Client sending/receiving data to/from an TeraVM Unicast RTP Client.

• Multicast RTP Client receiving data from an External Multicast RTP Server.

A TeraVM RTP client is capable of the following:

• Receiving/generating voice data if the incoming data is voice. The RTP Codec AVP is used to identify
the necessary configuration information - including the data. In this case the RTP client simulates a
VoIP User agent application without the SIP signalling protocol.

• Receiving audio and/or video data if the incoming data is Audio, Video or Audio/Video. In this case, the
RTP client simulates a RTSP client application without the RTSP signalling protocol.

• Receiving Audio, Video or Audio/Video data from a multicast group. The Multicast RTP client
application will not join the multicast group. It will simply receive data delivered as a multicast but not
generate data. In this case, the RTP client simulates an IGMP/MLD client application without group
membership functionality.

8.2.10.1. Provisioning an External Unicast RTP Client Application


An External Unicast RTP Client is used to listen for traffic from a Unicast RTP Client and send back
appropriate responses in order to generate RTP traffic on the network.

© Copyright 2018 TeraVM Java Client User Guide Page 418


Aeroflex Limited. All
rights reserved.
8.2.10.1.1. Application Details

Note
The UDP port attached to the External Unicast RTP Client is not configured in the wizard for this
application. It is set in the TeraVM RTP Client application, if that application is configured to use an
External Unicast RTP Client application.

If you select to add a RTP Server, the Add New External Unicast RTP Client Wizard dialog is displayed.

Figure 8-186. Add New Unicast RTP External client wizard

The steps following are required to provision an External Unicast RTP Client application are:

• Application Details

• Properties

8.2.10.1.1. Application Details


The following information is required for a External Unicast RTP Client Application Details.

© Copyright 2018 TeraVM Java Client User Guide Page 419


Aeroflex Limited. All
rights reserved.
8.2.10.1.2. Properties

Table 8-152. External Unicast RTP Client Application Fields

Field Description Validation

Name Unique name identifying the application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host Select a Host from the list of the previously configured IP Mandatory. An External Host must be
hosts which the server will use to access the SUT. selected. No default.

8.2.10.1.2. Properties
The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-187. External Unicast RTP Client - Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 420


Aeroflex Limited. All
rights reserved.
8.2.10.2. Provisioning a Unicast RTP Client
Application

Figure 8-188. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

8.2.10.2. Provisioning a Unicast RTP Client Application


The following wizard is displayed for provisioning a Unicast RTP Client Application:

© Copyright 2018 TeraVM Java Client User Guide Page 421


Aeroflex Limited. All
rights reserved.
8.2.10.2.1. Application Details

Figure 8-189. Unicast RTP Client Application- Application Details

The steps required to provision a Unicast RTP Client Application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row " or
"Multiple Clients per Row",. Refer to the section on Bulk and Batch Provisioning for details of this steps)

• Client Details

• Additional Configuration

• Passive Analysis (Only available if passive Analysis is configured in the Additional Configuration step)

8.2.10.2.1. Application Details


The following general information is required for a Unicast RTP Client application:

© Copyright 2018 TeraVM Java Client User Guide Page 422


Aeroflex Limited. All
rights reserved.
8.2.10.2.2. Addressing Details

Table 8-153. Unicast RTP Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Mandatory. Default is 1. 1 - 40, 000 clients
Display Window for Applications allowing statistics to be can be configured in one operation.
generated for each row. Note: Bulk provisioning a Unicast Refer to the section on Bulk and Batch
RTP Client is only feasible if the remote application is an Provisioning for more details on using this
External Unicast RTP Client field.

Configure as Configures how the Applications are provisioned, and Mandatory. The options for this field are:
displayed in the Application Display Window.
• Single Client Per Row
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
Refer to the section on Bulk and Batch
Provisioning for more details on using this
field.

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct Virtual Host, Indirect
Hosts for this Test Group. Virtual Host or Subnet Host (Direct or
Indirect) No default.

RTP Port Port to listen for incoming traffic and send traffic from. Mandatory. Integer value between 0 and
65535. Must be even. Default is empty.

Increment RTP Port Option for you to increment RTP Port by specific value. Integer value between 0 and 1000. Default
The bulk provisioning icon is displayed if the No. of Rows is 0., which means do not increment RTP
field is greater than 1. Clicking on this icon displays the Port.
following dialog:

Figure 8-190. Increment RTP Ports

RTP ToS/DiffServ Quality of Service metric for the RTP/RTCP packets. Mandatory. Integer value between 0 and
Media messages include RTP or RTCP messages. 255. Default is 0.

8.2.10.2.2. Addressing Details


The Addressing Details step of the wizard is enabled if Multiple Client Per Row is selected in the
Application details step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 423


Aeroflex Limited. All
rights reserved.
8.2.10.2.2. Addressing Details

Figure 8-191. Unicast RTP Client - Addressing Details

The following fields are used to generate a unique IP address for each client row, for each TCP/UDP
connection.
Table 8-154. Unicast RTP Client - Addressing Details

Field Description Validation

No. of Clients Per Row The number of client application to generate for each row Default is 2. Integer. Min is 2, max is
configured in the No. of Rows field in the Application dependent on the subnet range of the
Details step. For example, if the No. of Rows value is selected host.
100, and the No. of Clients Per Row is 2, the number of
clients generated is 200.

Start IP Address Within The start IP address to use within the subnet to vary the Defaults to the first IP Address within the
Subnet IP addressing for each client. Host's subnet range. Must be a valid IP
Address within the Host's subnet. This
address must allow the creation of the
specified number of Clients per Row, within
the Host's subnet.

Offset Between IP The offset between IP Address ranges created within the Default is 1. Min is 1, max depends on the
Address Ranges Host's subnet. Only available if the No. of Rows value subnet range of the selected host.

© Copyright 2018 TeraVM Java Client User Guide Page 424


Aeroflex Limited. All
rights reserved.
8.2.10.2.3. Client Details

Field Description Validation


is greater than 1 and the Configure As field is set to
Multiple Clients Per Row.

8.2.10.2.3. Client Details


The following Client Details dialog is displayed for provisioning the Unicast RTP Client application.

Figure 8-192. Unicast RTP Client Details

The following information is required for this dialog:


Table 8-155. RTP Unicast - Client Details

Field Description Validation

Media Type The type of received media to configure. Select from Audio, Video, Video and
Audio or Voice. Default is Voice.
Mandatory.

Remote Application The application to receive data from and stream data to. TeraVM Unicast RTP Client or External
Unicast RTP Client. Optional. If configured

© Copyright 2018 TeraVM Java Client User Guide Page 425


Aeroflex Limited. All
rights reserved.
8.2.10.2.3. Client Details

Field Description Validation


in batch mode, - Multiple Clients per Row -
then the remote application can only be an
External Unicast RTP client.

Remote Port External Unicast RTP Client port. Integer value between 0 and 65535.
Mandatory. Default is left blank. Only
available when Remote Application is
External Unicast RTP Client.

Increment Remote Port Option for you to increment Remote Port by specific value. Integer value between 0 and 1000 and an
(Only available if No. of Rows to create is greater than 1.) even number. Default is 0. 0 means do not
increment Remote Port.

Media Transport Type of protocol to configure Select from MPEG2-TS, MPEG2-TS/RTP


or RTP. RTP is default. RTP option is
not available to user when Media Type
is Video and Audio. Only RTP option is
available if Media Type is Voice.

RTP Codec AVP Required RTP Codec AVP Select from list of existing RTP Codec
AVPs or create a new one. Only available
in the following circumstances:
• If Media Type is Voice.
• If Media type is Audio, Video/Audio
or Video and Data Mode is Transmit
Data only or Transmit and Receive
Data only. Media Transport must also
be either MPEG2-TS or RTP/MPEG2-
TS.

Data Mode Determines whether the client will transmit or receive data Select from Receive Data Only (Default),
or both. (Only available if Media Type is Voice.) Transmit Data Only or Receive and
Transmit Data. If set to "Transmit Data
Only" or "Receive and Transmit Data" the
Remote Application cannot use a DHCP or
PPPoE enabled Host.
For Media Types other than Voice, the
following rules apply:
• If the Media Transport is RTP or
MPEG2-TS/RTP then you can select
all the available options.
• If the Media Transport is MPEG2-TS
then you can only select the Receive
Data only option.
If the Media Type is Voice, all values are
available. For voice, the Media Transport
field is fixed at RTP.

Audio Frequency RTP Clock frequency for audio stream. (Only available if Integer value between 1Hz and 300,000
Media Transport is RTP and Media Type is Audio.) Hz. No metrics. Default is 90000 Hz.

Generate RTCP Reports If enabled the client will generate periodic RTCP reports to Enabled or disabled. The default is
sender. RTCP ports are sent from the RTP Port + 1. Only disabled.
available if Media Transport is MPEG2-TS/RTP or RTP.

© Copyright 2018 TeraVM Java Client User Guide Page 426


Aeroflex Limited. All
rights reserved.
8.2.10.2.3.1. Advanced Configurations

8.2.10.2.3.1. Advanced Configurations


By clicking on the Advanced Configuration button in the Client Details step of the wizard, the following
dialog is displayed.

Figure 8-193. Client Details - Advanced Configuration

Table 8-156. Advanced Configuration Details

Field Description Validation

Enable Received Data Controls Received Data Timeout. Only available if the Default is enabled. If this is disabled, the
Timeout Data Mode is "Receive Data Only" or "Receive and application is always in the UP state.
Transmit Data"

Received Data Timeout Timeout after which the RTP client goes red when no Integer value between 10 and 60,000 ms.
multimedia packets are received. Only available if Enable Metrics are ms, sec. Default is 250 ms.
Received Data Timeout is enabled.

8.2.10.2.4. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

Note
In addition to a special software license, passive analysis for RTP can only be configured if:

• The Data Mode is NOT Transmit Only in the Client Details step of the wizard.

• The client is configured as "Single Client per Row" in the Application Details step of the wizard.

The following information can be set in the Additional Configuration dialog:

8.2.10.2.5. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 427


Aeroflex Limited. All
rights reserved.
8.2.10.3. Provisioning an External Multicast RTP
Server Application

The following fields requires values for this dialog:


Table 8-157. RTP Unicast Passive Analysis Dialog Fields

Field Description Validation

Playout Jitter Buffer Delay Jitter buffer delay before RTP packets are considered Integer value in the range 0-65535ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms, sec. If Media Type
input from a Jitter buffer. TeraVM uses a Jitter Buffer is Voice, (Client Details step) default is
Emulator which emulates jitter buffers such as Set Top 40ms. Otherwise default is 300ms.
Boxes used to compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer value in the range 0 - 65535.
Size. Available units are ms and sec. If Media
Type is Voice (Client Details step),
default is 80ms. Otherwise default is
900ms.

Enable Passive Analysis Configures the collection of Passive Analysis statistics. Enabled by ticking the checkbox or
Statistics disabled by leaving the checkbox empty. N/
A if Passive Analysis is not configured.

8.2.10.3. Provisioning an External Multicast RTP Server Application


An External Multicast RTP Server is used to listen for traffic from a Multicast RTP Client and send back
appropriate responses in order to generate RTP traffic on the network.

If you select to add a Multicast RTP Server, the Add New External Multicast RTP Server Wizard dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 428


Aeroflex Limited. All
rights reserved.
8.2.10.3.1. Application Details

Figure 8-194. Add New External Multicast RTP Server Wizard

The steps following are required to provision an External Multicast RTP Server application are:

• Application Details

• Properties

8.2.10.3.1. Application Details


The following information is required for an External Multicast RTP Server Application Details.
Table 8-158. External Multicast RTP Server Application Fields

Field Description Validation

Name Unique name identifying the application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. An External Host must be
hosts which the server will use to access the SUT. selected. No default.

© Copyright 2018 TeraVM Java Client User Guide Page 429


Aeroflex Limited. All
rights reserved.
8.2.10.3.2. Properties

Field Description Validation

Multicast Group The multicast groups that the application will send packets Must be a valid multicast address using the
to. same IP version as the host that this client
uses. Default is empty.

8.2.10.3.2. Properties
The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-195. External Multicast RTP Server - Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 430


Aeroflex Limited. All
rights reserved.
8.2.10.4. Provisioning a Multicast RTP Client
Application

Figure 8-196. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

8.2.10.4. Provisioning a Multicast RTP Client Application


The following wizard is displayed for provisioning a Multicast RTP Client Application:

© Copyright 2018 TeraVM Java Client User Guide Page 431


Aeroflex Limited. All
rights reserved.
8.2.10.4.1. Application Details

Figure 8-197. Unicast RTP Client Application- Application Details

The steps required to provision a Multicast RTP Client Application are:

• Application Details

• Client Details

• Additional Configuration

• Passive Analysis (Only available if passive Analysis is configured in the Additional Configuration step)

8.2.10.4.1. Application Details


The following general information is required for a Unicast RTP Client application:
Table 8-159. Multicast RTP Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Mandatory. Default is 1. 1 - 40, 000 clients
Display Window for Applications allowing statistics to be can be configured in one operation.
generated for each row. Refer to the section on Bulk and Batch

© Copyright 2018 TeraVM Java Client User Guide Page 432


Aeroflex Limited. All
rights reserved.
8.2.10.4.2. Client Details

Field Description Validation


Provisioning for more details on using this
field.

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct Virtual Host, Indirect
Hosts for this Test Group. Virtual Host. No default.

8.2.10.4.2. Client Details


The following Client Details dialog is displayed for provisioning the Multicast RTP Client application.

Figure 8-198. Multicast RTP Client Details

The following information is required for this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 433


Aeroflex Limited. All
rights reserved.
8.2.10.4.2. Client Details

Table 8-160. Multicast RTP Client Details

Field Description Validation

Media Type The type of received media to configure. Select from Audio, Video, Video and Audio
or Voice. Default is Voice. Mandatory.

Remote Application The application to receive data from and stream data to. TeraVM Unicast RTP Client or External
Unicast RTP Client. Optional. If configured
in batch mode, - Multiple Clients per Row
- then the remote application can only
be an External Unicast RTP client. (In
runtime validation a Remote Application is
required)

Multicast Group The multicast group that the data is received from. Mandatory. No Default. Enter a multicast
IP address or browse for External Multicast
RTP Client and it's multicast group will be
assigned.

Increment Multicast Option for you to increment Multicast Group by specific Integer value between 0 and 1000 and an
Group value. (Only available if No. of Rows to create is greater even number. Default is 0. 0 means do not
than 1.) increment Multicast Group

Source Port Source port of multicast media stream. Integer value between 0 and 65534. Must
be an even number. Mandatory. Default
is left blank. Only available if Accept data
from any Source Port is not enabled.

Use Any The client will accept data with any Source Port value. Enabled or disabled. Default is disabled.

Increment Source Port Option for you to increment Source Port by specific value. Integer value between 0 and 1000 and
is an even number. By default is 0. Only
available if No. of Rows to create is more
than 1 and Accept data from any Source
Port is disabled. 0 means do not increment
Source Port.

Destination Port Destination port of multicast media stream. Integer value between 0 and 65535.
Mandatory. Default is blank. Only available
if Accept data from any Destination Port
is not enabled.

Use Any The client will accept data with any Destination Port value. Enabled or disabled. Default is disabled.

Increment Destination Option for you to increment Destination Port by specific Integer value between 0 and 1000 and
Port value. is an even number. By default is 0. Only
available if No. of Rows to create is
more than 1 and Accept data from any
Destination Port is disabled. 0 means do
not increment Source Port.

Media Transport Type of protocol to configure Select from MPEG2-TS, MPEG2-TS/RTP


or RTP. RTP is default. RTP option is not
available to user when Media Type is
Video and Audio.

Audio Frequency RTP Clock frequency for audio stream. (Only available if Integer value between 1Hz and 300,000
Media Transport is RTP and Media Type is Audio.) Hz. No metrics. Default is 90000 Hz.

© Copyright 2018 TeraVM Java Client User Guide Page 434


Aeroflex Limited. All
rights reserved.
8.2.10.4.2.1. Advanced Configurations

8.2.10.4.2.1. Advanced Configurations


By clicking on the Advanced Configuration button in the Client Details step of the wizard, the following
dialog is displayed.

Figure 8-199. Client Details - Advanced Configuration

Table 8-161. Advanced Configuration Details

Field Description Validation

Enable Received Data Controls Received Data Timeout. Default is enabled. If this is disabled, the
Timeout application is always in the UP state.

Received Data Timeout Timeout after which the RTP client goes red when no Integer value between 10 and 60,000 ms.
multimedia packets are received. Metrics are ms, sec. Default is 250 ms.

8.2.10.4.3. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

Note
In addition to a special software licence, passive analysis for Multicast RTP can only be configured if
the client is configured as "Single Client per Row" in the Application Details step of the wizard.

8.2.10.4.4. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 435


Aeroflex Limited. All
rights reserved.
8.2.10.4.4. Passive Analysis

Figure 8-200. RTP Unicast Client - Passive Analysis Details

The following fields requires values for this dialog:


Table 8-162. RTP Multicast Passive Analysis Dialog Fields

Field Description Validation

Playout Jitter Buffer Delay Jitter buffer delay before RTP packets are considered Integer value in the range 0-65535ms.
played. If Passive Analysis is enabled, it accepts the an Available units are ms, sec. Default is
input from a Jitter buffer. TeraVM uses a Jitter Buffer 300ms.
Emulator which emulates jitter buffers such as Set Top
Boxes used to compensate for network jitter.

Maximum Jitter Buffer Maximum size of the jitter buffer. Integer value in the range 0 - 65535.
Size. Available units are ms and sec. The value
must be >= then the value of Playout Jitter
Buffer. Default is 900ms.

Enable Video Codec Enables Video Codec. (Only available if Media Type Enabled or Disabled. Default is Enabled.
is Video or Video and Audio and Media Transport is At least one of Enable Video Codec or
MPEG2-TS or MPEG2-TS/RTP. (Client Details step)) Enable Audio Code settings must be
selected.

© Copyright 2018 TeraVM Java Client User Guide Page 436


Aeroflex Limited. All
rights reserved.
8.2.10.4.4. Passive Analysis

Field Description Validation

Video Codec Used for passive analysis of the video stream. (Only For all values of Media Transport, the
available if Media Type is Video or Video and Audio and following values are available:
Enable Video Codec is enabled.
• Static (if Media Transport is RTP)
• JPEG
• MPEG
• H.261
• H.263
• H.263+
• H.264
• MPEG-4
• VC-1
Default is blank and an option must be
selected from the available list.

Enable Audio Codec Enables Audio Codec. (Only available if Media Type Enabled or Disabled. Default is Enabled.
is Audio or Video and Audio and Media Transport is At least one of Enable Video Codec or
MPEG2-TS or MPEG2-TS/RTP. (Client Details step)) Enable Audio Code settings must be
selected.

Audio Codec Used for passive analysis of the audio stream. (Only Allowed values are:
available if Media Type is Audio or Video and Audio and
• MPEG-1 Layer 1
Enable Audio Codecis enabled.
• MPEG-1 Layer 2
• MPEG-1 Layer 3
• MPEG-2 AAC
• AC-3
• MPEG-4 AAC
• MPEG-4 Low Delay AAC
• MPEG-4 High Efficiency AAC
Default is blank and an option must be
selected from the available list.

Auto determine ES PID(s) TeraVM will determine the appropriate PID(s) from the Enabled/Disabled. Default is Enabled.
incoming stream to analyse. (Only available if Media
Transport is MPEG2-TS or MPEG2-TS/RTP. (Client
Details step))

Video ES PID PID of the Video Elementary Stream to be analysed. Integer value. Min is 16 and Max is 8192.
This allows the functionality for detecting the PID to No Default.
be overridden. (Only available if Auto Determine ES
PID(s) is disabled and Media Transport is MPEG2-TS or
MPEG2-TS/RTP and Enable Video Codec is enabled.

Audio ES PID PID of the Audio Elementary Stream to be analysed. Integer value. Min is 16 and Max is 8192.
This allows the functionality for detecting the PID to be No Default.
overridden.(Only available if Auto Determine ES PID(s) is
disabled and Media Transport is MPEG2-TS or MPEG2-
TS/RTPand Enable Audio Codec is enabled.)

© Copyright 2018 TeraVM Java Client User Guide Page 437


Aeroflex Limited. All
rights reserved.
8.2.11. FTP

Field Description Validation

Enable Passive Analysis Configures the collection of Passive Analysis statistics. Enabled by ticking the checkbox or
Statistics disabled by leaving the checkbox empty. N/
A if Passive Analysis is not configured.

8.2.11. FTP
File Transfer Protocol is used to transfer files and share files between hosts. When operating over TCP/IP
networks (the only mechanism supported by TeraVM), an FTP server usually accepts connections from FTP
clients on TCP port 21.
There are three types of FTP applications which can be provisioned in TeraVM. These are:
• FTP Client
• FTP Server
• External FTP Server

Note
It is recommended that FTP Server applications are set up first of all, as you will be required to select
these during the FTP Client application provisioning process.

8.2.11.1. Provisioning an FTP Server Application


The FTP Server will create a TCP listener on a specified TCP port on a host . When a TCP connection is
received, the server will allocate resources to establish an FTP session. The initial connection is a control
socket. When an FTP session is established the FTP server will respond to commands sent by the FTP
client. This may include file transfers to/from the server which require the establishment of additional TCP
connections to transfer the data.
The FTP Server application supports the following modes for creating the TCP connections to transfer data:
• Active
With an active transfer the FTP client indicates to the server the port number to which the server
can open a TCP connection. The server opens the TCP connection to that client port and the file is
transferred over that connection. When the transfer is complete the TCP connection is closed.
• Passive
With a passive transfer the FTP client requests a port number from the server. The client then opens a
TCP connection to the server at that port number. The file is then transferred over that TCP connection
Either of these modes can be used with the FTP server. The passive form is the most commonly used as it
is easier for passive data transfers to pass through firewalls and NATs.
The FTP server supports the following FTP operations:
• User login through user/password details. They are not authenticated.
• Storage of files to server

© Copyright 2018 TeraVM Java Client User Guide Page 438


Aeroflex Limited. All
rights reserved.
8.2.11.1.1. Application Details

• Retrieval of files from server

• cd, ls commands will receive a positive acknowledgement. However the FTP server does not respond
with a full directory listing or maintain a directory structure.

If you select to add an FTP Server, the Add New FTP Server Wizard dialog is displayed.

Figure 8-201. Add New FTP Server Wizard

The steps following are required to provision an FTP Server application are:

• Application Details

• Server Details

• Additional Configuration

8.2.11.1.1. Application Details


The following information is required for an FTP Server Application Details.

© Copyright 2018 TeraVM Java Client User Guide Page 439


Aeroflex Limited. All
rights reserved.
8.2.11.1.2. Server Details

Table 8-163. FTP Server Application Fields

Field Description Validation

Number of Servers A server is created as either an application in a single row Default is 1. When more than 1 is enters
in the Application Display Window or based on scaled the Configure As field changes to Scaled
entity where the Number of Servers is the scale factor for Entity automatically. Refer to the section
the scaled server. on Bulk and Batch Provisioning for more
details on using this field.

Configure As Configures how the server(s) are provisioned. Either as Mandatory. Options: ‘Single App Per Row’
a single application per row in the Application Display and ‘Scaled Entity’. Default: ‘Single App
Window, or as a scaled entity. Refer to the sections Per Row’
on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field.

Name Unique name identifying the FTP server application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

TCP Port The TCP Port on which the server application will on Integer value between 0 and 65535.
which the server will listen for TCP connections. Default is 21. Advanced TCP
Characteristics and Connection Rate
Limits can be configured by clicking on the
Advanced TCP button in this step. Refer
to the chapter on TCP Configuration.

Data Port Indicates range of ports to be used for the creation of data Integer or numeric profile with value in
sockets by the server. the range 0-65535. Default is wildcard
that is, . Use Next Available. If a specific
value then this port must be included in
runtime validation for use of the port by
other TCP applications on this host. If
you only specifies a single nonzero port
the FTP server will only support a single
simultaneous FTP transfer.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.11.1.2. Server Details


After entering the information required for the FTP Server Application details, the next step of the wizard
displays the Server Details dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 440


Aeroflex Limited. All
rights reserved.
8.2.11.1.3. Additional Configuration

Figure 8-202. FTP Server Application Wizard - Server Details

The following information is required to provision the FTP Server Application - Server Details.
Table 8-164. FTP Server Application Server Details

Field Description Validation

Resource Lists List of mappings between filenames and resources Optional. Refer to the section on FTP
available on the FTP server. Configuration in Test Configuration chapter
for more details of FTP Resource Lists.

Inactivity Timeout Indicates in seconds how long before an inactive client is Integer or numeric profile with value in the
disconnected by the server. The 0 value indicates infinity range 0-3600. Default is 900. Supported
and inactive clients are never logged out by the server. metrics are sec or min with sec as the
default.

8.2.11.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.11.2. Provisioning an FTP Client Application


The following wizard is displayed for provisioning an FTP Client application:

© Copyright 2018 TeraVM Java Client User Guide Page 441


Aeroflex Limited. All
rights reserved.
8.2.11.2.1. Application Details

Figure 8-203. FTP Client - Application Details

The steps required to provision a FTP Client application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row",. Refer to the section on Bulk and Batch Provisioning for
details of this steps)

• Client Details

• Session Details

• Additional Configuration

8.2.11.2.1. Application Details


The following general information is required for a FTP Client application:

© Copyright 2018 TeraVM Java Client User Guide Page 442


Aeroflex Limited. All
rights reserved.
8.2.11.2.1. Application Details

Table 8-165. FTP Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Single Client Per Row - Varied
field.
Address
When using this option, the No. of
Clients field will represent the No. of
Rows.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct, Indirect or Subnet
Hosts for this Test Group. Virtual Host. Subnet is not allowed if the
FTP active mode is used.
When provisioning more than one
Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

TCP Port The TCP Port on which the client will bind to it's host. If Integer with a min and max value
the port is set to the wildcard port (that is, if the Use Next between 0 and 65535. Advanced TCP
Available checkbox is ticked (default)) the application will Characteristics can be configured by
bind to the first available, non-privileged port. clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

Data Ports Port(s) to be used for data connections - either in Active Integer or numeric profile with value in the
or Passive Modes. If value is the wildcard then FTP client range 0-65535. Default is wildcard that
selects the next non privileged port for each data TCP is, . Use Next Available. If a specific value
connection. then this port must be included in runtime
validation for use of the port by other TCP
applications on this host.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

© Copyright 2018 TeraVM Java Client User Guide Page 443


Aeroflex Limited. All
rights reserved.
8.2.11.2.2. Client Details

8.2.11.2.2. Client Details


The following Client Details dialog is displayed for provisioning the FTP Client application.

Figure 8-204. FTP Client - Client Details

The following information is required for this dialog:


Table 8-166. FTP Client - Client Details

Field Description Validation

Server FTP TeraVM or External FTP server with which the FTP client Required. When provisioning more than
will communicate. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

FTP Mode Mode to be used for transfers. Supported values are "Active" or "Passive".
Default is Passive. With an "Active" transfer
the FTP client indicates to the server the
port number to which the server can open
a TCP connection. The server opens the
TCP connection to that client port and the
file is transferred over that connection.
When the transfer is complete the TCP
connection is closed. With a "Passive"

© Copyright 2018 TeraVM Java Client User Guide Page 444


Aeroflex Limited. All
rights reserved.
8.2.11.2.3. Session Details

Field Description Validation


transfer the FTP client requests a port
number from the server. The client then
opens a TCP connection to the server
at that port number. The file is then
transferred over that TCP connection

Use Anonymous Login Use anonymous FTP to login to the server. Enabled or disabled. Default is enabled.

User Name User name to be used when opening an FTP session. Not String value between 1 and 64 characters
required if Use Anonymous Login is enabled. in length using the following valid
characters: a-z, A-Z, 0-9, ‘-‘,’_’,!#$%^&* .

Password Password to be used when opening FTP session. String value between 1 and 64 characters
in length using the following valid
characters: a-z, A-Z, 0-9, ‘-‘,’_’,!#$%^&* .

8.2.11.2.3. Session Details


The following dialog is displayed for the FTP Client Session Details:

© Copyright 2018 TeraVM Java Client User Guide Page 445


Aeroflex Limited. All
rights reserved.
8.2.11.2.3. Session Details

Figure 8-205. FTP Client - Session Details

The following information is required for the Session Details dialog.


Table 8-167. FTP Client Application - Session Details

Field Description Validation

Command List List of FTP commands to be executed on the server Mandatory. "put" commands can only
during each FTP session. reference free text (not a profile) if FTP
client is connecting to an external FTP
server. Select from a previously configured
command list or add a new one. Refer to
Chapter 11 for details of FTP configuration.

Delay Between Delay after each command completes before next Can have an integer value or a profile with
Commands command from command list is started or if command list max and min values of 3,600,000 (ms)
finished session terminated. and 0 respectively. Default is 0 - no delay
between sessions. Allowable metrics are
ms, sec and min with ms as the default.

Delay Between Sessions Delay between each FTP session for the client. Can have an integer value or a profile with
max and min values of 3,600,000 (ms) and
0 respectively. Default is 0 that is, no delay

© Copyright 2018 TeraVM Java Client User Guide Page 446


Aeroflex Limited. All
rights reserved.
8.2.11.2.4. Additional Details

Field Description Validation


between sessions. Allowable metrics are
ms, sec and min with ms as the default.

Session Count Limit Number of requests after which app is stopping request Numeric value. Mandatory. Default is 0
repeat (0 = indefinite repeats). Value is a range
between 0 and 999999.

8.2.11.2.4. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.11.3. Provisioning an External FTP Server Application


If a test requires a real TeraVM Web Server, then an External FTP Server application must be used.

The following wizard is used to provision the External FTP Server Application:

Figure 8-206. External FTP Server - Application Details

The following information is required for an External FTP Server Application Details.

© Copyright 2018 TeraVM Java Client User Guide Page 447


Aeroflex Limited. All
rights reserved.
8.2.11.3.1. External Server Properties

Table 8-168. External FTP Server Application Fields

Field Description Validation

Name Unique name identifying the External FTP server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the external String value between 1 and 512 characters
server application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

TCP Port The TCP Port on which the external server application will Integer value between 0 and 65535.
listen for TCP connections Default is 554.

8.2.11.3.1. External Server Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-207. FTP External Server Properties

© Copyright 2018 TeraVM Java Client User Guide Page 448


Aeroflex Limited. All
rights reserved.
8.2.12. TCP Playback

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Figure 8-208. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

8.2.12. TCP Playback


TCP Playback applications are used to replay TCP conversations from libpcap or snoop capture files across
the SUT. A TCP conversation consists of the entire set of messages exchanged between two applications
involved in a single TCP connection that is, after the opening SYN and before the closing FIN. These two
applications will respectively simulate the applications involved in the TCP conversation taken from the
specified capture file. Thus, they will alternately exchange their parts of the original TCP conversation until
the conversation is complete.

There are two types of TCP Playback applications which can be provisioned in TeraVM. These are:

• TCP Playback Client Applications

• TCP Playback Server Applications

Note
It is recommended that TCP Playback Server applications are set up first of all, as you will be required
to select these during the TCP Playback Client application provisioning process.

8.2.12.1. Provisioning a TCP Playback Server Application


If you select to add a TCP Playback Server, the Add New TCP Playback Server Wizard dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 449


Aeroflex Limited. All
rights reserved.
8.2.12.1.1. Application Details

Figure 8-209. Add New TCP Playback Server Wizard

The steps following are required to provision an TCP Playback Server application are:
• Application Details
• Server Details
• Additional Configuration

8.2.12.1.1. Application Details


The following information is required for an TCP Playback Server Application Details.
Table 8-169. TCP Playback Server Application Fields

Field Description Validation

Name Unique name identifying the FTP server application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

TCP Port The TCP Port on which the server application will on Integer value between 0 and 65535.
which the server will listen for TCP connections. Default is 21. Advanced TCP
Characteristics and Connection Rate
Limits can be configured by clicking on the

© Copyright 2018 TeraVM Java Client User Guide Page 450


Aeroflex Limited. All
rights reserved.
8.2.12.1.2. Server Details

Field Description Validation


Advanced TCP button in this step. Refer
to the chapter on TCP Configuration.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.12.1.2. Server Details


The following information is required to provision the TCP Playback Server Application - Server Details.

Figure 8-210. TCP Playback Server Application Wizard - Server Details

Table 8-170. TCP Playback Server Application Server Details

Field Description Validation

Resource Lists List of pcap files with TCP conversations Mandatory. Choose an existing resource
list or create one and then choose it. The
selected Resource List must also be used
by the TCP Playback Client. Refer to the
section on Playback Resources in Test
Configuration chapter.

Use Capture Timings If enabled, then the original timings contained within the Mandatory. Enabled or Disabled. Default is
pcap are respected. Otherwise the client application task disabled.
uses its own timings.

© Copyright 2018 TeraVM Java Client User Guide Page 451


Aeroflex Limited. All
rights reserved.
8.2.12.1.3. Additional Configuration

8.2.12.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.12.2. Provisioning a TCP Playback Client Application


The following wizard is displayed for provisioning a TCP Playback Client application:

Figure 8-211. TCP Playback Client - Application Details

The steps required to provision a TCP Playback Client application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row",. Refer to the section on Bulk and Batch Provisioning for
details of this steps)

• Client Details

• Additional Configuration

© Copyright 2018 TeraVM Java Client User Guide Page 452


Aeroflex Limited. All
rights reserved.
8.2.12.2.1. Application Details

8.2.12.2.1. Application Details


The following general information is required for a TCP Playback Client application:
Table 8-171. TCP Playback Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single Client Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Single Client Per Row - Varied
field.
Address
When using this option, the No. of
Clients field will represent the No. of
Rows.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single Client per
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct, Indirect or Subnet
Hosts for this Test Group. Virtual Host.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

TCP Port The TCP Port on which the client will bind to it's host. If Integer with a min and max value
the port is set to the wildcard port (that is, if the Use Next between 0 and 65535. Advanced TCP
Available checkbox is ticked (default)) the application will Characteristics can be configured by
bind to the first available, non-privileged port. clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.12.2.2. Client Details


The following Client Details dialog is displayed for provisioning the TCP Playback Client application.

© Copyright 2018 TeraVM Java Client User Guide Page 453


Aeroflex Limited. All
rights reserved.
8.2.12.2.2. Client Details

Figure 8-212. TCP Playback Client Server Details

The following information is required for this dialog:


Table 8-172. TCP Playback - Client Details

Field Description Validation

Server TeraVM TCP Playback server to which the client task Required. When provisioning more than
makes requests. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

Resource List List of pcap files with TCP conversations. Mandatory field with no defaults. Select
a Resource List from those available in
the Configuration folder. The selected
Resource List must also be used by the
TCP Playback Server. Refer to the chapter
on Test Configuration for more information
on Media Resource Lists.

Specify Number of For CSDB tests, you can specific the number of times that Default is disabled.
Replays you want to replay a threat using TCP Playback. Enabling
allows Number of Replays parameter to be used.

© Copyright 2018 TeraVM Java Client User Guide Page 454


Aeroflex Limited. All
rights reserved.
8.2.12.2.3. Additional Details

Field Description Validation

Number of Replays Number of times that you want to replay a threat using Value from 1 to 65535. Default is 1.
TCP Playback.

Delay Between Resources Delay between threats being replayed. Optional. Can have an integer value or a
profile with min and max values of 0 and
60,000 (ms). [Default 0]. Allowable metrics
are ms and sec with ms as the default.

Delay Between Delay between each TCP Connection. For CSDB tests Mandatory. Can have an integer value or
Connections this means delay between streams being replayed. a profile with min and max values of 0 and
60,000 (ms). [Default 0]. Allowable metrics
are ms and sec with ms as the default.

Use Capture Timings If enabled, then the original timings contained within the Mandatory. Enabled or Disabled. Default
pcap are respected. Otherwise the client application task value is disabled.
uses its own timings.

8.2.12.2.3. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.13. SMTP
Simple Mail Transfer Protocol (SMTP) is the de facto standard for email transmission across the Internet. A
SMTP Transmitter application takes e-mail messages and sends them across the SUT to a SMTP Receiver
application. After receiving the messages the SMTP Receiver application either stores them in a mailbox for
later retrieval or forwards them to the next "hop" in the path to the recipient mailbox.

Note: No messages (data) is "pulled" from either an SMTP Transmitter or Receiver application - the
transmitter connects to a given receiver and sends the messages.

When operating over TCP/IP networks (the only mechanism supported by TeraVM), a SMTP Receiver
usually accepts connections from SMTP Transmitters on TCP port 25.

TeraVM supports the following SMTP applications:

• SMTP Transmitter Application

• SMTP Receiver Application

• External SMTP Transmitter Application

• External SMTP Receiver Application

8.2.13.1. Pipelining
Incoming packets from an SMTP Transmitter will usually contain a single SMTP command to which
the Receiver will respond. However, it is possible that a Transmitter can include several commands in
a packet. This capability is referred to as Pipelining and its use within a connection must be agreed by
both Transmitter and Receiver during the connection establishment phase. The SMTP Receiver can be
configured to support SMTP Pipelining. If configured not to support Pipelining, any incoming requests to
support Pipelining will be rejected.

© Copyright 2018 TeraVM Java Client User Guide Page 455


Aeroflex Limited. All
rights reserved.
8.2.13.2. Provisioning an SMTP Receiver Application

8.2.13.2. Provisioning an SMTP Receiver Application


If you select to add an SMTP Receiver Application, the Add New SMTP Receiver Wizard dialog is
displayed.

Figure 8-213. Add New SMTP Receiver Application Wizard

8.2.13.2.1. Application Details


The following information is required for the Application Details step of the wizard:
Table 8-173. SMTP Receiver Application Fields

Field Description Validation

Number of Servers A server is created as either an application in a single row Default is 1. When more than 1 is entered
in the Application Display Window or based on scaled the Configure As field changes to Scaled
entity where the Number of Servers is the scale factor for Entity automatically. Refer to the section
the scaled server. on Bulk and Batch Provisioning for more
details on using this field.

Configure As Configures how the server(s) are provisioned. Either as Mandatory. Options: ‘Single App Per Row’
a single application per row in the Application Display and ‘Scaled Entity’. Default: ‘Single App
Window, or as a scaled entity. Refer to the sections Per Row’
on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field.

Name Unique name identifying the SMTP Receiver Application. Mandatory. String value between 1 and
255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 456


Aeroflex Limited. All
rights reserved.
8.2.13.2.2. Receiver Details

Field Description Validation

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

TCP Port The TCP Port on which the Receiver will listen for TCP Integer value between 0 and 65535.
connections. Default is 25. Advanced TCP
Characteristics and Connection Rate
Limits can be configured by clicking on the
Advanced TCP button in this step. Refer
to the chapter on TCP Configuration.

ToS/DiffServ Quality of Service metric for the receiver application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.13.2.2. Receiver Details


After entering the information required for the SMTP Receiver Application details, the next step of the wizard
displays the Receiver Details dialog.

Figure 8-214. SMTP Receiver Wizard - Receiver Details

The following information is required to provision the SMTP Receiver Application - Server Details.

© Copyright 2018 TeraVM Java Client User Guide Page 457


Aeroflex Limited. All
rights reserved.
8.2.13.2.3. Additional Configuration

Table 8-174. SMTP Receiver Server Details

Field Description Validation

Domain Name Identifier for the Mail Server to be used by other agents Mandatory. String value. Min is 1 and max
when interacting with it. is 128.

Accepts Pipelining If enabled, TeraVM will allow more than one SMTP Mandatory. Enabled or Disabled. Default is
command to be sent per network packet thus reducing the disabled.
delay introduced in the SMTP dialog by network latency or
congestion.

Enable Fast Messaging The Receiver will not scan the entire message for the Mandatory. Enabled or Disabled. Default is
Parsing terminating sequence. It will only scan the end of each Enabled.
"chunk" of data. This allows the Receiver to process
messages significantly faster than normal.

8.2.13.2.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.13.3. Provisioning an SMTP Transmitter Application


The following wizard is displayed for provisioning an SMTP Transmitter Application:

© Copyright 2018 TeraVM Java Client User Guide Page 458


Aeroflex Limited. All
rights reserved.
8.2.13.3.1. Application Details

Figure 8-215. SMTP Transmitter - Application Details

The steps required to provision an SMTP Transmitter Application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row",. Refer to the section on Bulk and Batch Provisioning for
details of this steps)

• Transmitter Details

• Session Details

• Additional Configuration

8.2.13.3.1. Application Details


The following general information is required for a SMTP Transmitter Application:

© Copyright 2018 TeraVM Java Client User Guide Page 459


Aeroflex Limited. All
rights reserved.
8.2.13.3.2. Transmitter Details

Table 8-175. SMTP Transmitter - Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Single Client Per Row - Varied
field.
Address
When using this option, the No. of
Clients field will represent the No. of
Rows.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the transmitter. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct, Indirect or Subnet
Hosts for this Test Group. Virtual Host.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

TCP Port The TCP Port on which the Transmitter will bind to it's Integer with a min and max value between
host. If the port is set to the wildcard port, the application 0 and 65535. Default is the wildcard that
will bind to the first available, non-privileged port. is, Use Next Available. Advanced TCP
Characteristics can be configured by
clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.13.3.2. Transmitter Details


The following Transmitter Details dialog is displayed for provisioning the SMTP Transmitter Application.

© Copyright 2018 TeraVM Java Client User Guide Page 460


Aeroflex Limited. All
rights reserved.
8.2.13.3.2. Transmitter Details

Figure 8-216. SMTP Transmitter Application - Transmitter Details

The following information is required for this dialog:


Table 8-176. SMTP Transmitter - Transmitter Details Fields

Field Description Validation

Receiver Reference to the TeraVM SMTP Receiver with which the Optional. Select from the list of previously
Transmitter will communicate. configured SMTP Receiver applications.

Domain Name Identifier for the Mail Server to be used when interacting String value (currently) between 1 and 128
with Receiver applications. characters in length.

Message Content A Message Set that is, a list of messages. It contains Mandatory. Each message can be of type
the content which is to be attached to transmitted mail Text, File Inline, Attachment or Autogen.
messages. The size of a message must be between 1
and 900,000,000 bytes.

From User List List of message originators. Mandatory. In the format of


username@domain. The total length of
each originator must be between 1 and
1024 characters. The username is between
3 and 32 characters in length. The domain
is between 3 and 32 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 461


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

Field Description Validation

To User List List of recipients. Mandatory. In the format of


username@domain. The total length of
each originator must be between 1 and
1024 characters. The username is between
3 and 32 characters in length. The domain
is between 3 and 32 characters in length.

Send Order Determines the number of sessions used to transmit mail Options are One to One or One to Many.
messages sent from the specified FROM User List to the Default is One to One.
specified TO User List.

Request Pipelining Allow more than one SMTP command to be sent per Enabled or Disabled. Default is Disabled.
network packet thus reducing the delay introduced in the
SMTP dialog by network latency or congestion

Headers Indicates the configuration status of the SMTP headers. Configured or Unconfigured. To
configure the header fields to include in
SMTP messages and also to define the
content of these header fields, click on the
<...> button, adjacent to the Headers label.
The Mail Headers Dialog is displayed.
This dialog is described in the following
section.

8.2.13.3.2.1. Mail Headers


The Headers dialog enables you to configure multiple fields to be used in the SMTP message header.
TeraVM supports the following default header fields:

• From

The "From" field specifies the author(s) of the message, that is, , the mailbox(es) of the person(s) or
system(s) responsible for the writing of the message.

• To

The "To:" field contains the address(es) of the primary recipient(s) of the message.

• Cc

The "Cc:" field (where the "Cc" means "Carbon Copy") contains the addresses of others who are to
receive the message, though the content of the message may not be directed at them.

• Bcc

The "Bcc:" field (where the "Bcc" means "Blind Carbon Copy") contains addresses of recipients of the
message whose addresses are not to be revealed to other recipients of the message.

• Reply-To

When the "Reply-To:" field is present, it indicates the mailbox(es) to which the author of the message
suggests that replies be sent.

• Date

Day/Month/Year stamp.

© Copyright 2018 TeraVM Java Client User Guide Page 462


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

• Message-ID

The "Message-ID:" field provides a unique message identifier that refers to a particular version of a
particular message. The uniqueness of the message identifier is guaranteed by the host that generates
it.

• Subject

The "Subject:" field contains a short string identifying the topic of the message.

• Received

The "Received:" fields is one of the trace fields. It contains a (possibly empty) list of name/value
pairs followed by a semicolon and a date-time specification identifying each hop of the email as it is
transmitted across the Internet.

The content of the mail message is provided via the SMTP mail message set configuration item. This
configuration item allows the configuration of sets of messages. Individual messages can be one of 4 types:

• Mail File

The 'Mail File' type allows arbitrarily complex mail formatting scenarios to be recreated in TeraVM
without requiring detailed knowledge of every possible mail format. When a mail file is selected, the
RFC 2822 header structure found in the file is maintained and used in mail messages generated by
SMTP transmitters using the message set in which this message is contained.

In supporting the ability for you to configure RFC 2822 header fields in the SMTP Transmitter
application, any header fields that actually appear in the header section of the Mail File will be replaced
by values configured in the SMTP Transmitter. If the file does not have a particular header field, then
that field will not appear in the mail, even if it has a corresponding value in the SMTP Transmitter.
Headers fields in the file that do not have corresponding values in the SMTP Transmitter are excluded
from the mail that is, only headers fields that appear in both the selected mail file and the SMTP
Transmitter sending the mail will appear in the mail generated by the SMTP Transmitter.

The "Received" header field is an exception to the above rules. Received header fields are always
stripped from the selected Mail File by MLIPS. Also values specified for the "Received" header by the
SMTP Transmitter sending the mail will always be added before any other header fields that might be
specified in the SMTP Transmitter.

In addition to the "Received" header fields, certain other fields are also removed from the file by MLIPS.
These are: "Delivered-To", "Return-Path", "Status" and "X-Status".

The point of these file processing rules is to allow a mail file to be saved directly from a mail client
and loaded into TeraVM. The path that the original mail took, identified by the "Received" header
field (and certain other fields) that are typically added when a mail finally arrives at its destination, are
stripped from the mail to restore it to how it might have looked prior to delivery. This way, the SMTP
Transmitter's settings can then be used to add a new delivery path, and to replace other header fields in
the mail with operator configured values.

Note that the Mail File requires no validation viz-a-viz the SMTP Transmitter settings. If it does not have
any RFC 2822 header fields, then the mail generated by the SMTP Transmitter will not have any header
fields, regardless of the SMTP Transmitter's settings. The exception to this rule is the "Received"
header fields -- which are always added. If the Mail File has some header fields but not others, this

© Copyright 2018 TeraVM Java Client User Guide Page 463


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

should not be flagged as a problem either - the missing fields will not be included in that particular
mail, but they may still be valid headers for a different mail that the same SMTP Transmitter might be
sending.

• MIME Attachment

you specifies a file to be attached to the generated file. The specified file acts as the content for the mail
message and will be Base64 encoded and added as a MIME attachment to the generated mail. MLIPS
will come pre-configured with a default RFC 2822 header template. If the SMTP Transmitter specifies
RFC 2822 header fields, this template will be pre-pended to the encoded attachment and the SMTP
Transmitter's RFC 2822 header fields, if specified, will be used to "fill-out" the template. The result will
be a complete RFC-2822 compatible mail that contains a single MIME attachment that holds the file
contents. The order of header fields in the template is as follows:

From: To: Subject: Date: Message-ID:

As previously stated, the Received header is always inserted first. The Reply-To, Cc and Bcc are
inserted after the To header (in this order). If there is no To header specified in the SMTP Transmitter,
these headers come at the end of the headers.

• Auto-Generated

Automatically generates a mail message containing arbitrary content. The size of this content is defined
in bytes and can be specified as a static value or as a random value. As per the other message types,
MLIPS will come pre-configured with a default RFC 2822 header template, and the arbitrary content
will be included as the content of the mail following the mail header. As with an "MIME Attachment", the
SMTP Transmitter's RFC 2822 header fields, if specified, will be used to "fill-out" the template, but note
that a slightly different header template may be required for these text messages Is this something that
needs to be resolved

• Text

The specified text will be the content for the mail message. As per the other message types, MLIPS will
come pre-configured with a default RFC 2822 header template, and the text will be included as the body
of the mail following the header. As with "MIME Attachment" and "Auto-Generated" mails, the SMTP
Transmitter's RFC 2822 header fields, if specified, will be used to "fill-out" the template, Auto-Generated
and Text should be able to share the same header template as they are both "plain text" mails.

It is possible to generate large numbers of unique mail messages during the lifetime of a running test. This
is to be achieved by configuring lists of possible values for each of the supported header fields. When
generating each individual email, values for the header fields are chosen from the list of possible values
configured for each field, in a random or sequential fashion, as indicated by the operator.

© Copyright 2018 TeraVM Java Client User Guide Page 464


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

Figure 8-217. Mail Headers Dialog

Configure the following information in the Mail Headers dialog:


Table 8-177. SMTP Mail Headers

Field Description Validation

Enable Header Field Controls whether or not RFC 2822 Mail Headers are Checkbox. Default is un-ticked that is, not
Processing supported by the SMTP Transmitter supported.

Use Current Date A flag used to control whether or not a unique Date is Checkbox. Default is ticked. If you also
generated and used in the "Date" Mail Header by TeraVM includes a specific Date header, this
as opposed to you manually specifying a date. flag takes precedence.

© Copyright 2018 TeraVM Java Client User Guide Page 465


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

Field Description Validation

Use Unique Message-ID A flag used to control whether or not a unique Message ID Checkbox. Default is ticked. If you also
is generated and used in the "Message-ID" Mail Header includes a specific Message-ID header,
by TeraVM as opposed to you manually specifying a this flag takes precedence.
Message-ID.

To add a new header to the list or edit an existing header, click on the <Add> or <Edit> buttons. The Add
Mail Header dialog is displayed:

Figure 8-218. Add Mail Header Dialog

Enter appropriate information for the following fields for each header field:

© Copyright 2018 TeraVM Java Client User Guide Page 466


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.1. Mail Headers

Table 8-178. Adding/Editing SMTP Mail Headers

Field Description Validation

Header Field Name A list of Mail Headers that can be configured by the Choose from the available list of: To, From,
operator. Cc, Bcc, Reply-To, Date, Message-ID,
Subject, Received. Note: It is possible to
configure multiple instances of the same
header.

Is Folded. Indicates if the Mail Header is a "folded" header that is, the Checkbox. Default is un-ticked..
field body goes across multiple lines.

Value The value of the Mail Header Body. This can be across 0 - 10240 characters. Unsupported
multiple lines. It can also be empty. characters are Null terminator, ' and "".

Selection The method in which a field value is selected from the list Select either Random or Sequential.
of values.

To add or edit a Mail Header Body value, click on the<Add> or <Edit>buttons. The Add Header Field
Body dialog is displayed.

Figure 8-219. Add Header Field Body Dialog

This dialog enables you to enter individual values in the list of possible values for the field. Note that this
dialog will allow you to insert Carriage Returns (CR) . When you presses the "OK" button, a check will be
performed to see that the CR is followed by a white space (thereby supporting "Folding"). If it is found that
this is not the case, then you will be given the option of proceeding anyway, or of automatically inserting the
white space where required.

It is also valid not to enter anything in this dialog and click the <OK> button. Empty strings can be specified
as a field body and it will pass the validation.

The same applies for an empty line. If you are using multiple lines in a field body, you are allowed to use an
empty line.

© Copyright 2018 TeraVM Java Client User Guide Page 467


Aeroflex Limited. All
rights reserved.
8.2.13.3.2.2. Advanced Details

Note
The Mail Header field can support Keyword Substution, if enabled. Click on the Information button (

) to display a list of supported keywords.

8.2.13.3.2.2. Advanced Details


By clicking on the Advanced button in the SMPT Transmitter Details step of the wizard, the following
dialog is displayed.

Figure 8-220. Advanced Details

This dialog enables you to enable or disable Keyword Substitution.


Table 8-179. SMTP Keyword Substitution Details

Field Description Validation

Enable Keyword Enables special keywords in "RCPT TO", "MAIL FROM", Mandatory. Enabled or Disabled. Default
Substitution "domain" and also SMPT mail headers. is disabled.

SMTP Keyword Substitution is similar to HTTP keyword substitution in that it allows for the randomization of
the content of specific fields. In this case, it allows for the randomization of the "RCPT TO", "MAIL FROM"
and "domain" in the SMTP Transmitter application. The keyword syntax is the same as that for HTTP.

Note
Enabling this feature can have a negative effect on performance.

© Copyright 2018 TeraVM Java Client User Guide Page 468


Aeroflex Limited. All
rights reserved.
8.2.13.3.3. Session Details

8.2.13.3.3. Session Details


he following Session Details dialog is displayed for provisioning the SMTP Transmitter Application.

Figure 8-221. SMTP Transmitter Application - Session Details

The following information is required for this dialog:


Table 8-180. SMTP Transmitter Application - Session Details

Field Description Validation

Delay Between Sessions Delay between each SMTP session. Mandatory. Can have a value in the range
0 - 60,000 (ms). It can also be a profile with
min and max values within this range. 0
means no delay. Default is 0. Supported
metrics are ms and sec with ms as the
default.

Start Inactive Period After Number of sessions after which the transmitter will cease Can have an integer value in the range
it's activities, waiting a defined period of time before 0 - 100. 0 means no inactivity will occur.
resuming activity. Default is 0.

Period of Inactivity Period of time during which no activity will take place. This Can have a value in the range 0 -
period of inactivity will begin once the specified number of 3,600,000 (ms). It can also be a profile with
sessions (Start Inactive Period After) have occurred. This min and max values within this range. This
value must be 0 if the Number of Sessions is 0. can be non-zero only when the Number of
Sessions is non-zero. 0 means no inactivity
will occur. Default is 0. Supported metrics

© Copyright 2018 TeraVM Java Client User Guide Page 469


Aeroflex Limited. All
rights reserved.
8.2.13.3.4. Additional Details

Field Description Validation


are ms, sec, min and hour with ms as the
default.

8.2.13.3.4. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.13.4. Provisioning an External SMTP Receiver Application


The External SMTP Receiver represents a non-TeraVM SMTP Receiver.

If you select to add an External SMTP Receiver Application, the Add New external SMTP Receiver Wizard
dialog is displayed.

Add New External SMTP Receiver Application Wizard

The following information is required for this step of the wizard:


Table 8-181. External SMTP Receiver Application Fields

Field Description Validation

Name Unique name identifying the External SMTP Receiver Mandatory. String value between 1 and
Application. 255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 470


Aeroflex Limited. All
rights reserved.
8.2.13.4.1. External Receiver Properties

Field Description Validation

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Select from the list of External Hosts.
hosts which the server will use to access the SUT.

TCP Port The TCP Port on which the Receiver will listen for TCP Integer value between 0 and 65535.
connections. Default is 25.

8.2.13.4.1. External Receiver Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM. Some of the information stored via this property sheet could include,
for example:

• Mail Server Name: the name of the mail server for the External SMTP Receiver application.

• Pipelining: an indication on whether or not this External SMTP Receiver can support Pipelining.

External SMTP Receiver Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 471


Aeroflex Limited. All
rights reserved.
8.2.13.5. Provisioning an External SMTP Transmitter
Application

Figure 8-222. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

8.2.13.5. Provisioning an External SMTP Transmitter Application


The SMTP test allows for the configuration of an External SMTP Transmitter application to support a
scenario where a non-TeraVM SMTP Transmitter sends mail to a TeraVM SMTP Receiver task. The
External SMTP Transmitter represents the non-TeraVM SMTP Transmitter.

If you select to add an External SMTP Transmitter Application, the Add New External SMTP Transmitter
Wizard dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 472


Aeroflex Limited. All
rights reserved.
8.2.13.5.1. External Transmitter Properties

Figure 8-223. Add New External SMTP Transmitter Application Wizard

The following information is required for this step of the wizard:


Table 8-182. External SMTP Transmitter Application Fields

Field Description Validation

Name Unique name identifying the External SMTP Receiver Mandatory. String value between 1 and
Application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Select from the list of External Hosts.
hosts which the transmitter will use to access the SUT.

TCP Port The TCP Port on which the external Transmitter binds to Optional. Integer value between 0 and
its host. 65535. Default is 25.

8.2.13.5.1. External Transmitter Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM. Some of the information stored via this property sheet could include,
for example:

• Mail Server Name: the name of the mail server for the External SMTP Transmitter application.

• Pipelining: an indication on whether or not this External SMTP Transmitter can support Pipelining.

© Copyright 2018 TeraVM Java Client User Guide Page 473


Aeroflex Limited. All
rights reserved.
8.2.14. DDoS

Figure 8-224. External SMTP Receiver Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Enter a Name/Value pair and click on the <OK> button.

8.2.14. DDoS
The performance of the Network Under Test (SUT) can be tested in response to a variety of Denial of
Service attacks. Such attacks are malicious and therefore not standardised, but there are many well-
accepted categories of attack that TeraVM can emulate. These are:

• SYN Flood

• RESET Flood

• UDP Flood

• Ping Flood

• ARP Flood

• Ping of Death

• Teardrop Attack

© Copyright 2018 TeraVM Java Client User Guide Page 474


Aeroflex Limited. All
rights reserved.
8.2.14.1. Provisioning an DDoS Attacker Application

• Reflective SYN Flood


• UDP Fragmentation Flood
Some or all of the following TeraVM entities may be involved in a DDoS attack:
• Attacker
A TeraVM application that resides on a host and emulates malicious DDoS attacks.
• Listener
A lightweight TeraVM application that resides on a host. It performs (limited) functions of a TCP server;
that is, it accepts incoming connections (SYNs) but once the connection has been fully established, it
immediately closes that connection again. It can be used as an application running on either a victim
host or a reflector host (which is also victimised). It's purpose is to generate an appropriate application
level response to the attack. For example, in a Reflective SYN Attack, if the attack is seen by a listener
application, that application would respond with SYN, ACK messages where as the host would respond
with RST messages if the listener didn't exist.
• Target Host
All DDoS attacks target hosts (some may also target applications running on those hosts). These
attacks can be directed against any host in the system whose IP address is known at configuration time;
that is, victim hosts can not be subnet hosts or hosts with dynamically assigned IP addresses (DHCP,
IPCP).
• Reflector Host
Some DDoS attacks use one or more 'third-parties' to attack the victim host (some of these may also
target applications running on those third-parties); these third parties are specified by an IP address (or
prefixed IP address) which can refer to (possibly multiple) hosts in the system, external hosts or even
'unreachable' IPs. These third-parties (where they exist) can be considered 'victims' also in the sense
that they may suffer many of the same symptoms as the intended victim.

8.2.14.1. Provisioning an DDoS Attacker Application


TeraVM supports the provisioning of the following DDoS attacker applications:
• SYN Flood - floods a specific IP Address, (the "victim"), with SYN packets, (that is, TCP connection
requests).
• RESET Flood -floods a specific IP Address with RESET packets, (that is, TCP connection resets).
• UDP Flood - floods a specific IP Address with UDP datagrams.
• Ping Flood - floods a specific IP Address with ICMP echo request (ping) packets.
• ARP Flood - floods the subnet with requests for a specific IP Address. Therefore, the entire subnet is
affected because all devices receive the ARP, but the "victim" is the worst affected, as it also has to
reply to each one.
• Ping of Death - sends ICMP echo requests to the specified IP Address exploiting IP fragmentation to
send an IP packet that is, greater than 64K in size.
• Teardrop Attack - sends a UDP datagram in 2 IP fragments to the specified IP Address.

© Copyright 2018 TeraVM Java Client User Guide Page 475


Aeroflex Limited. All
rights reserved.
8.2.14.1. Provisioning an DDoS Attacker Application

The offset and size of the second fragment is chosen so that the fragment overlaps with the
first fragment, but it does not have enough data to completely overwrite the remainder of the
first fragment. This can cause IP reassembly routines to access protected memory, leading to
problems with the victim's networking modules.

• Reflective SYN Flood - sends a flood of SYN packets (that is, TCP connection requests), using the
victim's IP address as the source of the SYN.

The aim of this attack is to get one or more "legitimate" IP addresses to reply to the victim with TCP
SYN-ACK packets. The hope is that having the packets arrive from legitimate sources will prevent
DDOS mitigation devices from recognizing the attack. Typically, a range of IP addresses are used to
"reflect" the attack back to the victim. By distributing the attack load in this way, the attacker further
hopes that none of the "Reflectors" will recognize that they are participating in a Denial of Service.

• UDP Fragmentation Attack - sends a single IP fragment that contains part of a UDP datagram to the
specified IP Address, (the "victim"). The aim is to exhaust the Victim's resources by forcing it to store
many IP fragments. The format of the fragment is the same as that used for the initial fragment of a
Teardrop Attack, so most of the Teardrop information applies here also.

The provisioning of these attacker applications is almost identical in all cases, therefore this section only
describes the provisioning of the SYN Flood Attacker. Any additional fields that are required in any of these
attacker applications are documented and noted.

The following dialog is displayed for provisioning a SYN Flood Attacker Application:

© Copyright 2018 TeraVM Java Client User Guide Page 476


Aeroflex Limited. All
rights reserved.
8.2.14.1.1. Application Details

Figure 8-225. Add SYN Flood Attacker Application

The steps required to provisioning a SYN Flood Attacker Application are as follows:

• Application Details

• Attacker Details

• Additional Details

8.2.14.1.1. Application Details


The Application Details step of the wizard requires the following information:
Table 8-183. SYN Flood Attacker Application - Application Fields

Field Description Validation

Name Unique name identifying the Attacker. Mandatory, No Default. String value
between 1 and 255 characters in length..

Description User-assigned, free-form description of the Attacker. String value between 1 and 512 characters
in length. No Default. Optional.

Host The Host the Attacker will use to access the SUT. Mandatory. No Default. Must be a Direct
Virtual Host or Indirect Virtual Host.

© Copyright 2018 TeraVM Java Client User Guide Page 477


Aeroflex Limited. All
rights reserved.
8.2.14.1.1.1. Spoof MAC Address

Field Description Validation

Attack Rate The rate at which attack packets are sent by the attacker Mandatory. Default is 1. Integer . Min=1
to the victim. and max=100,000

Payload Size (UDP or Ping This specifies the payload size for the UDP datagrams or Integer, 1 - (Host MTU - Headers). Default
Attacker Only) Ping Requests. 1316.

8.2.14.1.1.1. Spoof MAC Address


The Spoof MAC Address button in the Application Details step of the wizard enables you to spoof the MAC
address in the attack packets. If disabled, the attacker will either use the MAC address of the host or a MAC
Address configured for this attack. The following dialog is displayed for this utility:

Figure 8-226. Spoof MAC Address Dialog

Table 8-184. Spoof MAC Address Fields

Field Description Validation

Use Random MAC If enabled, the attacker can use an arbitrary (spoofed) Enabled or disabled. Default is Enabled.
MAC address.

MAC Address Only applicable if Use Random MAC is NOT enabled. Optional. Either an actual MAC or leave
Specifies the MAC address for each attack packet. blank . If no MAC Address is entered, the
MAC Address of the Host will be used.
Default is Blank.

8.2.14.1.2. Attacker Details

Note
The Attacker Details of the Reflective SYN Flood Attackerapplication are detailed separately within
this section.

The Attacker Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 478


Aeroflex Limited. All
rights reserved.
8.2.14.1.2. Attacker Details

Figure 8-227. Add SYN Flood Attacker - Attacker Details

This dialog requires the following information:


Table 8-185. ASYN Flood Attacker Application - Attacker Fields

Field Description Validation

Address Type The type of IP address to be used in the attack. The following options are available:
Specific- used in every attack packet.
ANY- each attack packet will use a
randomly chosen IP address. Random
from range - chosen at random from
a subnet range Sequential address
from range - starting from specified IP
address, each attack packet will use the
next sequential IP address in the specified
subnet range.

IP Address IP address to be used in the attack. Valid IPv4 or IPv6 IP address. Not required
for Reflective SYN Flood attack.

Port The TCP or UDP Port which the Attacker will put in the Mandatory. Integer value between 0 and
source port field. If the port is set to the wildcard port (i.e 65535 or a numeric profile within that
Use Next Available) the Attacker will use a random, non- range. Default is Use Any Available.
privileged port.

© Copyright 2018 TeraVM Java Client User Guide Page 479


Aeroflex Limited. All
rights reserved.
8.2.14.1.2.1. Reflective SYN Flood Attacker Details

Field Description Validation

Target The type of entity targeted by the attack. Select from Application, Host, Port(s)
on a Host. Default is Host. For the Ports
on a Host option, the Ports can be any
port that is, a wildcard. An application can
be a DDOS Listener and must use an
appropriate host for example it cannot use:
- Subnet Host - Host with a dynamically
assigned address.

Target Host The host that will be the target of this attack. Only Select a host, or create a new one. Cannot
available is the selected Target is "Host". be: - Subnet Host (including an External
Subnet Host) - Host with a dynamically
assigned address.

Port(s) The TCP or UDP port(s) that will be used as the target Mandatory. Integer value between 0 and
ports in the attack packets. Only available is the selected 65535 or a numeric profile within that
Target is "Ports on a Host". range. Can also be the wildcard port that
is, Use Next Available. No Default.

8.2.14.1.2.1. Reflective SYN Flood Attacker Details


The following fields apply specifically to the Reflective SYN Flood Attacker application.

Note
This attack can use a host configured with Block All Traffic enabled.

Table 8-186. Reflective SYN Flood Attacker Application - Attacker Fields

Field Description Validation

Reflector. The type of entity targeted by the attack. Select from Application, Host, Port(s)
on a Host. Default is Host. For the Ports
on a Host option, the Ports can be any
port that is, a wildcard. An application
can be a DDOS Listener and must use
an appropriate host for example it cannot
use a Host with a dynamically assigned
address.

Reflector Host The Host to which the attacker will direct the SYNs and Any host may be used as a reflector -
which in turn will send the SYN-ACKs to the target. Only DVH, DVSH, IVH, IVSH, external host and
available is the selected Reflector is "Host". also External Subnet Host (which may
only be used as a reflector). Cannot be
a host where the address is dynamically
assigned.

Reflector Port The TCP Port which the Attacker will put in the destination Mandatory. Integer value between 0
port field. If the port is set to the wildcard port the Attacker (random) and 65535 or a numeric profile
will use a random, non privileged port. Only available is within that range. Default is 0. Note that
the selected Reflector is "Ports on a Host". to be effective, the reflector(s) should
have TCP apps/listeners running on these
port(s).

Target The type of entity targeted by the attack. Select from Application, Host, Port(s)
on a Host. Default is Host. For the Ports

© Copyright 2018 TeraVM Java Client User Guide Page 480


Aeroflex Limited. All
rights reserved.
8.2.14.1.3. Additional Configuration

Field Description Validation


on a Host option, the Ports can be any
port that is, a wildcard. An application can
be a DDOS Listener and must use an
appropriate host for example it cannot use:
- Subnet Host - Host with a dynamically
assigned address.

Target Host The host that will be the target of this attack. The IP Select a host, or create a new one. Cannot
address of this host will be used as the src addr in the be: - Subnet Host (including an External
attack packets sent to the Reflector. Only available is the Subnet Host) - Host with a dynamically
selected Target is "Host". assigned address.

Port(s) TCP port used as source port in the attack packets. This Mandatory. Integer value between 0 and
is the port on the target host that will be flooded with all 65535 or a numeric profile within that
the ACK replies. Only available is the selected Target is range. Can also be the wildcard port that
"Ports on a Host". is, Use Next Available. No Default.

8.2.14.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.14.2. Provisioning a DDoS TCP Listener


Listeners are only usually required for SYN Flood Attackers or Reflective SYN Flood Attackers..

8.2.14.2.1. SYN Flood Listener


In the case of SYN Flood Attackers, you will only want to configure a listener in situations where you want
to test a DDOS mitigation device, (firewall, and so on.), that will prevent the bulk of the attack packets
from reaching the listener. In this case, you may wish to test TeraVM with or without the mitigation device.
Without mitigation, the test will fail because the listener will be overwhelmed. With mitigation, the test should
continue to run, (assuming the mitigation device is blocking a sufficient number of the SYN packets).

8.2.14.2.2. Reflective SYN Flood Listener


The Reflective SYN Flood Application, once started, will continuously attempt to open TCP connections
(send SYNs) to application(s) or listener(s) on the reflector host(s) using the address of the selected victim
application or listener as the source address, until such time as the attacker is stopped.

8.2.14.2.3. Application Details


The following dialog is displayed if you are provisioning a DDoS TCP Listener Application:

© Copyright 2018 TeraVM Java Client User Guide Page 481


Aeroflex Limited. All
rights reserved.
8.2.14.2.4. Additional Details

Figure 8-228. DD0S TCP Listener Application - Application Details

Table 8-187. DDoS Listener Application Fields

Field Description Validation

Name Unique name identifying the DDoS Listener Application. Mandatory. String value between 1 and
255 characters in length.

Description Description of the DDoS Listener application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured Mandatory. Direct or Indirect Virtual Host. If
IP hosts which the DDoS Listener will use to access the Direct, then IP address must be static.
SUT.

TCP Port The TCP Port on which the Listener will listen for TCP Integer value between 0 and 65535. No
connections. Default.

ToS/DiffServ Quality of Service metric for the Listener application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.14.2.4. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 482


Aeroflex Limited. All
rights reserved.
8.2.15. P2P Applications

8.2.15. P2P Applications


Peer 2 Peer is a mechanism for sharing information between peer entities across a network. This
information could be files, music, films and so on. In a network containing such peer entities, each peer
can act as both a client and a server that is, it contains information that it makes available to other peers
and therefore acts as a server to those peers. It also requests the information contained by other peers and
therefore acts as a client.

An important goal in peer-to-peer networks is that all clients provide resources, including bandwidth,
storage space, and computing power. Thus, as peers are added to the network and demand on the system
increases, the total capacity of the system also increases.

8.2.15.1. Provisioning a P2P Peer Application


The following wizard is displayed if you are provisioning a P2P Peer Application:

Figure 8-229. P2P peer application - Application Details Dialog

The steps required to provision a P2P P Application are:

• Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 483


Aeroflex Limited. All
rights reserved.
8.2.15.1.1. Application Details

• Peer Details

• Additional Configuration

8.2.15.1.1. Application Details


The following information is required for the Application Details step:
Table 8-188. P2P Peer - Application Dialog Fields

Field Description Validation

No. of Clients Each Peer to be created has a row created in the Default is 1. 1 - 40, 000 transmitters can be
Display Window for Applications allowing statistics to be configured per provisioning action. Refer to
generated for each row. the section on Bulk and Batch Provisioning
for more details on using this field.

Configure as Configures how the Applications are provisioned, and The only options for this field for P2P is:
displayed in the Application Display Window.
• Single Client Per Row
Refer to the section on Bulk and Batch
Provisioning for more details on using this
field.

Name Unique name identifying the P2P Peer Application. Mandatory. String value between 1 and
255 characters in length.

Description A description for the P2P Peer application. String value between 1 and 512 characters
in length. No Default. Optional.

Host The Host which the Peer will use to access the SUT. Mandatory. Direct or Indirect Virtual Host. If
Direct, then Host IP address must be static.

TCP Port The TCP Port on which the Peer will bind to its host. Mandatory. Integer value between 0 and
65535. Default is the wildcard port that
is, Use Next Available. Advanced TCP
Characteristics can be configured by
clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

Listener Port The TCP Port on which the Peer will listen for TCP Mandatory. Integer. Min value is 0. Can
connections. also be a profile. Default is 0.

ToS/DSCP Quality of Service metric for the Peer. Integer value between 0 and 255. Default
is 0.

8.2.15.1.2. Peer Details


The Peer Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 484


Aeroflex Limited. All
rights reserved.
8.2.15.1.2. Peer Details

Figure 8-230. P2P Peer Application - Peer Details Dialog

The following information is required for the Peer Details step:


Table 8-189. P2P Peer - Peer Dialog Fields

Field Description Validation

Peer Group A community of peers that will interact with each other, Mandatory. Select from a previously
requesting resources from each other. configured Peer Group or create a
new one. Refer to the section on P2P
Configuration in Chapter 11.

Group Traversal Controls how the peer traverses the group in which it is Mandatory. Options are Random or
contained Ordered. Default is Ordered.

Sharing Indicates the Peer has resources which are being shared. Enabled or disabled. Default is enabled.

Resource List The list of resources configured on the Peer. If Sharing is Resources of type File or arbitrary data of
set to Enabled the Resource List cannot be empty. a specific size. Select from a previously
configured Resource List or create a
new one. Refer to the section on P2P
Configuration in Chapter 12.

Delay Between Transfers Delay between the transfer of each resource. Can be value in the range 0 -600,000 (ms).
It can also be a profile with min and max
values within this range. Max value is 1
hour (3,600,000 ms). Default is 0 indicating

© Copyright 2018 TeraVM Java Client User Guide Page 485


Aeroflex Limited. All
rights reserved.
8.2.15.1.3. Additional Configuration

Field Description Validation


no delay. Available metrics will be ms, sec,
min.

Delay Between Peers Delay after finishing the download of all resources from Can be value in the range 0 -600,000 (ms).
one peer and before moving on to downloading the It can also be a profile with min and max
resources from the next peer values within this range. Max value is 1
hour (3,600,000 ms). Default is 0 indicating
no delay. Available metrics will be ms, sec,
min.

8.2.15.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.16. P2P Replay Applications


Peer 2 Peer is a mechanism for sharing information between peer entities across a network. This
information could be files, music, films and so on. In a network containing such peer entities, each peer
can act as both a client and a server that is, it contains information that it makes available to other peers
and therefore acts as a server to those peers. It also requests the information contained by other peers and
therefore acts as a client.

An important goal in peer-to-peer networks is that all clients provide resources, including bandwidth,
storage space, and computing power. Thus, as peers are added to the network and demand on the system
increases, the total capacity of the system also increases.

Each playback peer must belong to a specific "Peer Group" that is, a set of peers that interact with each
other. A Playback Peer will have a configured set of "resources" that are available to other Playback Peers
within the Peer Group. These other Peers can download these resources while this Peer can download the
resources available on the other Peers in the Peer Group. It is the type of these resources that distinguishes
a TCP Playback Peer application from a P2P application. The resources configured on a TCP Playback
Peer must be libpcap or Sun Snoop packet capture files and all playback peers in a Peer Group must have
the exact same Resource List.

The downloading of resources from a P2P TCP Playback Peer is achieved by configuring each Playback
Peer in a Peer Group with the same set of resources. Each peer in a given peer group will read the contents
of the packet capture file (a resource in the resource list), identify any contained TCP connections, open
a TCP connection to another playback peer (thereby "representing" the connection in the capture file)
and, over this new connection, replay the series of exchanges that make up the connection contained
in the capture file. This series of exchanges of information is known as a TCP Conversation. Once the
conversation is complete, the TCP connection will be closed. This procedure will be repeated for each "TCP
Conversation" contained in the capture file. The "other" peer will replay its side of the "conversation" when it
receives packets from the client side peer.

It is important to note that the packet headers contained in the capture file will not be replayed - these
headers are replaced by headers based on the details configured in the Playback Peer. All data in each
packet that follows the TCP header is known as the TCP payload and will be considered part of the TCP
conversation.

© Copyright 2018 TeraVM Java Client User Guide Page 486


Aeroflex Limited. All
rights reserved.
8.2.16.1. Provisioning a P2P Replay Peer Application

As the number of Peers in a Peer Group grows and the number of Peer Groups grows, the amount of
replayed TCP Conversations increases. A P2P TCP Playback Peer Application is capable of acting as a
client, a server or as both a client and server

8.2.16.1. Provisioning a P2P Replay Peer Application


The following wizard is displayed if you are provisioning a P2P Peer Application:

Figure 8-231. P2P Replay Peer Application - Application Details Dialog

The steps required to provision a P2P P Application are:

• Application Details

• Peer Details

• Additional Configuration

8.2.16.1.1. Application Details


The following information is required for the Application Details step:

© Copyright 2018 TeraVM Java Client User Guide Page 487


Aeroflex Limited. All
rights reserved.
8.2.16.1.2. Peer Details

Table 8-190. P2P Replay Peer - Application Dialog Fields

Field Description Validation

No. of Clients Each Peer to be created has a row created in the Default is 1. 1 - 40, 000 transmitters can be
Display Window for Applications allowing statistics to be configured per provisioning action. Refer to
generated for each row. the section on Bulk and Batch Provisioning
for more details on using this field.

Configure as Configures how the Applications are provisioned, and The only options for this field for P2P
displayed in the Application Display Window. Replay is:
• Single Client Per Row
Refer to the section on Bulk and Batch
Provisioning for more details on using this
field.

Name Unique name identifying the P2P Replay Peer Application. Mandatory. String value between 1 and
255 characters in length.

Description A description for the P2P Replay Peer application. String value between 1 and 512 characters
in length. No Default. Optional.

Host The Host which the Replay Peer will use to access the Mandatory. Direct or Indirect Virtual Host. If
SUT. Direct, then Host IP address must be static.

TCP Port The TCP Port on which the Peer will bind to its host. Mandatory. Integer value between 0 and
65535. Default is the wildcard port that
is, Use Next Available. Advanced TCP
Characteristics can be configured by
clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

Listener Port The TCP Port on which the Replay Peer will listen for TCP Mandatory. Integer. Min value is 0. Can
connections. also be a profile. Default is 0.

ToS/DSCP Quality of Service metric for the Peer. Integer value between 0 and 255. Default
is 0.

8.2.16.1.2. Peer Details


The Peer Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 488


Aeroflex Limited. All
rights reserved.
8.2.16.1.2. Peer Details

P2P Replay Peer Application - Peer Details Dialog

The following information is required for the Peer Details step:


Table 8-191. P2P Replay Peer - Peer Dialog Fields

Field Description Validation

Peer Group A community of Replay Peers that will interact with each Mandatory. Select from a previously
other, requesting resources from each other. configured Peer Group or create a
new one. Refer to the section on P2P
Configuration in Chapter 11.

Group Traversal Controls how the Replay Peer traverses the group in Mandatory. Options are Random or
which it is contained Ordered. Default is Ordered.

Playback Resource List The list of resources configured on the Replay Peer. . Resources of type File or arbitrary data of
a specific size. Select from a previously
configured Resource List or create a
new one. Refer to the section on P2P
Configuration in Chapter 12.

Delay Between Delay between the replay of each conversation. Can be value in the range 0 -600,000 (ms).
Conversations It can also be a profile with min and max
values within this range. Max value is 1
hour (3,600,000 ms). Default is 0 indicating
no delay. Available metrics will be ms, sec,
min.

© Copyright 2018 TeraVM Java Client User Guide Page 489


Aeroflex Limited. All
rights reserved.
8.2.16.1.3. Additional Configuration

Field Description Validation

Delay Between Peers Delay after finishing the download of all resources from Can be value in the range 0 -600,000 (ms).
one playback peer and before moving on to downloading It can also be a profile with min and max
the resources from the next Replay Peer values within this range. Max value is 1
hour (3,600,000 ms). Default is 0 indicating
no delay. Available metrics will be ms, sec,
min.

8.2.16.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.17. Latency Applications


Latency (delay) is the time taken for a packet to travel from one specific point in a network to another. When
a Latency Application is created, normal statistic collection is automatically enabled.

Latency in a packet-switched network is measured either one-way (the time from the source sending a
packet to the destination receiving it), or round-trip (the time from the source sending a packet to the source
receiving a response).

TeraVM supports the following Latency applications:

• Multicast Latency Client Application

• Multicast Latency Server Application

• Unicast Latency Client Application

• Unicast Latency Server Application

8.2.17.1. Provisioning a Multicast Latency Server


The Multicast Latency Server will not join the multicast group that it is streaming to. It will simply generate
multicast packets and send them to the specified multicast group. Therefore, it does not need to adhere to
any multicast protocol version.

Once started, a Multicast Latency Server will stream data at a constant rate to the specified multicast group.
A Multicast Latency Server is only capable of generating and multicasting UDP packets. The payload of
each packet will be generated from random data, but will also contain a timestamp indicating that time at
which the packet was transmitted. This timestamp will be used by Multicast Latency Clients to determine the
latency for that packets transmission across the network.

The following wizard is displayed for provisioning a Multicast Latency Server application:

© Copyright 2018 TeraVM Java Client User Guide Page 490


Aeroflex Limited. All
rights reserved.
8.2.17.1.1. Application Details

Multicast Latency Server Application Wizard

The following steps are required to provision this application:


• Application Details
• Server Details
• Additional Details

8.2.17.1.1. Application Details


The following information is required for the Application Details step of the wizard:
Table 8-192. Multicast Latency Server Application Fields

Field Description Validation

Name Unique name identifying the Multicast Latency server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct/Indirect Virtual Host.
hosts which the server will use to access the SUT.

UDP Port The destination port that will be used in all generated Mandatory. Integer 0-65,535. Default is 1.
multicast packets.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

© Copyright 2018 TeraVM Java Client User Guide Page 491


Aeroflex Limited. All
rights reserved.
8.2.17.1.2. Server Details

8.2.17.1.2. Server Details


The following dialog is displayed for the Server Details step of the wizard:

Multicast Latency Server - Server Details Dialog

The following information is required for the Server Details step of the wizard:
Table 8-193. Multicast Latency Server - Server Details

Field Description Validation

Multicast Group Multicast groups that this server will multicast to. Each Must be a valid multicast address using the
group can contain up to 100 entries. Each entry in the same IP version as the host that this client
list contains the address of the multicast group plus a uses. Defaults to 224.1.1.1 for IPv4 and
Destination Port and Source Port. to FF0E:0:0:0:0:0:0:114 for IPv6. Select
from a previously configured group or add
a new group. Refer to the section in on
IGMP Configuration in Chapter 11 for more
details on creating Multicast Groups.

Latency Interval This is the delay that the server will use between the Allowable values are: 0.01 seconds, 0.02
transmission of each individual packet. seconds, 0.025 seconds, 0.03 seconds,
0.033 seconds, 0.04 seconds, 0.05
seconds, 0.1 seconds, 0.25 seconds,
1 seconds, 2 seconds, 5 seconds, 10
seconds, 30 seconds, 1 minute, 5 minutes.
Default is 0.01 seconds.

© Copyright 2018 TeraVM Java Client User Guide Page 492


Aeroflex Limited. All
rights reserved.
8.2.17.1.3. Additional Configuration

Field Description Validation

Payload Size The size of each payload in a packet. Used with the Mandatory. Integer. 1 to (Host MTU -
Latency Interval this results in a packet rate used to Headers). Default 1316 bytes.
deliver the specified bandwidth per second.

8.2.17.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.17.2. Provisioning a Multicast Latency Client


An IPv4 Multicast Latency Client application will use the IGMPv2 protocol to listen to the specified multicast.
An IPv6 Multicast Latency Client application will use the MLDv1 protocol to listen to the specified multicast.

Once started, a Multicast Latency Client will join the specified multicast group and listen for any data
streamed to that group. A Multicast Latency Client is only capable of receiving UDP multicasts. As each
individual packet is received, it will look for a timestamp in the packet and if it finds one, it will determine the
latency of the network by subtracting the value of the timestamp (that is, when the packet was transmitted by
the server) from the current time.

There is no concept of an iteration for a multicast latency client. The client will simply join the multicast
group and from then hence will just listen for incoming packets, calculating the latency as they arrive. It will
continue to perform this action until the task stops. As with most tasks, the client can be scheduled to run for
a set time, or indefinitely, (that is, until you stops the test).

The following wizard is displayed to provision an Multicast Latency Client Application.:

© Copyright 2018 TeraVM Java Client User Guide Page 493


Aeroflex Limited. All
rights reserved.
8.2.17.2.1. Application Details

Multicast Latency Client - Application Details

The steps required to provision a Multicast Latency Client application are:

• Application Details

• Additional Configuration

8.2.17.2.1. Application Details


The following information is required for the Applications Details step of the wizard.
Table 8-194. Multicast Latency Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 40, 000 clients can be
Display Window for Applications allowing statistics to be configured provisioning operation. Refer to
generated for each row. the section on Bulk and Batch Provisioning
for more details on using this field.

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description Description for the application. String value between 1 and 512 characters
in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Only a Direct Virtual Host can
Hosts for this Client. be selected for this client.

© Copyright 2018 TeraVM Java Client User Guide Page 494


Aeroflex Limited. All
rights reserved.
8.2.17.2.2. Additional Configuration

Field Description Validation

Multicast Group The multicast groups that the client will listen for packets Must be a valid multicast address using
on. the same IP version as the host that this
client uses. Can be selected from existing
groups being multicast to by Multicast
Latency Servers. Refer to the section on
IGMP Configuration in Chapter 11 for more
details on creating Multicast Groups.

8.2.17.2.2. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.17.3. Provisioning a Unicast Latency Server


The TeraVM Unicast Latency Server is a simple server used to stream data at a specified rate to a unicast
latency client. It will insert a timestamp into every generated packet so that members of that the client can
measure the latency of packets as they receives them.

The Unicast Latency Server may be run in UDP or TCP mode. If running in TCP mode it will bind to the
specified TCP port. Only one application task can bind to a specific TCP port of a (non subnet) Host. In
either UDP or TCP mode, the Unicast Latency Server will create a listener and listen for incoming requests
on the specified port number.

When a valid request is received, the Unicast Latency Server will stream data to the client as specified by
the request. As each individual packet is transmitted, a timestamp will be inserted into it to enable the client
to determine how long it took the packet to reach him. The streamed data will be transported over the same
protocol as the server is configured to use, either UDP or TCP.

The following wizard is displayed for provisioning a Unicast Latency Server application:

© Copyright 2018 TeraVM Java Client User Guide Page 495


Aeroflex Limited. All
rights reserved.
8.2.17.3.1. Application Details

Unicast Latency Server Application Wizard

The following steps are required to provision this application:

• Application Details

• Additional Details

8.2.17.3.1. Application Details


The following information is required for the Application Details step of the wizard:
Table 8-195. Unicast Latency Server Application Fields

Field Description Validation

Name Unique name identifying the Unicast Latency server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct/Indirect Virtual Host.
hosts which the server will use to access the SUT.

Transport Type Specifies the transport protocol that this server is Can be either UDP or TCP. Default is TCP.
configured to use.

TCP/UDP Port This specifies the port that the server will listen for Mandatory. Integer 0-65,535. Default is 1.
incoming requests on.

© Copyright 2018 TeraVM Java Client User Guide Page 496


Aeroflex Limited. All
rights reserved.
8.2.17.3.2. Additional Configuration

Field Description Validation

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.17.3.2. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.17.4. Provisioning a Unicast Latency Client


When started, a Unicast Latency Client will issue a request to the specified Unicast Latency Server
instructing it to send it a stream of data. The request will define the size of the packets to be generated as
well as the interval that should be placed between subsequent packets. The client will then listen for the
requested data stream to arrive from the server.

As each individual packet is received, the Unicast Latency Client will determine the latency of the network
by looking at the timestamp in the packet and subtracting the value in the timestamp (that is, when it was
transmitted by the server) from the current time.

There is no concept of an iteration for a Unicast Latency Client. The client will simply make it's request to the
server, and from then hence will just listen for incoming packets, calculating the latency as they arrive. It will
continue to perform this action until the task stops. As with most tasks, the client can be scheduled to run for
a set time, or indefinitely, (that is, until you stops the test).

The following wizard is displayed to provision an Unicast Latency Client Application.:

© Copyright 2018 TeraVM Java Client User Guide Page 497


Aeroflex Limited. All
rights reserved.
8.2.17.4.1. Application Details

Unicast Latency Client - Application Details

The steps required to provision a Unicast Latency Client application are:

• Application Details

• Client Details

• Additional Configuration

8.2.17.4.1. Application Details


The following information is required for the Applications Details step of the wizard.
Table 8-196. Unicast Latency Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 40, 000 clients can be
Display Window for Applications allowing statistics to be configured provisioning operation. Refer to
generated for each row. the section on Bulk and Batch Provisioning
for more details on using this field.

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description Description for the application. String value between 1 and 512 characters
in length. No Default. Optional.

© Copyright 2018 TeraVM Java Client User Guide Page 498


Aeroflex Limited. All
rights reserved.
8.2.17.4.2. Client Details

Field Description Validation

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host.
Hosts for this Client.

Transport Type Specifies the transport protocol that this server is Can be either UDP or TCP. Default is TCP.
configured to use.

TCP/UDP Port The UDP or TCP Port that the client will initiate its Mandatory. Integer value between 0
requests from. If the port is set to the "wildcard" port and 65,535 or wildcard port (Use next
(Use next Available), the application will bind to the first Available). Default is wildcard.
available, non-privileged port.

Multicast Group The multicast groups that the client will listen for packets Must be a valid multicast address using
on. the same IP version as the host that this
client uses. Can be selected from existing
groups being multicast to by Multicast
Latency Servers. Refer to the section on
IGMP Configuration in Chapter 11 for more
details on creating Multicast Groups.

8.2.17.4.2. Client Details


The Client Details step of the wizard displays the following dialog:

Unicast Latency Client Application - Client Details

© Copyright 2018 TeraVM Java Client User Guide Page 499


Aeroflex Limited. All
rights reserved.
8.2.17.4.3. Additional Configuration

Table 8-197. Unicast Latency Client Application -Client Details

Field Description Validation

Server Reference to the Unicast Latency Server with which this Select from the provided list of server
client will communicate. Note: Ensure that the server is applications.
using the same protocol (UDP or TCP) as the client.

Latency Interval This is the delay that the server will use between the Allowable values are: 0.0001 seconds,
transmission of each individual packet. 0.001seconds, 0.01 seconds, 0.02
seconds, 0.025 seconds, 0.03 seconds,
0.033 seconds, 0.04 seconds, 0.05
seconds, 0.1 seconds, 0.25 seconds,
1 seconds, 2 seconds, 5 seconds, 10
seconds, 30 seconds, 1 minute, 5 minutes.
Default is 0.01 seconds.

Payload Size The size of each payload in a packet. Used with the Mandatory. Integer. 1 to (Host MTU -
Latency Interval, this results in a packet rate used to Headers). Default 1316 bytes.
deliver the a variety of bandwidth rates up to and including
80 Mbit/sec per second.

8.2.17.4.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.18. Netflow
NetFlow is a network protocol, introduced by Cisco, that collects statistics on IP network traffic as it enters
or exits an interface. Cisco NetFlow is made up three parts: the Analysis Application, the NetFlow Collector,
and the NetFlow Exporter.

TeraVM Netflow emulates the NetFlow Exporter by creating an application called the Netflow Export Agent.
The Netflow Export Agent produces Netflow packets and sends them to the Netflow Collector, where the
device under test is the Netflow Collector.

TeraVM Netflow emulation can be found under the menus Applications > Netflow with the sub-menus
Netflow Export Agent(s) and External Netflow Collector. The provisioning details are explained in the
sections that follow.

For Netflow back-to-back testing UDP Sink applications can be provisioned. For more information, see
section Section 8.2.25.

8.2.18.1. Netflow Templates


Netflow Traffic consists of two kinds of packets: the template, and the Netflow data packets. The template
packet defines a set of templates represented by an identifier. These templates list the fields that will be
populated by the NetFlow data packets. Netflow data packets give information about a flow of IP traffic.
These packets reference a template identifier and populate the fields. A flow is traffic coming from a fixed
IP address and port and directed to a fixed IP address and port. Reverse flows can be enabled so that the
simulated traffic can flow from the client (source IP address subnet) to the server (destination IP address
subnet) and from the server to the client. Reverse flows can be seen inside the packet, after each forward
flow.

© Copyright 2018 TeraVM Java Client User Guide Page 500


Aeroflex Limited. All
rights reserved.
8.2.18.2. Provisioning a Netflow Export Agent

Each template is represented by a unique identifier. The following example shows the 18th field from a
template and below it is a description what the information represents:

Field (18/19): 12344 [pen: ciscoSystems]


1... .... .... .... = Pen provided: Yes
.011 0000 0011 1000 = Type: 12344 [pen: ciscoSystems]
Length: 65535 [i.e.: "Variable Length"]
PEN: ciscoSystems (9)

• Field 18/19: this is the index within this packet.

• Pen provided: if set to yes, this means that the field will also contain the Personal Enterprise Number.
If a you want to use a type that is not defined by the IETF yet, then you must reserve some elements
under their Private Enterprise Number.

• Type 12344: this is the field identifier. Field identifiers can take values between 0 and 32767.

• Length: actual length if the field has a fixed length or 65535 if the length of the field can vary across
netflow packets.

• PEN: if Pen provided was set to "yes", this is the value of the PEN (ciscoSystems in this example).

8.2.18.2. Provisioning a Netflow Export Agent


When provisioning Netflow, there are two types of Export Agent available from the Export Agent Details
dialog: IPFIX - AnyConnect, and IPFix - Generic. To generate a Netflow report that contains AnyConnect
fields, you should choose the Export Agent Type as IPFIX - AnyConnect, and upload a template
with AnyConnect fields. In the Netflow AnyConnect Field Details dialog, enter the relevant AnyConnect
information to control how the fields are populated.

To generate a generic Netflow report, you should choose the Export Agent Type as IPFix - Generic. The
fields in the generated packets depend on the template uploaded, if a field is entered that is not present in
the template, then that field will ignored.

This section shows the dialog for each step through the wizard for provisioning a Netflow Export Agent. The
provisioning steps are:

• Application Details

• Export Agent Details

• Netflow Field Details

• Netflow AnyConnect Field Details

• Additional Configuration

8.2.18.2.1. Application Details


The following Add New Netflow Export Agent(s) Wizard dialog is displayed for provisioning the Netflow
Export Agent Application. Configure the options under the Application Details as required using the
guidelines provided in the table.

© Copyright 2018 TeraVM Java Client User Guide Page 501


Aeroflex Limited. All
rights reserved.
8.2.18.2.1. Application Details

Figure 8-232. Export Agent Application Details

Table 8-198. Netflow Agent Application Details Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window. Refer to the
• Single App Per Row
sections on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field. • Scaled Entity
The default value is "Scaled Entity". The
"Single App per Row" option can only be
selected by the user.

Name Unique name identifying the NetFlow Client. Mandatory. String value between 1 and
255 characters in length. With the following

© Copyright 2018 TeraVM Java Client User Guide Page 502


Aeroflex Limited. All
rights reserved.
8.2.18.2.2. Export Agent Details

Field Description Validation


valid chars: 'a-zA-Z0-9 .{}<>[]()@#&*%_
+=!-'

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host or
Hosts for this Test Group. Subnet Host. A user is not able to choose
multiple hosts for a single application.

UDP Port The Port on which the NetFlow Client will bind to it's host. Default value 4739. Integer with a min and
max value between 0 and 65535.

Use Next Available If the port is set to Use Next Available, the application will Default value is set to false. When the "Use
bind to the first available, non-privileged port. Next Available" option is enabled (set to
TRUE). the numeric input field will become
unavailable.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.18.2.2. Export Agent Details


The following Export Agent Details dialog is displayed for provisioning the Netflow Export Agent
Application. Configure the options in the dialog as required using the guidelines to the parameters provided
in the table. The example that follows shows IPFX - AnyConnect is selected and therefore Create Reverse
Flows is disabled.

When Create Reverse Flows is enabled, the flow direction field (field 61) is set to 0x01 for the egress
flow with the same protocol and application ID as the forward flow. IP addresses, ports and interfaces are
reversed with independent values for the number of packets and bytes.
Table 8-199. Example of Forward Flow and Reverse Flow

Field Name Forward Flow Reverse Flow

Source IP Address 10.10.10.10 20.20.20.20

Destination IP Address 20.20.20.20 10.10.10.10

Source Port 1024 80

Destination Port 80 1024

Flow Direction 0x00 (ingress) 0x01 (egress)

Ingress Interface 3 2

Egress Interface 2 3

Protocol TCP TCP

Application ID 3:1234 3:1234

Number of Packets 104 222

Number of bytes 12568 25324

Figure 8-233. Netflow Export Agent (IPFIX - AnyConnect)

© Copyright 2018 TeraVM Java Client User Guide Page 503


Aeroflex Limited. All
rights reserved.
8.2.18.2.2. Export Agent Details

Table 8-200. Netflow Export Agent Details Fields

Field Description Validation

Netflow Collector Used to select the NetFlow Collector Application that Mandatory. The user can only select one of the
will receive the traffic. following, previously configured, applications:
- External Netflow Collector;
- UDP Sink

Export Agent Type Used to select between the choice of: Mandatory. IPFIX - AnyConnect is the default
setting.
• IPFIX - AnyConnect
• IPFIX - Generic

Template Resource Uses the "resource list" item (like in Add Playback Mandatory. Only capture files are accepted for
resource list) to allow to upload a template file. this field.
A default resource list will be created for ASA
AnyConnect

Template Replay Interval Sets how often the template will be replayed. 1 minute default setting.

Template Indexes Used to select which template within the template Mandatory.
file the NetFlow packets will use. There are four
Enter Index - User can enter a number to
selections to choose from.
identify the template they want to use.
• Enter Index

© Copyright 2018 TeraVM Java Client User Guide Page 504


Aeroflex Limited. All
rights reserved.
8.2.18.2.3. Netflow Field Details

Field Description Validation


• First First - (default state) all the netflow data packets
will use the first template defined in the template
• Random
file.
• Round Robin
Random - TeraVM will pick a template ID and
will send all the packets that use this template
Round Robin - Netflow packets representing
traffic from the first flow will use the first
template, the next flow will use the second
template,and so on. All packets coming from
the same flow will use the same template When
all the templates have been used, it will restart
from the first one and loop through the templates
again. If there are less flows than templates, not
all the templates will be used simultaneously:
when the flows expire, they will be replaced by
new flows that will use the following indexes in
the list.

Enter Index When this value is left in the Template Indexes Must enter a number that corresponds to a valid
drop-down box. You can enter the number of the Index. The test fails if the chosen index is not
Template Index you want to select. valid.

Number of Flows per Test The number of flows allowed per Test Agent. Default value 1000. Value can be in the range of
Agent 1 to 1,000,000.

Create Reverse Flows Check box for the creation of reverse flows, only Boolean value. Default value:
available when Export Agent type is IPFIX -
• True - if Export Agent Type is IPFIX-
Generic.
Generic.
• False - if Export Agent Type is IPFIX-
AnyConnect. (Disabled)
Mandatory.

Flow Records Rate Number of flow records per second. There can be Default value: 1000 seconds. Value checks the
more than one flow record per packet so this does range of 1 - 10000000.
not directly indicate the number of packets.
Mandatory.

Flow Duration Used to define how long a flow will last. Default value: 5 minutes. This value can be
anywhere in the range of 1 second to 24 hours.
When this time period expires, new flows will be
created to replace those that have finished.

Flow Records per Packet Choose if the number of flows per packet should be Default value: Max. Value check for either "Max"
specified or allow as many flows as possible. or "Specify".
Mandatory.

Specify Flows per Packet Maximum number of flows per packet when Flows Default value: none. This value can be anywhere
per Packet is set to Specify. in the range of 1 to 100.
Mandatory.

8.2.18.2.3. Netflow Field Details


The following section shows an example of the Netflow field settings with a table that follows to provide a
description for each field.

© Copyright 2018 TeraVM Java Client User Guide Page 505


Aeroflex Limited. All
rights reserved.
8.2.18.2.3. Netflow Field Details

IP Addresses - IP addresses can be either IPv4 or IPv6. They do not need to be of the same type as the
host.

Figure 8-234. NetFlow Field Details

Table 8-201. Netflow Export Agent Details Fields

Field Description Default Netflow Field Identifier

Source IP Subnet Gives an option to input a masked IP 10.0.0.0/16 8 if IPv4


address, either IPv4 or IPv6.
27 if IPv6

Source Port Range of ports By default, the "Use Random 7


Port" option is checked, so
there will be no certain default
port number defined.

Destination IP Subnet Gives an option to input a masked IP 172.16.0.0/16 12 if IPv4


address, either IPv4 or IPv6.
28 if IPv6

Destination Port A Range of ports 80 11

Protocol String List Configuration item. These 6, 17 4


values are the decimal representation

© Copyright 2018 TeraVM Java Client User Guide Page 506


Aeroflex Limited. All
rights reserved.
8.2.18.2.4. Netflow AnyConnect Field Details

Field Description Default Netflow Field Identifier


of the protocol number, 6 for TCP, 17
for UDP.

Application ID/Engine Engine part of the Application ID field. 1-13 Application ID 95


Value can be in the range of 0 - 255.
Engine 101
Optional value, if Engine ID is set,
Selector ID must be set as well.

Application ID/ Selector Selector part of the Application ID field. 1-255 Application ID 95
Value in the range of 0 - 4294967295.
Selector 302
Optional value, if Engine ID is set,
Selector ID must be set as well.

Ingress Interface Index of the Ingress Interface. Value in 1-10 10


the range of 0 - 4294967295. Optional
Value

Egress Interface Index of the Egress Interface. Value in 1-10 14


the range of 0 - 4294967295. Optional
value.

Octets/Packet Integer or profile. Represents the Default value: 2


number to be filled in for the octet count octetIncrementDefaultProfile
field in the NetFlow data packet for a
range 512-1024
simulated flow at each transmission for
that flow. The value will be (Random
value picked from the profile / Fixed
numerical value filled in by the user) *
(Increment of number of packets of the
Flow).

8.2.18.2.4. Netflow AnyConnect Field Details


This dialog is only used when the IPFX - AnyConnect is selected as the Export Agent from the Export
Agent Details dialog. The following section shows the default settings for the AnyConnect with a table to
describe each field.

© Copyright 2018 TeraVM Java Client User Guide Page 507


Aeroflex Limited. All
rights reserved.
8.2.18.2.4. Netflow AnyConnect Field Details

Figure 8-235. Netflow AnyConnect Field Details

Table 8-202. Netflow Export Agent Details Fields

Field Description Default Netflow Field Identifier

OS Name String List Configuration item. A For example: Win10, Win7 Mac 12334
list of operating system names OS X, iOS, Android, Linux.
to be used for the data packet
generation.

System Manufacturer String List Configuration item. A For example: Manf-1, Manf-2, 12336
list of system manufacturers. Manf-3, Manf-4, Manf-5,
Manf-6, Manf-7, Manf-8,
Manf-9, Manf-10

Process Name String List Configuration item. A For example: firefox.exe, 12340
list of processes names. chrome.exe, ie.exe, safari.exe

Parent Process Name String List Configuration item. A For example: explorer.com 12342
list of parent processes names.

DNS Suffix String List Configuration item. A For example: cisco.com 12344
list of DNS suffix names.

© Copyright 2018 TeraVM Java Client User Guide Page 508


Aeroflex Limited. All
rights reserved.
8.2.18.2.5. Additional Configuration

8.2.18.2.5. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.18.3. Provisioning a Netflow Collector


This section shows the dialog for each step through the wizard for provisioning a Netflow Collector. Those
provisioning steps are:

• Application Details

• External Properties

8.2.18.3.1. Application Details


This section shows the Collector Application Details default settings and gives a description for each of its
fields.

Figure 8-236. Collector Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 509


Aeroflex Limited. All
rights reserved.
8.2.18.3.2. External Properties

Table 8-203. Netflow Collector Application Details Fields

Field Description Validation

Name A unique identifier for the Netflow collector application. Mandatory. String value between 1 and
255 characters in length.

Description Gives the option to add a description to the Netflow String value between 1 and 512 characters
collector application. in length. No Default.
Optional.

External Host Select an External Host from the list of the previously Select from the list of External Hosts.
configured IP Hosts for this Test Group.

UDP Port Enter UDP Port Number. Default set to 4739. Integer value between
0 and 65535.

8.2.18.3.2. External Properties


The Collector External Properties dialog allows you to add any additional external properties. The External
Properties dialog enables you to configure a list of string parameter/value pairings to which no intelligence
will be applied by TeraVM.

Figure 8-237. CoAP Server – Collector External Properties

© Copyright 2018 TeraVM Java Client User Guide Page 510


Aeroflex Limited. All
rights reserved.
8.2.18.3.2. External Properties

To enter a Property/Name value pair, click on the Add button on this page, and the Add Property Value
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 511


Aeroflex Limited. All
rights reserved.
8.2.19. POP3 Applications

8.2.19. POP3 Applications


The Post Office Protocol (Version 3) is an application-layer Internet standard communication protocol that
is, used to retrieve electronic mail from a Mail server. The protocol defines a mechanism for delivering
electronic mail messages to a mail reader by allowing POP3 clients request mails from a remote POP3
server. The messages can then (optionally) be stored locally by the mail reader.

When operating over a TCP/IP network (the only mechanism supported by TeraVM), a POP3 server usually
accepts connections from POP3 clients on TCP port 110.

TeraVM supports the following POP3 applications:

• POP3 Client Application

• POP3 Server Application

• External POP3 Server Application

8.2.19.1. Provisioning a POP 3 Server


A POP3 server will create a TCP listener on a specified port. When a TCP connection is received, the server
will allocate resources to respond to commands on the new connection and it will then continue to listen for
more new connections. After a connection is established, the server simply monitors that connection and
processes commands received from POP3 clients returning appropriate responses to each command.

A TeraVM server is very basic in that, the server does not store mail on a per user basis. Instead the server
is configured with a fixed number of messages (Message Count) which it returns to any client requesting
mail for any user. The size of the messages returned can be varied by applying a profile to the property
representing the message size (Individual Message Size).

If you select to add an POP3 Server Application, the Add New POP3 Server Wizard dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 512


Aeroflex Limited. All
rights reserved.
8.2.19.1.1. Application Details

Figure 8-238. Add New POP3 Server Application Wizard

The following steps are required to provision a POP3 Server Application.

• Application Details

• Server Details

• Additional Configuration

8.2.19.1.1. Application Details


The following information is required for the Application Details step of the wizard:
Table 8-204. POP3 Server Application Fields

Field Description Validation

Number of Servers A server is created as either an application in a single row Default is 1. When more than 1 is enters
in the Application Display Window or based on scaled the Configure As field changes to Scaled
entity where the Number of Servers is the scale factor for Entity automatically. Refer to the section
the scaled server. on Bulk and Batch Provisioning for more
details on using this field.

© Copyright 2018 TeraVM Java Client User Guide Page 513


Aeroflex Limited. All
rights reserved.
8.2.19.1.2. Server Details

Field Description Validation

Configure As Configures how the server(s) are provisioned. Either as Mandatory. Options: ‘Single App Per Row’
a single application per row in the Application Display and ‘Scaled Entity’. Default: ‘Single App
Window, or as a scaled entity. Refer to the sections Per Row’
on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field.

Name Unique name identifying the POP3 Server Application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

TCP Port The TCP Port on which the POP3 Server will listen for Integer value between 0 and 65535.
TCP connections. Default is 25. Advanced TCP
Characteristics can be configured by
clicking on the Advanced TCP button in
this step. Refer to the chapter on TCP
Configuration.

ToS/DiffServ Quality of Service metric for the POP3 Server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.19.1.2. Server Details


After entering the information required for the POP3 Server Application details, the next step of the wizard
displays the Server Details dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 514


Aeroflex Limited. All
rights reserved.
8.2.19.1.3. Additional Configuration

Figure 8-239. POP3 Server Wizard - Server Details

The following information is required to provision the POP3 Server Application - Server Details.
Table 8-205. POP3 Server Application Server Details

Field Description Validation

No. of Messages on each Number of messages available on the server for popping. Mandatory. Integer value. Min of 0 and a
Server max of 10000 with a default of 0.

Size of each Message Size of each message which will be returned during pop. Mandatory. Can have an Integer value or
This must be > 0 if the No. Of Messages on Server is > 0. a profile. Min value of 0 and a max value
of 5000000 (bytes) with a default of 0. If
the message count is 0 then the individual
message size must be 0. Supported
Metrics are KiB and MiB with KiB as the
default.

8.2.19.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 515


Aeroflex Limited. All
rights reserved.
8.2.19.2. Provisioning a POP3 Client

8.2.19.2. Provisioning a POP3 Client


A TeraVM POP3 client, once started, will continuously attempt to open TCP connections to the selected
POP3 server and once established, attempt to pop relevant mail from the server, until such time as the
POP3 client is stopped. A POP3 session occurs in a single TCP connection between the POP3 client and
the POP3 server, and once complete, the POP3 client will close the TCP connection. A POP3 session is
created when a remote user uses a POP3 client to connect to a mailbox on a POP3 server and it ends when
the remote user disconnects from the mailbox.

The destination for the packets sent from the Client will typically be a either a TeraVM POP3 server or
External POP3 server application.

The following wizard is displayed for provisioning an POP3 Client Application:

Figure 8-240. POP3 Client - Application Details

The steps required to provision an SMTP Transmitter Application are:

• Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 516


Aeroflex Limited. All
rights reserved.
8.2.19.2.1. Application Details

• Addressing Details (Only appears if the Configure As field is set to either "Single Client per Row -
Varied Address" or "Multiple Clients per Row",. Refer to the section on Bulk and Batch Provisioning for
details of this steps)
• Client Details
• Additional Configuration

8.2.19.2.1. Application Details


The following general information is required for a POP3 Client Application:
Table 8-206. POP3 Client - Application Fields
Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Single Client Per Row - Varied
field.
Address
When using this option, the No. of
Clients field will represent the No. of
Rows.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the POP3 Client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host or
Hosts for this Test Group. Subnet Host.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

TCP Port The TCP Port on which the POP3 Client will bind to it's Integer with a min and max value between
host. If the port is set to the wildcard port, the application 0 and 65535. Default is the wildcard that
will bind to the first available, non-privileged port. is, Use Next Available. Advanced TCP and
rate Limit Characteristics can be configured
by clicking on the Advanced TCP button

© Copyright 2018 TeraVM Java Client User Guide Page 517


Aeroflex Limited. All
rights reserved.
8.2.19.2.2. Client Details

Field Description Validation


in this step. Refer to the chapter on TCP
Configuration and Rate Limit Configuration.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.19.2.2. Client Details


The following Client Details dialog is displayed for provisioning the POP3 Client Application.

Figure 8-241. POP3 Client - Client Details

The following information is required for this dialog:


Table 8-207. POP3 Client Application - Client Details

Field Description Validation

Server TeraVM or external server with which the POP3 client will Required. When provisioning more than
communicate. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

© Copyright 2018 TeraVM Java Client User Guide Page 518


Aeroflex Limited. All
rights reserved.
8.2.19.2.3. Additional Details

Field Description Validation

User List Group of users and their passwords to be used when Mandatory. In the format of
retrieving mail from the server. username@domain. Select from a
previously configured User Group List or
create a new one. Refer to the section on
SMPT/POP3 Configuration in Chapter 11.

Delete Messages from If enabled, this field indicates that messages should be Enabled or Disabled. Default is Disabled.
Server deleted from the server after they have been retrieved.
If the client leaves mail on the server, then it will re-read
mail.

Delay Between Sessions Delay between each POP3 session. Mandatory. Can have a value in the range
0 - 60,000 (ms). It can also be a profile with
min and max values within this range. 0
means no delay. Default is 0. Supported
metrics are ms and sec with ms as the
default.

Start Inactive Period After Number of sessions after which the POP3 Client will Can have an integer value in the range
cease it's activities, waiting a defined period of time before 0 - 100. 0 means no inactivity will occur.
resuming activity. Default is 0.

Period of Inactivity Period of time during which no activity will take place. This Can have a value in the range 0 -
period of inactivity will begin once the specified number of 3,600,000 (ms). It can also be a profile with
sessions (Start Inactive Period After) have occurred. This min and max values within this range. This
value must be 0 if the Number of Sessions is 0. can be non-zero only when the Number of
Sessions is non-zero. 0 means no inactivity
will occur. Default is 0. Supported metrics
are ms, sec, min and hour with ms as the
default.

8.2.19.2.3. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.19.3. Provisioning an External POP3 Server


The External POP3 Server represents a non-TeraVM POP3 Server.

If you select to add an External POP3 Server Application, the Add New External POP3 Server Wizard
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 519


Aeroflex Limited. All
rights reserved.
8.2.19.3.1. Application Details

Figure 8-242. Add External POP3 Server Application Wizard

8.2.19.3.1. Application Details


The following information is required for this step of the wizard:
Table 8-208. External POP3 Server Application Fields

Field Description Validation

Name Unique name identifying the External POP3 Server Mandatory. String value between 1 and
Application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Select from the list of External Hosts.
hosts which the server will use to access the SUT.

TCP Port The TCP Port on which the Receiver will listen for TCP Integer value between 0 and 65535.
connections. Default is 25.

8.2.19.3.2. External POP3 Server Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

© Copyright 2018 TeraVM Java Client User Guide Page 520


Aeroflex Limited. All
rights reserved.
8.2.19.3.2. External POP3 Server Properties

Figure 8-243. External POP3 Server Properties

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Figure 8-244. Add Property Value Dialog

Enter a Name/Value pair and click on the <OK> button.

© Copyright 2018 TeraVM Java Client User Guide Page 521


Aeroflex Limited. All
rights reserved.
8.2.20. Raw Port Playback Applications

8.2.20. Raw Port Playback Applications


In a Raw Port Playback test, TeraVM transmits the content of a pcap or snoop capture file directly onto the
SUT exactly as it finds it in the specified resource file. The libpcap or snoop capture file is configured as part
of a Resource List.

Raw Port Playback tests are different to other tests in the following ways:

• They does not use a host to access the SUT.

• They do not interact with servers (internal or external).

• The application is completely stateless. It simply replays the contents of a capture file (or files) through
a physical port.

8.2.20.1. Provisioning Raw Port Playback


If you select to add a Raw Port Playback Application, the Add New Raw Port Playback Application
Wizard dialog is displayed.

Figure 8-245. Raw Port Playback Application Details Dialog

The following information is required for the Application Details step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 522


Aeroflex Limited. All
rights reserved.
8.2.20.1.1. Additional Configuration

Table 8-209. Raw Port Playback Application Fields

Field Description Validation

Name Unique name identifying the Raw Port Playback Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the Raw String value between 1 and 512 characters
Port Playback application. in length. No Default. Optional.

Physical Interface The test port out of which the packets will be transmitted. Mandatory. Select from the available list.
This application takes over the port that is, no other
application can run on it.

Playback Resource Lists List of pcap files with TCP conversations Mandatory. Choose an existing resource
list or create one and then choose it. The
selected Resource List must also be used
by the TCP Playback Client. Refer to the
section on Playback Resources in Chapter
11 - Configuration.

Delay Between Resources Delay between finishing sending one resource and Can have an integer value or a profile
starting to send the next. with max and min values of 0 and 60,000
(ms) respectively . Default is 0. Allowable
metrics are ms and sec with ms as the
default.

8.2.20.1.1. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.21. Head End Monitor Applications


TeraVM can provide a test scenario for a reference signal generated before the data hits the IP network, for
example, in the case of a Satellite signal which is transformed into an IP packet stream at the HEAD END of
the network.

The Head End Monitor application simply provides the ability to capture the incoming packets on a TeraVM
port.

This application is similar to the Raw Port Playback application, that is, :

• It does not use a Host to access the SUT.

• It does not interact with Servers (internal or external)

• It is completely stateless. It simply facilitates the capturing of packets on a specified interface

8.2.21.1. Provisioning a Head End Monitor


If you select to add a Head End Monitor Application, the Add New Head End Monitor Application Wizard
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 523


Aeroflex Limited. All
rights reserved.
8.2.21.1.1. Video Characteristics

Figure 8-246. Head End Monitor Application Details Dialog

The following information is required for the Application Details step of the wizard:
Table 8-210. Head End Monitor Application Fields

Field Description Validation

Name Unique name identifying the Head End Monitor Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the Head String value between 1 and 512 characters
End Monitor application. in length. No Default. Optional.

Physical Interface The port (interface) on which packets will be captured. Mandatory. Select from the available list.
The TeraVM port cannot be used for anything else.

8.2.21.1.1. Video Characteristics


The Video Characteristics Configuration step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 524


Aeroflex Limited. All
rights reserved.
8.2.22. PPPoE Server

Figure 8-247. Head End Monitor Video Characteristics Configuration Dialog

The following details are required for this dialog:


Table 8-211. Head End Monitor Application - Video Characteristics Configuration

Field Description Validation

Frame Rate Integer value that describes the rate at which video frames Mandatory. Allowed values are 1 - 5,000.
will be received. Default 50.

Image Width Integer value that describes the width of the video image. Mandatory. Allowed values are 1 - 5,000.
Default 720.

Image Height Integer value that describes the height of the video image. Mandatory. Allowed values are 1 - 5,000.
Default 576.

Pixel Encoding String value that describes the pixel encoding of the video Mandatory. Default "YUV". Max 50 chars.
image.

8.2.22. PPPoE Server


Point-to-Point Protocol (PPP), is a data link layer protocol which is commonly used to establish a direct
connection between two nodes. Most Internet Service Providers use PPP for customers' dial-up access to
the Internet. One of the important features of PPP which TeraVM supports is Link Control Protocol (LCP).
LCP is used in setting up PPP communications. It is responsible for configuring, maintaining and terminating
the overall PPP link.

© Copyright 2018 TeraVM Java Client User Guide Page 525


Aeroflex Limited. All
rights reserved.
8.2.22.1. Provisioning a PPPoE Server

Point-to-Point Protocol over Ethernet (PPPoE), is a network protocol which encapsulates Ethernet frames.
Ethernet networks are packet-based and have no concept of a connection or circuit. But using PPPoE,
users can virtually "dial" from one machine to another over an Ethernet network, establish a point to point
connection between them and then transport data packets over the connection.

PPPoE has two distinct stages:

• Discovery

• Session

When a Host wishes to initiate a PPPoE session, it must first perform Discovery to identify the Ethernet
MAC address of the peer and establish a PPPoE session ID. While PPP defines a peer-to-peer relationship,
Discovery is inherently a client-server relationship. In the discovery process, a Host (the client) discovers
an Access Concentrator (the server). Based on the network topology, there may be more than one access
concentrator that the host can communicate with. The Discovery stage allows the host to discover all Access
Concentrators and then select one. When Discovery completes successfully, both the host and the selected
Access Concentrator have the information they will use to build their point-to-point connection over Ethernet.

There are 4 steps involved in the Discover stage:

1. The host broadcasts the initiation packet, PPPoE Active Discovery Initiation ( PADI).

2. One or more Access Concentrators (servers) send offer packets, PPPoE Active Discover Offer
( PADO), to the host.

3. The host sends the unicast session request packet, PPPoE Active Discovery Request ( PADR), to the
Access Concentrator from which it requests service.

4. The selected Access Concentrator sends the confirmation packet, PPPoE Active Discovery Session-
confirmation (PADS), to the host.

Once in the session stage, PPP data is sent as in any other PPP encapsulation.

To tear down or close the session, either the host or the Access Concentrator sends the termination packet,
PPPoE Active Discovery Terminate (PADT). PPP supports a number of authentication protocols including:

• Password Authentication Protocol (PAP)

• Challenge Handshake Authentication Protocol (CHAP)

Both of these authentication protocols are used to validate the identity of remote clients. Both utilise user
names and passwords as a means of identification and authentication of the clients.

Internet Protocol Control Protocol (IPCP), is used to establish and configure IPv4 over a PPP link. IPCP is
responsible for configuring, enabling, and disabling the IPv4 protocol modules on both ends of the point-
to-point link. An important feature of IPCP is the ability for an IPCP enabled PPPoE server to assign IPv4
addresses to IPCP enabled clients. It is a requirement that the TeraVM PPPoE server supports IPCP.

8.2.22.1. Provisioning a PPPoE Server


If you select to add an PPPoE Server, the Add New PPPoE Server Wizard dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 526


Aeroflex Limited. All
rights reserved.
8.2.22.1.1. Application Details

Figure 8-248. Add New PPPoE Server Wizard

The steps following are required to provision an PPPoE Server application are:
• Application Details
• Configure Settings
• IPCP Configuration

8.2.22.1.1. Application Details


The following information is required for the Applications Details step:
Table 8-212. PPPoE Server Application Fields

Field Description Validation

Name Unique name identifying the PPPoE Server Application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct Virtual Host with a
hosts which the server will use to access the SUT. statically assigned IPv4 Address to access
the network. That host must not be PPPoE

© Copyright 2018 TeraVM Java Client User Guide Page 527


Aeroflex Limited. All
rights reserved.
8.2.22.1.2. Server Settings

Field Description Validation


enabled. The host must have a Gateway
assigned to pass runtime validation.

8.2.22.1.2. Server Settings


The following dialog is displayed for the Configure PPPoE Settings step of the wizard.

Figure 8-249. Configure PPPoE Settings Dialog

The following information is required for this dialog:


Table 8-213. PPPoE Settings

Field Description Validation

Service Name The Service Name to use for the PPPoE session. If more Optional. String value between 0 and 1474
than one TeraVM PPPoE Server replies with a PADO characters in length. Valid characters are
packet, the PPPoE client will select the TeraVM PPPoE alphanumeric characters or .<>{}[]@#()&*
Server for a particular server using the supplied service %_-+= No defaults.
name.

Access Concentrator The Access concentrator name to use for the PPPoE Optional. String value between 0 and 1474
session. If more than one TeraVM PPPoE Server replies characters in length. Valid characters are
with a PADO packet, the PPPoE client will select the

© Copyright 2018 TeraVM Java Client User Guide Page 528


Aeroflex Limited. All
rights reserved.
8.2.22.1.2. Server Settings

Field Description Validation


TeraVM PPPoE Server for a particular server using the alphanumeric characters or .<>{}[]@#()&*
supplied name. %_-+= No default value..

Retransmit Timer This numeric value specifies the delay between Default is 3000ms. Integer value between
retransmission for various PPPoE, PPP and LCP packets. 1000 and 3600000 ms.

MRU Maximum Receive Unit (MRU). This defines the size of Mandatory. Integer value between MTU
the largest PPPoE packet that the PPPoE server can and 9216. Default is 1492.
receive.

Authentication Specifies the type of authentication used by the server None, PAP, CHAP Default: None
to authenticate a user to a remote access server or ISP
using username and password.

Starting Session ID The starting session ID which the PPPoE server will give Default is 1.
out to clients.

By clicking on the Advanced button on this dialog, the Advanced PPPoE Settings dialog is displayed which
enables you to complete all the information related to PPPoE settings that need to be configured.

Figure 8-250. Advanced PPPoE Settings

The following PPPoE settings can entered in this dialog:


Table 8-214. Advanced PPPoE Settings

Field Description Validation

Use A/C Cookie Option to use the A/C Cookie tag. PPPoE can detect DoS Default is ticked.
attacks using A/C Cookies.

Double Retransmit Time Option to use double the retransmit time for the TeraVM Mandatory. Default is not ticked.
PPPoE Server. It doubles the time to re-transmit the
packets.

Use Magic Number Option to use the magic number. PPP detects looped Mandatory. Default is ticked.
links using magic numbers. LCP message may include
a magic number. If a line is looped, the node receives a
LCP message with its own number, instead of getting a
message with the peer's magic number.

© Copyright 2018 TeraVM Java Client User Guide Page 529


Aeroflex Limited. All
rights reserved.
8.2.22.1.3. IPCP Settings

Field Description Validation

Test Request Mode The type of packet to be sent over the LCP link to test/ None, Echo, Discard. Default is Echo.
debug the link.

Test Payload Size The size of the LCP request/replies tests packets. Specific value or a profile. Integer value
between 0 and 9216. Minimum value is 0
- this will still send a valid echo request.
The maximum value should be the value of
the local MRU. Default is 1492. On some
hardware test packets may not be sent if
the Test Payload Size is greater than 1492.

Test Interval In the LCP echo/discard requests/replies, the delay Integer value between 1000 and 3600000
between these LCP test packets. ms. Default is 30 seconds. The frequency
can be specified in ms, sec or min. Default
is sec.

8.2.22.1.3. IPCP Settings


The IPCP dialog enables you to specify a range of addresses that the TeraVM PPPoE Server will assign to
PPPoE clients.

Figure 8-251. IPCP Settings

© Copyright 2018 TeraVM Java Client User Guide Page 530


Aeroflex Limited. All
rights reserved.
8.2.23. DHCPv4 Server Applications

The following fields are required for this dialog:


Table 8-215. IPCP Settings

Field Description Validation

Starting IP Address/Prefix The starting IP Address used as the base for creating No default.
the previously specified No of IP Addresses. All these
addresses are then available for allocation to PPPoE
enabled clients.

No. of IP Addresses Specifies the number of IP Addresses to be created and Mandatory. Default is 100. Min is 1 and
which are available for allocation to PPPoE Enabled Max is controlled by the specified Start IP
clients. Address and Prefix.

8.2.23. DHCPv4 Server Applications


Dynamic Host Configuration Protocol (DHCP) is a network protocol used by devices (DHCP clients) to
obtain configuration information for operation in IP networks. This protocol reduces system administration
workload, allowing devices to be added to the network with little or no manual intervention.

DHCP operations fall into four basic phases. These phases are IP discovery, IP lease offer, IP request, and
IP lease acknowledgement.

When a DHCP-configured client connects to a network, the DHCP client sends a discovery query requesting
necessary information from a DHCP server. DHCP servers manage a set of IP addresses and other
information about client configuration parameters such as the default gateway, the domain name, the DNS
servers, other servers such as time servers, and so forth. Upon receipt of a valid request, the server will
assign the DHCP client an IP address, a lease (the length of time for which the assigned IP address is
valid), and other IP configuration parameters, such as the subnet mask and the default gateway.

DHCP provides three modes for allocating IP addresses. The best-known mode is dynamic, in which
a DHCP client is provided a "lease" on an IP address for a period of time. At any time before the lease
expires, a DHCP client can request a renewal of the lease on its current IP address. A properly functioning
client will use the renewal mechanism to maintain the same IP address throughout its connection to a single
network, otherwise it may risk losing its lease while still connected, thus disrupting network connectivity
while it renegotiates with the server for its original or a new IP address.

The TeraVM DHCP server is an implementation of a DHCPv4 Server and supports most of the functionality
described above. It is capable of providing both DHCPv4 enabled TeraVM hosts and external DHCPv4
clients with IP addresses and other configuration parameters such as default gateway, subnet mask, domain
name, DNS server and lease time. It will allocate IP addresses using only the dynamic allocation mode.

The DHCP Server tracks leases by mapping the leased IP Address to the MAC address of the Host that
holds the lease. Therefore, if two Hosts have the same MAC address, they will look like a single Host to the
DHCP Server. If they both request the same IP Address, the server will assume that these are repeated
DHCP requests from the same Host, (this could legitimately happen when a Host is taken Out of Service
then put back In Service), so it will offer the same address to both. The easiest way to avoid this confusion is
to ensure that DHCP-enabled Hosts have unique MAC addresses.

8.2.23.1. Provisioning a DHCPv4 Server Application


If you select to add a DHCPv4 Server, the Add New DHCPv4 Server Wizard dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 531


Aeroflex Limited. All
rights reserved.
8.2.23.1.1. Application Details

Figure 8-252. Add New DHCPv4 Server Wizard

The steps required to provision a DHCPv4 Server application are:

• Application Details

• IP Address Assignment

• Client Configuration pms

• Server Settings

8.2.23.1.1. Application Details


The following information is required for the Applications Details step:
Table 8-216. DHCPv4 Server Application Fields

Field Description Validation

Name Unique name identifying the DHCPv4 Server Application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

© Copyright 2018 TeraVM Java Client User Guide Page 532


Aeroflex Limited. All
rights reserved.
8.2.23.1.2. IP Address Assignment

Field Description Validation

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct Virtual Host with a
hosts which the server will use to access the SUT. statically assigned IPv4 Address to access
the network. That host must not be PPPoE
enabled. The host must have a Gateway
assigned to pass runtime validation and
only one DHCPv4 Server can be created
on any given combination of interface/vlan.

8.2.23.1.2. IP Address Assignment


The following dialog is displayed for the IP Address Assignment step of the wizard.

Figure 8-253. DHCPv4 IP Address Assignment Dialog

The following information is required for this dialog:


Table 8-217. DHCPv4 Server Address Assignment

Field Description Validation

Subnet The subnet from which the leased IP Addresses are Mandatory, IPv4 address. Cannot be a
taken. loopback or multicast address. Default
value is the subnet the Server's host is in.

© Copyright 2018 TeraVM Java Client User Guide Page 533


Aeroflex Limited. All
rights reserved.
8.2.23.1.3. Client Configuration Parameters

Field Description Validation

Start IP Address within The first IP Address in the range of IP Addresses to lease Mandatory, IP v4 address. Cannot be a
Subnet to clients. loopback or multicast address. Must be
within the specified "Subnet" and different
to the Server's host IP Address. Default
value is the first assignable IP Address in
subnet - unless that address is owned by
the Server's host, in which case the next
address is the default.

No. of IP Addresses This numeric value specifies the number of IP Addresses Default is 1. Integer value between 1 and
available for leasing to clients. the number of addresses in the range.

8.2.23.1.3. Client Configuration Parameters


This dialog identifies the configuration parameters the Server will send to DHCPv4 clients.

Figure 8-254. DHCPv4 Client Configuration parameters

The following fields are required for this dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 534


Aeroflex Limited. All
rights reserved.
8.2.23.1.4. Server Settings

Table 8-218. Client Configuration parameters

Field Description Validation

Gateway IP The IP Address clients should use as their default Mandatory, IPv4 Address. Cannot be a
Gateway. loopback or multicast address. Must be
within the "Subnet" specified but not within
the list of leasable addresses.

DNS Server IP The IP Address of the DNS Server clients should use. Optional, no default. IPv4 Address

Domain The Domain Name clients should use. Optional, no default. String of 1 - 32
characters.

Lease Time The time for which the DHCPv4 Server will lease an IP Mandatory, no default. Can be Infinite or
ddress to the client. a value betweeen 0 and 4294967 secs.
Supported metrics are secs, mins, hrs,
days.

Rebinding Time The time after which the client will attempt to obtain/renew Optional, no default. Can be Infinite or
an IP Address again with any DHCPv4 Server. a value betweeen 0 and 4294967 secs.
Supported metrics are secs, mins, hrs,
days.

Renewal Time The time after which the client will attempt to obtain/renew Optional, no default. Can be Infinite or
an IP Address again with the original DHCPv4 Server from a value betweeen 0 and 4294967 secs.
which it got it's address. Supported metrics are secs, mins, hrs,
days.

8.2.23.1.4. Server Settings


The following dialog is displayed for the Server Settings step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 535


Aeroflex Limited. All
rights reserved.
8.2.24. TWAMP

Figure 8-255. DHCPv4 Server Settings Dialog

The following information is required for this dialog:


Table 8-219. DHCPv4 Server Settings

Field Description Validation

Broadcast DHCP Offer If enabled, the Server will deliver broadcast DHCP Offer Optional. Default is Disabled.
Messages Messages.

Include Relay Agent If enabled the Server is "Relay Agent aware" and will echo Optional. Default is Disabled.
Information in Replies Option 82 (Relay Agent Info) in its replies.

8.2.24. TWAMP
TWAMP (Two-Way Active Measurement Protocol) is a "Ping-like" protocol that is, used to measure the
network latency between IP, (v4 or v6), endpoints. TWAMP builds upon OWAMP, (One-Way Active
Measurement Protocol), which is specified in RFC 4656.

There are four "components" to a TWAMP interaction:

1. A "Control Client" establishes a TCP connection with a "Server".

2. The Control Client and Server then negotiate test session parameters over this TCP connection.

© Copyright 2018 TeraVM Java Client User Guide Page 536


Aeroflex Limited. All
rights reserved.
8.2.24.1. Provisioning a TWAMP Server

3. Once the session parameters are agreed by both parties, the Control Client starts a "Session Sender".

4. The Server starts a "Reflector".

The Session Sender sends UDP packets to the Reflector, and the Reflector returns those packets to the
Session Sender, whereupon statistics such as round-trip times, lost packets, jitter, and so on. can be
calculated.

There are three types of TWAMP applications which can be provisioned in TeraVM. These are:

• TeraVM TWAMP Client Application

• TeraVM TWAMP Server Application

• External TWAMP Server Application

Within TeraVM, the term "Client" will be used in this specification to refer to the combination of "Control
Client/Session Sender", and the term "Server" will be used to refer to the "Server/Reflector".

The current version of TeraVM supports unauthenticated TWAMP. TeraVM TWAMP has support for Scaled
Entities on the TWAMP client and server applications.

8.2.24.1. Provisioning a TWAMP Server


If you select to add a TWAMP server, the Add New Server Wizard dialog is displayed.

Figure 8-256. TWAMP Server Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 537


Aeroflex Limited. All
rights reserved.
8.2.24.1. Provisioning a TWAMP Server

Scaled Entities can be edited by clicking the edit scalable properties button. The Name, Host(s), and
Control Port can be configured as Scaled Entities.
The steps following are required to provision a TWAMP Server application are:
• Application Details
• Additional Configuration
The following Application Details are required for provisioning a TWAMP server:
Table 8-220. TWAMP Server Application Fields

Field Description Validation

No. of Servers The number of entities to be created. Default value: 1. Mandatory. Type Integer.
Value checks: range from 1 to 50, 000,
000.

Configure As How the TWAMP Server Application will be scaled. Default value: Single App per Row.
Mandatory. Value checks:
• Single App per Row
• Scaled Entity
Dependencies:
• When the ‘No. of Servers’ is set to
have a value greater than 1, this field
is automatically set to ‘Scaled Entity’.
• The user will still be able to choose
‘Single App per Row’ when the ‘No. of
Servers’ is set to a value greater than
1.

Name Scalable field. Gives a unique name identifying the client. Mandatory. String value between 1 and
When using the name scaler, it defines how the TWAMP 255 characters in length.
Client Application will be scaled.
This field will be scaled when the No.
of Clients field is greater than 1 or the
Configure As field is set to Scaled Entity.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Scalable field. Defines what hosts will be used by the Default value: none. Mandatory. Value
TWAMP Server Application. checks: The hosts must be Direct Virtual
Host (DVH) or Indirect Virtual Host (IVH).
Dependencies:
• If the Configure As field is set to
Scaled Entity the user is able to
choose one scaled host or a list of
non-scaled hosts.
• If the Configure As field is set to and
the No. of Clients is set to ‘1’ the user
is able to choose only one non-scaled
host.
• If the Configure As field is set to
Scaled Entity or ‘Single App per Row’
then the scale factor of the application

© Copyright 2018 TeraVM Java Client User Guide Page 538


Aeroflex Limited. All
rights reserved.
8.2.24.1.1. Additional Configuration

Field Description Validation


can be greater, equal or less than the
scale factor of the scaled host.

Control Port Scalable field. The TCP Port that the TWAMP Server will Integer in the range 0 to 65535. Default is
listen on for incoming Control Session connections. Note: 861.
The default here is the OWAMP Control Port. This may
change if IANA assign a new port specifically for TWAMP.

Control QoS IP ToS/Diffserv bits for the Server's Control Sessions. Integer value between 0 and 255. Default
is 0.

Session QoS Default IP ToS/Diffserv bits for the Server's Test Sessions. Integer in the range 0 - 255. Default is 0
Note: If this value is 0, the Server will accept the QoS
specified by the connecting client, (if available). If
this value is non-zero, the Server will override any
recommended client value.

8.2.24.1.1. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.24.2. Provisioning a TWAMP Client


The following wizard is displayed for provisioning a TWAMP Client application:

Figure 8-257. Add TWAMP Client-Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 539


Aeroflex Limited. All
rights reserved.
8.2.24.2. Provisioning a TWAMP Client

Scaled Entities can be edited by clicking the edit scalable properties button. The Name, Host(s), and
Control Port can be configured as Scaled Entities.

The following details are required for the Application Details step of the wizard:
Table 8-221. TWAMP Client Application Fields

Field Description Validation

No. of Clients The number of entities created. Default value:1. Mandatory. Value checks:
range from 1 to 50, 000, 000.

Configure As How the TWAMP Client Application will be provisioned. Default value: Single App per Row.
Mandatory. Value checks:
• Single App per Row
• Scaled Entity
Dependencies:
• When the No. of Clients is set to have
a value greater than 1, this field is
automatically set to Scaled Entity.
• The user will still be able to choose
Single App per Row when the No. of
Clients is set to a value greater than
1.

Name Scalable field. Gives a unique name identifying the client. Mandatory. String value between 1 and
When using the name scaler, it defines how the TWAMP 255 characters in length.
Client Application will be scaled

© Copyright 2018 TeraVM Java Client User Guide Page 540


Aeroflex Limited. All
rights reserved.
8.2.24.2.1. Client Details

Field Description Validation


This field will be scaled when the No.
of Clients field is greater than 1 or the
Configure As field is set to Scaled Entity.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Scalable field that defines how the TWAMP Client Default value: none. Mandatory. Value
Application will be scaled. checks:
• The hosts must be Direct Virtual Host
(DVH) or Indirect Virtual Host (IVH).
Dependencies:
• If the ‘Configure As’ field is set to
Single App per Row and the No. of
Clients is set to ‘1’ the user is able to
choose only one non-scaled host.
• If the Configure As field is set to
Single App per Row and the ‘No. of
Clients is set to a value greater than
‘1’ the user is able to choose one non-
scaled host or a number of non-scaled
hosts equal to the value of the scale
factor of the application.
• If the Configure As field is set to
Scaled Entity then the scale factor of
the application can be greater, equal
or less than the scale factor of the
scaled host.

Control Port Scalable field. The Control port the Client will connect Usual validation for TCP client application
from. If the port is set to the wildcard port, the application ports. Integer value between 0 and 65535.
will bind to the first available, non-privileged port. Default is valedictory port that is, Use Next
Available check box is ticked.

Control QoS IP ToS/Diffserv bits for the Client's Control Sessions. Integer in the range 0 - 255. Default is 0

8.2.24.2.1. Client Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 541


Aeroflex Limited. All
rights reserved.
8.2.24.2.1. Client Details

Figure 8-258. Add TWAMP Client - Client Details

The following details are required for this step:


Table 8-222. TWAMP Client - Client Details

Field Description Validation

Server The TWAMP Server that this Client communicates with. A TWAMP Server/Reflector Application -
This can be a TeraVM TWAMP Server or an External either TeraVM or External TWAMP Server
TWAMP Server Application.

Source Port The UDP source port the Client will use for the Test Usual validation for UDP, (for example
Sessions. Note: By default, the TWAMP Client will ask RTP/VoIP), client application ports.
the Server to use the same port as the Client for the Integer value between 0 - 65535.
Test Session. If the Server cannot use that port, it may Mandatory. Default is wildcard port
respond with a suggested alternative port. In this case, that is, Use Next Available checkbox is
the Client will accept the Server-recommended port as the ticked.
destination port for Test Session UDP packets.

Destination Port The UDP destination port the Client will attempt use for Integer value between 0 - 65535, or a
the Test Sessions. Note: If the Use Session Source Port range of values that falls within these limits.
for Destination Port checkbox is ticked, the TWAMP Optional. Default is blank, (unspecified)
Client will ask the Server to use the same port as the
Client source port for the Test Session. In either case, if
the Server cannot use the specified port, it may respond
with a suggested alternative port. If this happens, the
Client will accept the Server-recommended port.

Session QoS IP ToS/Diffserv bits for the Client's Test Sessions. Integer in the range 0 - 255. Default is 0.

© Copyright 2018 TeraVM Java Client User Guide Page 542


Aeroflex Limited. All
rights reserved.
8.2.24.2.2. Additional Configuration

Field Description Validation

Delay between Packets Delay between UDP packets in Test Session. Integer or Profile. Valid values are 1 to
3600000 (ms). Valid units are milliseconds
or seconds. Default is 100 milliseconds

Payload Size UDP Payload Size for Test Session packets. Integer or Profile. Valid values are:
• IPv4: 41 - (MTU - 28)
• IPv6: 41 - (MTU - 48).
Default is 100 bytes.

Session Duration Duration of each Test Session. Note: Currently only one Integer or Profile. Valid values are
Test Session is supported per test run. This limitation is 0 to 3600000 (secs). Valid units are
being imposed so that the statistics collected at the end of milliseconds or seconds. Default is
the test will represent "per-session" stats. 900 seconds, (15 minutes). Note: If the
Indefinite Session Duration Enabled
checkbox is ticked, the session duration is
indefinite.

Session Timeout The number of seconds the Reflector should wait after Integer value between 0 - 3600 (seconds
the Server receives a "Stop Session" command before - that is, Max = 1 hour). Valid units are
ceasing to reflect incoming session packets. Note: The seconds. Default is zero. Mandatory.
Client communicates this value to the Server during
Session Set-Up.

8.2.24.2.2. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.24.3. Provisioning an External TWAMP Server


If a test is to interact with a real TWAMP Server, then an External TWAMP Server must be configured in
TeraVM.

The following wizard is displayed for provisioning an External TWAMP Server application:

© Copyright 2018 TeraVM Java Client User Guide Page 543


Aeroflex Limited. All
rights reserved.
8.2.24.3.1. Additional Configuration

Figure 8-259. External TWAMP Serve

The following details are required for this dialog:


Table 8-223. External TWAMP Server Application Fields

Field Description Validation

Name Unique name identifying the External TWAMP server Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the external String value between 1 and 512 characters
server application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured Mandatory. All external applications need
IP hosts which the external server application will use to to use an External Host to communicate
access the SUT. with the SUT.

Control Port The TCP Port that the External TWAMP Server will listen Integer in the range 0 to 65535. Default is
on for incoming Control Session connections. Note: The 861..
default here is the TWAMP Control Port. This may change
if IANA assign a new port specifically for TWAMP.

8.2.24.3.1. Additional Configuration


The following dialog is displayed for the final step in the Add External TWAMP Server wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 544


Aeroflex Limited. All
rights reserved.
8.2.25. UDP Playback

Figure 8-260. External TWAMP Server - Properties

The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

o enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Enter a Name/Value pair and click on the <OK> button.

8.2.25. UDP Playback


UDP Playback applications are used to replay UDP streams from libpcap or snoop capture files across the
SUT.

UDP Playback has similar capabilities to TCP Playback except there is no UDP connection (UDP is
connection-less). Instead there is a UDP stream of packets between two endpoints. There is no defined start
or end to the UDP stream that can be identified from the UDP protocol header. UDP streams can only be
identified from the addressing information in the packet capture file - by identifying a stream of packets that
are sent from a specific source IP address and UDP port number to a specific destination IP address and
port number. These “streams” are replayed by the UDP Playback application.

© Copyright 2018 TeraVM Java Client User Guide Page 545


Aeroflex Limited. All
rights reserved.
8.2.25.1. Provisioning a UDP Playback Source(s)
Application

However, there does exist the possibility that a UDP stream selected using this criteria could encompass
multiple UDP streams. For instance there could exist multiple VoIP RTP streams between the same source/
destination IP address and port numbers. It will not be possible to identify such streams. Therefore, all
packets for the same source/destination IP address and port numbers will be assumed to be in the one UDP
stream.

UDP playback will only apply to the contents and timing of the UDP packets. The UDP stream is replayed
as it appears in the pcap file. For example, within a UDP stream it will not be possible to identify any re-
transmitted packets and remove them from the replay of the UDP stream. Also if the captured UDP stream
contains any lost, duplicate or out of order packets, these (errors) will be replicated in the replay.

It will not be possible to identify any UDP protocol interactions between two endpoints and maintain that
relationship in the replayed stream - where A sends B a request and B sends A a response. For UDP replay
these would be split into two separate UDP streams as they have differing source IP addresses. When
replaying these streams there will be no relationship between those two streams.

It is also a requirement to be able to change the rate at which UDP streams are replayed i.e. instead of
replaying the packets at the “rate” found in the pcap file, it will be possible to either increase or decrease the
rate at which the packets are replayed. For example, replay the packets at half or twice the rate in the pcap

There are two types of UDP Playback applications which can be provisioned in TeraVM. These are:

• UDP Playback Source Applications - replays unicast UDP streams from a packet capture file to a
destination UDP sink application.

• UDP Playback Sink Applications - receives UDP packets sent to a specific unicast IP address and port.
It accepts packets from all source IP addresses and ports.

Note
It is recommended that UDP Playback Source applications are set up first, as you will be required to
select these during the UDP Playback Sink application provisioning process.

8.2.25.1. Provisioning a UDP Playback Source(s) Application


If you select to add a UDP Playback Source, the Add New UDP Playback Source(s) Wizard dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 546


Aeroflex Limited. All
rights reserved.
8.2.25.1.1. Application Details

Figure 8-261. Add New UDP Playback Source Wizard

The steps following are required to provision a UDP Playback Source application are:

• Application Details

• Source Details

• Additional Configuration

8.2.25.1.1. Application Details


The following information is required for an UDP Playback Source Application Details.
Table 8-224. UDP Playback Source Application Fields

Field Description Validation

No. of Sources Each source to be created has a row created in the Mandatory. Default is 1.
Display Window for Applications allowing statistics to be
generated for each row.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row

© Copyright 2018 TeraVM Java Client User Guide Page 547


Aeroflex Limited. All
rights reserved.
8.2.25.1.2. Source Details

Field Description Validation


Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Single Client Per Row - Varied
field.
Address - When using this option, the
No. of Sources field will represent the
No. of Rows.
• Multiple Clients Per Row -When using
this option, the No. of Sources field will
represent the No. of Rows.
The default value is "Single App per Row",
but when the No. of Sources is greater
than 1, the default value is changed to
"Scaled Entity".

Name Unique name identifying the UDP Source application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host. If
hosts which the server will use to access the SUT. Direct, then IP address must be static.

UDP Port The UDP port for replaying packets from. Integer value between 0 and 65535.
Select a fixed port number (Use Defined Value) or one of
the following:
If you select a profile (Use Defined Value) or Use Next
Available UDP port, then a new UDP port value is
selected as each new UDP stream is selected. For next
available the application first attempts to use UDP port
1024. If it reaches 65535 in its search it will start again
at port 1024. If you select “Use Original Source Port”,
then the original source port found for each stream in the
playback resource will be used.

ToS/DiffServ Quality of Service metric for the server application. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.25.1.2. Source Details


The following information is required to provision the UDP Playback Server Application - Source Details.

© Copyright 2018 TeraVM Java Client User Guide Page 548


Aeroflex Limited. All
rights reserved.
8.2.25.1.2. Source Details

Figure 8-262. UDP Playback Source Application Wizard - Source Details

Table 8-225. UDP Playback Source Application Source Details

Field Description Validation

Sink UDP Sink application where all the packets replayed from
this Replay application will be sent.

Resource Lists List of pcap files with UDP streams. Mandatory. Choose an existing resource
list or create one and then choose it. The
selected Resource List must also be used
by the UDP Playback Sink. Refer to the
section on Playback Resources in Test
Configuration chapter.

Delay Between Streams Delay in between each playback of a UDP stream by the Delay length in ms or sec or profile. Range
UDP Replay application. from 0 to 3600000 ms. Default 0 sec.

Rate Multiplier Allows streams to be sped up or slowed down. By default Value from range 0.1 to 1.0. Default 1.0
streams are replayed at the original rate defined by the
timings in the playback resource. For example, 0.1 means
streams are replayed at 1/10th of the original rate.

ARP/NS Delay Specifies the delay between packets when a replayed Range 0 - 10000 ms. Default 500 ms
packet requires an ARP/NS query. The delay allows time

© Copyright 2018 TeraVM Java Client User Guide Page 549


Aeroflex Limited. All
rights reserved.
8.2.25.1.3. Additional Configuration

Field Description Validation


for the APR/NS query to complete before proceeding with
the replay.

8.2.25.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.25.2. Provisioning a UDP Playback Sink Application


The following wizard is displayed for provisioning a UD Playback Sink application:

Figure 8-263. UDP Playback Sink - Application Details

The steps required to provision a UDP Playback Sink application are:

• Application Details

• Additional Configuration

8.2.25.2.1. Application Details


The following general information is required for a UDP Playback Sink application:

© Copyright 2018 TeraVM Java Client User Guide Page 550


Aeroflex Limited. All
rights reserved.
8.2.25.2.2. Additional Configuration

Table 8-226. UDP Playback Sink Application Fields


Field Description Validation

No. of Sinks Each sink to be created has a row created in the Default is 1. 1 - 50,000,000 sinks can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
Single App Per Row - When using
field.
this option, the No. of Sinks field will
represent the No. of Rows.
Scaled Entity - When using this option,
the No. of Sinks field will represent the
No. of Rows.
The default value is "Single App per Row",
but when the No. of Sinks is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the sink. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct, Indirect or Subnet
Hosts for this Test Group. Virtual Host. Host cannot be external and a
static IP address must be used.

Use Custom Port If enabled, enter the UDP port to use for your test Default is disabled.

UDP Port The UDP port at which this applications listens for Integer with a min and max value between
incoming packets. Only selectable if Use Custom Port is 0 and 65535.
selected.

8.2.25.2.2. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.26. Telepresence Endpoint Emulation


Cisco Telepresence provides high end video conferencing solutions with the emphasis on very high quality
video and audio to make the experience as realistic as possible.
Each of the following endpoints on a call can be emulated by TeraVM Telepresence Endpoint:
• Cisco CTS-1000
• Cisco CTS-1300
• Cisco CTS-3000
• Cisco CTS-3200

© Copyright 2018 TeraVM Java Client User Guide Page 551


Aeroflex Limited. All
rights reserved.
8.2.26.1. SIP Trunking

• Cisco CTS-500

8.2.26.1. SIP Trunking


SIP Trunking used in Cisco Telepresence to route SIP calls from the Cisco Unified Call Manager (CUCM)
to the Cisco Telepresence Media Switch (CTMS) can be emulated by TeraVM. To achieve this functionality,
the operator will have to designate one Telepresence Endpoint to act as the SIP Trunk (making it
responsible for sending and receiving all SIP traffic for the Applications using this Trunk) and, at least,
designate another Telepresence Endpoint to use it.

8.2.26.2. Generating Media Files


TeraVM provides a means to generate a media file that can be replayed using the TeraVM TelePresence
Endpoint. This functionality is available by right clicking on a TelePresence Endpoint Application and
selecting the Extract Media Streams option. This displays the dialog below:

Figure 8-264. Extract Media Streams Details

The following details are required:

© Copyright 2018 TeraVM Java Client User Guide Page 552


Aeroflex Limited. All
rights reserved.
8.2.26.3. Provisioning a Cisco TelePresence
Endpoint

Table 8-227. TelePresence Endpoint Extract Media Streams Details

Field Description Validation

Time Duration Specifies the length of time that the capture should last Integer in seconds between 10 - 86,400.
for. Default is 60 seconds.

Output Path Specifies the path to save extracted Media pcap files to. Default is the default location for the user
on the client machine. Mandatory.

Filename Prefix Specifies the prefix to use in the filename when generating String between 1 - 255 characters in
the extracted media files. length. Default is current date+time.
Mandatory.

If the media being captured is from an interaction with a CTS-3000, individual files are generated for left,
center and right positions. To replay them as one individual file a tool such as wireshark should be used to
generate an appropriate pcap file from the individual files.

8.2.26.3. Provisioning a Cisco TelePresence Endpoint


The steps required to provision a Cisco TelePresence Endpoint are:

• Application Details

• General Details

• In/Out Call Setup

• Call Details

• Additional Configuration

• Passive Analysis

8.2.26.3.1. Application Details


The following wizard is displayed for provisioning the endpoint:

© Copyright 2018 TeraVM Java Client User Guide Page 553


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

Figure 8-265. Add TelePresence Endpoint Application Details

The following details are required for the Application Details step of the wizard:
Table 8-228. TelePresence Endpoint Application Details

Field Description Validation

No. of Clients Each endpoint to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The only valid option for this field for the
displayed in the Application Display Window. TelePresence Endpoint is:
• Single Client Per Row
Refer to the sections on Scaled Entity Provisioning and
Bulk and Batch Provisioning for more details on using this • Scaled Entity
field.
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.

© Copyright 2018 TeraVM Java Client User Guide Page 554


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

Field Description Validation


The default value is "Single Client per
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the endpoint. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
endpoint. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Direct Virtual Host or Indirect Virtual Host.
Hosts for this Test Group. Mandatory. No default.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

SIP Trunking Specifies the applications role in a SIP Trunk (if any). Possible values are Disabled, Act as Trunk
or Use Trunk. Defaults to Disabled. If
Multiple Clients Per Row is selected in
Configure as, SIP Trunking cannot be Act
as Trunk.

SIP Trunk ID Specifies the id for the SIP Trunk. Mandatory and visible only when SIP
Trunking is Act as Trunk or Use Trunk.

MCU Type Indicates which type of Telepresence system is to be Mandatory. Defaults to Cisco
emulated. In this release only Cisco TelePresence is TelePresence which is the only choice.
supported. The details of this MCU Type are described
later.

Transport Type Transport protocol to be used. UDP, TCP or TLS. Default is TCP. If TCP
is selected, Advanced TCP Characteristics
can be configured by clicking on the
Advanced TCP button in this step.
Refer to Chapter 11 for details of TCP
Configuration. Not selectable if SIP
Trunking is Use Trunk.
• If the SIP Port value is 5060, and this
field is changed to TLS, then the SIP
Port will be changed to 5061.
• If the SIP Port value is 5061, and this
field is changed to either UDP or TCP,
then the SIP Port will be changed to
5060.

SIP Port Port for endpoint to listen for SIP requests. Default is 5060. Value must be between
0 and 65535, unless SIP Trunking is Use
Trunk, in that case the field is not editable.

RTP Ports Numeric range profile indicating ports to be used for Can be a single value if the endpoint
creating RTP media sessions. RTP ports chosen shall allows maximum of one outstanding call.
always be even. If RTCP is selected on a call then RTCP Integer between 2 and 65535. Can also
port is RTP port plus one. If not specified the range is be a profile. Mandatory. Default is 16384.
16384-32767. Can be a single value as the endpoint If Single value must be unique on the

© Copyright 2018 TeraVM Java Client User Guide Page 555


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

Field Description Validation


allows maximum of one outstanding call. Values in profile host. Not editable if SIP Trunking is Act as
must be between 1 and 65535. Trunk.

SIP ToS/DSCP Quality of Service metric for the SIP messages sent by the Integer value between 0 and 255.
endpoint Mandatory. Default is 0. Is not editable if
SIP Trunking is Use Trunk.

RTP ToS/DSCP Quality of Service metric for the media messages sent Integer value between 0 and 255.
by the endpoint. Media messages include RTP or RTCP Mandatory. Default is 0. Not editable if SIP
messages. Trunking is Act as Trunk.

Pressing the Settings button for the MCU Type displays the following dialog:

Figure 8-266. Cisco TelePresence MCU Settings

© Copyright 2018 TeraVM Java Client User Guide Page 556


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

The following information is required:


Table 8-229. Cisco TelePresence MCU Settings

Field Description Validation

Enable CTX Mux Enable the usage of CTS Multiplex Protocol Optional, defaults to checked. Not
selectable if SIP Trunking is Act as Trunk.

CTX Mux The CTS Mux configuration item to be used during the Optional,select from available CTS Mux
mux negotiation Configuration Items. Default is CTS-1000
v1.7. Enable CTS Mux must be checked.

Figure 8-267. Cisco TelePresence VAD Control MCU Settings

The following information is required for the VAD Control Settings:

© Copyright 2018 TeraVM Java Client User Guide Page 557


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

Table 8-230. Cisco TelePresence VAD Control MCU Settings

Field Description Validation

Enable VAD Enables control of the endpoints VAD value. This is Optional, defaults to checked.
provided to allow you setup a test whereby each endpoint
can "take the floor".

VAD Value Control Determines how the setting of the VAD Value is Depends on Enable VAD setting. Defaults
controlled. This can be controlled on a Test Group basis to "Endpoint".
by a VAD Controller or specified by the endpoint itself. If
controlled on a Test Group basis the endpoint must be
configured with a Call URI.

VAD Value Specifies the value of the Audio Activity Metric to be used VAD Control Setting must be set to
by this Endpoint. "Endpoint". Can be an integer in the range
0-100 or a profile. Defaults to 40.

Change VAD After Delay between changes of the VAD value Can only be set if VAD Control Setting is
Endpoint and VAD Value is a profile. Can
be an integer between 1ms and 24 hours
or profile with a metric. Metric can be ms,
secs, mins, hours. No default.

© Copyright 2018 TeraVM Java Client User Guide Page 558


Aeroflex Limited. All
rights reserved.
8.2.26.3.1. Application Details

Figure 8-268. Cisco TelePresence Auxiliary Feed Control MCU Settings

The following information is required for the Auxiliary Feed Control Settings:
Table 8-231. Cisco TelePresence Auxiliary Feed Control MCU Settings

Field Description Validation

Enable Auxiliary Feed Enables control of the endpoints plug-in/plug-out state. Optional, defaults to checked. Enable CTS
Control Mux Protocol must be checked.

Auxiliary Feed Control Determines how the setting of the Plug-In/Plug-Out state Depends on Enable Auxiliary Feed Control
is controlled. This can be controlled on a Test Group basis setting. Defaults to "Endpoint".
by an Auxiliary Controller or specified by the endpoint
itself. If controlled on a Test Group basis the endpoint
must be configured with a Call URI.

© Copyright 2018 TeraVM Java Client User Guide Page 559


Aeroflex Limited. All
rights reserved.
8.2.26.3.2. General Details

Field Description Validation

Initial Plug In Delay Delay before an endpoints auxiliary feed goes into a Integer between 0secs - 24hrs. Default
plugged in state. A value of 0 indicates no delay. is 0secs. Can only be specified if Enable
Auxiliary Feed Control is Endpoint.

Plug Out After The Plug Out After delay indicates how long the auxiliary Integer value between 1ms - 24hrs. Default
feed for the endpoint will remain plugged in if the Never value is 20secs. Mandatory if Never Plug
Plug Out option for the endpoint is not ticked. Out is not ticked.

Repeat Plug In/Out Cycle If this option is enabled, then the cycle of setting an Mandatory if Never Plug Out is not ticked.
auxiliary feed to plugged in and then plugged out, will be Default is ticked.
repeated with an optional delay between each repetition.

Delay before Repeat Delay before another plug in/out cycle will begin. Repeat Plug In/Out Cycle must be ticked.
Integer value between 0ms - 24hrs or a
profile. Default value is 20secs.

8.2.26.3.2. General Details


The general details step of the wizard enables the provision of SIP details:

Figure 8-269. Add TelePresence Endpoint General Details

© Copyright 2018 TeraVM Java Client User Guide Page 560


Aeroflex Limited. All
rights reserved.
8.2.26.3.2.1. Authentication Details

The following details are required for the General Details step of the wizard:
Table 8-232. Cisco TelePresence Endpoint General Details

Field Description Validation

Server TeraVM UAS or External SIP Proxy to which SIP Mandatory. No default. Not selectable if
messages will be directed. SIP Trunking is Use Trunk.

When provisioning more than 1


Application, or when the Configure As field
is set to "Scaled Entity" more than one
Server can be selected.

SIP Username Username used in the SIP URI for the calling entity. String value between 1 and 32 characters
in length.

SIP Domain Name The Domain Name used in SIP messags. Optional. String value between 1 and 255
characters in length.

Register with Server If enabled, the endpoint must first register with the SIP Default is Enabled when SIP Trunking is
Proxy server before starting the test. Not applicable if the Disabled and Disabled if SIP Trunking is
endpoint is configured with a TeraVM VoIP UAS. Use Trunk.

Emulate Phone Type TeraVM now supports the emulation of different Cisco Default value is "Generic Phone" when SIP
Phone Types. If the "Generic Phone" value is selected, Trunking is set to Disabled or Use Trunk,
then TeraVM will continue to emulate a generic phone and Disabled if SIP Trunking is set to Act
type, otherwise the selected phone type will be emualted as Trunk.
by TeraVM.

8.2.26.3.2.1. Authentication Details


The following dialog is used to configure authorization details used during SIP registration.

© Copyright 2018 TeraVM Java Client User Guide Page 561


Aeroflex Limited. All
rights reserved.
8.2.26.3.2.1. Authentication Details

Figure 8-270. Authentication Details

The fields for this dialog are described as follows:


Table 8-233. TelePresence Endpoint - Authentication Details

Field Description Validation

Use SIP Username If enabled, then the username entered in the SIP Enabled or disabled. Default is Enabled.
Username field is used in the SIP URI for the calling
entity.

Password This password is used to respond to any Digest String value between 0 and 255 characters
challenges for SIP requests from this client. If this is not in length. Optional. Default is the value of
set, the SIP request immediately fails if the client receives the SIP Username.
a challenge response.

Specify Authorization Determines whether or not the SIP Register message Enabled or Disabled. Default is Disabled.
Username will use the SIP Username in the Authorization field or a
specific Authorization value.

Authorization Username The username to use in the Authorization field if Specify This field can have a specific value or
Authorization Username is enabled. use keywords {user} and {domain}.
Any instance of the {user} keyword will
be replaced with the value of the SIP
Username. Any instance of the {domain}
keyword will be replaced by the value of
the Domain Name field for this UA.

© Copyright 2018 TeraVM Java Client User Guide Page 562


Aeroflex Limited. All
rights reserved.
8.2.26.3.2.2. Advanced Registration Details

8.2.26.3.2.2. Advanced Registration Details


If the Register with Server setting is enabled, the Advanced button in this step is activated. The following
dialog is displayed by clicking on this button to enable the configuration of extra details for registering with
the SIP proxy.

Figure 8-271. TelePresence Advanced UA Registration Details

The fields for this dialog are described as follows:


Table 8-234. TelePresence Endpoint - Advanced Registration Details

Field Description Validation

Use Server Interval The Endpoint can choose to use the server registration Enabled or Disabled. Default is Enabled.
interval if registration with server is enabled. N/A if Register With Server is Disabled.

Registration Interval Interval between registration attempts by the endpoint, if Minimum value is 1 ms. Maximum value
registration with server is enabled. If specified, this defines is 86,400,000 ms (24 hours). Default is
the expiration interval requested by the endpoint in the 3,600,000 ms (1 hour). N/A if Register
expires field in the registration request. The requested With Server is Disabled. N/A if Use Server
expiration interval will always be 60 seconds greater Interval is Enabled. Can be a profile.
then the timer interval to allow registration to occur if the Allowable metrics are ms, sec, min and
registration occurs again. If not specified the endpoint will hour with ms as the default.
attempt to register again within the interval returned by the
server in the registration response.

© Copyright 2018 TeraVM Java Client User Guide Page 563


Aeroflex Limited. All
rights reserved.
8.2.26.3.3. In/Out Call Setup

8.2.26.3.3. In/Out Call Setup


The In/Out Call Setup step allows for the configuration of the Endpoint call initiation and answering details.
The following dialog is displayed for this step:

Figure 8-272. TelePresence Endpoint In/out Call Setup

The following information is required for this step:


Table 8-235. TelePresence Endpoint In/Out Call Details Dialog Fields

Field Description Validation

Endpoint is Caller Indicates if this endpoint is making calls or not. Mnadatory. Disabled as default if SIP
Trunking is Act as Trunk, selectable
otherwise. Enabled/Disabled.

Initial Call Delay A delay which can be applied before any calls are initiated Optional. Default is 0. Supported metrics
by the Endpoint. are ms, sec, min and hour with ms as the
default. Can also be a profile.

© Copyright 2018 TeraVM Java Client User Guide Page 564


Aeroflex Limited. All
rights reserved.
8.2.26.3.3.1. SIP Call Options

Field Description Validation

Call URI Call URI of the conference call this Telepresence endpoint Mandatory if Endpoint is Caller is checked.
application will participate in. No default. Min 1, max 512 characters. Not
editable if SIP Trunking is Act as Trunk.

Delay Between Calls Delay between calls. If 0 is specified as the value then the Mandatory. Integer in the range 0ms - 14
next call will start immediately after the current call ends. days or profile. Supported metrics are ms,
secs, mins, hours, days. Default is 0ms.

Call Answering Delay Delay in milliseconds before sending a final response Integer between 0ms and 30,000ms. Can
accepting/rejecting a call. This can be a profile to inject also be a profile. Default is 0 meaning no
variability into the delay answering the call. delay. Allowable metrics are ms and sec
with ms as the default. Not editable if SIP
Trunking is Act as Trunk.

Busy Ratio Percentage of calls to reject with a 486 Busy Here Mandatory. Integer between 0 and 100.
response. Default is 0. Not editable if SIP Trunking is
Act as Trunk.

Allow Endpoint End Call Allows an endpoint to terminate incoming calls. Mandatory. Default is True. Not editable if
SIP Trunking is Act as Trunk.

8.2.26.3.3.1. SIP Call Options


Clicking on the SIP Call Options button in the In/Out Call Setup step of the wizard displays the following
dialog:

Figure 8-273. SIP Call Options

The following field can be configured for SIP Calls:


Table 8-236. SIP Call Options Dialog Fields
Field Description Validation

Send 100 Trying If enabled, a 100 TRYING message is sent in response to Enabled/Disabled. Default is Enabled.
an INVITE for a call which is to be accepted.

8.2.26.3.4. Call Details


The Call Details step enables you to configure delays between calls and the average length of calls.

© Copyright 2018 TeraVM Java Client User Guide Page 565


Aeroflex Limited. All
rights reserved.
8.2.26.3.4. Call Details

Figure 8-274. TelePresence Endpoint Call Details Dialog

The following details are required for this dialog:


Table 8-237. TelePresence Endpoint Call Details Dialog Fields

Field Description Validation

Call Media Media streams to be used on calls. Must be a Telepresence Media Profile
Configuration Item. Mandory. Default is the
Default Telepresence Media Profile.

Average Hold Time The duration of the call, relates to the media part of the Minimum value is 0. Maximum is 168 hours
call and excludes time spent on signaling to setup and (1 week). Can also be a profile. Default
tear down the call. If 0 then this value indicates that the is 300secs. N/A if Endpoint is Caller is
call is terminated immediately after being established and disabled. Metric is ms,sec, min and hours
that no RTP media is exchanged. with sec as the default.

Enable SRTP Enables the use of SRTP by this endpoint. Mandatory - default is not checked.

Generate RTCP Reports Determines if RTCP Reports will be generated by this Mandatory - default is not checked. Not
endpoint. editable if SIP Trunking is Act as Trunk.

Mute Call Disables the transmission of audio to simulate muting the Mandatory - default is not checked. Not
call. editable if SIP Trunking is Act as Trunk.

© Copyright 2018 TeraVM Java Client User Guide Page 566


Aeroflex Limited. All
rights reserved.
8.2.26.3.4.1. Call Hold Control

Field Description Validation

Call Hold Control Enables control of the endpoints Call Hold settings. Mandatory - default is Disabled. Not
editable if SIP Trunking is Act as Trunk.

8.2.26.3.4.1. Call Hold Control


Clicking on the Call Hold Control Settings button displays the following dialog:

Figure 8-275. TelePresence Call Hold Control Dialog

The following Call Hold Control options can be configured for an endpoint:
Table 8-238. TelePresence Call Hold Control Settings Dialog Fields

Field Description Validation

Initial Call Hold Delay Start delay from beginning of a call before an endpoint Mandatory. Integer between 1ms - 24hrs or
goes into a hold state. a profile. Default 20secs.

Resume Call After The Resume Call After delay indicates how long the Mandatory if Never Resume Call is not
endpoints call will remain on hold, if the Never Resume ticked. Integer between 1ms - 24hrs or a
Call option for the endpoint is set not ticked. profile. Default is 20secs.

Repeat Call Hold Cycle If this option is enabled, then the cycle of setting an Mandatory if Never Resume Call is not
endpoint call hold/resume, will be repeated with an ticked. Default is ticked.
optional delay between each repetition.

Delay Before Repeat Delay before another call hold/resume cycle will begin. Repeat Call Hold Cycle must be ticked.
Integer between 1ms - 24hrs or a profile.
Default is 20secs.

© Copyright 2018 TeraVM Java Client User Guide Page 567


Aeroflex Limited. All
rights reserved.
8.2.26.3.4.2. Advanced SIP

8.2.26.3.4.2. Advanced SIP


Clicking on the Advanced SIP button in the Details step of the wizard displays the following dialog:

Figure 8-276. TelePresence Advanced SIP Dialog

The following advanced SIP options can be configured for a UA:


Table 8-239. TelePresence Advanced SIP Options Dialog Fields

Field Description Validation

Use 100rel PRACK The 100rel PRACK is a SIP option defined in RFC 3262. It Enabled/Disabled. Default is Disabled. Not
is a PRovisional ACKnowledgement by a calling party to a editable if SIP Trunking is Act as Trunk.
provisional response.

Use Session Timer The session timer is a SIP option defined in RFC 4028. Enabled/Disabled. Default is disabled. Not
If enabled, a session timer is negotiated during the call editable if SIP Trunking is Act as Trunk.
setup. The session is renewed by either sending a SIP
UPDATE or re-INVITE during the call.

Session Expires Timer The session expiration time to be proposed by a VoIP UA Integer or profile field with value between
in any call. This field is only available if the Session Timer 1 and 3,600 seconds. Supported units are
option is enabled. seconds and minutes. Default value is 300
with default unit in seconds.

© Copyright 2018 TeraVM Java Client User Guide Page 568


Aeroflex Limited. All
rights reserved.
8.2.26.3.5. Additional Details

8.2.26.3.5. Additional Details


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

Note
Passive Analysis is not editable if SIP Trunking is Act as Trunk.

8.2.26.3.5.1. Statistics Configuration


By clicking on the Statistics button in the Additional Configuration step of the wizard, statistics
settings can be configured. Refer to the section on Settings Common to Multiple Applications, Additional
Configuration.

8.2.26.3.6. Passive Analysis


If the Configure Passive Analysis checkbox is ticked in the Additional Details step of the wizard, the
Passive Analysis dialog is displayed for the last step of the wizard.

© Copyright 2018 TeraVM Java Client User Guide Page 569


Aeroflex Limited. All
rights reserved.
8.2.26.3.6. Passive Analysis

Figure 8-277. TelePresence Endpoint Passive Analysis Details

The following fields requires values for this dialog:


Table 8-240. Cisco TelePresence Endpoint - Passive Analysis

Field Description Validation

Analyse Media Type Indicate the type of Media to be Analysed. Optional. Can be Video, Audio, Video and
Audio. Default is Video and Audio.

Video Codec Codec used for analysing incoming video media stream. Must be chosen from one of the following
codec's : JPEG MPEG H.261 H.263
H.263+ H.264 MPEG-4 VC-1 Available if
Analyse Media Type is Video and Audio
or Video.

Audio Codec Codec used for analysing incoming audio media stream. Must be chosen from one of the following
codec's : AC-3, MPEG 1 Layer1, MPEG
2 Layer 2, MPEG-2 AAC, MPEG-4 AAC,
MPEG-3 Low Delay AAC, MPEG-4 High
Efficiency AAC. Available if Analyse Media
Type is Video and Audio or Video.

© Copyright 2018 TeraVM Java Client User Guide Page 570


Aeroflex Limited. All
rights reserved.
8.2.27. DNS (Domain Name System)

Field Description Validation

Playout Jitter Buffer Delay The delay before received RTP packets are considered Integer in the range 0 to 65535 ms.
played. Available units are ms and sec . Default
is 85ms for all media types. Available if
Configure Passive Analysis is enabled.

Maximum Jitter Buffer Maximum delay for the Jitter Buffer. Integer in the range 0 to 65535 ms.
Size. Available units are ms and sec .The value
must be >= to the value of Playout Jitter
Buffer. Default value is 1 sec for all media
types.

Enable Passive Analysis Enables TeraVM to collect passive analysis stats. Enabled/Disabled. Default is enabled. Only
Statistic available if Configure Passive Analysis is
enabled.

8.2.27. DNS (Domain Name System)


The Domain Name System (DNS) is a hierarchical and very extensible naming system utilising a distributed
database to hold data records about computers (hosts), services and others. Its main design purpose was to
resolve host names like www.shenick.com to one or several IPv4 addresses. This type of record is still the
most common type in use today.

A TeraVM DNS client, once started, will continuously attempt to open UDP connections to the selected DNS
server to stress test it by sending lots of queries. The DNS client can also stress test any device that sits
between TeraVM DNS Clients and external DNS Server(s).

TeraVM supports the following DNS applications:

• DNS Client Application

• External DNS Server Application

8.2.27.1. Provisioning a DNS Client


The following wizard is displayed for provisioning DNS Client Applications:

© Copyright 2018 TeraVM Java Client User Guide Page 571


Aeroflex Limited. All
rights reserved.
8.2.27.1.1. Application Details

Figure 8-278. DNS Client - Application Details

The steps required to provision a DNS Client Application are:

• Application Details

• Addressing Details (Only appears if the Configure As field is set to "Multiple Clients per Row". Refer to
the section on Bulk Provisioning for details of this steps)

• Session Details

• Queries Details

• Additional Configuration

8.2.27.1.1. Application Details


The following general information is required for a DNS Client Application:

© Copyright 2018 TeraVM Java Client User Guide Page 572


Aeroflex Limited. All
rights reserved.
8.2.27.1.2. Session Details

Table 8-241. DNS Client - Application Details Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single Client Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
• Multiple Clients Per Row
field.
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single Client per
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the DNS Client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host or
Hosts for this Test Group. Subnet Host.

When provisioning more than one


Application, or when the Configure As field
is set to "Scaled Entity", more than 1 host
can be selected.

UDP Port The UDP Port on which the DNS Client will bind to it's Integer with a min and max value between
host. If the port is set to the wildcard port, the application 0 and 65535. Default is the wildcard that is,
will bind to the first available, non-privileged port. Use Next Available.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.27.1.2. Session Details


The following Session Details dialog is displayed for provisioning the DNS Client Application.

© Copyright 2018 TeraVM Java Client User Guide Page 573


Aeroflex Limited. All
rights reserved.
8.2.27.1.2. Session Details

Figure 8-279. DNS Client - Session Details

The following information is required for this dialog:


Table 8-242. DNS Client Application - Session Details Fields

Field Description Validation

DNS Server External server with which the DNS client will Mandatory. When provisioning more than
communicate. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

Query List List of DNS queries to send. Mandatory. The validation of the
configuration item itself applies. Refer to
DNS Query Lists in Chapter 12 -Test Case
Configuration for more details on adding
new DNS Query Lists.

Delay Between Queries Interval between the completion of a query and starting Mandatory. Can have a value in the range
the next. 0 - 60 min. It can also be a profile with min
and max values within this range. 0 means
no delay. Default is 1 sec. Supported
metrics are us, ms, sec, min with sec as
the default.

© Copyright 2018 TeraVM Java Client User Guide Page 574


Aeroflex Limited. All
rights reserved.
8.2.27.1.3. Queries Details

8.2.27.1.3. Queries Details


The following Queries Details dialog is displayed for provisioning the DNS Client Application.

Figure 8-280. DNS Client - Queries Details

The following information is required for this dialog:


Table 8-243. DNS Client Application - Queries Details Fields

Field Description Validation

Enable Keyword Determine whether or not keyword substitution is enabled Enabled or disabled. The default is
Substitution for the domain names configured in the DNS client disabled.
application.

Enable Malformed Specifies if malformed queries will be generated by the Enabled or disabled. The default is
Queries Generation application. disabled. When enabled, the Malformed
Queries Type is selectable.

Malformed Queries Type A list of malformed queries that can be selected if Enable Mandatory when Enabled Malformed
Malformed Queries is true. Queries Generation is enabled. Possible
values are: Empty Query, Corrupt Header,
Corrupt Labels and Random Question
Count.

© Copyright 2018 TeraVM Java Client User Guide Page 575


Aeroflex Limited. All
rights reserved.
8.2.27.1.3.1. Advanced DNS Queries

Field Description Validation

Enable Recursive Queries Ask the server to recursively perform more queries if Enabled or disabled. The default is
needed and possible. enabled.

Enable Fire and Forget Makes the client faster by not waiting for and silently Enabled or disabled. The default is
Mode dropping any response. This will send one query every disabled.
“Delay Between Requests”.

8.2.27.1.3.1. Advanced DNS Queries


By clicking on the Advanced button in the Queries Details step of the wizard, the following dialog is
displayed.

Figure 8-281. DNS Client - Advanced DNS Queries Configuration

The following information can be set in the Advanced DNS Queries Configuration dialog:
Table 8-244. DNS Client Application - Advanced DNS Queries Configuration
Field Description Validation

Initial Time-out Delay before a query with no response is re-sent. Mandatory if Fire and Forget is false.
Integer value between 1 and 60 secs.
Default value is 3 secs.

Max no. of Number of retransmissions before reporting a failure, Mandatory if Fire and Forget is false.
Retransmissions waiting for the delay between queries and then sending Integer value between 0 and 15. Default
the next query. value is 2.

Enable Exponential Back- When enabled the backoff factor is 2, 1 when it is Mandatory if Fire and Forget is false.
off disabled. Integer value between 1 and 60 secs.

© Copyright 2018 TeraVM Java Client User Guide Page 576


Aeroflex Limited. All
rights reserved.
8.2.27.1.4. Additional Configuration

8.2.27.1.4. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.27.2. Provisioning an External DNS Server


The External DNS Server represents a non-TeraVM DNS Server.
If you select to add an External DNS Server Application, the Add New External DNS Server Wizard dialog
is displayed.

Figure 8-282. Add External DNS Server Application Wizard

The following information is required for this step of the wizard:


Table 8-245. External DNS Server Application Fields

Field Description Validation

Name Unique name identifying the External DNS Server Mandatory. String value between 1 and
Application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

© Copyright 2018 TeraVM Java Client User Guide Page 577


Aeroflex Limited. All
rights reserved.
8.2.27.2.1. External Properties

Field Description Validation

Host(s) Select a Host from the list of the previously configured IP Select from the list of External Hosts.
hosts which the server will use to access the SUT.

UDP Port The UDP Port on which the server will listen for UDP Integer value between 0 and 65535.
connections. Default is 53.

8.2.27.2.1. External Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-283. External DNS Server Properties

To enter a Property/Name value pair, click on the Add button on this page, and the Add Property Value
dialog is displayed.

Enter a Name/Value pair and click on the OK button.

© Copyright 2018 TeraVM Java Client User Guide Page 578


Aeroflex Limited. All
rights reserved.
8.2.28. VPN Emulation

8.2.28. VPN Emulation


A Virtual Private Network (VPN) provides a secure connection from one network to another network, through
a Secure Gateway device. IP packets are tunneled over the secure connection to the Secure Gateway and
then fowarded over the trusted network.

A number of client, clientless and site-to-site VPNs are supported in TeraVM.

The TeraVM Applications include a generic VPN application, which supports a number of VPN types, and
also specific ones. All are discussed in this section.

Under VPN in the Application menu, you will find the following VPN types. The next section describes how to
provision some of these.

1. Fortinet VPN Client

2. Juniper Network Connect VPN Client

3. AT&T SSLT VPN Client

4. Juniper Pulse VPN Client

5. External Secure Gateway

6. IKE/IPsec VPN Client

7. F5 SSL VPN Client

8. GRE Site to Site VPN

9. Huawei AnyOffice VPN Client

Other VPN types are in the main Applications menu.

VPN applications are used in conjunction with the following existing TeraVM entities to support the
emulation of a VPN within TeraVM:

• TeraVM Direct Virtual Host (DVH) - provides access to the network.

• TeraVM Indirect Virtual Host (IVH) - provides access to the virtual interface.

• TeraVM Client Applications - these generate the traffic over the secure connection.

Generally, the steps required to emulate a VPN are:

• create a Direct Virtual Host (DVH)

• create a External Secure Gateway - this represents the Secure Gateway and is used by the VPN Client.

• create a VPN Client - this will use the DVH and also can automatically create the required IVH, or it can
use an existing IVH.

• create the required applications - these generate the traffic and each application should use the
previously configured IVH.

© Copyright 2018 TeraVM Java Client User Guide Page 579


Aeroflex Limited. All
rights reserved.
8.2.28.1. Cisco AnyConnect VPN Client Emulation

Note
PCAPs cannot be gathered directly from running applications due to pcap filtering limitations.
This is because the pcap filter selects based on the TCP/UDP/other information, which is at a
specific offset within the packet. If an encapsulation header is added, the filter will no longer find
what it is looking for at the previously selected offset within the packet.

8.2.28.1. Cisco AnyConnect VPN Client Emulation


The Cisco AnyConnect VPN Client provides secure connections to the Secure Gateway device using
Secure Socket Layer (SSL) and Datagram TLS (DTLS) protocols. IP packets are tunneled over the secure
connection to the SG and then forwarded over the trusted network.

The TeraVM emulation of AnyConnect includes support for:

1. Cisco AnyConnect VPN Client (IPv4/IPv6)

2. Cisco AnyConnect Head-End Server

These two applications are used in conjunction with the following TeraVM entities to support the emulation
of AnyConnect within TeraVM:

• TeraVM Direct Virtual Host (DVH) - provides access to the network

• TeraVM Indirect Virtual Host (IVH) - provides access to the virtual interface

• TeraVM Client Applications - these generate the traffic over the secure connection

The steps required to emulate AnyConnect are:

• create a Direct Virtual Host (DVH)

• create a Cisco AnyConnect Head-End Server - this represents the Secure Gateway and is used by the
Cisco AnyConnect VPN Client

• create a Cisco AnyConnect VPN Client - this will use the DVH and also can automatically create the
required IVH

• create the required applications - these generate the traffic and each application should use the
previously configured IVH

TLS Configuration

Cipher Suites can be configured when provisioning a AnyConnect VPN Client application. For configuring
Cipher Suites, the Tunnel Type must be set to either SSL/TLS or DTLS. You can then add your own Cipher
List by selecting a Custom Configuration option for the TLS or DTLS .

• For information on adding a Cipher Suite to a Cisco AnyConnect VPN Client, see
Section 8.2.28.1.1.1.1.

• For information on Adding a Cipher Suite to other Applications, see Appendix B.

© Copyright 2018 TeraVM Java Client User Guide Page 580


Aeroflex Limited. All
rights reserved.
8.2.28.1.1. Provisioning a Cisco AnyConnect VPN
Client

8.2.28.1.1. Provisioning a Cisco AnyConnect VPN Client


The steps required to provision an AnyConnect Client are:

• Application Details

• Client Details

• Additional Configuration

8.2.28.1.1.1. Application Details


The following wizard is displayed for provisioning the client:

The choice of Tunnel Type determines the options available when clicking the Settings... button.

Figure 8-284. Add AnyConnect Client-Application Details

© Copyright 2018 TeraVM Java Client User Guide Page 581


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.1. Application Details

The following details are required for the Application Details step of the wizard:
Table 8-246. Cisco AnyConnect VPN Client Application Fields
Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single Client Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
field.

© Copyright 2018 TeraVM Java Client User Guide Page 582


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.1.1. Adding a Cipher Suite

Field Description Validation


The default value is "Single Client per
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. The hosts must be a Direct
Hosts for this Test Group. Virtual Host with Static or Dynamic address
assignment.

Tunnel Type The type of tunnel used by the AnyConnect client. Mandatory. Options are DTLS, SSL/TLS
and IPSec/IKEv2. Default is DTLS.

VPN Failover Select failover method. Select from: SSL/TLS, DTLS, IKE/IPSec.

ToS/DiffServ IP ToS/Diffserv bits for the Client. Integer in the range 0 - 255. Default is 0

8.2.28.1.1.1.1. Adding a Cipher Suite


When adding Cipher Suites to AnyConnect VPN Client the Tunnel Type you select determines the protocol
settings options that you can configure. Both these options are covered below.

SSL/TLS Settings

1. In the Add AnyConnect Client-Application Details dialog box, select SSL/TLS and click Settings. The
AnyConnect Client - SSL/TLS Settings dialog opens.

Figure 8-285. AnyConnect Client - SSL/TLS Settings

2. From the TLS Version drop-down box you can select a TLS version. Or select a Custom
Configuration :

• To do this, click on the [...] browse button. The Select TLS Configuration Item dialog opens.

© Copyright 2018 TeraVM Java Client User Guide Page 583


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.1.1. Adding a Cipher Suite

From the Choose from Selection field, double-click the Cipher list you want to use for your
configuration. The select TLS Configuration item closes.

• If there is no Cipher List for you to select, then click Add.... The Add TLS Configuration dialog is
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 584


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.1.1. Adding a Cipher Suite

Figure 8-286. Add TLS Configuration

3. Under the Cipher Suites tab select the Version required. You can limit the list of Ciphers by entering
text into the Available Cipher Suites search field, the previous figure uses ECDHE as an example.
Note that the search field is case sensitive.

4. Select the List of Ciphers required from the left side column, use the >> button to move them to the List
of Selected Cipher Suites.

5. Enter the Name of the TLS Configuration.

6. Click OK and return to the Add New HTTP Client Wizard dialog.

DTLS Settings

1. In the Add AnyConnect Client- Application Details dialog box, select DTLS and click Settings. The
AnyConnect Client - DTLS Settings dialog opens.

© Copyright 2018 TeraVM Java Client User Guide Page 585


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.1.1. Adding a Cipher Suite

Figure 8-287. AnyConnect Client - DTLS Settings

2. Enter the DTLS details using the table that follows. For information on the TLS settings and Custom
Configurations, see the previous procedure for SSL/TLS Settings.
Table 8-247. Cisco AnyConnect VPN Client - DTLS Settings

Field Description Validation

Enable Timer Controlled Controls whether you specifies timer intervals for fall back/ On or Off, default is Off.
DTLS Fall Back/Forward fall forward from/to the DTLS session.

Fall Back After Specifies the interval after which client stops using DTLS Optional - can be an integer between 1ms
as the IP tunnel. - 14 days or a profile with a metric. Metric
can be ms, secs, hours, days. No default.

Enable Fall Forward Timer Controls whether or not the DTLS Fall Forward Timer is Mandatory - On or Off, default is Off.
enabled.

© Copyright 2018 TeraVM Java Client User Guide Page 586


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.2. Client Details

Field Description Validation

Fall Forward After Specifies the interval after which client resumes using Optional - can be an integer between 1ms
DTLS as the IP tunnel. If value is not specified then - 14 days or a profile with a metric. Metric
AnyConnect client will never resume using the DTLS can be ms, secs, hours, days. No default.
session.

TLS Version Sets the TLS version the application should use to encrypt Mandatory if TunnelType is “SSL/TLS”.
the tunnel. Select from: TLS 1.0; TLS 1.1; TLS 1.2;
Custom Configuration. Default value: TLS
1.0.

TLS Configuration Specifies the TLS Configuration item. Mandatory if Custom Configuration is
selected for TLS Version.

DTLS Version Sets what DTLS version the application should use to Mandatory if Tunnel Type is set to DTLS.
encrypt the tunnel. Select from: DTLS 1.0; DTLS 1.2, Custom
Configuration. Default: DTLS 1.0.

DTLS Configuration Specifies the DTLS Configuration item. Mandatory if DTLS Version is set to
Custom Configuration.

8.2.28.1.1.2. Client Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 587


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.2. Client Details

Figure 8-288. Add AnyConnect Client - Client Details

The following details are required for this step:


Table 8-248. Cisco AnyConnect VPN Client - Client Details

Field Description Validation

AnyConnect Secure The AnyConnect Secure Gateway Server that this Client This should be a TeraVM External
Gateway communicates with. AnyConnect Server

Security Gateway Context Name of the context to request in the negotiation of the Optional - string, 1-255 in length. No
tunnel. default.

Authentication Method The type of authentication used by the AnyConnect client. Mandatory. Choice of:
• Username/Password

© Copyright 2018 TeraVM Java Client User Guide Page 588


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.2. Client Details

Field Description Validation


• Certificates
• Multiple Certificates

Machine Certificate Only applicable and visible when Authentication Method Mandatory. Can be of any of the three
Configuration of type Multiple Certificates is selected. Certificate source types. A default
certificate is provided and can be left blank.

User Certificate Only applicable and visible when Authentication Method Mandatory. Can only be configured with
Configuration of type Multiple Certificates is selected. Certificates Source type User Generated.
The Certificate configuration item must not
be same as used in Machine Certificates
Configuration. No default is provided, you
must upload a certificate.

Certificate Configuration Only applicable and visible when Authentication Method Mandatory. Can be of any of the three
of type Certificates is selected. Certificate source types. A default
certificate is provided and can be left blank.

User Name Only applicable and visible when Authentication Method Mandatory. A String value between 1 - 255
of type Username/Password is selected. characters.
The username to be authenticated with the Secure
Gateway Server. If configuring multiple AnyConnect
applications it is possible to configure unique usernames
for each application by controlling the increment
associated with this field.

Password Only applicable and visible when Authentication Method Mandatory. A String value between 1 - 255
of type Username/Password is selected. characters.
The password used to authenticate the username with
the Secure Gateway Server. If configuring multiple
AnyConnect applications it is possible to configure
unique passwords for each application by controlling the
increment associated with this field.

Enable Aggregate Available as an option for SSL/TLS and DTLS. SSL/TLS or DTLS, aggregate
Authentication authentication is optional for Username/
Password and mandatory (non-editable)
for Certificates and Multiple Certificates .

Tunnel Group Is selectable once the Aggregate Authentication has been The tunnel group is a string and has
enabled. to match a tunnel group that has been
configured on the ASA (Secure gateway).

Tunneled Host Controls how the AnyConnect client will be associated Mandatory. Choose from Auto Create
Assignment Method with it's IVH. A specific IVH can be selected or one can be (Dynamic IPv4), Auto Create (Dynamic
created automatically. IPv6) or Explicitly Specify. Default is Auto
Create (Dynamic IPv4).

Tunneled Host The name of the Host. Mandatory if the Tunneled Host
Assignment Method is Explicitly Specify.
Select from existing IVHs with assignment
type of AnyConnect IPv4 or manually
create a new IVH.

Enable Infinite Time Determines if the tunnel stays up indefinitely or gets torn Checkbox, default is ticked.
Duration on Tunnel down on a regular basis.

Tunnel Duration Duration of each tunnel. Integer or Profile. Mandatory if Enable


Infinite Time Duration on Tunnel is not

© Copyright 2018 TeraVM Java Client User Guide Page 589


Aeroflex Limited. All
rights reserved.
8.2.28.1.1.3. Additional Configuration

Field Description Validation


ticked. Valid values are 0 to 14 days. Valid
units are ms, secs, mins and hrs. Default
metric is mins.

Delay Between Tunnels The time period between the end of one tunnel and the Integer or Profile. Mandatory if Enable
attempt to establish a new tunnel. Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 24 hours. Valid
units are ms, secs, mins and hrs. Default
metric is ms.

DPD Detection Determines if the client is receiving packets in a timely Checkbox, default is not ticked.
fashion.

Close HTTPS Connection Closes the underlying HTTPS connection with a reset. Checkbox, default is not ticked.
with Reset

8.2.28.1.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.28.1.2. Provisioning a Cisco AnyConnect Head-End Server Application


If a test is to interact with a real Secure Gateway Server, then a Cisco AnyConnect Head-End Server must
be configured in TeraVM.

The following wizard is displayed for provisioning the Server application:

© Copyright 2018 TeraVM Java Client User Guide Page 590


Aeroflex Limited. All
rights reserved.
8.2.28.1.2.1. External Properties

Figure 8-289. External AnyConnect Server

The following details are required for this dialog:


Table 8-249. Cisco AnyConnect Head-End Server Application Fields

Field Description Validation

Name Unique name identifying the Cisco AnyConnect Head-End Mandatory. String value between 1 and
Server application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured IP Mandatory. All external applications need
hosts which the server application will use to access the to use an External Host to communicate
SUT. with the SUT.

TCP Port The TCP Port that the Server will listen on for incoming Integer in the range 0 to 65535. Default is
connections. 443.

8.2.28.1.2.1. External Properties


The following dialog is displayed for the final step in the Add Cisco AnyConnect Head-End Server wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 591


Aeroflex Limited. All
rights reserved.
8.2.28.2. Cisco Clientless VPN Emulation

Figure 8-290. External AnyConnect Server - External Properties

The Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed:

Enter a Name/Value pair and click on the <OK> button.

8.2.28.2. Cisco Clientless VPN Emulation


A Cisco Clientless SSL Virtual Private Network (VPN) allows for web-browser based access to a corporate
network behind the firewall from potentially any location, using a Secure Gateway device. IP packets are
tunneled over the secure connection to the Secure Gateway and then fowarded over the trusted network. A
remote client needs only an SSL-enabled web browser to access HTTP or HTTPS enabled web servers on
the corporate LAN, where the Cisco ASA headend enables administrators to define rules to specific targets
within the private network that WebVPN users will be able to access.

The TeraVM emulation of a Clientless VPN includes support for the Cisco Clientless VPN TeraVM
application.

© Copyright 2018 TeraVM Java Client User Guide Page 592


Aeroflex Limited. All
rights reserved.
8.2.28.2.1. Provisioning a Cisco Clientless VPN
Application

The Cisco Clientless VPN application is used in conjunction with the following TeraVM entities to support the
emulation of a clientless VPN within TeraVM:

• TeraVM Direct Virtual Host (DVH) - provides access to the network.

• TeraVM Client Applications - these generate the traffic over the secure connection.

The steps required to emulate a Cisco Clientless VPN are:

• create a Direct Virtual Host (DVH). See the section on how to create a Direct Virtual Host.

• create a External Secure Gateway - this represents the Secure Gateway and is used by the VPN Client.
See the section on creating an External Secure Gateway.

• create the required applications - these generate the traffic and each application should use the
previously configured DVH.

8.2.28.2.1. Provisioning a Cisco Clientless VPN Application


The steps required to provision a Clientless VPN Application are:

• Application Details

• Connection Details

• HTTP Request Details

• HTTP Connection Details

• Additional Configuration

8.2.28.2.1.1. Application Details


The following wizard is displayed for provisioning the application:

© Copyright 2018 TeraVM Java Client User Guide Page 593


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.1. Application Details

Figure 8-291. Cisco Clientless VPN Application Details

The following details are required for the Application Details step of the wizard:
Table 8-250. Cisco Clientless VPN Application - Application Details Fields

Field Description Validation

No of Clients Each App to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. If greater than one it represents on Bulk and Batch Provisioning for more
the scale factor of a scaled client. details on using this field. If value is greater
than 1 the Configure As field changes to
Scaled Entity.

Configure As Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window. Refer to the
• Single App Per Row
sections on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field. • Scaled Entity
The default value is "Single App per Row",
but when the No. of Clients is greater than

© Copyright 2018 TeraVM Java Client User Guide Page 594


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.2. Connection Details

Field Description Validation


1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. The hosts must be a Direct
Hosts for this Test Group. Virtual Host with Static or Dynamic address
assignment.

ToS/DiffServ IP ToS/Diffserv bits for the Client. Integer in the range from 0 to 255. Default
is 0

Advanced TCP An option that allows you to modify the characteristics and Optional. Default value: NULL. The
connection rate limit of the TCP. Advanced TCP dialog box contains two
fields: TCP Characteristics and Connection
Rate Limit.

8.2.28.2.1.2. Connection Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 595


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.2. Connection Details

Figure 8-292. Cisco Clientless VPN Connection Details

The following details are required for this step:


Table 8-251. Cisco Clientless VPN Application - Connection Details Fields

Field Description Validation

Secure Gateway External Secure Gateway application. This should be a TeraVM External Secure
Gateway

User Name Username for authentication. Mandatory - string value between 1 - 255
characters. Valid characters a-zA-Z0-9 .
{}<>[]()@#&*%_+=!-

Password Password for authentication. Mandatory - string value between 1 - 255


characters. Valid characters a-zA-Z0-9 .
{}<>[]()@#&*%_+=!-

Use Client Certificates These are client certificates to be generated for the client Select to activate the client certificates.
when authenticating to a secure gateway. Deselected by default.

© Copyright 2018 TeraVM Java Client User Guide Page 596


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.3. HTTP Request Details

Field Description Validation

Indefinite session Session will not be ended by clientless VPN client This option can be either selected or
duration application. deselected. Selected by default. The
following fields, Session Duration and
Delay between Sessions are not active if it
is selected. Deselecting the option makes
them active.

Session Duration Duration of session. Integer or Profile with metric. Range from
0 ms to 14 days and can be in ms, sec,
mins, hours, and days. Is an active field if
“Indefinite clientless session duration” is
selected.

Delay between Sessions Delay between each session. Integer or Profile with metric. Range from
0 ms and 24 hours and can be in ms,
sec, mins, or hours. Is an active field if
“Indefinite clientless session duration” is
selected.

8.2.28.2.1.3. HTTP Request Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 597


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.3. HTTP Request Details

Figure 8-293. Cisco Clientless VPN Application - HTTP Request Details

Table 8-252. Cisco Clientless VPN Application - HTTP Request Details Fields

Field Description Validation

HTTP Server HTTP Server or External HTTP Server application. If is a HTTP Server and Client Batch Mode
is set to “Scaled Entity”, can be scaled,
otherwise must be a single HTTP Server. If
External HTTP server can not be scaled..

Request List A list of HTTP Requests. Request list becomes active once HTTP
Server is configured. Click ellipsis button to
browse to Request list file.

Enable HTTPS for Selecting this option ensures that requests are to use Option becomes available to select once
forwarded requests HTTPS after being forwarded to the Secured Gateway. the HTTP server is added to the HTTP
Requests will be updated to use https and for port 443 field.
before being mangled. Note that all traffic to the Secure
Gateway is over SSL/TLS regardless of this setting.

© Copyright 2018 TeraVM Java Client User Guide Page 598


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.3. HTTP Request Details

Field Description Validation

Enable pre-mangled URLS Indicates that requests in list may contain URLs that are Option becomes available to select once
pre-mangled. These can be identified in the following field the HTTP server is added to the HTTP
as they start with a specific value and will not be subject to field.
mangling.

Pre-mangle URL Start If Enable Pre-mangled URLs checkbox is selected then String. Active if “Enable Pre-mangled
String any URL which starts with the string entered in this field URLS' is selected. Length range from 1
will not be subject to mangling process before forwarding to 255. Valid characters: a-zA-Z0-9 .{}<>[]
over VPN. ()@#&*%_+=!-/\ . Default value: /+CSCO+

Clicking Advanced the below Pre-mangle URL Start String field displays the following dialog:

Figure 8-294. HTTP Request Details - Advanced Details: open on the Keyword Substitution tab

The following information is required in the Advanced Details dialog:


Table 8-253. Cisco Clientless VPN Application - HTTP Request Details - Advanced Details Fields

Field Description Validation

Enable Keyword HTTP header and urls allow the use of special keywords Optional. Checkbox selection. Selecting
Substitution that are substituted at runtimes by selected values based the checkbox activates keyword
on the particular keyword. substitution. Not selected by default.

Headers A header field list allows the configuration of HTTP Optional. Available only for HTTP version
headers which are then included in requests issued by the > 0.9. When you click on the <...> button
client. beside the Headers Field List field, the
Header List Selection dialog is displayed.
Select from a previously configured Header
List or add a new one. Refer to the section
on HTTP Headers Lists in Application-
Specific Test Configuration for more
details.

© Copyright 2018 TeraVM Java Client User Guide Page 599


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.4. HTTP Connection Details

8.2.28.2.1.4. HTTP Connection Details


The following dialog is displayed for the next step of the wizard, HTTP Connection Details:

Figure 8-295. HTTP Connection Details

The following details are required for this dialog:


Table 8-254. Cisco Clientless VPN Application - HTTP Connections Details Fields

Field Description Validation

Requests per Connection Number of requests to be made over each connection Mandatory if “HTTP Server” field in HTTP
within the clientless VPN session. Request Details step is configured. Integer
or profile. Range from 0 to 100,000. Default
is 0.

Delay between Delay between each connection for sending HTTP Mandatory if “HTTP Server” field in HTTP
Connections requests. Request Details step is configured. Integer
or profile. Metric in ms, sec, mins, hours.

© Copyright 2018 TeraVM Java Client User Guide Page 600


Aeroflex Limited. All
rights reserved.
8.2.28.2.1.5. Additional Configuration

Field Description Validation


Range from 0 ms to 24 hours. Default:
0ms.

Delay between Requests Delay between HTTP Request being forwarded over Mandatory if “HTTP Server” field in HTTP
secure clientless VPN session. Request Details step is configured. Integer
or profile. Metric in ms, sec, mins, hours.
Ranage from 0 ms to 24 hours. Default:
0ms.

8.2.28.2.1.5. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.
Table 8-255. Cisco Clientless VPN - Additional Configuration

Field Description Validation

Enable HTTP Response Collection of the Response Codes. Default is disabled as it takes up valuable
Code Statistics processing time. If required, then only enable for
a small number of applications.

8.2.28.3. IPSec/IKE VPN


An IKE/IPsec VPN allows devices in multiple fixed locations to establish secure connections with each
other over a public network such as the Internet. IKE/IPsec VPN is used to extend a company's network,
for example, making computer resources from one location available to employees at other locations. A
typical example of a company that needs a IKE/IPsec VPN would be a growing international corporation with
dozens of branch offices around the world.

The IPSec/IKE application has capabilities similar to the existing VPN client applications. For IKE/IPsec
VPN, however, only the IKE/IPSec Tunnel Type is allowed. IKE/IPSec Policy can be applied to IKE/IPsec
VPN Client and both IKEv1 and IKEv2 are supported.

In addition, the IKE/IPsec VPN application client allows for several types of authentication:

• RSA Signatures (Certificates)

• Pre-Shared Key

• XAUTH

• EAP Methods: MD5 or MSCHAPv2

"RSA Signatures (Certificates)” authentication is used in the same way as other VPN Clients. “Pre-Shared
Key” authentication allows you to enter a unique “Pre-Shared Key” in the IPSec/IKE client. This “Pre-
Shared Key” is used to obtain a Pre-Shared Key in support of establishing a VPN connection with the VPN
Gateway.

A value

Once all the details are correct and valid a virtual interface is established on the user's client machine and
an address is allocated to this virtual interface from a pool of addresses configured on the VPN Gateway.
The user then has secure access to systems and services on the “trusted” network.

© Copyright 2018 TeraVM Java Client User Guide Page 601


Aeroflex Limited. All
rights reserved.
8.2.28.3. IPSec/IKE VPN

To add a new IKE/IPsec VPN Client, click the Applications drop-down list button at the top of the
Applications tab and open the VPN category. Select the “IKE/IPsec VPN Client(s)” option from the VPN
category list.

Figure 8-296. Selecting the IKE/IPsec VPN Client(s) Wizard option from the Applications > VPN sub-menu:

This opens the Add New IKE/IPsec VPN Client(s) Wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 602


Aeroflex Limited. All
rights reserved.
8.2.28.3.1. Application Details

Figure 8-297. Add New IKE/IPsec VPN Client(s) Wizard

The steps required to provision a IKE/IPsec VPN Client wizard are:


1. Application Details
2. Client Details
3. Additional Configuration

8.2.28.3.1. Application Details


The following fields are required for the Application Details step of the IKE/IPsec VPN Client wizard:
Table 8-256. IKE/IPsec VPN Client Application Fields
Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

© Copyright 2018 TeraVM Java Client User Guide Page 603


Aeroflex Limited. All
rights reserved.
8.2.28.3.2. Client Details

Field Description Validation

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and
• Scaled Entity
Bulk and Batch Provisioning for more details on using this
field. The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Host must be a direct virtual
Hosts for this Test Group. host with static or dynamic address
assignment. It cannot be an external host
or a subnet host. Host may have IPv4 or
IPv6 address.

Tunnel Type The type of tunnel used by the IKE/IPsec VPN client. Set to IKE/IPsec VPN. No other option is
available.

IKE/IPsec Policy The IKEv1 or IKEv2 policies being used. Refer to IKE/ Click ellipse button then Add to select or
IPsec in the Test Configuration chapter for details on how create a policy.
to create an IKE/IPsec policy.

ToS/DiffServ Quality of Service metric for the client. Integer in the range 0 - 255. Default is 0

TCP Characteristics TCP Characteristics to use. Add through the Advanced TCP dialog.
New characteristics added through the Add
TCP Characteristics.

8.2.28.3.2. Client Details


The Client Details step of the IKE/IPsec VPN Client(s) Wizard is used to define the secure gateway required
for the VPN, to select the authentication method and its identification type to implement, to configure the
tunneled host that needs to be assigned and to set the time duration on (and optionally any delay between)
tunnels.

Add New IKE/IPsec VPN Client(s) Wizard: Client Details


The Identification Type selected, determines what input is required for TeraVM, if the Identification Type
is:

• Host IP Address or Certificate Distinguished Name, TeraVM will compute the value of the
Identification Data internally.

• Key ID, FQDN or RFC822 Address, you must enter an input value manually for the Identification
Data, this is a scalable value.

The following dialogs show examples of the Identification Type Key ID, the Scalable Identification Edit
Properties dialog, and an RSA Signatures (Certificates) Authentication Method with Certificate Distinguished
Name selected.

© Copyright 2018 TeraVM Java Client User Guide Page 604


Aeroflex Limited. All
rights reserved.
8.2.28.3.2. Client Details

Figure 8-298. Identification Data

Figure 8-299. Scalable Identification Data

© Copyright 2018 TeraVM Java Client User Guide Page 605


Aeroflex Limited. All
rights reserved.
8.2.28.3.2. Client Details

Figure 8-300. Certificates Configuration

The following details are required for this step:


Table 8-257. IKE/IPsec VPN Client - Client Details
Field Description Validation

Secure Gateway The Secure Gateway Server that this Client communicates This should be a TeraVM External Secure
with. Gateway

Authentication Method The type of authentication used by the VPN client. Mandatory. Four options are available:
- Pre-Shared Key
- RSA Signatures (Certificates)
- XAUTHInitPreShared
- EAP Method
Default is Pre-Shared Key.

User Name The user name used to establish a VPN connection. Mandatory if XAUTH authentication is
selected - string value between 1 - 255
characters. This can be scaled using
by default an Alpha Numeric Scaler
or by using a String List Scaler. Click
the Scaling properties button to edit
properties. It is possible to add these
Strings by importing a CSV file with a list
of values. Clicking the "Import..." button

© Copyright 2018 TeraVM Java Client User Guide Page 606


Aeroflex Limited. All
rights reserved.
8.2.28.3.2. Client Details

Field Description Validation


in the Edit Properties dialog will open the
"CSV Import Dialog".

Password The password used to authenticate the username with the Mandatory - string value between 1 - 255
Secure Gateway when XAUTHInitPreShared is selected characters. This can be scaled using
as the Authenication method. If configuring multiple VPN by default an Alpha Numeric Scaler
applications it is possible to configure unique passwords or by using a String List Scaler. Click
for each application by controlling the increment associated the Scaling properties button to edit
with this field. properties. It is possible to add these
Strings by importing a CSV file with a list
of values. Clicking the "Import..." button
in the Edit Properties dialog will open the
"CSV Import Dialog".

Pre-Shared Key Property needed to obtain a Pre-Shared Key. Pre-Shared Mandatory if “Authentication
Key is the shared secret string used to authenticate the Method” is “Pre-Shared Key” or
client in this particular group. “XAUTHInitPreShared” and if “VPN Client
Type” is “IKE/IPsec". Length range from
1 to 255 valid chars: a-zA-Z0-9 .{}<>[]
()@#&*%_+=!-. This can be scaled using
by default an Alpha Numeric Scaler
or by using a String List Scaler. Click
the Scaling properties button to edit
properties. It is possible to add these
Strings by importing a CSV file with a list
of values. Clicking the "Import..." button
in the Edit Properties dialog will open the
"CSV Import Dialog".

Identification Type Identification types are used by the Secure Gateway to Enumerated value. Mandatory. Default
determine access. value: Host IP Address.
• Host IP Address
• Certificate Distinguished Name*
• Key ID
• FQDN
• RFC822 Address
* Certificate Distinguished Name only
available if authentication method is RSA
Signatures (Certificates).

Identification Data This is a scalable property. This field is shown when the Mandatory. String value.
Identification Type is Key ID, FQDN, RFC822 Address.
Default value: ""
Length range from 1 to 255 characters
valid chars:
'a-zA-Z0-9 .{}<>[]()@#&*%_+=!-'
This can be scaled using by default an
Alpha Numeric Scaler or by using a String
List Scaler. Click the Scaling properties
button to edit properties. It is possible to
add these Strings by importing a CSV file
with a list of values. Clicking the "Import..."
button in the Edit Properties dialog will
open the "CSV Import Dialog".

© Copyright 2018 TeraVM Java Client User Guide Page 607


Aeroflex Limited. All
rights reserved.
8.2.28.3.3. Additional Configuration

Field Description Validation

EAP Method EAP stands for Extensible Authentication Protocol and Mandatory if Authentication Method is
this method identifies the two available subtype EAP EAP. Otherwise the field does not appear.
Authentication Methods used for client authentication.
Choose between two EAP authentication
methods:
- MD5
- MSCHAPv2
Username and Password fields for both
EAP methods are scalable in the same
way they are when using Pre-Shared
Key, RSA Signatures (Certificates) and
XAUTHInitPreShared authentication
methods.

Tunneled Host Controls how the VPN client will be associated with it's Mandatory. Choose from Auto Create
Assignment Method IVH. A specific IVH can be selected or one can be created (Dynamic IPv4), Auto Create (Dynamic
automatically. IPv6) or Explicitly Specify. Default is Auto
Create (Dynamic IPv4).

Tunneled Host The name of the Host. Mandatory if the Tunneled Host
Assignment Method is "Explicitly Specify".
Select from existing IVHs with assignment
type of either Dynamic IPv4 Tunnel,
Dynamic IPv6 Tunnel or manually create a
new IVH.

Enable Infinite Time Determines if the tunnel stays up indefinitely or gets torn Check box, Mandatory when Tunnel Type
Duration on Tunnel down on a regular basis. is not "None - Login Only". Default is
ticked.

Tunnel Duration Duration of each tunnel. Integer or Profile. Mandatory if Enable


Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 14 days. Valid
units are ms, secs, mins, hrs and days.
Default metric is mins.

Delay Between Tunnels The time period between the end of one tunnel and the Integer or Profile. Mandatory if Enable
attempt to establish a new tunnel. Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 24 hours.
Valid units are ms, secs, mins and hrs.
Default metric is ms.

Close HTTPS connection Close the HTTPS connection used to obtain the webvpn Check box. Default is not ticked.
with RESET cookie with a RESET. It is possible to close the HTTPS
session with a RESET, making the client not wait for the
server to close its side in response to the client close.

8.2.28.3.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.28.4. GRE Site to Site VPN


The TeraVM application, GRE Site to Site VPN enables you to emulate thousands of GRE clients (tunnel
endpoints) over thousands of GRE tunnels, sending GRE encapsulated traffic to your system under test

© Copyright 2018 TeraVM Java Client User Guide Page 608


Aeroflex Limited. All
rights reserved.
8.2.28.4.1. Ethernet over GRE encapsulation

(SUT). Each tunnel endpoint may have many inner hosts assocated with them, where each inner host
corresponds to a UE (user equipment).

GRE Encapsulation Types


There are two types of GRE encapsulation supported, as shown in the diagram.

Figure 8-301. GRE Encapsulation Types

IP over GRE Ethernet over GRE


IP Payload IP Payload

ETH IP GRE IP ETH IP GRE ETH IP


VLAN VLAN VLAN

1. IP over GRE.
This is IPv4 in IPv4 GRE encapsulation (statically addressed).
2. Ethernet over GRE, discussed in the next section. (IPv4 is supported).

8.2.28.4.1. Ethernet over GRE encapsulation


The TeraVM GRE Site to Site VPN Application supports Ethernet over GRE encapsulation for dynamically
addressed IPv4 traffic, also known as Transparent Ethernet Bridging. This includes an optional, configurable
tunnel keepalive mechanism using PING (enabled by default). Here there are two use cases from a SUT
perspective, depending on the type of GRE Headend being used:
• All User Equipment gets different IP addresses from the GRE Head End
• All User Equipment get the same IP address from the GRE Head End, using Layer 2-aware NAT.
The following encapsulated protocols are supported:
• ARP: ARP from SUT to specific Inner Host MAC
• DHCP/UDP/TCP
• Inner VLAN tag configuration (note that no VLAN related functionality is emulated)

Optional Tunnel Failover Support


In the event of a tunnel failover situation on the SUT side, TeraVM will change the tunnel target to the
failover (secondary) machine.
Each tunnel may select:
• whether to use the keepalive mechanism
• the secondary endpoint for the tunnel if the primary endpoint is seen to be unavailable
• the time interval between PING messages in seconds or milliseconds

© Copyright 2018 TeraVM Java Client User Guide Page 609


Aeroflex Limited. All
rights reserved.
8.2.28.4.2. Test Set Up

• the number of failed PING messages before the remote endpoint is deemed to be unavailable

A PING is deemed to have failed if there is no response within the PING time interval.

8.2.28.4.2. Test Set Up


The diagram below shows how TeraVM can be used to emulate a GRE System Traffic (either IP over GRE
or Ethernet over GRE). User Equipment and Acess Points are represented by TeraVM hosts.

The system under test (SUT) must provide the GRE headend and a DHCP server (to assign IP addresses to
the TeraVM emulated User Equipment).

HTTP is used as a typical example application.

Figure 8-302. GRE in TeraVM

TeraVM System Under Test


C
GRE Site to Remote Endpoint
B Site VPN
D M:N
HTTP GRE Tunnelled Local Endpoint
HTTPClient
Client 1:1
Host
A
GRE GW
GRE Tunnelled
HTTP Client E F
Host
M:1
Router GRE GW HTTP Servers

GRE Tunnelled
HTTP Client
Host

N:1 GRE GW
GRE Tunnelled
HTTP Client Local Endpoint
Host

GRE Site to
Site VPN Remote Endpoint

TeraVM Application

TeraVM Host M:N : Ratio of entities, M >= N


M:1 : Ratio of entities,many-to-one
SUT or TeraVM

It is assumed your TeraVM testbed is set up such that the SUT is providing the GRE Site to Site VPN
application tunnel targets (GRE Head End) of the TeraVM GRE client side. To connect this to the client side
emulated in TeraVM, you will need:

• IP Address of the Remote Gateway (Remote Endpoint parameter of TeraVM GRE GW).

• IP address of the external router the TeraVM GRE Gatways connect to.

Note
There is a M:N relationship between TeraVM GRE Gateways and GRE Tunnel Endpoints (M >=N).

© Copyright 2018 TeraVM Java Client User Guide Page 610


Aeroflex Limited. All
rights reserved.
8.2.28.4.2. Test Set Up

An overview of the TeravM set up steps is given below. Refer to the accompanying diagram for Steps (A) to
(D). Use scaled entities where multiple hosts/applications are required.

1. Start the Java Client, and create a new test group for GRE (see the TeraVM Java Client User Guide for
more information).

2. Create external hosts to represent

• the external router, (E)

• The SUT GRE Gateway (remote endpoint), (F), and secondary endpoint if you are using one.

3. (A) Create scaled TeraVM host(s) to act as client side GRE Gateway(s). This is also known as the local
endpoint(s). For complete descriptions of host parameters, see the Hosts chapter.

• Select Virtual Host and click the Network Visible box.

• Set the Gateway of the Host(s) to the external Router host.

• Use one or multiple TeraVM test interfaces for each host, depending on the bandwidth you require.

4. (B) Create TeraVM host(s) to emulate the GRE Tunnelled (inner) Hosts, with the following host
configuration parameters.

• Select Virtual Host and leave the Network Visible box unchecked.

• If you wish to do Ethernet over GRE emulation:

– In the IP Assignment field, select EoGRE Dynamic IPv4 Tunnel . IP Address will show
0.0.0.0: it will be generated at run-time from the MAC address.

– Set the gateway to the GRE gateway you created in (A) for the host(s).

– Under Link Layer Details, enter the Base MAC Address value. The actual MAC values will
be derived from this, as described in the Hosts chapter. The IP addresses of the tunnelled
hosts are obtained over DHCP.

• If you wish to do IP over GRE emulation:

– In the IP Address Assignment field, select Static and enter the IP address of the host.

– Set the GRE gateway for the host(s).

• Other fields can be left at default or set as desired.

5. (C) Next, create scaled TeraVM GRE Site to Site VPN applications for each GRE Gateway. See
General Application Fields and Site to Site VPN Fields for a complete description of fields.

• Select GRE Site to Site VPN application under the VPN application menu item.

• In the Application Details tab,

– For number of clients (scaled or single), enter the same value as the number of gateways (A),
a different name and description.

– Select the GRE Gateway(s), (A), for the Local Endpoint(s).

© Copyright 2018 TeraVM Java Client User Guide Page 611


Aeroflex Limited. All
rights reserved.
8.2.28.4.2.1. GRE Site to Site VPN Application Fields

– Choose the external SUT GRE Gateway (F) for the Remote Endpoint. You can also select a
secondary endpoint.

• In the Client Details tab, choose the GRE Protocol Type (Transparent Ethernet Bridging or IPv4),
and set other parameters as shown in the next section.

6. (D) Create the TeraVM applications for the tunnelled hosts, for example HTTP Clients.

7. Start the test.

An example TeraVM configuration for applications and hosts for EoGRE is shown below, for applications
and hosts. Both encapsulation protocols are shown.

Figure 8-303. GRE Hosts in TeraVM

Figure 8-304. GRE Applications in TeraVM

8.2.28.4.2.1. GRE Site to Site VPN Application Fields


Table 8-258. Transparent Ethernet Bridging Fields

Field Description

GRE Encapsulation Protocol Type Outer protocol used by GRE. Transparent Ethernet Bridging or
IPv4.

Parameters for Transparent Ethernet Bridging

Enable Keepalive Send PINGs at regular intervals to check if tunnel is active.

Secondary Endpoint Optional (Specify in failover test scenarios): external host (single
or scaled hosts).

Ping Interval Ping response interval. If no response is received within the


period, the previous PING request is deemed to have failed..

Ping Failure Threshold Number of missed responses before switching target endpoints.

© Copyright 2018 TeraVM Java Client User Guide Page 612


Aeroflex Limited. All
rights reserved.
8.2.28.4.2.2. Runtime State

8.2.28.4.2.2. Runtime State


The following are the run time states for the Site to Site VPN application, depending on whether the
keepalive mechanism is enabled:

State Keepalives disabled Keepalives enabled

UP (Green) The Local Endpoint associated with the Ping requests are being responded to by
application is UP one of the configured remote endpoints

Error (Red) The Local Endpoint associated with the The local Direct Host is in error state or
application is in error state or disabled disabled, or ping requests are no longer
being responded to by the configured
remote endpoints.
This can happen if only a single remote
endpoint is configured, but it is down, or
a primary and secondary endpoint are
configured and both are down

Not Active (Yellow) The initial state is Not Active. Once the This is the initial state and changes to UP
Local Endpoint becomes active, so does if a ping is responded to, or ERROR if no
the application. ping is responded to by any configured
remote endpoint.

8.2.28.4.2.2.1. Test Results


The Metrics Guide contains the full list of metrics used by hosts and the GRE Site ot Site VPN application.
Interesting metrics for GRE include

• Endpoint Failovers

• Ping Failures

You should check the run output window for any warning messages in case of misconfiguration, for example
of the Number of Clients.

Note
PCAPs cannot be gathered directly from running applications due to pcap filtering limitations. This is
because the pcap filter selects based on the TCP/UDP/other information, which is at a specific offset
within the packet. If an encapsulation header is added, the filter will no longer find what it is looking for
at the previously selected offset within the packet.

8.2.28.5. F5 SSL VPN


F5 clients use an SSL connection to create a tunnel to provide secure access from outside the F5 BIG-IP
device to the trusted inside network protected by the BIG-IP. Using a user name and password, the client
creates an SSL connection to the BIG-IP. It then tunnels the IP packets over the SSL connection to/from the
BIG-IP, using a F5-specific PPP-like encapsulation. The BIG-IP takes the IP packets from the tunnel and
forwards them over the trusted network.

The TeraVM emulation of F5 SSL VPN includes support for the following client application:

© Copyright 2018 TeraVM Java Client User Guide Page 613


Aeroflex Limited. All
rights reserved.
8.2.28.5.1. Provisioning a F5 SSL VPN Client

1. F5 SSL VPN Client

The F5 SSL VPN application is used in conjunction with the following existing TeraVM entities to support the
emulation of a F5 SSL VPN within TeraVM:

• TeraVM Direct Virtual Host (DVH) - provides access to the network.

• TeraVM Indirect Virtual Host (IVH) - provides access to the virtual interface.

• TeraVM Client Applications - these generate the traffic over the secure connection.

The steps required to emulate F5 SSL VPN are:

• create a Direct Virtual Host (DVH)

• create a External Secure Gateway - this represents the Secure Gateway and is used by the F5 SSL
VPN Client.

• create a VPN Client - this uses the DVH and also can automatically create the required IVH, or it can
use an existing IVH.

• create the required applications - these generate the traffic and each application should use the
previously configured IVH

8.2.28.5.1. Provisioning a F5 SSL VPN Client


The steps required to provision a F5 SSL VPN Client are:

• Application Details

• Client Details

• Additional Configuration

8.2.28.5.1.1. Application Details


The following wizard is displayed for provisioning the client:

© Copyright 2018 TeraVM Java Client User Guide Page 614


Aeroflex Limited. All
rights reserved.
8.2.28.5.1.1. Application Details

Figure 8-305. Add F5 SSL VPN Client-Application Details

The following details are required for the Application Details step of the wizard:
Table 8-259. F5 SSL VPN Client Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
The default value is "Single App per Row",
field.
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

© Copyright 2018 TeraVM Java Client User Guide Page 615


Aeroflex Limited. All
rights reserved.
8.2.28.5.1.2. Client Details

Field Description Validation

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Host must be a direct virtual
Hosts for this Test Group. host with static or dynamic address
assignment. It cannot be an external host
or a subnet host. Host may have IPv4 or
IPv6 address.

Tunnel Type The type of tunnel used by the F5 SLL VPN client. Set to SSL/TLS. No other option is
available.

ToS/DiffServ Quality of Service metric for the client. Integer in the range 0 - 255. Default is 0

The following dialog is displayed upon hitting the Advanced TCP button:

Figure 8-306. F5 SSL VPN Client - Advanced TCP Settings

The following details are required:


Table 8-260. F5 SSL VPN Client - TCP Settings

Field Description Validation

TCP Characteristics TCP Characteristics specify the values of various TCP Optional. Refer to section 11.11 for details
stack parameters such as Segment size, transmit and on adding TCP Characteristics.
receivers buffer sizes, time-out values and also the
behaviour of the TCP stack in relation to connection open/
close strategy and the use of Selective ACKing. This will
limit the number of attempted TCP connections on, for
example, a per second basis. A profile can be navigated
to using the browser button, designated with the ellipsis
symbol (...)

Connection Rate Limit Connection Rate Limit is used to control the rate at which Optional - 1 - 50000. The Metric for the
connections are generated by the Client. Rate Limit value is conn/sec. No default.

8.2.28.5.1.2. Client Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 616


Aeroflex Limited. All
rights reserved.
8.2.28.5.1.2. Client Details

Figure 8-307. F5 SSL VPN Client - Client Details

The following details are required for this step:


Table 8-261. F5 SSL VPN Client - Client Details

Field Description Validation

Secure Gateway The Secure Gateway Server that this Client Mandatory. This should be a TeraVM
communicates with. External Secure Gateway.

Authentication Method The type of authentication used by the F5 SSL VPN client. Mandatory. Username/Password is the
only authentication method available. If
the client is configured to be scaled, the
panel will allow to enable scaling for the
Username, Password and also for the
Initial Request-URI field.

User Name The username to be authenticated with the Secure Mandatory - string value between 1 - 255
Gateway Server. If configuring multiple F5 SSL VPN characters.
applications it is possible to configure unique usernames

© Copyright 2018 TeraVM Java Client User Guide Page 617


Aeroflex Limited. All
rights reserved.
8.2.28.5.1.2. Client Details

Field Description Validation


for each application by controlling the increment
associated with this field.

Password The password used to authenticate the username with Mandatory - string value between 1 - 255
the Secure Gateway Server. If configuring multiple characters.
AnyConnect applications it is possible to configure
unique passwords for each application by controlling the
increment associated with this field.

Initial Request-URI The Initial Request-URI for the GET Request. Optional. Length range from 1 to 255. Valid
chars: a-zA-Z0-9 .{}<>[]()@#&*%_+=!-/.
Default=null.

Tunneled Host Controls how the client will be associated with it's IVH. Mandatory. Choose from Auto Create
Assignment A specific IVH can be selected or one can be created (Dynamic IPv4), Auto Create (Dynamic
automatically. IPv6) or Explicitly Specify. Default is Auto
Create. Selected host address assignment
of “Dynamic IPv4/IPv6 Tunnel” must not
have a gateway specified. Selected host
can only be referenced by at most one
VPN Client application (For example,
AnyConnect or Fortinet).

Enable Infinite Time Determines if the tunnel stays up indefinitely or gets torn Checkbox, default is ticked.
Duration on Tunnel down on a regular basis.

Tunnel Duration Duration of each tunnel. Integer or Profile. Mandatory if Enable


Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 14 days. Valid
units are ms, secs, mins and hrs. Default
metric is mins.

Delay Between Tunnels The time period between the end of one tunnel and the Integer or Profile. Mandatory if Enable
attempt to establish a new tunnel. Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 24 hours. Valid
units are ms, secs, mins and hrs. Default
metric is ms.

© Copyright 2018 TeraVM Java Client User Guide Page 618


Aeroflex Limited. All
rights reserved.
8.2.28.5.1.2.1. Advanced Settings

8.2.28.5.1.2.1. Advanced Settings

Figure 8-308. F5 SSL VPN Client - Advanced Settings

The Advanced Settings dialog has two tabs:


• Tunnel Retry Behaviour
• Session
The following table describes the fields in both tabs
Table 8-262. Tunnel Retry Behaviour and Session Settings - Advanced Configuration

Field Description Validation

Number of Retries Specifies the number of times the application will retry to Mandatory. Integer between 1 and 1000.
connect upon connection failure. Default value = 3

Delay between Retries Specifies how long the application should wait after a retry Mandatory. Integer or profile with metric.
fails to establish a connection. Metric in [ms, secs, minutes, hours ]
Length range from 0 to 1 hours. Default
value: 50 ms .

Backoff Delay Specifies the time to wait before retrying again after the Mandatory. Integer or profile with metric.
max number of retries has been reached. Metric in [ms, secs, minutes, hours].
Length range from 0 to 1 hours. Should be
>= Delay between retries. Default value: 1
min

Close HTTPS Connection Close the HTTPS connection used to obtain the webvpn Mandatory.
with RESET cookie with a RESET.

8.2.28.5.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

© Copyright 2018 TeraVM Java Client User Guide Page 619


Aeroflex Limited. All
rights reserved.
8.2.28.6. VPN Tunnel Teardown

8.2.28.6. VPN Tunnel Teardown


Your VPN test may require a large number of clients or tunnels to be created. When your test is finished,
closing these tunnels in one go may cause problems for your gateway (SUT). To avoid this, you can set
up your test agents to stagger the tearing down of your tunnels, using a feature called "Graceful Tunnel
Teardown". This feature allows you to configure a teardown rate for your tunnels. The rate that you use is
shared across all tunnels for all of your test agents in your test group and applies to all VPN applications that
you are using.

The teardown feature works by calculating the length of time required to teardown all tunnels and assigning
a random delay to the closure of each tunnel so that all tunnels are closed within the time period calculated.
For example, if you have created 10000 tunnels and entered a teardown rate of 100 tunnels/sec, your
tunnels will all be torn down in approximately 100 seconds from when the test stops. To achieve this, each
of the 10000 tunnels will be assigned a random stop delay value between 0 and 100 seconds, in a manner
that enables a gradual closure of all tunnels within the time period.

To enable and configure Graceful Tunnel Teardown

1. Add Test Agent Configuration to the Configuration section of your test group. See Test Agent
Configuration for details on how to do this.

2. If Test Agent Configuration has already been added to your test group (for example, if you required it for
a different type of test), click on the existing Test Agent Configuration Folder of your test group. Right
click on Global Configuration and select Properties.

3. On the VPN tab, enter the number of tunnels that you want to teardown per second in the field Tunnel
Teardown Rate and click OK. This teardown rate is applied to all test agents in your test group.

Figure 8-309. Configure Graceful Tunnel Teardown for VPNs

Note
If you add Test Agent Configuration to your test group, Graceful Tunnel Teardown is automatically
enabled and is pre-configured with a teardown rate of 100 tunnels per second to avoid congestion

© Copyright 2018 TeraVM Java Client User Guide Page 620


Aeroflex Limited. All
rights reserved.
8.2.28.7. Other VPN Applications

on your SUT. If you do not want to use the feature and want all of your tunnels to close at once (for
example, if you want to stop your test quickly), enter a null (blank) value for the rate.

Note
Statistics showing information on Tunnel Close Attempts, Successes and Failures per second
are available and will provide information if time durations are set on tunnels or if they are set out
of service. However, there is a limitation on the results for tunnels closed using Graceful Tunnel
Teardown, since the statistics are not updated while the test is stopping.

8.2.28.7. Other VPN Applications


This section describes how to provision the following applications, which can be found under the VPN Menu
item.

1. Fortinet VPN Client

2. Juniper Network Connect VPN Client

3. AT&T SSLT VPN Client

4. Juniper Pulse VPN Client

5. External Secure Gateway

8.2.28.7.1. Provisioning a VPN Client


The steps required to provision a VPN Client are:

• Application Details

• Client Details

• Additional Configuration

8.2.28.7.1.1. Application Details


The following wizard is displayed for provisioning the client:

© Copyright 2018 TeraVM Java Client User Guide Page 621


Aeroflex Limited. All
rights reserved.
8.2.28.7.1.1. Application Details

Figure 8-310. Add VPN Client-Application Details

The following details are required for the Application Details step of the wizard:
Table 8-263. VPN Client - Application Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window.
• Single Client Per Row
Refer to the sections on Scaled Entity Provisioning and • Scaled Entity
Bulk and Batch Provisioning for more details on using this
The default value is "Single Client per
field.
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the client. Mandatory. String value between 1 and
255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 622


Aeroflex Limited. All
rights reserved.
8.2.28.7.1.2. Client Details

Field Description Validation

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. The hosts must be a Direct
Hosts for this Test Group. Virtual Host with Static or Dynamic address
assignment.

VPN Client Type The type of VPN client to use. Mandatory.


• If the application is a Fortinet VPN
Client then the value is "Fortinet VPN".
• If the application is a Juniper Network
Connect VPN Client then the value is
"Juniper Network Connect VPN".
• If the application is an AT&T SSLT
VPN Client then the value is "AT&T
SSLT VPN".
• If the application is a Juniper Pulse
VPN Client then the value is "Juniper
Pulse VPN".

Tunnel Type The type of tunnel the VPN client will use. Mandatory.
• If the application is a Fortinet VPN
Client then the value must be "SSL/
TLS".
• If the application is a Juniper Network
Connect VPN Client then the value
can be either "NC ESP/SSL" or "None
- Login Only".
• If the application is an AT&T SSLT
VPN Client then the value must be
"SSL/TLS".
• If the application is an Juniper Pulse
VPN Client then the value must be
"Pulse ESP/SSL".

ToS/DiffServ IP ToS/Diffserv bits for the Client. Integer in the range 0 - 255. Default is 0

8.2.28.7.1.2. Client Details


The following dialog is displayed for the next step of the wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 623


Aeroflex Limited. All
rights reserved.
8.2.28.7.1.2. Client Details

Figure 8-311. Add VPN Client - Client Details

The following details are required for this step:


Table 8-264. VPN Client - Client Details

Field Description Validation

Secure Gateway The Secure Gateway Server that this Client communicates This should be a TeraVM External Secure
with. Gateway

Authentication Method The type of authentication used by the VPN client. Mandatory. Choice of Username/Password
or Certificates. Default is Username/
Password.

User Name The username to be authenticated with the Secure Mandatory - string value between 1 - 255
Gateway. If configuring multiple VPN applications it characters.
is possible to configure unique usernames for each
application by controlling the increment associated with
this field.

Password The password used to authenticate the username with the Mandatory - string value between 1 - 255
Secure Gateway. If configuring multiple VPN applications characters.
it is possible to configure unique passwords for each

© Copyright 2018 TeraVM Java Client User Guide Page 624


Aeroflex Limited. All
rights reserved.
8.2.28.7.1.2. Client Details

Field Description Validation


application by controlling the increment associated with
this field.

Realm The realm used to identify the access details of the user Mandatory if VPN Client Type is either
when establishing a VPN with a Juniper Gateway. "Juniper Network Connect VPN" or
"Juniper Pulse VPN" - string value
between 1 - 255 characters.

Account The Account used to identify the access details of the user Mandatory if VPN Client Type is "AT&T
when establishing a VPN with a AT&T SIG VPN Gateway. SSLT VPN" - string value between 1 - 255
characters.

Tunneled Host Controls how the VPN client will be associated with it's Mandatory. Choose from Auto Create
Assignment Method IVH. A specific IVH can be selected or one can be created (Dynamic IPv4), Auto Create (Dynamic
automatically. IPv6) or Explicitly Specify. Default is Auto
Create (Dynamic IPv4).

Tunneled Host The name of the Host. Mandatory if the Tunneled Host
Assignment Method is Explicitly Specify.
Select from existing IVHs with assignment
type of either Dynamic IPv4 Tunnel,
Dynamic IPv6 Tunnel or manually create a
new IVH.

Enable Infinite Time Determines if the tunnel stays up indefinitely or gets torn Checkbox, Mandatory when Tunnel Type
Duration on Tunnel down on a regular basis. is not "None - Login Only". Default is
ticked.

Tunnel Duration Duration of each tunnel. Integer or Profile. Mandatory if Enable


Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 14 days. Valid
units are ms, secs, mins, hrs and days.
Default metric is mins.

Delay Between Tunnels The time period between the end of one tunnel and the Integer or Profile. Mandatory if Enable
attempt to establish a new tunnel. Infinite Time Duration on Tunnel is not
ticked. Valid values are 0 to 24 hours.
Valid units are ms, secs, mins and hrs.
Default metric is ms.

Enable Infinite Login Determines whether or not the client should stay logged Checkbox, Mandatory when the VPN
Duration into to Secure Gateway indefinitely. Client Type is "Juniper Network Connect
VPN" and the Tunnel Type is "None -
Login Only". Default is ticked.

Login Duration Duration of each login session. Integer or Profile. Mandatory if Enable
Infinite Login Duration is not ticked. Valid
values are 0 to 14 days. Valid units are ms,
secs, mins, hrs and days. Default metric is
mins.

Delay Between Logins The time period between the end of one login session and Integer or Profile. Mandatory if Enable
the attempt to establish a new login session. Infinite Login Duration is not ticked. Valid
values are 0 to 24 hours. Valid units are
ms, secs, mins and hrs. Default metric is
ms.

By clicking on the Advanced button in the Client Details step of the wizard, the following dialog is
displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 625


Aeroflex Limited. All
rights reserved.
8.2.28.7.1.3. Additional Configuration

Figure 8-312. VPN Client - Advanced Details

Table 8-265. VPN Client - Advanced Details

Field Description Validation

Close HTTPS Connection Closes the underlying HTTPS connection with a reset. Checkbox, default is not ticked.
with Reset

8.2.28.7.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.28.7.2. Provisioning a External Secure Gateway


If a test is to interact with a real Secure Gateway, then an External Secure Gateway application must be
configured in TeraVM.

The following wizard is displayed for provisioning the Server application:

© Copyright 2018 TeraVM Java Client User Guide Page 626


Aeroflex Limited. All
rights reserved.
8.2.28.7.2.1. Additional Configuration

Figure 8-313. External Secure Gateway Details

The following details are required for this dialog:


Table 8-266. External Secure Gateway Application Fields

Field Description Validation

Name Unique name identifying the External Secure Gateway Mandatory. String value between 1 and
application. 255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a host from the list of the previously configured IP Mandatory. All external applications need
hosts which the server application will use to access the to use an External Host to communicate
SUT. with the SUT.

TCP Port The TCP Port that the Server will listen on for incoming Integer in the range 0 to 65535. Default is
connections. 443.

8.2.28.7.2.1. Additional Configuration


The following dialog is displayed for the final step in the Add External Secure Gateway wizard:

© Copyright 2018 TeraVM Java Client User Guide Page 627


Aeroflex Limited. All
rights reserved.
8.2.29. Ping

Figure 8-314. External Secure Gateway - External Properties

The Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

To enter a Property/Name value pair, click on the <Add> button on this page, and the Add Property Value
dialog is displayed.

Enter a Name/Value pair and click on the <OK> button.

8.2.29. Ping
Ping is a mechanism used to test the availability of entities within a network, as well as being used to
measure the round trip time between 2 network entities.

Ping works by sending ICMP "echo request" packets from a source network entity to the destination network
entity. The source entity then measures the time it takes from sending the packet to receiving an ICMP
response from the destination entity. The time it takes each ping until the source entity receives a response
is refered to as the Round Trip Time.

© Copyright 2018 TeraVM Java Client User Guide Page 628


Aeroflex Limited. All
rights reserved.
8.2.29.1. Provisioning a Ping Application

8.2.29.1. Provisioning a Ping Application


The following wizard is displayed if you are provisioning a Ping Application:

Figure 8-315. Ping application - Application Details Dialog

The steps required to provision a Ping Application are:

• Application Details

• Ping Details

• Additional Configuration

8.2.29.1.1. Application Details


The following information is required for the Application Details step:

© Copyright 2018 TeraVM Java Client User Guide Page 629


Aeroflex Limited. All
rights reserved.
8.2.29.1.2. Ping Details

Table 8-267. Ping Application - Application Dialog Fields

Field Description Validation

No. of Clients The number of Ping Applications to be created. Mandatory. 1 - 50,000,000 ping
applications can be configured per
provisioning action. Default is 1.

Configure as Configures how the applications are provisioned, and The options for this field are:
displayed in the Application Display Window. Refer to the
• Single Client per Row
section on Scaled Entity Provisioning for more details on
using this field. • Scaled Entity
The default value is "Single Client per
Row", but when the No. of Clients is
greater than 1, the default value is changed
to "Scaled Entity".

Name Unique name identifying the Ping Application. Mandatory. String value between 1 and
255 characters in length. No Default.

Description A description for the Ping application. Optional. String value between 1 and 512
characters in length. No Default.

Host The virtual host use by this Ping Application. When the Mandatory. Direct or Indirect Virtual Host.
Ping Application is running, the IP Address of this host will No Default.
be the source IP Address used.

8.2.29.1.2. Ping Details


The Ping Details step of the wizard displays the following dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 630


Aeroflex Limited. All
rights reserved.
8.2.29.1.2. Ping Details

Figure 8-316. Ping Application - Ping Details Dialog

The following information is required for the Ping Details step:


Table 8-268. Ping Application - Ping Dialog Fields

Field Description Validation

Ping IP Address The IP Address that will be pinged by this application. Mandatory. Any IPv4 or IPv6 Address. A
user can only enter an IP Address that is,
the same IP version as the Applications
host IP Address. No Default.

Delay Between Pings The delay between the sending of each ping packet from Mandatory. Can be a value in the range 1
this application. - 3,600,000 (ms). It can also be a profile.
Supported metrics are ms and secs.
Default value is 1 secs.

Packet Size The size of each ping packet in Bytes, sent by this Mandatory. Can be a value in the range 16
application. - (MTU - IP Header). Where the size of an
IPv4 Header is 20, and the size of an IPv6
Header is 40. Default value is 64.

© Copyright 2018 TeraVM Java Client User Guide Page 631


Aeroflex Limited. All
rights reserved.
8.2.29.1.3. Additional Configuration

8.2.29.1.3. Additional Configuration


All of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration.

8.2.30. TeraFlow (TCP/UDP traffic generator)


A TeraVM TeraFlow client(s), once started, will continuously generate the desired amount of TCP or UDP
traffic (throughput) in the defined number of sessions to the selected TeraFlow server(s). It is also possible
to configure a TeraFlow server to echo received data back to the client.

TeraVM supports the following TeraFlow applications:

• TeraFlow Client Application

• TeraFlow Server Application

• External TeraFlow Server Application

8.2.30.1. Provisioning a TeraFlow Client


The following wizard is displayed for provisioning TeraFlow Client Applications:

© Copyright 2018 TeraVM Java Client User Guide Page 632


Aeroflex Limited. All
rights reserved.
8.2.30.1.1. Application Details

Figure 8-317. TeraFlow Client - Application Details

The steps required to provision a TeraFlow Client Application are:


• Application Details
• Addressing Details (Only appears if the Configure As field is set to "Multiple Clients per Row". Refer to
the section on Bulk Provisioning for details of this steps)
• Client Details
• Additional Configuration

8.2.30.1.1. Application Details


The following general information is required for a TeraFlow Client Application:
Table 8-269. TeraFlow Client - Application Details Fields

Field Description Validation

No. of Clients Each client to be created has a row created in the Default is 1. 1 - 50,000,000 clients can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row.

© Copyright 2018 TeraVM Java Client User Guide Page 633


Aeroflex Limited. All
rights reserved.
8.2.30.1.2. Client Details

Field Description Validation


on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned, and The options for this field are:
displayed in the Application Display Window. Refer to the
• Single App Per Row
sections on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field. • Scaled Entity
• Multiple Clients Per Row
When using this option, the No. of
Clients field will represent the No. of
Rows.
The default value is "Single App per Row",
but when the No. of Clients is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the TeraFlow Client. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. Direct or Indirect Virtual Host or
Hosts for this Test Group. Subnet Host. When provisioning more than
one Application, or when the Configure As
field is set to "Scaled Entity", more than 1
host can be selected.

Protocol Specifies the transport protocol that this TeraFlow Client is Can be either TCP or UDP. Default is TCP.
configured to use.

Port The Port on which the TeraFlow Client will bind to it's host. Integer with a min and max value between
If the port is set to Use Next Available, the application will 0 and 65535. Default is Use Next
bind to the first available, non-privileged port. Available.

ToS/DiffServ Quality of Service metric for the client. Mandatory. Integer value between 0 and
255. Default is 0.

8.2.30.1.2. Client Details


The following Client Details dialog is displayed for provisioning the TeraFlow Client Application.

Two Test Modes are configurable:

• Teraflow

• Ookla Speed Test

© Copyright 2018 TeraVM Java Client User Guide Page 634


Aeroflex Limited. All
rights reserved.
8.2.30.1.2. Client Details

Figure 8-318. TeraFlow Client - Client Details - Teraflow Test Mode

The following information is required for this dialog:


Table 8-270. TeraFlow Client Application - Client Details Fields for Teraflow Test Mode

Field Description Validation

Server(s) TeraFlow Server with which the TeraFlow client will Mandatory. When provisioning more than
communicate. 1 Application, or when the Configure As
field is set to "Scaled Entity" more than one
Server can be selected.

Test Mode Test Mode that will be used. Mandatory. Either normal Teraflow or
Ookla Speed Test. Default is Teraflow
mode.

Fields for Test Mode = Teraflow

© Copyright 2018 TeraVM Java Client User Guide Page 635


Aeroflex Limited. All
rights reserved.
8.2.30.1.2. Client Details

Field Description Validation

Note
If Test Mode is 'Ookla Speed Test' the
following fields must be NULL

Throughput Amount of data that is, going to be send to the Server(s). Mandatory. Can have a value in the range
1 bit/s - 10 Tbit/s. There is no default value.
Supported metrics are bit/s, kbit/s, Mbit/
Note s, Gbit/s and Tbit/s. The default metric is
The Throughput will be evenly divided among Mbit/s.
all the entities.

Payload Size This is the size of the UDP payload in bytes that will be Mandatory. Default is 1024 for UDP or
transmitted or the amount of data passed to TCP in a 8192 for TCP.
single “write” operation (refers to the size of the data
payload – it does not include headers).

Number of Sessions The number of simultaneous TCP connections or UDP Mandatory. Default is 1. The maximum
streams that the TeraVM client will establish to transmit allowed number of streams is 100,000,000.
data to the server.

Note
The Number of Sessions will be evenly divided
among all the entities.

If Test Mode is changed to Ookla Speed Test, the following dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 636


Aeroflex Limited. All
rights reserved.
8.2.30.1.2. Client Details

Figure 8-319. TeraFlow Client - Client Details - Ookla Speed Test Test Mode

The following information is required for this dialog:


Table 8-271. TeraFlow Client Application - Client Details Fields for Ookla Speed Test Test Mode

Field Description Validation

Server(s) as above as above

Test Mode as above as above

Fields for Test Mode = Ookla Speed Test

Note
If Test Mode is 'Teraflow' the
following fields must be NULL

Latency Test Duration to perform latency tests. Mandatory. Duration in ms/secs/mins/hours


or create/load a Profile.

© Copyright 2018 TeraVM Java Client User Guide Page 637


Aeroflex Limited. All
rights reserved.
8.2.30.1.3. Additional Configuration

Field Description Validation


Range 0ms - 1 hour. Default is 5 secs.
If 'Download Test Duration' or 'Upload
Test Duration' is 0ms cannot have 0ms as
value.

Download Test Duration over which to perform download Mandatory. Duration in ms/secs/mins/
tests. hours/days or create/load a Profile.
Range 0ms - 7 days. Default is 10 secs.
If 'Latency Test Duration' or 'Upload Test
Duration' is 0ms cannot have 0ms as
value.

Upload Test Duration over which to perform upload Mandatory. Duration in ms/secs/mins/
tests. hours/days or create/load a Profile.
Range 0ms - 7 days. Default is 10 secs.
If 'Latency Test Duration' or 'Download
Test Duration' is 0ms cannot have 0ms as
value.

Delay Between Latency Tests Interval between each Latency Test. That Mandatory. Duration in ms/secs/mins/
is from the reception of the PONG to hours/days.
sending the next PING.
Range 0ms - 7 days. Default is 5ms.

Download Size Requested Number of Bytes to to request in each Mandatory. Range 10-1000000 bytes.
Download request. Default is 200000 bytes.

Upload Size Requested Number of Bytes to Upload to each Upload Mandatory. Range 10-1000000 bytes.
request. Default is 750000 bytes.

Delay Between Individual Tests Interval between individual tests, that is, Mandatory. Duration in ms/secs/mins/hours
between Latency, Download and Upload or create/load a Profile.
Tests
Range 0ms - 1 hour. Default is 0ms.

Delay Between Test Cycles Interval between each test cycle, that is, Mandatory. Duration in ms/secs/mins/
duration between each cycle of Latency, hours/days or create/load a Profile.
Download and Upload
Range 0ms - 7 days. Default is 1ms

8.2.30.1.3. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.
Table 8-272. TeraFlow Client Application - Additional Configuration

Field Description Validation

Enable Latency Statistics Latency statistics will only be gathered only if the server is Default is disabled.
configured to send latency reports.

8.2.30.2. Provisioning a TeraFlow Server


The following wizard is displayed for provisioning TeraFlow Server Applications:

© Copyright 2018 TeraVM Java Client User Guide Page 638


Aeroflex Limited. All
rights reserved.
8.2.30.2.1. Application Details

Figure 8-320. TeraFlow Server - Application Details

The steps following are required to provision a TeraFlow Server application:

• Application Details

• Server Details

• Additional Configuration

8.2.30.2.1. Application Details


The following information is required for a TeraFlow Server Application Details.
Table 8-273. TeraFlow Server Application Fields

Field Description Validation

Number of Servers A server is created as either an application in a single row Default is 1. When more than 1 is entered
in the Application Display Window or based on scaled the Configure As field changes to Scaled
entity where the Number of Servers is the scale factor for Entity automatically. Refer to the section
the scaled server. on Bulk and Batch Provisioning for more
details on using this field.

© Copyright 2018 TeraVM Java Client User Guide Page 639


Aeroflex Limited. All
rights reserved.
8.2.30.2.2. Mobile Terminated Application

Field Description Validation

Configure As Configures how the server(s) are provisioned. Either as Mandatory. Options: ‘Single App Per Row’
a single application per row in the Application Display and ‘Scaled Entity’. Default: ‘Single App
Window, or as a scaled entity. Refer to the sections Per Row’.
on Scaled Entity Provisioning and Bulk and Batch
Provisioning for more details on using this field.

Name Unique name identifying the TeraFlow server application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Mandatory. The following types of hosts
hosts which the server will use to access the SUT. can be selected: - - Direct Virtual Host or
Indirect Virtual Host.

Protocol Specifies the transport protocol that this TeraFlow Client is Can be either TCP or UDP. Default is TCP.
configured to use.

Port The Port on which the server will listen for sessions. Integer value between 0 and 65535.
Default is 5001.

8.2.30.2.2. Mobile Terminated Application


Server applications, with the exception of the HTTP Server and the TeraFlow Server, cannot use a dynamic
host that is, they must have a statically assigned IP address. Release 10.2 supports the provisioning of
HTTP and TeraFlow Servers with hosts that get their address dynamically e.g via DHCP or PPPoE.

8.2.30.2.3. Server Details


The following Server Details dialog is displayed for provisioning the TeraFlow Server Application.

© Copyright 2018 TeraVM Java Client User Guide Page 640


Aeroflex Limited. All
rights reserved.
8.2.30.2.4. Additional Configuration

Figure 8-321. TeraFlow Server - Server Details

The following information is required to provision the TeraFlow Server Application - Server Details.
Table 8-274. TeraFlow Server Application Server Details

Field Description Validation

Enable Bi-directional Specifies whether or not the server will echo received Either enabled or disabled. Default value is
Traffic traffic back to the client. disabled.

Send Latency Reports Specifies whether or not the server will send latency Either enabled or disabled. Default value is
reports to the client. This feature must be enabled in order disabled.
to receive Latency Statistics on client applications

8.2.30.2.4. Additional Configuration


Most of the parameters in this window are described in the section on Settings Common to Multiple
Applications, Additional Configuration. Additional parameters are described below.

© Copyright 2018 TeraVM Java Client User Guide Page 641


Aeroflex Limited. All
rights reserved.
8.2.30.3. Provisioning an External TeraFlow Server

Table 8-275. Add New TeraFlow Server - Additional Configuration

Field Description Validation

Enable Advanced One- Allows for the collection of specific One-way statistics Enabled/Disabled. Default is Disabled.
way Statistics (Refer to the section on TeraFlow Server in the Test
Results topic for more details).

8.2.30.3. Provisioning an External TeraFlow Server


The External TeraFlow Server represents a non-TeraVM TeraFlow Server.

If you select to add an External TeraFlow Server Application, the Add New External TeraFlow Server
Wizard dialog is displayed.

Figure 8-322. Add External TeraFlow Server Application Wizard

The following information is required for this step of the wizard:


Table 8-276. External TeraFlow Server Application Fields

Field Description Validation

Name Unique name identifying the External TeraFlow Server Mandatory. String value between 1 and
Application. 255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 642


Aeroflex Limited. All
rights reserved.
8.2.30.3.1. External Properties

Field Description Validation

Description This field allows you to enter a description for the server String value between 1 and 512 characters
application. in length. No Default. Optional.

Host(s) Select a Host from the list of the previously configured IP Select from the list of External Hosts.
hosts which the server will use to access the SUT.

Port The Port on which the server will listen for sessions. Integer value between 0 and 65535.
Default is 5001.

8.2.30.3.1. External Properties


The External Properties dialog enables you to configure a list of string parameter/value pairings to which no
intelligence will be applied by TeraVM.

Figure 8-323. External TeraFlow Server Properties

To enter a Property/Name value pair, click on the Add button on this page, and the Add Property Value
dialog is displayed.

Enter a Name/Value pair and click on the OK button.

Mobile Terminated Application

© Copyright 2018 TeraVM Java Client User Guide Page 643


Aeroflex Limited. All
rights reserved.
8.2.31. VXLAN/VTEP Emulation

Server applications, with the exception of the HTTP Server and the TeraFlow Server, cannot use a dynamic
host i.e they must have a statically assigned IP address. Release 10.2 supports the provisioning of HTTP
and TeraFlow Servers with hosts that get their address dynamically e.g via DHCP or PPPoE.

8.2.31. VXLAN/VTEP Emulation


A Virtual eXtensible Local Area Network(VXLAN) is a Layer 2 overlay scheme over a Layer 3 network. Each
overlay is termed a VXLAN segment. Only VMs within the same VXLAN segment can communicate with
each other. Each VXLAN segment is scoped through a 24 bit segment ID, referred to as a VXLAN Network
Identifier (VNI).

The VNI scopes the inner MAC frame originated by the individual VM. This allows for overlapping MAC
addresses across segments but preventing traffic "cross over" since the traffic is isolated using the VNI
qualifier. This qualifier is in an outer header envelope over the inner MAC frame originated by the VM.
VXLAN could also be termed a tunnelling scheme to overlay Layer 2 networks on top of Layer 3 networks.
The tunnels are stateless, so each frame is encapsulated according to a set of rules. The VXLAN Tunnel
End Point (VTEP) is located within the hypervisor on the server which houses the VM. Thus, the VNI and
VXLAN related tunnel/outer header encapsulation are known only to the VTEP - the VM never sees it.
Note that it is possible that VTEPs could also be on a physical switch or physical server and could be
implemented in software or hardware.

8.2.31.1. Provisioning VTEP


The steps required to provision a VTEP application are:

• Application Details

• VTEP Details

8.2.31.1.1. Application Details


The following wizard is displayed for provisioning the application:

© Copyright 2018 TeraVM Java Client User Guide Page 644


Aeroflex Limited. All
rights reserved.
8.2.31.1.1. Application Details

Figure 8-324. Add VTEP Application - Application Details

The following details are required for the Application Details step of the wizard:
Table 8-277. VTEP Application - Application Details Fields

Field Description Validation

No. of Apps Each app to be created has a row created in the Default is 1. 1 - 100,000 apps can be
Display Window for Applications allowing statistics to be configured per server. Refer to the section
generated for each row. on Bulk and Batch Provisioning for more
details on using this field.

Configure as Configures how the Applications are provisioned and The options for this field are:
displayed in the Application Display Window.
• Single App Per Row
Refer to the sections on Scaled Entity Provisioning and
• Scaled Entity
Bulk and Batch Provisioning for more details on using this
field. The default value is "Single App per Row",
but when the No. of Apps is greater than
1, the default value is changed to "Scaled
Entity".

Name Unique name identifying the application. Mandatory. String value between 1 and
255 characters in length.

Description This field allows you to enter a description for the String value between 1 and 512 characters
application. in length. No Default. Optional.

© Copyright 2018 TeraVM Java Client User Guide Page 645


Aeroflex Limited. All
rights reserved.
8.2.31.1.2. VTEP Details

Field Description Validation

Host(s) Select a Host from the list of the previously configured IP Mandatory. The hosts must be a static
Hosts for this Test Group. Direct Virtual Host . If more than one host
is selected all have to be the same type
either IPv4 or IPv6.
Cannot have a VNI associated with the
host. Number of apps should be less than
or equal to the number of selected hosts,
or the number of apps should be less than
or equal to the scale factor of selected
scaled hosts.

UDP Port The UDP Port that the Server will listen on for incoming Integer in the range 0 to 65535. Default is
connections. 4789.

8.2.31.1.2. VTEP Details


The following dialog is displayed for the next step of the wizard:

Figure 8-325. VTEP Details

The following details are required for this step:

© Copyright 2018 TeraVM Java Client User Guide Page 646


Aeroflex Limited. All
rights reserved.
8.2.31.1.2. VTEP Details

Table 8-278. VTEP Details

Field Description Validation

Remote IP Address Destination Address for broadcast or muticast packets, or Mandatory. IP version must match the
for packets where the specific remote VTEP address is version of the host. It must be a multicast
unknown. or unicast address. If the VTEP application
to be provisioned is scaled, the VTEP
Details step provides the possibility of
scaling through the Remote IP Address
field:

Manage All VNIs Whether or not to manage all VNIs in a particular Physical Mandatory. Can be checked or unchecked.
Interface. Default: unchecked. Is used only if the
number of different Physical Interfaces
selected in the Host(s) field is equal or
greater than the number of apps.

VNI(s) One specific VNI or a range of VNIs that the VTEP Mandatory unless the Manage All VNIs
application will manage. option is selected. Each VNI must be
between 0 and 16777215.
Range must be defined using dashes and
the value to the right must be greater than
the value on the left of the dash.
Can only contain a single specific VNI
value if scaling is enabled for VNI(s).
The number of different Physical Interfaces
selected must be equal or greater than the
number of apps unless scaling is enabled
for VNI(s).
Default value: null. If the VTEP application
to be provisioned is scaled, the VTEP
Details step provides the possibility of
scaling through the the VNI(s) field:

Auto Create VNI-tagged Automatically creates the VNI-tagged Hosts whose traffic Mandatory, unless "Manage All VNIs"
Hosts is to be tunneled by this VTEP application. checkbox is selected. Checkbox selected
by default.

Hosts per VNI The number of hosts to be created per VNI. Mandatory if Auto Create VNI-tagged
Hosts option selected. Value: integer
between 1 and 100000. If more than 1 host
is going to be auto created an option to
define scaling for the VNI-tagged Hosts
Base IP Address will show up.

Base IP Address The IP address to be assigned to the automatically


generated VNI-tagged Hosts

Create separate Scaled Defines whether or not a separate scaled host will be Mandatory if Auto Create VNI-tagged
Hosts per VNI created for each VNI. Hosts option selected or the VNI(s) field
has a specific value and it is not scaled.
Not selected by default.

By clicking on the Scaling Options button after the VNI field of the VTEP Details step, the following dialog is
displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 647


Aeroflex Limited. All
rights reserved.
8.2.31.1.2. VTEP Details

Figure 8-326. VNI field - Scaling Options

Table 8-279. VNI Field - Scaling Options

Field Description Validation

Start VNI Value The VNI value entered in the VNI(s) in the VTEP Details Can only contain a single specific VNI
step of the Add New VTEP Application(s) Wizard. value if scaling is enabled for VNI(s).

VNIs per Extracted App Defines how many VNIs will result in each VTEP Having just one VNIs per Extracted
application managing just one VNI. App will result in each VTEP application
managing just one VNI, but changing this
to a value more than one will result in all
VTEP apps having a range of VNIs.

Increment Size The increment size for the start VNI value. Set to 1 by default. Integer.

© Copyright 2018 TeraVM Java Client User Guide Page 648


Aeroflex Limited. All
rights reserved.
Chapter 9. Test Configuration

Chapter 9. Test Configuration


Test Group Configuration Folders contain the configuration information required to run a Test Group. All
IP Test Groups require hosts to be configured. Other configuration details (Configuration Items) (such as
Resource Lists for P2P configuration, and User Groups and Message Sets for POP3/SMTP) are protocol
specific.

9.1. Test Group Configuration Folders


Test Group Configuration Folders contain the configuration information required to run a Test Group.
Configuration Folders form part of the tree structure in the Configuration Display panel and can be expanded
to display the Configuration Items contained within each folder.

Figure 9-1. Configuration Display

Some Configuration details such as Resource Lists for P2P configuration, or User Groups and Message
Sets for POP3/SMTP are application specific. Other Configuration Items such as TCP Characteristics or
Rate Limiting Configuration are generic to a Test Group.
The following application specific configurations are available in TeraVM:
• RTP Codec AVP
• RTP Stream Profile
• Adaptive Bit Rate Level Lists
• Bit Rate Level Change Lists

© Copyright 2018 TeraVM Java Client User Guide Page 649


Aeroflex Limited. All
rights reserved.
9.1.1. Adding a Configuration Folder

• HTTP

• IKE/IPsec

• IGMP/MLD

• SMTP/POP3

• VoIP

• RTSP

• FTP

• P2P

• Playback

The following configurations are non-application specific and are available for all Test Groups.

• TCP Characteristics

• Network Characteristics

• Rate Limiting

• Test Agent level

• Port Level

• Interfaces

• Profiles

9.1.1. Adding a Configuration Folder

About this task


The example given here is for a HTTP application, all other applications follow similar steps.

Procedure
1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add HTTP Configuration menu item, this will create the HTTP Configuration folder,
containing Resource List and Request List Folders.

Note
If a HTTP Configuration already exists, an error message is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 650


Aeroflex Limited. All
rights reserved.
9.1.2. Copying a Test Group

Figure 9-2. HTTP Configuration Display

9.1.2. Copying a Test Group


Use this procedure to copy an existing test group. The copying of a host, application, or a configuration item
is not supported.

1. In the Test Group tab select a Test Group.

2. Right click on the specific Test Group and select Copy.

3. Go to the destination folder you want to copy the Test Group to.

4. Right click and select Paste. If the specific Test Group does not exist it will be created. Otherwise an
error dialog will be displayed indicating the Test Group already exists.

Note: to paste the copied Test Group into the same folder as the original Test Group, right click and
select Paste As, and give the test group a unique name.

9.1.3. Exporting a Configuration Folder

About this task

Note
Exporting a Configuration Folder will export all the associated Configuration Items within this folder.

Procedure
1. In the Test Group tab, select the required Test Group, and right click on <ConfigurationName>
Configuration folder under the Configuration folder.
2. Select Export, followed by Export to XML. This brings up the Save File Dialog where you can select
a directory and file name to save the Configuration Folder details in XML.

9.1.4. Importing a Configuration Folder

© Copyright 2018 TeraVM Java Client User Guide Page 651


Aeroflex Limited. All
rights reserved.
9.1.5. View/Modify Configuration Item Properties

About this task

Procedure
1. In the Test Group tab, select the required Test Group, and right click on Configuration.

2. Select Import, followed by Import from XML. This brings up the Open File Dialog where you can
select a directory and XML file name to populate the Configuration Folder details.

Note
• The XML file must have <<configurationname>_configuration_folder> as its top-most
element (after <TeraVM>) in order to be a valid import file for the Configuration Folder.

• If the File Sets contained within the XML file match names that already exist they will be
ignored, even if the values are different.

9.1.5. View/Modify Configuration Item Properties

About this task


The example here is a HTTP Request List Configuration item; follow similar steps for other items.

Procedure
1. In the Test Group tab select a Test Group, and select the required Request or Resource List under
the HTTP Configuration folder.

2. Right click on the Request or Resource List you wish to view, and select the Properties option from the
menu. This will display the Request or Resource List Properties dialog. (Refer to the sections on Add
a Resource and Add a Request List for a description of the fields in these dialogs.)

© Copyright 2018 TeraVM Java Client User Guide Page 652


Aeroflex Limited. All
rights reserved.
9.1.6. Exporting a Configuration Item

Figure 9-3. Request List Properties Dialog

9.1.6. Exporting a Configuration Item

About this task


There are currently two ways to export/save a Configuration Item:.

1. Export to XML. This saves the list without changing the list name.

2. Export to XML As. This allows you to save the list details with a different list name.

9.1.6.1. Export a Configuration Item to XML

About this task


The example given is for HTTP. Other applications work in a similar way.

Procedure
1. In the Test Group tab, select the required Test Group, and go to Resource or Request List under the
HTTP Configuration folder.

© Copyright 2018 TeraVM Java Client User Guide Page 653


Aeroflex Limited. All
rights reserved.
9.1.6.2. Export a Resource or Request List to XML As

2. Right click on the list you wish to export, and select Export, followed by Export to XML. This displays
the Save Dialog where you can select a directory and file name to save your selected list details to.

9.1.6.2. Export a Resource or Request List to XML As

About this task


Export a File Set with another name to XML.

Procedure
1. In the Test Group tab select a Test Group, and go to Resource or Request List under the HTTP
Configuration folder.

2. Right click on the Resource or Request List you wish to export, and select Export, followed by Export
to XML As. This displays the Export Name As dialog where you can rename the Request or Resource
List.

Figure 9-4. Export Name As Dialog

Table 9-1. Export File Set to XML As Dialog Fields

Field Description Validation

New Name Name of the new Request or Resource List 3 - 32 Characters in length

3. Clicking OK will display the Save dialog where you can select a directory and file name to save the
renamed Resource or Request List details.

9.1.7. Importing a Configuration Item

About this task


To import a Resource or Request List.

Note
• XML file must have <http_file_set> as it top-most element (after <TeraVM>) in order to be a valid
import file for the Resource or Request List Folder.

© Copyright 2018 TeraVM Java Client User Guide Page 654


Aeroflex Limited. All
rights reserved.
9.1.8. Deleting a Configuration Item

• If the file set contained within the XML file matches a Resource or Request List that already exists
it will be ignored, even if the values are different.

Procedure
1. In the Test Group tab select a Test Group, and go to Resource or Request List under the HTTP
Configuration folder.
2. Right click on Resource or Request List and select Import, followed by Import from XML . This
brings up the Open File Dialog where you can select a directory and XML file to add a Resource or
Request List to the Resource or Request List Folder.

9.1.8. Deleting a Configuration Item

Procedure
1. In the Test Group tab, select a Test Group, and go to the Configuration folder.
2. Right click on the Configuration Item you wish to view, and select Delete. This will delete the
Configuration Item.

9.2. General Test Configuration Items

9.2.1. Test Agent Configuration


Test Agent Configuration represents information that can be set globally on all Test Agents within a Test
Group. If configured, parameter settings, such as TCP characteristics, TCP Connection Initiation Limit, VoIP
Call Attempts Rate Limit and VPN Tunnel Teardown Rate can be applied to all Test Agents in a Test Group.
These settings will override any similar information set on a per application basis that use any of these Test
Agents.

Note
Many of the parameters contained in Test Agent Configuration are configured with default values.
If you add Test Agent Configuration to your test group, all of these settings will be used and some
features will be automatically enabled (for example VPN Tunnel Teardown). Check all of the settings
and delete any settings that you do not want to use.

Test Agent Configuration is contained within a Test Agent Configuration Folder. Each Test Group can
contain one Test Agent Configuration Folder which contains the Test Agent Configuration for that Test
Group.

Add a Test Agent Configuration Folder


The Test Agent Configuration Folder needs to be created before the Test Agent Configuration can be
added.

© Copyright 2018 TeraVM Java Client User Guide Page 655


Aeroflex Limited. All
rights reserved.
9.2.1. Test Agent Configuration

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Test Agent Configuration menu item, this will create an empty Test Agent
Configuration folder.

Add Test Agent Configuration


Next, you add your Test Agent Configuration and specify the global parameter settings that you want to
apply to all of your Test Agents in that Test Group.

1. Right click on Test Agent Configuration Folder, and select Add Test Agent Configuration. This
will open the Add Test Agent Configuration dialog, which is divided into tabs for different types of
parameters (TCP, Hosts, and so on).

Figure 9-5. Add Test Agent Level RADIUS example

© Copyright 2018 TeraVM Java Client User Guide Page 656


Aeroflex Limited. All
rights reserved.
9.2.1. Test Agent Configuration

Figure 9-6. Add Test Agent Level VOIP example

2. Enter values for the fields displayed as required. See Add Test Agent Configuration Dialog Fields for a
description of the fields.

3. Click the OK button to add the Test Agent Configuration. If the operation was successful then the Test
Agent Configuration will appear below the Test Agent Configuration Folder, otherwise a reason will
be provided for the failure to add the Test Agent Configuration, for example, if you try to add two Test
Agent Configurations to your folder.

CAUTION
Selecting Enable Explicit Host Routes (IPv4) in the Hosts tab can be memory intensive when there
are many hosts, therefore it is best not to enable this option when the gateway addresses refer to valid
IP routers in the system under test.

Table 9-2. Add Test Agent Configuration Dialog Fields

Field Description Validation

TCP

TCP Timer Time taken to retransmit packets. 100, 200, 300, 400, 500, 600, 700, 800,
900 or 1000 Milliseconds. Select from drop
down box.

Connection Limit Maximum number of concurrent connections to perform. 0 - 30000 Connections.


Optional value but if a value is specified you must set a
non-zero value for Every and Ramp-up Period.

© Copyright 2018 TeraVM Java Client User Guide Page 657


Aeroflex Limited. All
rights reserved.
9.2.1. Test Agent Configuration

Field Description Validation

Every Time Interval in which to start creating the number 1, 5, 10, 20, 30, 60 Seconds. Select from
of connections. Optional value but must be set if the drop down box.
Connection Limit value is set.

Ramp-up Period Time Interval in which to perform the number of 1, 5, 10, 20, 30, 60 Seconds. Select from
connections by. Optional value but must be set if the drop down box.
Connection Limit value is set.

TCP Characteristics TCP parameters to be associated with this card. Optional. Select from a previously
configured set of TCP Characteristics or
add a new set. Refer to the section on TCP
Characteristics in this topic.

Hosts

Enable Rate limited Determines if there is to be a rate at which PPPoE or Enabled or Disabled. Default is Disabled.
startup of Hosts DHCP enabled hosts are started.

Rate Limit If Enable Rate limited startup of Hosts is enabled, this 0 - 10,000. Default is 10.
field identifies the actual rate limit to be applied.

Host Stop Rate This value sets the rate of hosts stopping per second. It Optional Number value. Default is blank
applies to all configured hosts in the test group. When which means all the hosts will be stopped
using EAP IEEE802.1 tests, the rate at which the hosts over a period of 2 seconds. If entering
are stopped will also correspond to the amount of EAP a value, then it must be between 1 -
logoff messages sent to the ISE Server. 1000000.

Enable Explicit Host When selected, a test with many hosts on the single Layer Enabled or Disabled. Default is Disabled
Routes (IPv4) 2 network can be configured to route packets between
the hosts without the need for IP-level routing equipment.
When unselected, all IP packets are routed through each
hosts default gateway.

Maximum MTU Maximum Transmission Unit value. 1 to 9216. Default is 1500.

TTL

TTL The Time To Live value to be applied to different packet 1 - 255. Default is 255 for TCP, UDP and
types - TCP, UDP, IGMP and ICMP. ICMP and 1 for IGMP.

IGMP/MLD

Enable Unsolicited If enabled, the IGMP/MLD client will periodically send Enabled or Disabled. Default is Disabled.
Membership Reports membership reports to the all routers group. Only
available if Join Groups is enabled for IGMP/MLD.

Report Interval The interval at which Unsolicited Membership Reports will Integer value or profile. 1 - 3,600,000(ms).
be sent from any IGMP/MLD client using this test agent. It can also be a profile with min and max
This is only available if Unsolicited MRs is Enabled. values in the range 1 - 3,600,000.

Enable Multiple Group Enables MRs to be sent together in a single MR packet, Enabled or Disabled. Default is Disabled
Reports per Report rather a packet per membership report. Used if there is a
requirement to include both the Leave and Join in the one
Membership Report

VoIP (See VoIP Notes)

Call Attempts Rate Limit Metric of the Call Attempts Rate Limit Options are None, BHCA, or CPS. Default
Mode value is None. Mandatory.

Call Attempts Rate Limit The target call rate. Integer number with value in the range
1-10000 if Call Attempts Rate Limit Mode
is CPS, and 1 - 36000000 if Call Attempts
Rate Limit Mode is BHCA. Available only if

© Copyright 2018 TeraVM Java Client User Guide Page 658


Aeroflex Limited. All
rights reserved.
9.2.1. Test Agent Configuration

Field Description Validation


Call Attempts Rate Limit Mode is not None.
No default.

Enable Ramping Enables the associated test agent to 'ramp-up' to the Enabled or disabled. Default is disabled.
target call rate (Call Attempts Rate Limit). This ramp-up
is a period of time during which the the system 'ramps up'
to achieve the target call rate.

Start From Starting call rate during the ramp-up period. Integer 1 - 10,000. No default. Mandatory if
'Enable Ramping' is set.

Period The period of time during which the ramp-up will occur Integer 0 - x secs. No default. Mandatory if
'Enable Ramping' is set. Allowable metrics
are Secs and Minutes with secs as the
default.

IMS (See note)

Enable IMS Mode Indicates if all VoIP and RTSP Clients and Servers on this Enabled or disabled. Default is disabled.
card should operate in IMS mode.

IMS Method The method used to inform the IMS core of the Select from Dynamic Media Path
characteristics of the RTSP TCP Connection and media Reservation (the default) and Pre-Assigned
stream(s). Dynamic Media Path Reservation indicates Media Path Reservation.
the initial SIP INVITE only contains information regarding
the RTSP TCP connection. Pre-Assigned Media Path
Reservation indicates the initial SIP INVITE contains the
complete session description that is, details of the RTSP
TCP connection and all the media streams.

Miscellaneous

Set "Broadcast" bit By default, DHCP messages sent by a Server are unicast Enabled or disabled. Default is disabled.
in DHCP DISCOVER (that is, sent to a specific MAC/IP address). However,
Messages while a DHCP client is acquiring an address, it may not be
possible for it to process unicast packets. This option sets
a "Broadcast" bit in outbound DHCP Discovery messages.
The DHCP Server checks this bit in incoming messages. If
it is set, the server broadcasts its response.

Set "Broadcast" bit Similar to above, this option sets a "Broadcast" bit in Enabled or disabled. Default is disabled
in DHCP REQUEST outbound DHCP Request messages. The DHCP Server
Messages checks this bit in incoming messages. If it is set, the
server broadcasts its response.

Outer VLAN Protocol Tag Allows for the configuration of the Protocol Tag for double Default is 8100.
tagged VLANs. When a Tagged Protocol ID has been
specified, all double-tagged VLANs will use the TPID
value in the Protocol field of the Outer VLAN header.

VPN

Tunnel Teardown Rate Stagger the closing of tunnels while the test is stopping Integer from 1 to 10000 or null. Default is
(known as "Graceful Tunnel Teardown"). The value 100 tunnels/sec.
entered in this field is the number of tunnels per second
that will be torn down. It will be distributed among all the
VPN applications configured in the current test group.
Entering a null value means all tunnels will close at once
(not in a staggered manner). A non-null value enables the
teardown feature.

RADIUS

© Copyright 2018 TeraVM Java Client User Guide Page 659


Aeroflex Limited. All
rights reserved.
9.2.1. Test Agent Configuration

Field Description Validation

RADIUS IPv4 Server Reference to an IPv4 External Radius Server External RADIUS Server. Value checks:
RADIUS server host must use IPv4.

RADIUS IPv6 Server Reference to an IPv6 External Radius Server External RADIUS Server. Value checks:
RADIUS server host must use IPv6.

RADIUS Shared Secret RADIUS Shared Secret is only available if Enable EAP String. Default value: "". Value checks:
Authentication is true and EAP Encapsulation method is
• length range from 1 to 255
RADIUS.
• – valid chars: 'a-zA-Z0-9 .{}<>[]
()@#&*%_+=!-'
Mandatory value.

RADIUS Initial Retransmit Time (in milliseconds) after which a RADIUS packet is Integer. Default value: 1000. Value checks:
resent if no response has been received.
• min: 1
• max: 10000

RADIUS: Max Number of Number of retransmits after which the RADIUS connection Integer. Default value: 3. Value checks:
Retransmits is considered to be lost.
• min: 0
• max: 10

DNS

IPv4 DNS Server IPv4 address of DNS Server Default value: none. Type: External DNS
Server Application. Optional.

IPv6 DNS Server IPv6 address of DNS Server. Default value: none. Type: External DNS
Server Application. Optional.

Initial Retransmission Time (in milliseconds) after which a DNS packet is resent Default value: none. Integer in the range of
Timeout if no response has been received. 0-60000. Optional

Maximum Number of Number of retransmits after which the DNS connection is Default value: none. Integer in the range of
Retransmits considered to be lost. 0-10. Optional.

Note
The following rules must be adhered to for VoIP:

Applying an initial call delay to a VoIP UA also impacts the rate limit. The initial call delay determines
when the UA should make its first call. For the rate limit to work that delay needs to be determined
by the rate limit. The rate limit functionality with its ramp up functionality in effect replaces the initial
call delay. If a SIP call rate limit is applied to a card and a UA on that card has an Initial Call Delay, a
warning is issued at runtime indicating a VoIP UA has an Initial Call Delay and the Rate Limit cannot
be applied.

Note
A specific license is required in order to see the IMS tab.

© Copyright 2018 TeraVM Java Client User Guide Page 660


Aeroflex Limited. All
rights reserved.
9.2.2. IP Port Level Configuration

9.2.2. IP Port Level Configuration


This contains traffic rate configuration values, and whether multiplexing is enabled for a port on TeraVM.

A Test Group can have Port Level Configurations for each TeraVM interface/port.

The table below contains a list of icons used in Port Level Configuration .

Note
Ethernet Port Level Configuration is not currently supported.

Add a Port Level Configuration Folder


The Port Level Configuration Folder contains all IP Port Level Configurations created within this test group.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Port Level Configuration menu item, this will create the empty Port Level
Configuration folder.

Add IP Port Level Configurations


IP Port Level Configuration specifies TeraVM port parameters such as Outbound Rate Limits and Enable
Multiplexing parameters.

1. Right click on Port Level Configuration Folder, and select Add IP Port Level Configuration. This will
cause the Add IP Port Level Configuration dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 661


Aeroflex Limited. All
rights reserved.
9.2.2. IP Port Level Configuration

Figure 9-7. Add IP Port Level Configuration Dialog

2. Enter values for the fields displayed as required. See Add Peer Group Dialog Fields for a description of
the fields.

3. Click the OK button to add the IP Port Level Configuration. If the operation was successful then the IP
Port Level Configuration will appear below the Port Level Configuration Folder, otherwise a reason will
be provided for the failure to add the IP Port Level Configuration.
Table 9-3. Add IP Port Level Configuration Dialog Fields

Field Description Validation

Interface Select IP interface using <...> button. Only TeraVM IP Interfaces/ports are
selectable.

Hard Limit This is the rate (or bits/second) that will be put onto a 1 - 1000000 Kbs. 1 - 1000Mbs. Supported
particular packet on the wire. Another packet will not be metrics are KB or MB. Default is KB.
allowed onto the wire until that time has elapsed. The hard
limit ensures that throughput does not exceed the line rate
of a card.

Soft Limit This value is optional. A "soft" limit calculates the overall 1 - 1000000 Kbs. 1 - 1000Mbs. Supported
rate at which packets are being sent on the wire, and tries metrics are KB or MB. Default is KB.
to sustain the specified rate, even if it means the rate
is temporarily exceeded for short bursts of packets. In
other words, the soft limit averages throughput over short
time increments, rather than enforcing a specific interval
between two individual packets.

Enable MUX When selected, packets from different flows will be On or Off. Default is off.
interleaved, rather than having "window sized" bursts
being sent from individual flows.

© Copyright 2018 TeraVM Java Client User Guide Page 662


Aeroflex Limited. All
rights reserved.
9.2.3. Rate Limiting Configuration

9.2.3. Rate Limiting Configuration


In the rate limiting configuration folder, you can set up bandwidth rate limiting and connection rate limiting.
Both operate on the same principle - when a rate limit is applied to a host, the host is limited to the specified
rate. For example if a bandwidth rate limit of 10Mbps is applied to the inbound host for traffic going to a
HTTP Client, the HTTP Client will only receive in traffic at 10Mbps - even if the HTTP Server is transmitting
at 20Mbps.

Add a Rate Limit Configuration Folder


The Rate Limiting Configuration folder contains all rate limits created within this test group. It needs to be
created before creating any specific rate limits.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Rate Limiting Configuration menu item, this will create the Rate Limiting
Configuration folder and inside this folder will be a bandwidth and connection folder. These folders are
used to hold specific bandwidth and connection rate limits.

Add Bandwidth Rate Limit


A bandwidth rate limit can be applied to host on the client or server side (in the Advanced TCP Settings
section). It is used to control the rate at which traffic is transmitted/received by client and server applications
The same or different rate limits can be applied to both the Client and Server sides. The rate is specified in
either Mbps or Kbps.

1. Right click on Bandwidth Folder, and select Add Bandwidth Rate Limit. This will display the Add
Bandwidth Rate Limit dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 663


Aeroflex Limited. All
rights reserved.
9.2.3. Rate Limiting Configuration

Figure 9-8. Add Bandwidth Rate Limit Dialog

2. Enter values for the fields displayed as required.

3. Click the OK button to add the Bandwidth Rate Limit. If the operation was successful then the
bandwidth rate limit will appear below the Bandwidth Folder, otherwise a reason will be provided for the
failure to add the rate limit.
Table 9-4. Add Bandwidth Rate Limit Dialog Fields

Field Description Validation

Name The unique name for the bandwidth rate limit. 3 - 32 characters.

Rate Limit This is the rate (or bits/second) that can be generated by 1 - 1000000 Kbs. 1 - 1000Mbs. Supported
or applied to the host(s). The value is divided among all metrics are Kb/Mb. Select from drop down
the hosts with this rate limit. box. Default is Kb.

Enable Ramping This checkbox indicates if the specified rate limit will be N/A
achieved over a ramp-up or ramp-down period.

Start From Starting rate limit. If this smaller than Rate Limit then there 1 - 1000000 Kbs. 1 - 1000Mbs.
is a ramp-up affect. If it is greater than the Rate limit, there
is a ramp-down affect.

Period The time in seconds over which the ramp-up or ramp- 0 - 3600.
down occurs.

Add a Connection Rate Limit


A connection rate limit can be applied to hosts on the client side It is used to control the rate at which
connections are generated by the client side.

© Copyright 2018 TeraVM Java Client User Guide Page 664


Aeroflex Limited. All
rights reserved.
9.2.4. Playback Configuration

1. Right click on Connection Folder, and select Add Connection Rate Limit. This will display the Add
Connection Rate Limit dialog.

Figure 9-9. Add Connection Rate Limit Dialog

2. Enter values for the fields displayed as required.

3. Click the OK button to add the Connection Rate Limit. If the operation was successful then the
connection rate limit will appear below the Connection Folder, otherwise a reason will be provided for
the failure to add the rate limit.
Table 9-5. Add Connection Rate Limit Dialog Fields

Field Description Validation

Name The unique name for the bandwidth rate limit. 3 - 32 characters.

Rate Limit This is the rate (or conn/second) that can be generated by 1 - 50000. The Metric for the Rate Limit
or applied to the application. The value is divided among value is conn/sec.
all the hosts with this rate limit.

Enable Ramping This checkbox indicates if the specified rate limit will be Enabled or disabled. Default is disabled.
achieved over a ramp-up or ramp-down period.

Start From Starting rate limit. If this smaller than Rate Limit then there 1 - 50000
is a ramp-up affect. If it is greater than the Rate limit, there
is a ramp-down affect.

Period The time in seconds over which the ramp-up or ramp- 0 - 3600.
down occurs.

9.2.4. Playback Configuration


The playback configuration folder contains resources used with the TCP Playback, Port-level Replay
and IGMP applications. It contains one or more resource lists. A resource list is a list of one or more files
containing packets that will be replayed across the SUT. The files include packet capture files containing
TCP, UDP or UDP/RTP conversations and also MPEG2-TS files.

© Copyright 2018 TeraVM Java Client User Guide Page 665


Aeroflex Limited. All
rights reserved.
9.2.4. Playback Configuration

Add a Playback Resource Configuration Folder


The Playback Configuration folder contains all playback resources created within this test group. It needs to
be created before creating any specific playback resources.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Playback Configuration icon.

2. Right click on Add Playback Configuration menu item, this will create the Playback Configuration
folder.

Add a Playback Resource List


1. Right click on Playback Configuration folder, and select Add Playback Resource List.

Figure 9-10. Add Playback Resource List Dialog

The following information is displayed in this dialog.


Table 9-6. Add Playback Resource List Dialog Fields

Field Description Validation

Resource List Name Enter a unique name for the playback resource. 3 - 32 characters.

File The name of the current files on the local machine 1 and 125 characters in length. File must
containing the packets to be replayed. also exist and not be empty.

File Size The size of the files in bytes. 1 - 1000MB.

Type The type of resources i.e Capture File or MPEG2-TS


File.

Content A summary of the type of content in the files associated For MPEG2-TS, the content column
with the resource. will always state that the content
is "Media". For Captured Files, the

© Copyright 2018 TeraVM Java Client User Guide Page 666


Aeroflex Limited. All
rights reserved.
9.2.4. Playback Configuration

Field Description Validation


content will be either "RTP, UDP or TCP
Conversations".
It is not possible to calculate this
information when playback resource lists
are initially added, when a new resource
is added to an existing Playback
Resource List or when an existing
resource in a Playback Resource List is
modified. This information can only be
calculated once the Playback Resource
List has been sent to the server to
be added or modified. Therefore, the
'Content' column will show the value
"Unresolved" for resources of type
"Capture File" until the new or modified
resources have been sent to the server.

2. To add a new Resource to the Resource List:

a. Click the button Add to display the Configure Playback Resource Properties dialog.

Figure 9-11. Configure Playback Resource Properties Dialog

b. Select the type of resources that is, Capture File or MPEG2-TS File.

c. Browse for the required file to be added to this list.

• For MPEG2-TS, the file types are: ts, m2t, tp.

• For Capture files, the file types are: cap, pcap, pkt, snoop, trc

Note
The Playback Resource List must only contain resources of the same type. If an attempt
is made to add a resource to a playback resource list which already contains resources,
then the add dialog will no longer allow you to select the type. In this case, the type will be
defaulted to the type of the previously added resources and it will not be changeable.

© Copyright 2018 TeraVM Java Client User Guide Page 667


Aeroflex Limited. All
rights reserved.
9.2.5. Profile Configuration

d. Click the OK button to add the Playback Resource. If the operation was successful then the
resource will appear in the Playback Resource List Properties table, otherwise a reason will be
provided for the failure to add the resource.

Figure 9-12. Playback Resource List Properties Dialog

3. Click the OK button to add the Resource List to the configuration. If the operation was successful
then the resource list will appear below the Playback Configuration Folder, otherwise a reason will be
provided for the failure to add the resource list.

9.2.5. Profile Configuration


A profile is a representation of a value that can be applied to a specific field in an application. Examples
include Payload Size for Streaming applications and Delay/Duration values in POP3 applications.

This offers the ability to introduce a level of randomness into the traffic that is, transmitted across
applications in a test group. The value for the profile can be defined as:

• A list of specific values.

• A single range.

• A list of ranges.

Profiles are added in the Test Group tab. A profile name need only be unique when compared to other
profiles which exist at the same hierarchical level and with the same parent.

© Copyright 2018 TeraVM Java Client User Guide Page 668


Aeroflex Limited. All
rights reserved.
9.2.5. Profile Configuration

Figure 9-13. Profile Configuration Structure

Add a Profile Configuration Folder


The Profile Configuration Folder contains all profiles created within this test group and needs to be created
before a profile can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Profile Configuration menu item, this will create the Profile Configuration folder.

Add a Profile
1. Right click on Profile Configuration, and select Add Profile. This will cause the Add Profile dialog to
be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 669


Aeroflex Limited. All
rights reserved.
9.2.5. Profile Configuration

Figure 9-14. Add Profile Dialog

2. Enter values for the fields displayed as required. See Add Profile Dialog Fields for a description of the
fields.

3. To Add a Profile Distribution Configuration

a. Click the status button ... to display the Configure Profile Distribution Function dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 670


Aeroflex Limited. All
rights reserved.
9.2.5. Profile Configuration

Figure 9-15. Configure Profile Distribution Function Dialog

b. Click the Add button to display the Add Time Period dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 671


Aeroflex Limited. All
rights reserved.
9.2.5. Profile Configuration

Figure 9-16. Add Time Period Dialog

c. Using the slider (or Up, Down keys) select a Time Period percentage value.

d. Select a single value (or range or values) to be associated with this Time Period. See Add Time
Period Dialog Fields for a description of the fields.

e. Click the OK button to add the Time Period.

4. Click the OK button to add the profile.

Note
The profile must be 100% configured that is, there must be no unused time periods, before the profile
can be successfully added.

If the operation was successful then the profile will appear below the selected item, otherwise a reason will
be provided for the failure to add the profile.
Table 9-7. Add Time Period Dialog Fields

Field Description Validation

Period Percentage value of Time Period 1 - 100 percent.

Value Can be a single value or a range of values within the 1 - 1,000,000,000


associated Time Period.

Use Range Enables/Disables the ability to enter a Range of values Boolean

© Copyright 2018 TeraVM Java Client User Guide Page 672


Aeroflex Limited. All
rights reserved.
9.2.6. String List Configuration

Table 9-8. Configure Profile Distribution Function Dialog Fields

Field Description Validation

Period Percentage value of Time Period 1 - 100 percent.

Value Can be a single value or a range of values within the 1 - 1,000,000,000


associated Time Period.

Use Range Enables/Disables the ability to enter a Range of values Boolean

Table 9-9. Add Profile Dialog Fields

Field Description Validation

Name Name of the new Profile, must be unique within the Profile 3 - 32 Characters in length
Configuration Folder.

Description Description for new Profile 0 - 125 Characters in length

Type Type of Profile. (Uneditable) Only Profile Distribution Function Type


available in TeraVM 2.0

Status Current Status of Profile. (Uneditable) Configured or Unconfigured.

9.2.6. String List Configuration


A String List is simlpy a list of words. The initial usage of this configuration item is as part of the definition
of a HTTP URL that is, the URL can reference a particular String List Configuration item using the syntax
{STR:stringlistname}. This allows TeraVM to create variable URLs but from a well-known list of words.

Add a String List Configuration Folder


The String List Configuration Folder contains all the String Lists created within this test group and needs to
be created before a String List can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add String List Configuration menu item, this will create the String List Configuration
folder.

Add a String List


1. Right click on String List Configuration, and select Add String List This will cause the Add String
List dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 673


Aeroflex Limited. All
rights reserved.
9.3. Application-Specific Test Configuration

Figure 9-17. Add String List Dialog

2. Enter values for the fields displayed as required. Use the Add button to add strings to the list. The
Selection Mode controls how words are selected from the string list.

9.3. Application-Specific Test Configuration

9.3.1. Adaptive Bit Rate Level List Configuration


The Adaptive Bit Rate Level List contains a list of bit rate levels, that will allow for different bit rates to be
applied to a VoIP call, once it has been enabled in the VoIP UA.
Some standard adaptive bit rate levels are provided out-of-the-box. These include:
Table 9-10. AMR NB Default Bit Rates
Level Bit Rate(kbps)

1 4.75

2 5.15

3 5.90

© Copyright 2018 TeraVM Java Client User Guide Page 674


Aeroflex Limited. All
rights reserved.
9.3.1. Adaptive Bit Rate Level List Configuration

Level Bit Rate(kbps)

4 6.70

5 7.40

6 7.95

7 10.20

8 12.20

Table 9-11. AMR WB Default Bit Rates

Level Bit Rate(kbps)

1 6.60

2 8.85

3 12.65

4 14.25

5 15.85

6 18.25

7 19.85

8 23.05

9 23.85

and new bit rate level lists can be added on a per test group basis.

Add Adaptive Bit Rate Level List


1. Right click on the Adaptive Bit Rate Level Lists folder.

2. Click on Add Adaptive Bit Rate Level List menu item, this will cause the Add Adaptive Bit Rate
Level List dialog to be displayed. Enter values are required.

© Copyright 2018 TeraVM Java Client User Guide Page 675


Aeroflex Limited. All
rights reserved.
9.3.1. Adaptive Bit Rate Level List Configuration

Figure 9-18. Add Adaptive Bit Rate Level List Dialog

Table 9-12. Add Adaptive Bit Rate Level List Dialog Fields

Field Description Validation

Name Name of the Adaptive Bit Rate Level List. It must be 1 - 255 Characters in length
unique within the Test Group. Mandatory field.

Codec Type The type of codec that this list should be allowed on. Mandatory.

Adaptive Bit Rate Levels List of configured bit rate levels, containing the Bit Rate Mandatory. Size must be between 2-50
and pcap file to be used. levels.

Figure 9-19. Add Adaptive Bit Rate Level Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 676


Aeroflex Limited. All
rights reserved.
9.3.2. Bit Rate Level Change List Configuration

Table 9-13. Add Adaptive Bit Rate Level Dialog Fields

Field Description Validation

Rate The Bit Rate for the level. Mandatory. Valid between 1 kbps to
200,000 kbps.

Data The pcap file to be used for the level. Mandatory. Must be a pcap file, containing
a single RTP stream.

9.3.2. Bit Rate Level Change List Configuration


The Bit Rate Level Change List defines the sequence of Adaptive Bit Rate Levels from a configured
Adaptive Bit Rate Level List that will be applied to a VoIP Call.

Add an RTP Bit Rate Level Change List


1. Right click on the Bit Rate Level Change Lists folder.

2. Click on Add Bit Rate Level Change List menu item, this will cause the Add Bit Rate Level Change
List dialog to be displayed. Enter values are required.

Figure 9-20. Add Bit Rate Level Change List Dialog

Table 9-14. Add Bit Rate Level Change List Dialog Fields

Field Description Validation

Name Name of the Bit Rate Level Change List. It must be 1 - 255 Characters in length
unique within the Test Group. Mandatory field.

© Copyright 2018 TeraVM Java Client User Guide Page 677


Aeroflex Limited. All
rights reserved.
9.3.3. FTP

Field Description Validation

Bit Rate Level Changes An ordered list of Bit Rate Level Changes. Mandatory.

Figure 9-21. Add Bit Rate Level Change Dialog

Table 9-15. Add Bit Rate Level Change Dialog Fields

Field Description Validation

Change Type The type of change to be applied. Values include: Mandatory. Default is Highest Bit Rate
Level.
• Highest Bit Rate Level
• Lowest Bit Rate Level
• Bit Rate Level
• Shift Up Bit Rate Levels
• Shift Down Bit Rate Levels

Bit Rate Level A specific bit rate level. Mandatory, only when Change Type is set
to Bit Rate Level.

Bit Rate Levels The number of bit rate levels to shift up or down too. Mandatory, only when Change Type is set
to Shift Up Bit Rate Levels or Shift Down
Bit Rate Levels.

9.3.3. FTP
The FTP configuration folder contains two configuration items:

• Resource List

This is a list of files to be transferred using FTP. Any file type can be used.

• Command List

An FTP Command List is a named list containing one or more commands to be used in the FTP
transfer. An FTP Client MUST specify a FTP Command List to use during test execution. The command
list details the sequence of commands an FTP client runs through during the course of an FTP session

© Copyright 2018 TeraVM Java Client User Guide Page 678


Aeroflex Limited. All
rights reserved.
9.3.3.1. Add an FTP Configuration Folder

with an FTP server. The commands in turn will dictate the data that is transferred between the FTP
clients and FTP servers..

9.3.3.1. Add an FTP Configuration Folder


The FTP Configuration Folder contains all lists required for this application and needs to be created before
any list can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add FTP Configuration menu item, this will create the FTP Configuration folder
containing a Call List Folder.

Note
If a FTP Configuration already exists, an error message is displayed.

Figure 9-22. FTP

9.3.3.2. Add a Command List


1. Right click on the FTP Configuration folder.

2. Click on Add Command List menu item, this will cause the Add FTP Command List Dialog to be
displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 679


Aeroflex Limited. All
rights reserved.
9.3.3.2. Add a Command List

Figure 9-23. FTP Command List

3. Enter a unique Name to identify this List. This can be a string value between 1 and 255 characters in
length and is mandatory.

4. Click on the <Add> button to add commands to this list.

Figure 9-24. Add FTP Commands

Enter values for this dialog as follows:


Table 9-16. Add Mapping Dialog Fields

Field Description Validation

List of commands/ The FTP client must be configured with a list of A Command List must have at least
parameters commands to be executed during the FTP session. 1 entry. Number of entries must be
between 1 and 100. See supported
Command List below.

Pathname Pathname to the Command List. The pathname must be a string values
between 1 and 255 characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 680


Aeroflex Limited. All
rights reserved.
9.3.3.3. Add a Resource List

Field Description Validation


No default. Mandatory. Number of entries
must be between 1 and 100.

These commands have the same format as FTP clients CLI which are installed in Windows and Linux PCs.
The supported commands are:

• get

Retrieve a file/data from the server. This command must specify an argument that identifies what is to
be retrieved from the server. The argument can be a name that identifies a resource on the TeraVM
Server, a Profile name resulting in data of a size controlled by the Profile been returned to the Client, a
specific size or a file on an External Server.

• put

Store a file/data to the server. This must specify an argument which identifies what is put onto the
Server. The argument can be a name that identifies a resource that will stored on the TeraVM controller
or an External Server, a Profile name resulting in data of a size controlled by the Profile been stored to
the Server or a specific size.

• cd

Change directory on the server. This will always work when the Server is a TeraVM Server.

• pwd

Print the current working directory on the server. This will always work when the Server is a TeraVM
Server.

• ls

List directory information. This results in a file transfer from the server to the client. No actual directory
listing is returned to the client. The data contained in the transfer is some text saying the command
worked.

• system

Request the server to indicate system information. This will always work when the Server is a TeraVM
Server.

• bin

set transfer mode to binary. This will always work when the Server is a TeraVM Server.

• ascii

set the transfer mode to ascii. This will always work when the Server is a TeraVM Server.

9.3.3.3. Add a Resource List


There is one list shared between all FTP Clients in a Test Group called a Shared Client Resource List. A
number of resource lists can be configured to be used by FTP Servers.

1. Right click on the FTP Configuration folder.

© Copyright 2018 TeraVM Java Client User Guide Page 681


Aeroflex Limited. All
rights reserved.
9.3.3.3. Add a Resource List

2. Click on Add FTP Resource List menu item, this will cause the Add FTP resources List Dialog dialog
to be displayed.

Figure 9-25. Add FTP Resource List Dialog

3. Enter a unique Name to identify this List. This can be a string value between 1 and 255 characters in
length and is mandatory.

4. Click on the <Add> button to add paths to this list.

Figure 9-26. Add Resource Dialog

Enter detail of resources as follows:

© Copyright 2018 TeraVM Java Client User Guide Page 682


Aeroflex Limited. All
rights reserved.
9.3.4. HTTP Configuration

Table 9-17. FTP Server Resource Lists

Field Description Validation

Path The path to where the resource is located. Can be between 1 and 255 characters in
length. Default is empty. Mandatory fie

Type Indicates the type of the Resource - whether it refers to Options are: File Resource, Fixed Size
a File, a specific (fixed) amount of data or an amount of or Range Resource. Default is File
data covering a specific Range. Resource. Mandatory field.

Resource This field is controlled by the Type field. If Type is File Mandatory. Number of entries must be
Resource then a file must be selected. If Type is a between 1 and 100.
Fixed Size then an integer in the range 0 - 100,000,000
is required. If Type is Range Resource then a profile
must be selected.

9.3.4. HTTP Configuration


A HTTP Configuration Folder in TeraVM usually contains the following items:

• HTTP Requests

A HTTP Request consists of a HTTP method, such as Get or PUT, and a URI. A request can also
include parameters, such as as request method types and request/response values. The information in
the request is used to build the HTTP Header that the client will send to the server

HTTP Requests are added to the Request List in the HTTP Configuration. The same URI can appear
multiple times in the list.

An example is shown below of a request list with three requests.

© Copyright 2018 TeraVM Java Client User Guide Page 683


Aeroflex Limited. All
rights reserved.
9.3.4. HTTP Configuration

• HTTP Resources

A HTTP Resource consists of a URI and the resource available from this URI. The resource can be a
file or specific data for download. It can optionally include a content length.

HTTP Resources are added to the Resource List in the HTTP Configuration.

Note
– A Server can only be associated with one Resource Mapping List.

– A URI must be unique within the list.

© Copyright 2018 TeraVM Java Client User Guide Page 684


Aeroflex Limited. All
rights reserved.
9.3.4.1. Add a HTTP Configuration Folder

9.3.4.1. Add a HTTP Configuration Folder


1. In the Test Group tab create or select a Test Group (see Add Test Group Section ).

2. Right click on Add HTTP Configuration and select Add -> HTTP Configuration to add the folder.

Note
If a HTTP Configuration already exists, an error message is displayed.

Figure 9-27. HTTP Configuration Display

9.3.4.2. Add HTTP Requests


1. Go to Test Group -> Configuration -> HTTP -> Request Lists.

2. Add a Request List if it does not already exist (note if you are using MPEG-DASH, a default list exists
for that already).

• Right click on the Request List folder.

• Select Add Request List. The Add Request List dialog is displayed.

• Enter a unique Name to identify this Request List. This can be a string value between 1 and 255
characters in length and is mandatory.

© Copyright 2018 TeraVM Java Client User Guide Page 685


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Figure 9-28. Add HTTP Request

3. Enter the following details to define the request list:


Table 9-18. HTTP Request Details

Field Description Validation

Name Unique name to identify this list. Can be between 1 and 255 characters in
length. Default is empty. Mandatory.

Requests HTTP Requests consisting of a HTTP "method" and a Click on the <Add> button to add
URI. requests for this list (see next step).

Selection Mode Method used to select Requests (URLs) from the Sequential, Random or Zipfian
Request List Distribution. Default is Sequential.
"Zipfian" ("Zipf's Law" or "Long Tail")
is a power law probability distribution
that favours earlier items in the list over
later items, with the Zipfian Exponent
controlling the bias of the distribution.

Zipfian Exponent Available only if the Selection Mode value is "Zipfian Decimal value in the range 0.01-10.0.
Distribution". Used to control the bias of the Zipfian Default value of 1.0.
distribution.
Min=0.01 is almost equivalent to a random distribution.
Lower exponents would probably be totally random due
to rounding of the tiny differences in probability. Using
a zipfian distribution that is equivalent to a random
distribution would be wasteful from a performance
perspective. Max=10.0 is so biased in favour of the first
value in the list that it will be selected almost 100% of
the time. A few other early values in the list may appear
from time to time, but later items will almost certainly

© Copyright 2018 TeraVM Java Client User Guide Page 686


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Field Description Validation


never appear, (as their incredibly low probabilities will
probably round to zero).

4. Next, add a HTTP Request to the Request List. Click on the <Add> button shown above.

Figure 9-29. Add Requests

5. The following requests can be added to the list:

© Copyright 2018 TeraVM Java Client User Guide Page 687


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Table 9-19. HTTP Request Dialog Fields

Field Description Validation

Request Method Request method to be used by the HTTP Client. Four HTTP
methods are supported, GET, HEAD, POST and PUT. Note
HEAD and POST are not
supported in HTTP 0.9

URI URI for the chosen method. This must be a path and optional Parameters must be in the format
parameters. If the Client is interacting with a TeraVM HTTP of <pm>=<value>&<pm>=<value>
Server, this URI is mapped to a specific resource (for example a and so on, with a max length of 4000
file available on the HTTP Server). If interacting with an External characters. The path can contain
Server, this URI has no such mapping. Mappings are configured keywords to allow the randomization of
in the HTTP Resource Mapping configuration item defined later. the HTTP Request. See below.
A special URI exists for requesting a specific amount of arbitrary
data.

Header Field List List of user-configured HTTP Header fields. Click on the <...> icon to add a header
list. The Header List Selection dialog
is displayed. See Header List section
for details.

If the POST method is selected, the following dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 688


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Figure 9-30. POST Method

This dialog has 3 additional fields:


Table 9-20. POST Dialog Fields

Field Description Validation

Content Type Ccontent type of the request header Select application/x-www-form-


urlencoded or multipart/form-data from
the drop down list.

Content Type Charset Charset used in the content Only available if Content Type is
application/x-www-form-urlencoded.
Select from the list provided or enter a
specific charset.

© Copyright 2018 TeraVM Java Client User Guide Page 689


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Field Description Validation

Content Actual content of the POST. Only available if Content Type is


application/x-www-form-urlencoded.

If the Content Type is multipart/form-data, the following POST dialog is displayed:

Figure 9-31. POST multipart form-data Method

The Body Parts field is a list (up to 1000) of parts that compose the body of a multipart/form-data POST
request.

When adding a Body Part, the following dialog is displayed:

© Copyright 2018 TeraVM Java Client User Guide Page 690


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Figure 9-32. Body Parts

Table 9-21. Add Body Parts Dialog Fields

Field Description Validation

Body Data Type Type of data specified in the body part. Select File or Text from the drop down
list.

Content Actual content of the Body Part. Dependent on the Body Data Type -
enter text or select a file.

Content Type Content type of the header for the Body Part. Select from the list or enter a specific
value.

Content Type Charset Charset used in the content Only available if Body Data Type is
Text. Select from the list provided or
enter a specific charset.

Content Transfer Content transfer encoding header indicating the transfer encoding Select from the list provided.
Encoding to be applied to the Body Part.

© Copyright 2018 TeraVM Java Client User Guide Page 691


Aeroflex Limited. All
rights reserved.
9.3.4.2. Add HTTP Requests

Field Description Validation

Content Disposition Parameters of the content disposition header. It must contain at least the "name"
parameter - even if it has no value. If
the Body Data Type is File, this will
also include the "filename" parameter.

Header Field List List of user configured HTTP Header fields Click on the <...> icon to add a header
list. The Header List Selection dialog
is displayed. Refer to sections 4.3
in this topic for more information on
adding a new Header List.

The following keywords can be used in the HTTP Request List Path and the Header List:

• {NUM} Any instance of this keyword in a URL will be replaced with a random unsigned 32 bit number.

• {NUMX} Any instance of this keyword in a URL will be replaced with a random unsigned 32 bit number,
with leading zero padding up to X digits, where X is in the range 1-9. Note that the range of the selected
number is chosen so that the number will not exceed X digits

• {NUM:profilename} Any instances of this keyword within a URL will be replaced with an unsigned 32 bit
number selected from the specified profile. The user can select an existing numeric profile by specifying
an underscore "_" followed by the profile name for example "_myProfileName" or the description of a
numeric profile for example "1024-2048:.4/2048-4096:.6". To sequentially download a series of files
numbered 1 to 5 the syntax would be: http://www.ireland.com/article{NUM:1-5/i}

• {NUMX:profilename} Any instances of this keyword within a URL will be replaced with an unsigned 32
bit number selected from the specified profile, with leading zero padding to X digits, where X is in the
range 0-9.

• {STR:stringlist} stringlist is the name of a String List Configurtion Item (explained later) containing a list
of words. When this STR keyword is encountered in a URL, TeraVM will select a word from the list of
words in the configuration item named stringlist and replace the keyword in the URL with the selected
word. The order of words within a list is important, as it is possible to specify the order in which words
are selected from the list that is, the {REF} keyword can be used to reuse a previously selected word.
For example consider a sequential string list configuration item named MyList containing the words
Humpty, Dumpty, wall and fall. {STR=w1:MyList} inserts the value Humpty, and assigns this value to the
variable w1. {STR=w1:MyList} {REF=w1} uses the previously assigned word w1 that is, Humpty.

Note
Keywords are not case sensitive. So, for example, {NUM} and {num} are equivalent

Note
Profile names are case sensitive. So, for example, {NUM:_MyProf} and {NUM:_MYPROF} will
select from different profiles

© Copyright 2018 TeraVM Java Client User Guide Page 692


Aeroflex Limited. All
rights reserved.
9.3.4.2.1. Add a HTTP Header Field List

Note
An unrecognised profile name or invalid profile descriptor evaluates to zero

Figure 9-33. Header List Selection

9.3.4.2.1. Add a HTTP Header Field List


You can specify a list of HTTP header fields to be used in HTTP requests issued by individual HTTP clients.
Each Header Field List consists of a name and a table of header fields that you can add, edit or delete. A
tick is used in this table to specify if a field body of a Header Field is folded.

© Copyright 2018 TeraVM Java Client User Guide Page 693


Aeroflex Limited. All
rights reserved.
9.3.4.2.1. Add a HTTP Header Field List

Figure 9-34. Add Header Field List to a HTTP Client:

The following details must be supplied for a new Header Field List:
Table 9-22. HTTP Header Field List

Field Description Validation

Name Unique name identifying HTTP Header List. String value between 3 and 32 characters
in length; valid chars: a-zA-Z0-9 .
{}<>[]@#&*%_+=!- Mandatory. No Default.

Header Fields List of HTTP Header fields. This list must contain at least one HTTP
header field. Mandatory. No Default.

To add a Header Field to the list, click on the Add button on the Add Header Field List dialog. The Add
Header Field dialog is displayed as shown:

Note
If a HTTP header Field list is deleted, then all HTTP Clients and HTTP Request Lists using that HTTP
header field list will also be deleted.

© Copyright 2018 TeraVM Java Client User Guide Page 694


Aeroflex Limited. All
rights reserved.
9.3.4.2.1. Add a HTTP Header Field List

Figure 9-35. Add Header Field

The following details must be entered for each new Header Field:
Table 9-23. HTTP Header Fields

Field Description Validation

Name Name identifying HTTP Header Field. String value between 1 and 4000
characters in length. Must contain only
You can enter the field name manually or alternatively,
printable US-ASCII characters except ':',
click on the Book icon beside the Field Name field, and
select from a Data Dictionary populated with common
header field names Mandatory, No Default.

Body Text in the body of the HTTP header field. If you click on String value between 1 and 4000
the Help icon beside this field, the Keyword Substitution characters in length. Can contain only
dialog is displayed which contains keyword definitions and printable US-ASCII characters including
examples. [CR/NL]. Spaces will not be validated. This
field allows folding, and displays a warning
when a new line after [CR/NL] doesn't
start with TAB or SPACE. Mandatory. No
Default.

Note
Multiple header fields with the same header field name can be entered more than once in the same
list.

The Data Dictionary dialog is displayed if the Book icon beside the Name field is clicked:

© Copyright 2018 TeraVM Java Client User Guide Page 695


Aeroflex Limited. All
rights reserved.
9.3.4.2.1. Add a HTTP Header Field List

Figure 9-36. Data Dictionary

The Keyword Substitution Help dialog is displayed if the Help icon beside the Body field is clicked:

© Copyright 2018 TeraVM Java Client User Guide Page 696


Aeroflex Limited. All
rights reserved.
9.3.4.2.1. Add a HTTP Header Field List

Figure 9-37. Keyword Substitution Help

Note
To perform the Byte-Range substitution, the HTTP Client's "Enable Keyword Substitution" checkbox
must be checked (Add HTTP Client Wizard - Server Details).

© Copyright 2018 TeraVM Java Client User Guide Page 697


Aeroflex Limited. All
rights reserved.
9.3.4.3. Add HTTP Resources

Note
If multiple "Range" header fields using the {BYTERANGE} keyword in the header field body appear in
the same HTTP request, the range value will only be substituted in the first one.

Note
The same keyword substitution that is, available for URLs, ("NUM" keyword), will also be applied to
HTTP Header fields assuming the "Enable Keyword Substitution" checkbox is checked (Add HTTP
Client Wizard - Server Details)

9.3.4.3. Add HTTP Resources


1. Go to Test Group -> Configuration -> HTTP -> Resource Lists.

2. Add a Resource List if it does not already exist (note if you are using MPEG-DASH, a default list exists
for that already).

• Right click on the Resource List folder.

• Select Add Resource List. The Add Resource List dialog is displayed.

• Enter a unique Name to identify this Resource List. This can be a string value between 1 and 255
characters in length and is mandatory.

© Copyright 2018 TeraVM Java Client User Guide Page 698


Aeroflex Limited. All
rights reserved.
9.3.4.3. Add HTTP Resources

Figure 9-38. Add HTTP Resource List

3. Next, add a HTTP Resource to the Resource List. Click on the <Add> button shown above.

Figure 9-39. Add Resource Dialog

4. Set the following fields to define the resource, and click OK.

© Copyright 2018 TeraVM Java Client User Guide Page 699


Aeroflex Limited. All
rights reserved.
9.3.5. IGMP/MLD

Table 9-24. HTTP Server Resource Lists

Field Description Validation

Path URI (path to where the resource is located). 1 and 255 characters in length. Default is
empty. Mandatory.

Type Resource type - File or an amount of data (fixed or File Resource or Random Data(Default).
random).

Resource If Type is File Resource then a file must be selected Mandatory. Number of entries must be
(click on the Add icon (...) to browse). If Type is a Fixed between 1 and 100.
Size then an integer in the range 0 - 100,000,000 is
required. If Type is Range Resource then a profile must
be selected.

9.3.5. IGMP/MLD
IGMP/MLD Configuration consists of:

• Filter Lists

• Multicast Group List

• Resource Playback

A Filter List contain is used by IGMPv3 and MLDv2 applications. An IGMPv3 Membership Report can
include a list of IP Addresses in a Filter List. These filter lists are used to tell an IGMP-enabled router what
packets to forward to IGMP clients. The router will forward packets with a source IP Address from the
supplied INCLUDE filter list to the Client. T

A Multicast Group configuration item is used by both IGMP and MLD clients and servers. Each entry in the
list contains a multi-cast address, source port and destination port.

A Playback Resource List is a list of resources which reference files. The files include packet capture
files containing TCP, UDP or UDP/RTP conversations and also MPEG2-TS files. Refer to section 16.2 for
instructions on adding a Playback Resource List.

9.3.5.1. Add an IGMP/MLD Configuration Folder


The IGMP Configuration Folder contains all Filter Lists and Multicast Lists created for this test group and
needs to be created before these can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add IGMP Configuration menu item, this will create the IGMP Configuration folder,
containing Filter List and Multicast List Folders.

Note
If an IGMP Configuration already exists, an error message is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 700


Aeroflex Limited. All
rights reserved.
9.3.5.2. Add an IGMP IP Address Filter List

Figure 9-40. IGMP Configuration Display

9.3.5.2. Add an IGMP IP Address Filter List


IGMP IP Address Filter lists contain one or more IPv4 or IPv6 IP Addresses - it is not possible to mix IPv4
and IPv6 addresses.

1. Right click on IGMP Configuration folder, and select Add IGMP IP Address Filter List. This will
cause the Add IGMP IP Address Filter List dialog to be displayed.

Figure 9-41. Add IGMP IP Address Filter List Dialog

2. Enter values for the fields displayed as required.

3. To Add an Address to the Filter List:

a. Click the button Add to display the Add IP Address dialog.

© Copyright 2018 TeraVM Java Client User Guide Page 701


Aeroflex Limited. All
rights reserved.
9.3.5.3. Add a Multicast Group List

Figure 9-42. Add IP Address Dialog

b. Fill in an IP Address.

c. Click the OK button to add the Address. If the operation was successful then the address will
appear in the Address Filter List table, otherwise a reason will be provided for the failure to add the
address.

4. Click the OK button to add the Filter list. If the operation was successful then the Filter list will appear
below the IGMP Configuration Folder, otherwise a reason will be provided for the failure to add the Filter
list.
Table 9-25. AddIP Address Dialog Fields

Field Description Validation

IP Address An IPv4 or IPv6 address. 0.0.0.0 - 225.255.255.255.

9.3.5.3. Add a Multicast Group List


To add a Multicast Group, right click on the Multicast Group folder in the Configuration Display and select
the Add Multicast Group List option from the menu. The Add Multicast Group List dialog is displayed.

Each entry in the list contains the address of the group, the Destination Port which specifies the UDP
destination port in each multicast packet and the Source Port which specifies the UDP source port in each
multicast packet.

© Copyright 2018 TeraVM Java Client User Guide Page 702


Aeroflex Limited. All
rights reserved.
9.3.5.3. Add a Multicast Group List

Figure 9-43. Add Multicast Group List

Enter a unique Name to identify this Multicast Group List. This can be a string value between 1 and 255
characters in length and is mandatory. Click on the <Add> button to add items for this list.

© Copyright 2018 TeraVM Java Client User Guide Page 703


Aeroflex Limited. All
rights reserved.
9.3.5.3.1. Bulk Provisioning Multicast Group Item

Figure 9-44. Add Multicast Group Items

The following requests can be added to the list:


Table 9-26. IGMP/MLD Group List Dialog Fields

Field Description Validation

No. Of Group Items An individual group item containing a multicast address, source 1 - 1000. For values greater than
port and destination port can be added to this group if a value 1 refer to the Bulk Provisioning of
of 1 is entered in this field. By entering a value greater than 1, Multicast Group Items section below.
it is possible to create multiple group items for which the group
address, source port and destination port can be iterated on to
provide a list of unique items.

Group Address Multi-cast address Mandatory. Must be a valid multicast


address.
IGMP -IPv4 Address. Default is
239.252.1.1
MLD - IPv6 Address

Source Port Source transport port in the multicast packet sent from the IGMP 0 - 65535. Must be an integer in this
Server and received by the IGMP Client. range. Mandatory. No default.

Destination Port Destination transport port in the multicast packet sent from the 0 - 65535. Must be an integer in this
IGMP Server. For an IGMP Client this is the port on which the range. Mandatory. No default.
client will listen for incoming packets.

9.3.5.3.1. Bulk Provisioning Multicast Group Item


By entering a value greater than 1 in the No. of Group Items field, it is possible to create multiple group
items for which the group address, source port and destination port can be iterated on to provide a list of
unique items.

© Copyright 2018 TeraVM Java Client User Guide Page 704


Aeroflex Limited. All
rights reserved.
9.3.5.3.1. Bulk Provisioning Multicast Group Item

An Arrow button is displayed beside the group address, source port and destination port to enable bulk
provisioning of these fields. By clicking on this button, the following Iterate dialogs are displayed.

To iterate on the Group Address, enter a base address into the Group Address field and a value by which
to increment this address in the Increment by field.

Figure 9-45. Iterate Group Address

To iterate on the Source port, enter a port number into the Source Port field and a value by which to
increment this port ( in the Increment by field.

Figure 9-46. Iterate Source Port

To iterate on the Source port, enter a port number into the Destination Port field and a value by which to
increment this port ( in the Increment by field.

© Copyright 2018 TeraVM Java Client User Guide Page 705


Aeroflex Limited. All
rights reserved.
9.3.6. IKE/IPsec

Figure 9-47. Iterate Destination Port

9.3.6. IKE/IPsec
An IKE/IPsec VPN allows devices in multiple fixed locations to establish secure connections with each other
over a public network such as the Internet. IKE/IPsec VPN is used to extend a company's network securely,
for example, making computer resources from one location available to employees at other locations.

9.3.6.1. Add an IKE/IPsec Policy Folder


The IKE/IPsec Policy Configuration folder contains definitions for IKEv1 and IKEv2 encryption and integrity
policy proposals.

1. In the Test Group tab create a Test Group (see Chapter Test Groups, Section Adding a Test Group)
and right-click on the Configuration icon.

2. Select Add... from the Configuration context menu and choose Add IKE/IPsec Policy Configuration
from the Configuration sub-menu, this will create the empty IKE/IPsec Policy Configuration folder.

This adds the IKE/IPsec Policies configuration folder to the Configuration node:

© Copyright 2018 TeraVM Java Client User Guide Page 706


Aeroflex Limited. All
rights reserved.
9.3.6.2. Add an IKE/IPsec Policy

Figure 9-48. IKE/IPsec Policies Configuration Folder

9.3.6.2. Add an IKE/IPsec Policy


To add a new IKE/IPsec policy, right-click on the IKE/IPsec Policies configuration folder and select Add IKE/
IPsec Policy.

© Copyright 2018 TeraVM Java Client User Guide Page 707


Aeroflex Limited. All
rights reserved.
9.3.6.2. Add an IKE/IPsec Policy

Figure 9-49. Add New IKE/IPsec Policy

This opens the Add IKE/IPsec Policy dialog:

© Copyright 2018 TeraVM Java Client User Guide Page 708


Aeroflex Limited. All
rights reserved.
9.3.6.2. Add an IKE/IPsec Policy

Figure 9-50. Add New IKE/IPsec Policy

The following tables provide details on each of the fields in the IKE/IPsec Policy dialog:
Table 9-27. Add New IKE/IPsec Policies - Encryption

Field Description Validation

Name Name of the new IKE/IPsec Policy must 3 - 512 Characters in length
be unique within the IKE/IPsec Policy
Configuration Folder.

IKE Settings

Product The VPN type used in the creation of the Mandatory. Can be either AnyConnect or IKE/IPsec.
policy

IKE Version The version of IKE being used Options include “IKEv1” or “IKEv2”.
Becomes “IKEv2” if “Product” is “AnyConnect”.
Default is IKEv2

© Copyright 2018 TeraVM Java Client User Guide Page 709


Aeroflex Limited. All
rights reserved.
9.3.6.2. Add an IKE/IPsec Policy

Field Description Validation

IKE Mode When IKEv1 is selected as the IKE Mandatory. Options include "Main" and "Aggressive".
Version an IKE Mode is visible.

Encryption Specifies the encryption algorithm used in Click ellipsis button (...) beside field to open the
the IKE negotiation, and depending on the Transform Selector dialog. Options include: AES-
algorithm, the size of the encryption key CBC, AES-GCM, 3DES, DES and NULL.
used.

Integrity The authentication algorithm used on the Click ellipsis button (...) beside field to open the
protected traffic. Transform Selector dialog. Options include: SHA1,
SHA2 and MD5.

PRF A pseudo-random function (PRF) used as Click ellipsis button (...) beside field to open the
the algorithm to derive keying material and Transform Selector dialog. Options include: SHA1,
hashing operations. SHA2, MD5 and MSCHAPv2.

DH Group A modulus or Diffie-Hellman Group. Click ellipsis button (...) beside field to open the
Transform Selector dialog.

ESP (IPsec) Settings

Encryption Encapsulating Security Payload (ESP) Click ellipsis button (...) beside field to open the
Internet Key Transform Selector dialog. Options include: AES-
CBC, AES-GCM, AES-GMAC, 3DES and DES
encryption types.

Integrity The integrity portion of the hash algorithm Click ellipsis button (...) beside field to open the
used in the IKE proposal. The hash Transform Selector dialog. Algorithm options include:
algorithm creates a message digest, which SHA1, SHA2 and MD5.
is used to ensure message integrity.

Table 9-28. Add New IKE/IPsec Policies - Rekeying

Field Description Validation

IKE Rekeying

Rekeying Intervals Time interval before an IKE rekey is Interval can be specified in secs, mins, hrs, days.
initiated. Can be from 1 sec to 30 days. No default.

IPsec Rekeying

Rekeying Intervals Time interval before an IPsec rekey is Interval can be specified in secs, mins, hrs, days.
initiated. Can be from 1 sec to 30 days. No default.

Rekeying Volume Volume of data before an IPsec rekey is Volume can be specified in Bytes, KiB, MiB, GiB.
initiated. Can be from 1 Bytes to 8589934592 Gig Bytes. No
default.

Table 9-29. Add New IKE/IPsec Policies - Advanced

Field Description Validation

Initial Retransmission Timeout A retransmission timer to ensure data Value range: 0-60 seconds. Default 2.
delivery in the absence of any feedback
from the remote data receiver. The timeout
value doubles for each subsequent
retransmit of a packet, for example, first
delay is 2 seconds, second delay is 4
seconds, third is 8 seconds, and so on.
Sixty seconds is the maximum delay.

© Copyright 2018 TeraVM Java Client User Guide Page 710


Aeroflex Limited. All
rights reserved.
9.3.7. P2P

Field Description Validation

DPD Interval Dead Peer Detection (DPD) is a method Value in seconds. Range 0-60 seconds. No default.
that allows detection of unreachable
Internet Key Exchange (IKE) peers.

Requested MTU The maximum transmission unit (MTU) of a Integer value between 576 and 1500.
network interface is the size of the largest
block of data that can be transmitted as a
single unit. .

NAT-Traversal Used to establish and maintain Internet Options include Detect and Force. Default is Detect.
protocol connections traversing network
address translation (NAT) gateways, which
break end-to-end connectivity.

Fragment IKE Packets After If IKE packets are long, you can split Select checkbox to enable fragmentation then enter
them after a specified maximum length of the maximum number of bytes that your payload can
payload in Bytes. Actual packet fragment be before the packets are fragmented (integer from 1
length will include header and padding as to 2147483647).
well as this maximum payload size. Only
valid for IKEv2.

Use IKE Source Ports Option to use IKE source ports 500/4500 Select checkbox to enable option. Default: Not
for IKE negotiations for devices behind selected.
NAT device.

Enable IKE Redirects Option to use redirect Mechanism for the Select checkbox to enable option. Default: Not
IKEv2. selected.

Note
Additional parameters that affect IKE/IPsec tunnel behaviour can be set in Global Settings in the
TeraVM Controller Administration Interface. They can be found in category IKE Client Settings (there
are also some in Cryptographic Settings). The parameters include:

Maximum number of IKE retransmissions - Number of times an IKE packet will be resent before it
will be considered as lost.

Delay before IKE responses - Adds a delay between messages to ensure the client receives them.

The global setting parameter IKE configuration profile override should be left at default None, if the
IKE policy is added in the Java Client.

9.3.7. P2P
P2P Configuration consists of Peer Groups and Resource Lists.

A peer group is a group of users/clients who can transfer (share) data between each other. A "peering client"
can only be a member of one Peer Group. A Test Group can have many Peer Groups.

A Resource List identifies the data resources which can be shared between peering clients in a Test Group.
The data resources can be libpcap type files that is, those containing pdus that can be replayed between
Replay Peers. A Test Group can have many Resource Lists.

© Copyright 2018 TeraVM Java Client User Guide Page 711


Aeroflex Limited. All
rights reserved.
9.3.7.1. Add a P2P Configuration Folder

9.3.7.1. Add a P2P Configuration Folder


The P2P Configuration Folder contains all lists required for this application and needs to be created before
any list can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add P2P Configuration menu item, this will create the P2P Configuration folder
containing empty Peer Groups and Resource List folders.

Note
If a P2P Configuration already exists, an error message is displayed.

Figure 9-51. P2P Configuration

9.3.7.2. Add a New Peer Group


A peer group is a group of users/clients who can transfer (share) data between each other. A Peer Group
consists of a name and a description.

Peer Groups consists of a:

• Name. A unique identifier for a specific Peer Group within a Test Group.

• Description. Optional text.

1. Right click on Peer Groups, and select Add Peer Group.

© Copyright 2018 TeraVM Java Client User Guide Page 712


Aeroflex Limited. All
rights reserved.
9.3.7.3. Add a Resource List

Figure 9-52. Add Peer Group Dialog

2. Enter values for the fields displayed as required. See Add Peer Group Dialog Fields for a description of
the fields.

3. Click the OK button to add the peer group. If the operation was successful then the peer group will
appear below the Peer Groups Folder, otherwise a reason will be provided for the failure to add the
peer group.
Table 9-30. Add Peer Group Dialog Fields

Field Description Validation

Name Name of the new Peer Group, must be unique within the 3 - 32 Characters in length
Peer Group Folder.

Description This field is optional. 0 - 125 Characters in length

9.3.7.3. Add a Resource List


The Resource List Configuration Folder contains all Resource Lists created within this test group and
needs to be created before a Resource List can be added. Each Resource List contains one or more
Resources (with or without P2P Signature Files and Capture Files). The Resource List is used as part of a
P2P application

Resource Lists can consist of one or more resources (MB/KB values) which can include P2P Signature
Files.

1. Right click on Resource Lists, and select Add Resource List. This will cause the Add Resource List
dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 713


Aeroflex Limited. All
rights reserved.
9.3.7.3. Add a Resource List

Figure 9-53. Add Resource List Dialog

2. Enter a unique Name to identify this List. This can be a string value between 1 and 255 characters in
length and is mandatory.

3. To Add a Resource to the Resource List:

a. Click the button Add to display the Add P2P Resource dialog.

Figure 9-54. Add P2P Resource Dialog

b. Enter values in the P2P Resource fields to add to this Resource List. See Add P2P Resource
Dialog Fields for a description of the fields.

c. Click the OK button to add the P2P Resource. If the operation was successful then the resource
will appear in the Resource List table, otherwise a reason will be provided for the failure to add the
resource.

© Copyright 2018 TeraVM Java Client User Guide Page 714


Aeroflex Limited. All
rights reserved.
9.3.8. RTP Codec AVP

Table 9-31. Add P2P Resource Dialog Fields

Field Description Validation

Type Specifies whether the P2P Resource will contain a Select appropriate type from the drop-down
P2P Signature File "File", a file containing PDUs to be combo-box. (Size/File/Capture File). A
"replayed" between Replay peers or be a set size "Size". "Capture File" must be a pcap type file.

File Specifies what file the resource will include. Either type in N/A
path and filename or select using browse "..." button. A file
can only be included if the Type is set to "file".

File Size Specifies the size of the selected File (if any) in bytes. N/A
Uneditable

Metric Specifies what metric the resource is to be measured in. Select appropriate type from the drop-down
combo-box. (MB/KB). This is not applicable
if the Type is "Capture File"

Resource Size Specifies how big the resource will be. The size can have 1 - 100,000 for KB, 1 - 100 for MB. A
a numeric value or a profile can be assigned to it. When a Profile name is 3 - 32 characters in length.
file is specified the Resource Size is initially set to the File
Size.

9.3.8. RTP Codec AVP


The RTP Codec AVP contains the attributes necessary to negotiate the usage of the codec in a VoIP call
and to generate the traffic pattern of that codec in the media stream once the call has been setup.
Some standard codecs are provided out-of-the-box. These include:
• Cisco E20-C20 H.264
• Cisco E20-C20 MP4A
• G.711a (PCMA)
• G.711u (PCM)
• GSM
• G.723 5.3 kbits/s (MP-MLQ)
• G.723 6.3 kbits/s (MP-MLQ)
• G.722 (ACELP)
• G.728
• G.729
• iLBC 13.33 kbits/s
• iLBC 15.2 kbits/s
and new codecs can be added on a per test group basis.

9.3.8.1. Add an RTP Configuration Folder


The RTP Configuration folder contains definitions for various RTP Codec AVP (Audio Video Profiles) and
RTP Stream Profiles.

© Copyright 2018 TeraVM Java Client User Guide Page 715


Aeroflex Limited. All
rights reserved.
9.3.8.2. Add RTP Codec AVP

1. Right click on the Configuration icon.

2. Click on Add RTP Configuration menu item, this will create the RTP Configuration folder.

9.3.8.2. Add RTP Codec AVP


1. Right click on the Codec AVPs folder.

2. Click on Add RTP Codec AVP menu item, this will cause the Add RTP Codec AVP dialog to be
displayed. Enter values are required.

© Copyright 2018 TeraVM Java Client User Guide Page 716


Aeroflex Limited. All
rights reserved.
9.3.8.2. Add RTP Codec AVP

Figure 9-55. Add RTP Codec AVP Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 717


Aeroflex Limited. All
rights reserved.
9.3.8.3. Create a custom RTP Codec AVP to Emulate
Jitter in VoIP

Table 9-32. Add RTP Codec AVP Dialog Fields

Field Description Validation

Name Name of the Codec. It must be unique within the Test 3 - 32 Characters in length
Group. Mandatory field.

Encoding Name The name used in signaling protocols to indicate the 3 - 32 Characters in length
use of this codec. Mandatory field.

Media Type The type of media associated with this codec. Default (and only current option) is Audio.

Payload Type Helps to identify the RTP AVP. Mandatory field. 0 - 127. 0 - 96 is defined by IANA.

Payload Size Number of payload octets to be carried in each RTP 1 - (MTU - 40)
packet. Audio codecs almost exclusively use a fixed
size. Mandatory field. Can be a profile.

ms/Packet The number of milliseconds of (for example) voice, Default is 20. 0.1 - 1000.
contained in each packet. Also implies a rate. If packet
contains 20 milliseconds of audio then each packet is
sent at 20 ms intervals. Mandatory field.

Packet Rate Overrides the rate determined from the Default MS per 10 - 1,000,000 microseconds.
packet. If not specified the rate remains unchanged.
It allows you to simulate the presence of jitter on
transmission, or an RTP attack.

Frequency The frequency or clock rate for this codec. Default is 8,000 Hz. 8,000 - 200,000 Hz.

Channels Number of audio channels for this codec. As such it is Default is 0. 0 - 2.


only relevant if media type is Audio. Default is 0 which
implies it is not used.

Data Data to be streamed for this codec. If not defined then Must contain enough data to be able to
arbitrary data is streamed over RTP. send at least one RTP packet. So must
contain at least the number of bytes
specified by the size parameter

SDP Attributes A list of SDP attributes used by the Media Stream. Free-form text field. Default is empty.

9.3.8.3. Create a custom RTP Codec AVP to Emulate Jitter in VoIP


It is possible to configure a VoIP application to use an RTP stream which sends data with an egress Jitter.
To achieve this create a custom RTP Codec AVP:

© Copyright 2018 TeraVM Java Client User Guide Page 718


Aeroflex Limited. All
rights reserved.
9.3.8.3. Create a custom RTP Codec AVP to Emulate
Jitter in VoIP

Figure 9-56. Adding a Codec AVP

Configure it as type Voice Only and update the following fields:

1. ms/Packet - specifies amount of audio in milliseconds each packet is supposed to contain

2. In the Advanced… button specify a profile with a range. If specified this is the actual number of micro-
seconds to be used between each packet

3. Set the Frequency field at 8000 Hz

© Copyright 2018 TeraVM Java Client User Guide Page 719


Aeroflex Limited. All
rights reserved.
9.3.8.3. Create a custom RTP Codec AVP to Emulate
Jitter in VoIP

For example, configure:

• ms/Packet = 20ms

• Advanced… # Delay: # Profile Range: 19000-21000

• Frequency: 8000 Hz

Figure 9-57. Configure Packet Rate Profile

With this configuration each packet should be sent every 20ms. The RTP Timestamp field will increment by
160 to indicate 20ms at 8000Hz. However, the delay between each packet will be chosen from the range
19000-21000 microseconds. Therefore, each packet can be sent with jitter of up to ±1 millisecond from the
expected transmission time.

Note
The above fields are not present for streaming or PCap replay codecs.

© Copyright 2018 TeraVM Java Client User Guide Page 720


Aeroflex Limited. All
rights reserved.
9.3.9. RTP Stream Profile

9.3.9. RTP Stream Profile


The stream profile describes the characteristics of the RTP media streams created in a VoIP call. It is first
created in the RTP Configuration folder and used by the VoIP application.

9.3.9.1. Add a Stream Profile


1. If the RTP Configuration folder does not exist, create it as previously described.

2. Right click on the Stream Profiles configuration folder.

3. Click on Add RTP Stream Profile menu item, this will cause the Add RTP Stream Profile dialog to be
displayed. Enter values as required.

Figure 9-58. Add RTP Stream Profile Dialog

Table 9-33. Add Stream Profile Dialog Fields

Field Description Validation

Name Name of the RTP Codec used by this Stream Profile. 3 - 32 Characters in length
Mandatory field.

Ignore all configured Override the configured data in all selected Codecs with Default is not to override.
data arbitrary data that is, it ignores any configured data files
in either the RTP Codec AVP or Stream profile.

© Copyright 2018 TeraVM Java Client User Guide Page 721


Aeroflex Limited. All
rights reserved.
9.3.9.1. Add a Stream Profile

Field Description Validation

RTP Data Indicates if RTP data is to be sent/received for this call. Half Duplex Receive, Half Duplex Send,
Full Duplex. Default is Half Duplex
Receive.

Enable RTCP Data Indicates if RTCP is to be enabled for this call. Default is Disabled.

Enable Silence Checkbox indicating if Silence Suppression is to be Default is un-ticked.


Suppression used on this stream.

Silence Ratio The percentage time that Silence Suppression should 20% - 80%
be turned on. When silence suppression is turned on
the silence ratio and length is applied to both initiating
side of the call and the terminating end of the call if it
is TeraVM. It is important to note that the call must be
of sufficient length to allow silence ratio to take effect.
For instance if the calls are short it is likely the silence
suppression will not occur or be of the configured ratio.

Silence Length Profile or fixed value indicating the length of silence Default is 3,000ms. 1,000ms - 60,000ms.
suppression intervals in milliseconds. Can only be set if
silence ratio is greater than 0.

Data Data to be streamed for this codec. If not defined then Must contain enough data to be able to
arbitrary data is streamed over RTP. send at least one RTP packet. So must
contain at least the number of bytes
specified by the size parameter

Bit Rate Level List A list of Bit Rate Levels. Optional. Can only be set when an AMR-
WB, AMR-NB or AMR Codec has been
added.

© Copyright 2018 TeraVM Java Client User Guide Page 722


Aeroflex Limited. All
rights reserved.
9.3.10. RTSP

Figure 9-59. Select RTP Codec AVP Dialog

Table 9-34. Select RTP Codec AVP Dialog Fields

Field Description Validation

Name Name of the RTP Codec. This is the name as N/A


configured in the RTP Codec AVP Configuration folder.
Only one codec is supported in this release.

Data The data associated with the selected RTP Codec. If Filename.
not defined as part of the Codec then arbitrary data may
be streamed over RTP.

File The name of a file containing data to be streamed. This Default is not to override.
is used to override the data configured as part of the
selected Codec.

9.3.10. RTSP
The RTSP configuration folder contains two configuration items:

• Requested Media Resources

A list of names of media resources to request from an RTSP server.

• Server Media Resources

A list of media resources that can be associated with the RTSP Server.

© Copyright 2018 TeraVM Java Client User Guide Page 723


Aeroflex Limited. All
rights reserved.
9.3.10.1. Add a RTSP Configuration Folder

9.3.10.1. Add a RTSP Configuration Folder


The RTSP Configuration Folder contains all Media Resource Lists created for this test group and needs to
be created before a Media List can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add RTSP Configuration menu item, this will create the RTSP Configuration folder
containing a Call List Folder.

Note
If a RTSP Configuration already exists, an error message is displayed.

Figure 9-60. RTSP Configuration

9.3.10.2. Add a Requested Media Resources List


The RTSP client needs to have the names of media resources to request from an RTSP server. The
Requested Media Resource List allows the configuration of a Client with a list of media resources to be
requested by it from the server. This configuration item contains a list of pathnames (if interacting with a
TeraVM RTSP Server these pathnames must match the pathnames configured in the Server's Available
Media Resource List ).

On each iteration the RTSP client chooses a pathname to be used in that RTSP session. If a list is
configured, then a list member can be chosen either sequentially or randomly from the list. Once the RTSP
client has chosen the pathname it can then proceed to create a RTSP media streaming session with its
configured RTSP server.

1. Right click on the RTSP Configuration folder.

© Copyright 2018 TeraVM Java Client User Guide Page 724


Aeroflex Limited. All
rights reserved.
9.3.10.3. Add a Server Media Resources List

2. Click on Add RTSP Call List menu item, this will cause the Add RTSP Requested Media Resources
List Dialog dialog to be displayed.

Figure 9-61. Add RTSP Requested Media Resources List Dialog

3. Enter a unique Name to identify this List. This can be a string value between 1 and 255 characters in
length and is mandatory.

4. Click on the <Add> button to add paths to this list.

Figure 9-62. Add Path Dialog

Enter a path name as follows:


Table 9-35. Add Requested Media Resources List Dialog Fields

Field Description Validation

Pathname List of one or more pathnames. The pathname must be a string values
between 1 and 255 characters in length.
No default. Mandatory. Number of entries
must be between 1 and 100.

9.3.10.3. Add a Server Media Resources List


The Server Media Resources List defines a list of media resources that can be associated with the RTSP
Server.

© Copyright 2018 TeraVM Java Client User Guide Page 725


Aeroflex Limited. All
rights reserved.
9.3.10.3. Add a Server Media Resources List

1. Right click on the RTSP Configuration folder.


2. Click on Add Server Media Content List menu item, this will cause the Add RTSP Server Media
Content List Dialog to be displayed.

Figure 9-63. Add RTSP Server Media Content List Dialog

3. Enter a unique Name to identify this List. This can be a string value between 1 and 255 characters in
length and is mandatory.
4. Click on the <Add> button to add mappings to this list.

Figure 9-64. Add Mapping Dialog

Enter values for this dialog as follows:


Table 9-36. Add Mapping Dialog Fields

Field Description Validation

Pathname List of one or more pathnames. The pathname must be a string values
between 1 and 255 characters in length.
No default. Mandatory. Number of entries
must be between 1 and 100.

Stream Profile Add one or more stream profile name pairings. Select from available list of stream
profiles. To add a new Stream profile,

© Copyright 2018 TeraVM Java Client User Guide Page 726


Aeroflex Limited. All
rights reserved.
9.3.11. SMTP/POP3

Field Description Validation


refer to the section on RTP Stream
Profile Configuration in this topic.

9.3.11. SMTP/POP3
SMTP-POP3 Configuration consists of:
• Message Sets
A Message Set is a list of messages that can be transferred in an SMTP message. Message Sets are
only appropriate for SMTP.
• User Groups
A User Group is a list of users (with domain and password information) that act as the senders/
receivers in both SMTP and POP3 mail messages. User Groups are mandatory for SMTP and POP3
tests.

9.3.11.1. Message Sets


Message Sets contain a list of Mail Messages. Each mail message can contain either a block of text or an
attachment.
The Message Set Configuration Folder contains all Message Sets created within this test group and needs
to be created before a Message Set can be added.
1. In the Test Group tab create a Test Group (see Add Test Group Section) and right click on the
Configuration icon.
2. Right click on Add SMTP/POP3 Configuration menu item, this will create the SMTP/POP3
Configuration folder which contains the empty User Groups and Message Sets folders.
Add a Message Set
Message Sets can consist of one or a list of the following types of message to be included in the mail
message:
• Text
A string is entered for including in the mail message.
• File Inline
A file is selected to be added to mail message as text.
• Attachment
A file is selected to be added to mail message as an attachment.
• Auto-Gen
A number of bytes are selected, which are automatically generated and included in mail message.
1. Right click on Message Sets, and select Add Message Set. This will cause the Add Message Set
dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 727


Aeroflex Limited. All
rights reserved.
9.3.11.1. Message Sets

Figure 9-65. Add Message Set Dialog

2. Enter a unique Name to identify this Message Set This can be a string value between 1 and 255
characters in length and is mandatory. Click on the <Add> button to add requests for this list. Enter
values for the fields displayed as required. See Add Message Set Dialog Fields for a description of the
fields.

3. To Add a Mail Message to the Message Set:

a. Click the button Add to display the Add Mail Message dialog.

Figure 9-66. Add Mail Message Dialog

b. Select the type of Mail Message to add to this Message Set. See Add Mail Message Dialog Fields
for a description of the fields.

c. Click the OK button to add the Mail Message. If the operation was successful then the mail
message will appear in the Message Set table, otherwise a reason will be provided for the failure to
add the mail message.

© Copyright 2018 TeraVM Java Client User Guide Page 728


Aeroflex Limited. All
rights reserved.
9.3.11.1.1. Mail Headers

Table 9-37. Add Mail Message Dialog Fields

Field Description Validation

Type Type of message to be included in the mail message. Select appropriate type from the drop-
down list. Options are: an
• Auto-Gen - message can be
automatically generated containing
arbitrary content. .
• Attachment
• Text - a block of text that is,
manually inputted or text from a
file.
• File Inline - File to be added to
mail message as text.
See section 6.2.1. Mail Headers
for more sdetails on header
information for each file type.

Content Editable if type is text. Otherwise it contains the file 1 - 255 bytes for typed text.
name for the file to be attached or included in the
mail message.

Size Editable if text is to be automatically generated. 1 - 2,000,000 bytes for automatically


Otherwise uneditable and displays the size (in bytes) generated text and file size.
of the inputted text or file.

4. Click the OK button to add the message set. If the operation was successful then the message set will
appear below the Message Sets Folder, otherwise a reason will be provided for the failure to add the
message set.

9.3.11.1.1. Mail Headers


The following information relates to headers within the following types of message files that can be selected:

• Auto-Generated

The size of the content for auto-generated files is defined in bytes and can be specified as a static
value or as a random value. As with the other message types, MLIPS will come pre-configured with a
default RFC 2822 header template, and the arbitrary content will be included as the content of the mail
following the mail header.

• Attachment

If an Attachment type file is selected, the specified file acts as the content for the mail message and
will be Base64 encoded and added as a MIME attachment to the generated mail. MLIPS will come
pre-configured with a default RFC 2822 header template. If the SMTP Transmitter specifies RFC 2822
header fields, this template will be pre-pended to the encoded attachment and the SMTP Transmitter's
RFC 2822 header fields, if specified, will be used to "fill-out" the template. The result will be a complete
RFC-2822 compatible mail that contains a single MIME attachment that holds the file contents. The
order of header fields in the template is as follows:

– From:

© Copyright 2018 TeraVM Java Client User Guide Page 729


Aeroflex Limited. All
rights reserved.
9.3.11.1.1. Mail Headers

– To:

– Subject:

– Date:

– Message-ID:

The Received header is always inserted first. The Reply-To, Cc and Bcc are inserted after the To
header (in this order). If there is no To header specified in the SMTP Transmitter, these headers come
at the end of the headers.

• Text

As with the other message types, MLIPS will come pre-configured with a default RFC 2822 header
template, and the text will be included as the body of the mail following the header. As with "MIME
Attachment" and "Auto-Generated" mails, the SMTP Transmitter's RFC 2822 header fields, if specified,
will be used to "fill-out" the template, Auto-Generated and Text should be able to share the same
header template as they are both "plain text" mails.

• Mail File

When a mail file is selected, the RFC 2822 header structure found in the file is maintained and used
in mail messages generated by SMTP transmitters using the message set in which this message is
contained. In supporting the ability for the configururation of RFC 2822 header fields in the SMTP
Transmitter application, any header fields that actually appear in the header section of the Mail File will
be replaced by values configured in the SMTP Transmitter.

The rules are as follows:

– If the file does not have a particular header field, then that field will not appear in the mail, even if it
has a corresponding value in the SMTP Transmitter.

– Headers fields in the file that do not have corresponding values in the SMTP Transmitter are
excluded from the mail that is, only headers fields that appear in both the selected mail file and the
SMTP Transmitter sending the mail will appear in the mail generated by the SMTP Transmitter.

The "Received" header field is an exception to the above rules. Received header fields are always
stripped from the selected Mail File by MLIPS. Also values specified for the "Received" header by the
SMTP Transmitter sending the mail will always be added before any other header fields that might be
specified in the SMTP Transmitter. In addition to the "Received" header fields, certain other fields are
also removed from the file by MLIPS. These are: "Delivered-To", "Return-Path", "Status" and "X-Status".

The point of these file processing rules is to allow a mail file to be saved directly from a mail client
and loaded into TeraVM. The path that the original mail took, identified by the "Received" header
field (and certain other fields) that are typically added when a mail finally arrives at its destination, are
stripped from the mail to restore it to how it might have looked prior to delivery. This way, the SMTP
Transmitter's settings can then be used to add a new delivery path, and to replace other header fields in
the mail with operator configured values.

Note that the Mail File requires no validation viz-a-viz the SMTP Transmitter settings. If it does not have
any RFC 2822 header fields, then the mail generated by the SMTP Transmitter will not have any header
fields, regardless of the SMTP Transmitter's settings. The exception to this rule is the "Received"

© Copyright 2018 TeraVM Java Client User Guide Page 730


Aeroflex Limited. All
rights reserved.
9.3.11.2. User Groups

header fields -- which are always added. If the Mail File has some header fields but not others, this
should not be flagged as a problem either - the missing fields will not be included in that particular
mail, but they may still be valid headers for a different mail that the same SMTP Transmitter might be
sending.

9.3.11.2. User Groups


User Groups contain a list of Mail Users, each of which are configured with:

• A User Name.

• A Domain.

• A Password.

The User Group Configuration Folder contains all User Groups created within this test group and needs to
be created before a Mail User can be added.

To add a User Group configuration folder:

1. In the Test Group tab create a Test Group (see Add Test Group Section) and right click on the
Configuration icon.

2. Right click on Add SMTP/POP3 Configuration menu item. This will create the SMTP/POP3
Configuration folder which contains the empty User Groups and Message Sets folders.

User Groups can consist of one or more Mail Users. To add a group:

1. Right click on User Groups, and select Add User Group. This will cause the Add User Group dialog
to be displayed.

Figure 9-67. Add User Group Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 731


Aeroflex Limited. All
rights reserved.
9.3.11.2. User Groups

2. Enter a unique Name to identify this User Group This can be a string value between 1 and 255
characters in length and is mandatory. Click on the <Add> button to add requests for this group.

3. Enter values for the fields displayed as required. See Add User Group Dialog Fields for a description of
the fields.

4. To Add a Mail User to the User Group:

a. Click the button <Add> to display the Add Mail User dialog.

Figure 9-68. Add Mail User Dialog

b. Enter values in the Mail User fields to add to this User Group. See Add Mail User Dialog Fields for
a description of the fields.

c. Click the OK button to add the Mail User. If the operation was successful then the mail user will
appear in the User Group table, otherwise a reason will be provided for the failure to add the mail
user.
Table 9-38. Add Mail User Dialog Fields

Field Description Validation

User Name Name of mail user. 1 - 128 characters.

Domain The domain to which this user belongs. for example 2 - 255 characters. A complete domain
shenick.com name, (including the dots, and so on.)
should not exceed 255 characters. A
warning is given when these limits are
exceeded.

Password Password 0 - 40 characters.

Note
Username and Domain fields can support Keyword Substution, if enabled. Click on the

Information button to display a list of supported keywords.

© Copyright 2018 TeraVM Java Client User Guide Page 732


Aeroflex Limited. All
rights reserved.
9.3.12. Telepresence

5. Click the OK button to add the user group. If the operation was successful then the user group will
appear below the User Groups Folder, otherwise a reason will be provided for the failure to add the user
group.

9.3.12. Telepresence
Telepresence Configuration consists of:

• CTS Mux Items

A CTS Mux configuration item configures the options to be negotiated via the CTS Multiplex
protocol. In order to avoid the time consuming task of creating this configuration item and to allow
operators without a detailed knowledge of the CTS Multiplex protocol to be able to easily provision CTS
applications, a number of canned CTS Mux configuration items will be made available.

• CTS VAD Controller

The CTS VAD Controller is used to configure which Telepresence Endpoint currently has the floor i.e
which Endpoint is determined to be talking to the rest of the participants in the conference call

• CTS Auxiliary Controller

The CTS Auxiliary Controller is used to configure which Telepresence Endpoint has it's Auxiliary Feed
plugged in. This helps to determine if the endpoint Gets the Auxiliary Floor. The Auxiliary Feed can be
plugged in or plugged out and if an endpoint is plugged-in it may Get the Auxiliary Floor, however it is
possible it may also Lose the Auxiliary Floor.

• Call Media

The Call Media is used to select the media streams that will be configured for use on a call. There a
number of different types - Video, Audio, Auxiliary and Legacy.

9.3.12.1. Add a Telepresence Configuration Folder


The Telepresence Configuration Folder needs to be created before a CTS Mux, CTS VAD Controller or Call
Media can be created.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Telepresence Configuration menu item, this will create the Telepresence
Configuration folder, containing CTS Mux, CTS VAD Controller and Call Media Folders.

Note
If a Telepresence Configuration already exists, an error message is displayed.

9.3.12.2. Add a Telepresence CTS Mux Item


When the Telepresence Configuration folder is created, a CTS Mux folder is also created containing a
series of canned CTS Mux items. These represent different types of TelePresence endpoints - CTS-1000,

© Copyright 2018 TeraVM Java Client User Guide Page 733


Aeroflex Limited. All
rights reserved.
9.3.12.2. Add a Telepresence CTS Mux Item

CTS-1300, CTS-3000, CTS-3200, CTS-500. An emulated endpoint can use one of these or a new one can
be created.
To add a new CTS Mux item, right click on the CTS Mux Items folder in the Telepresence Configuration
folder and select the Add CTS Mux option from the menu. The Add CTS Mux dialog is displayed.

Figure 9-69. Add CTS Mux

Enter the following details:

© Copyright 2018 TeraVM Java Client User Guide Page 734


Aeroflex Limited. All
rights reserved.
9.3.12.2. Add a Telepresence CTS Mux Item

Table 9-39. CTS Mux Details

Field Description Validation

Name A unique name to identify this item. Can be between 1 and 255 characters in
length. Default is empty. Mandatory fie

CTS Version Version of the CTS Mux protocol to be supported. Mandatory, defaults to 1.7. Options are 1.6
and 1.7.

Description Description of the CTS Mux parameters. Optional, no default when creating a new
item. Can be between 0 - 512 characters in
length.

No. of transmitted Audio Number of multiplexed audio streams that can be Mandatory integer between 0 - 255. Default
Streams transmitted. is 1.

No. of received Audio Number of multiplexed audio streams that can be Mandatory integer between 0 - 255. Default
Streams received. is 1.

No. of Auxiliary Audio Number of audio streams that can be shared. Optional integer between 0 - 255. Default is
Streams 1. CTS Version must be 1.7 or greater.

Transmit Positions Bitmask indicating the transmit positions for audio Mandatory bitmask between 0x0 - 0xFFFF.
Bitmask streams. Default is 0x2.

Receive Positions Bitmask indicating the receive positions for audio streams. Mandatory bitmask between 0x0 - 0xFFFF.
Bitmask Default is 0x2.

Auxiliary Positions Bitmask indicating the auxiliary positions for audio Optional bitmask between 0x0 - 0xFFFF.
Bitmask streams. Default is 0x0. CTS Version must be 1.7 or
greater.

Transmit Media Options Bitmask indicating the audio media options for Mandatory bitmask between 0x0 -
Bitmask transmission. 0xFFFFFFFF. Default is 0x1.

Receive Media Options Bitmask indicating the audio media options for reception. Mandatory bitmask between 0x0 -
Bitmask 0xFFFFFFFF. Default is 0x0.

No. of transmitted Video Number of multiplexed video streams that can be Mandatory integer between 0 - 255. Default
Streams transmitted. is 1.

No. of received Video Number of multiplexed video streams that can be Mandatory integer between 0 - 255. Default
Streams received. is 1.

No. of Auxiliary Video Number of multiplexed video streams that can be shared. Optional integer between 0 - 255. Default is
Streams 1. CTS Version must be 1.7 or greater.

Transmit Positions Bitmask indicating the transmit positions for video Mandatory bitmask between 0x0 - 0xFFFF.
Bitmask streams. Default is 0x2.

Receive Positions Bitmask indicating the receive positions for video streams. Mandatory bitmask between 0x0 - 0xFFFF.
Bitmask Default is 0x2.

Auxiliary Positions Bitmask indicating the auxiliary positions for video Optional bitmask between 0x0 - 0xFFFF.
Bitmask streams. Default is 0x10. CTS Version must be 1.7
or greater.

Transmit Media Options Bitmask indicating the video media options for Mandatory bitmask between 0x0 -
Bitmask transmission. 0xFFFFFFFF. Default is 0x14f.

Receive Media Options Bitmask indicating the video media options for reception. Mandatory bitmask between 0x0 -
Bitmask 0xFFFFFFFF. Default is 0x14f.

© Copyright 2018 TeraVM Java Client User Guide Page 735


Aeroflex Limited. All
rights reserved.
9.3.12.3. Add a TelePresence CTS VAD Controller

9.3.12.3. Add a TelePresence CTS VAD Controller


To add a CTS VAD Controller, right click on the CTS VAD Controller folder and select the Add CTS VAD
Controller option from the menu. The Add CTS VAD Controller dialog is displayed.

Figure 9-70. Add CTS VAD Controller

The following fields are required:


Table 9-40. CTS VAD Controller

Field Description Validation

Call Grouping Critera How Telepresence endpoints will be grouped into a Mandatory, select from By Test Group
conference call. Endpoints in the same conference call or By unique Call URI. Default is By Test
and configured to have their VAD value managed by the Group.
VAD Controller will be configured to sequentially take the
floor.

Take Floor Value Specifies the VAD value to be used when setting an Mandatory, integer between 1 - 100 or a
Endpoint to take the floor. profile. Default is 75.

© Copyright 2018 TeraVM Java Client User Guide Page 736


Aeroflex Limited. All
rights reserved.
9.3.12.4. Add a TelePresence CTS Auxiliary Feed
Controller

Field Description Validation

Release Floor Value Specifies the VAD value to be used when setting an Mandatory, integer between 0 - 99 or a
Endpoint to release the floor. profile. Default is 45.

Change VAD After Time after which the VAD witll be changed. Mandatory, integer between 1ms - 24
hours. Suppported metrics are ms, secs,
mins, hours.

Start Controller After Delay before the CTS VAD Controller starts to control Optional, integer between 0ms - 15mins.
Endpoints taking the floor. This is to allow the test to start Supported metrics are ms, secs, mins.
and calls to come up.

9.3.12.4. Add a TelePresence CTS Auxiliary Feed Controller


To add a CTS Auxiliary Feed Controller, right click on the CTS Auxiliary Feed Controller folder and select
the Add CTS Auxiliary Feed Controller option from the menu.

© Copyright 2018 TeraVM Java Client User Guide Page 737


Aeroflex Limited. All
rights reserved.
9.3.12.4. Add a TelePresence CTS Auxiliary Feed
Controller

Figure 9-71. Add CTS Auxiliary Feed Controller

The following fields are required:


Table 9-41. CTS Auxiliary Feed Controller

Field Description Validation

Call Grouping Critera How Telepresence endpoints will be grouped into a Mandatory, select from By Test Group
conference call for the purpose of determining when/if or By unique Call URI. Default is By Test
endpoints get the Auxiliary Feed floor. Group.

Plugged-In Duration The time period for which each endpoint will have it's Mandatory, integer between 100ms - 24
auxiliary feed set to plugged in. hours. Default is 20secs.

Delay After Plug Out Delay between when a controller sets an endpoints Mandatory, integer between 0mins - 24hrs.
auxiliary feed to plugged out, and when the controller then Default is 0secs.
moves on to setting the auxiliary feed of next endpoint in
the call group to plugged in.

© Copyright 2018 TeraVM Java Client User Guide Page 738


Aeroflex Limited. All
rights reserved.
9.3.12.5. Add a TelePresence Call Media

Field Description Validation

Start Controller After Delay before the CTS Auxiliary Feed Controller starts Optional, integer between 0ms - 15mins.
to control the Auxiliary Feed plugged in status of the Supported metrics are ms, secs, mins.
endpoints. This is to allow the test to start and calls to
come up.

9.3.12.5. Add a TelePresence Call Media


To add a Call Media, right click on the Call Media Items folder and select the Add Call Media option from
the menu. The Add Call Media dialog is displayed.

Figure 9-72. Add Call Media

A Call Media configuration item requires a Name and supports the following media types:

© Copyright 2018 TeraVM Java Client User Guide Page 739


Aeroflex Limited. All
rights reserved.
9.3.12.5.1. Telepresence Video Call Media Format

• Video

The user is required to select an RTP codec with the Media Type of Video. This will define the video
stream that will be used. This is set to an appropriate codec by default. If the Used for field in the
selected video codec is Pcap Replay, then it is possible to add entries to a list of optional media
formats. Each specific media format will specify a packet capture file containing the media content as
well as the Bit Rate and Frame Rate. The Bit Rate and Frame Rate can be set to custom values or to
values corresponding to canned Quality presets.

• Auxiliary

The auxiliary stream will use the same RTP codec that is, specified for video. The user can also
optionally add entries to a list of optional media formats. Again specific media format will specify a
packet capture file containing the media content as well as the Frame Rate. The Frame Rate can be set
to custom values or to values corresponding to canned Quality presets.

• Audio

The user is required to select an RTP codec with the Media Type of Audio. This will define the audio
stream that will be used. This is set to an appropriate codec by default.

• Legacy

The legacy audio code will always be set to the Default G.711u (PCM) codec. It is not possible to add,
modify or delete the legacy audio codec.

9.3.12.5.1. Telepresence Video Call Media Format


To add a Video Call Media Format, select the Video tab and press the Add button The Add Media Format
dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 740


Aeroflex Limited. All
rights reserved.
9.3.12.5.2. Telepresence Auxiliary Call Media
Format

Figure 9-73. Add Video Call Media Format

Enter the following details:


Table 9-42. TelePresence Video Call Media Format Details

Field Description Validation

Quality Specifies the quality format presets available to define Mandatory, choose from available options.
preset values. Default is HD, Best Motion, 1080p.

Media Capture Specifies the capture file containing the media to be Mandatory, the specified pcap file must
replayed. contain at least 1 UDP/RTP conversation.

Bit Rate Specifies the Bit Rate that the media is encoded at. Optional integer between 1 - 1000 or can
be a profile. Value dependent on selected
Quality preset.

Frame Rate Specifies the Frame Rate that the media uses. Mandatory integer between 0 - 1000.
Default 30 but can depend on selected the
selected Quality preset.

9.3.12.5.2. Telepresence Auxiliary Call Media Format


To add an Auxiliary Call Media Format, select the Auziliary tab and press the Add button The Add Media
Format dialog is displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 741


Aeroflex Limited. All
rights reserved.
9.3.13. TLS

Figure 9-74. Add Auxiliary Call Media Format

Enter the following details:


Table 9-43. TelePresence Auxiliary Call Media Format Details

Field Description Validation

Quality Specifies the quality format presets available to define Mandatory, choose from available options.
preset values. Default is VGA, 30 FPS.

Media Capture Specifies the capture file containing the media to be Mandatory, the specified pcap file must
replayed. contain at least 1 UDP/RTP conversation.

Frame Rate Specifies the Frame Rate that the media uses. Mandatory integer between 0 - 1000.
Default 30 but can depend on selected the
selected Quality preset.

9.3.13. TLS
Transport Layer Security (TLS) Configuration folders can be added to a Test Group. This allows the
definition of a list of Cipher Suits to be applied. Applications that can have Cipher Suits applied to them
using the TLS configuration item are: HTTP, and AnyConnect TSL and DTSL.

For other Applications that can have Ciphers suite applied, these can be configured using the Global
Settings, see Appendix B.

Prerequisites

• The selectable TLS Versions are: TLS 1.0; TLS 1.1; TLS 1.2; DTLS 1.0; DTLS 1.2.

1. From the TeraVM Java Client under the Test Groups tab, right-click on the Configuration item node,
and select Add > Add TLS Configuration. If you already have a TLS Configuration folder then you do
not need to add another one.

© Copyright 2018 TeraVM Java Client User Guide Page 742


Aeroflex Limited. All
rights reserved.
9.3.13. TLS

2. Right-click the TLS Configuration folder and select Add TLS Configuration. The Add TLS
Configuration dialog opens.

3. Under the Cipher Suites tab select the Version required. You can limit the list of Ciphers by entering
text into the Available Cipher Suites search field, the previous figure uses ECDHE as an example.
Note that the search field is case sensitive.

4. Select the List of Ciphers required from the left side column, use the >> button to move them to the List
of Selected Cipher Suites.

5. Enter the Name of the TLS Configuration.

6. Click OK and return to the Add New HTTP Client Wizard dialog.
Table 9-44. Add TLS Configuration Parameters

Field Description Validation

Name Name assigned to cipher suit list. Mandatory. This field can be 1-255
characters long where the valid characters
are from the set: 'a-zA-Z0-9 .{}<>[]()@#&*
%_+=!-'

© Copyright 2018 TeraVM Java Client User Guide Page 743


Aeroflex Limited. All
rights reserved.
9.3.14. VoIP

Field Description Validation

Version Select the TLS Version required. Default value: TLS 1.0. Select from: TLS
1.0; TLS 1.1; TLS 1.2; DTLS 1.0; DTLS 1.2.

Available Cipher Suits Select the Cipher Suits you want to use. List of Cipher Suits. For Supported Cipher
Suit list, see Appendix B.

9.3.14. VoIP
The VoIP configuration folder contains one configuration item, the VoIP Call List. This is a list of one or more
SIP URIs. A VoIP UA takes entries from this list for specifying the callee(s) in VoIP calls.

9.3.14.1. Add a VoIP Configuration Folder


The VoIP Configuration Folder contains all Resource Lists and Request Lists created for this test group and
needs to be created before a Resource or Request List can be added.
1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.
2. Right click on Add VoIP Configuration menu item, this will create the VoIP Configuration folder
containing Call List Folder.

Note
If a VoIP Configuration already exists, an error message is displayed.

Figure 9-75. VoIP Configuration Display

9.3.14.2. Add a VoIP Call List


When creating a VoIP Call List you are creating one or more SIP URIs. These will be used by the VoIP
application as the callee(s) that is, the VoIP user (hostname) defined in the VoIP application, will call (either
randomly or sequentially) each URI in its associated Call List.

© Copyright 2018 TeraVM Java Client User Guide Page 744


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

For the call to be successful, each URI in the Call List must exist as a configured VoIP user (in another VoIP
application) for example a Call List with 2 URIs would suggest there are two other VoIP users configured in
the test group.

For example, if VoIP application #1 defines a VoIP user Tom to have a Call List containing SIP URIs
for UserX and UserY, then UserX and UserY should exist as VoIP Users in one or more different VoIP
applications. This ensures that when Tom calls UserX, UserX exists as a VoIP User in his own right and is
able to receive the call.

The "one" can be achieved if this application is configured to have a batch of 2 (Configure As=Multiple
Client Per Row, No. of Clients Per Row=2), with a username of UserX. A batch of 2 results in the creation
of two VoIP users - UserX-1 and UserX-2 within TeraVM when the test is run (not 2 applications) - even
though there is only one application.

Therefore, when creating a Call List it is necessary to know about the configuration of the VoIP applications
that is, how many VoIP applications (and therefore VoIP Users initiating calls) will be configured? Each of
these applications will have a Call List and each URI in a Call List should refer to a VoIP User defined in
another VoIP application. Using the above example, a Call List with 2 URIs is needed as the VoIP user Tom
is calling UserX and UserY.

It is also important to know if the VoIP Users will be provisioned via a batch mode since this affects
the username part of the URI. For example, if a VoIP application is created with a batch of 2, IP
Address of 1.1.1.1, Hostname=shenick.com and Username=joe, the VoIP users created in TeraVM are
sip:joe-1-1@shenick.com with IP Address 1.1.1.1 and sip:joe-1-2@shenick.com with IP Address 1.1.1.2.

The Call List must then be created with SIP URIs matching the above. This can be achieved via a batch size
of 2, Hostname=shenick.com and Username=joe-1.

The above has used usernames as a means of explaining what happens when batch provisioning. It is also
possible to use numbers. If numbers are used then they are incremented when batch provisioning.

The options available when creating Call Lists are described next.

1. Right click on the VoIP Configuration folder.

2. Click on Add VoIP Call List menu item, this will cause the Add VoIP Call List dialog to be displayed.
Enter values as required.

© Copyright 2018 TeraVM Java Client User Guide Page 745


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

Figure 9-76. Add VoIP Call List Dialog

Table 9-45. Add VoIP Call List Dialog Fields

Field Description Validation

Name Unique user-friendly name for the Call List. 3 - 32 Characters in length

Call Mode Indicates whether entries are taken randomly or Random/Sequential


sequentially from the list.

URI List List of one or more SIP URIs. The host can be a sip:[user@]host[:port]
domain name or an IPv4/IPv6 address. The port can be
supplied if the ultimate destination of the call is not the
default SIP port of 5060.

3. The Add button allows for the configuration of various URIs - single and multiple URIs in a batched and
non-batched mode.

a. Create a Single URI

• Press the Add button to display the Add URIs dialog.

• Select Single from the drop-down.

• Enter appropriate values for Hostname, UserName and Port.

© Copyright 2018 TeraVM Java Client User Guide Page 746


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

Figure 9-77. Add Single URI to Call List Dialog

Table 9-46. Add Single URI to Call List Dialog Fields

Field Description Validation

Scheme The prefix used in the SIP URI. SIP or Tel.

Hostname SIP host name for the user. 3 - 32 Characters in length.

Username SIP user. 3 - 32 Characters in length.

Port Port used in the URI Default is 5060.

b. Create Multiple URIs for a Single Batch

A batch is the term used to describe where a single application in the GUI represents multiple
users for example one row in the Application Display represents 1,000 VoIP users. These users all
have very similar configurations and may only differ in their SIP URIs and so on. See the section
Creating a VoIP application for more information about "batched" users.

This option creates multiple URIs, incrementing the username based on the batch size.

• Press the Add button to display the Add URIs dialog.

• Select Single Batched from the drop-down.

• Enter appropriate values for Batch Size, Hostname, UserName and Port.

© Copyright 2018 TeraVM Java Client User Guide Page 747


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

Figure 9-78. Add Multiple URIs Using Single Batch Dialog

Table 9-47. Add Multiple URIs Using Single Batch to Call List Dialog Fields

Field Description Validation

Scheme The prefix used in the SIP URI. SIP or Tel.

Batch Size Number of VoIP users in the batch 1 - 32,000

Base Username SIP user. 3 - 32 Characters in length

li Size The li size used to increment the Base Username. Max value is 100.

Hostname SIP host name for the user. 3 - 32 Characters in length

Port Port used in the URI Default is 5060.

c. Create Multiple URIs

In this scenario each URI represents a VoIP User associated with a unique VoIP application for
example where multiple VoIP applications were created in one bulk provisioning action that is, via
No. of Rows > 1 and no batched user.i.e Configure As = Single Client per Row..

• Press the Add button to display the Add URIs dialog.

• Select Multiple from the drop-down.

• Enter appropriate values for No. Of Clients, Hostname, UserName and Port.

© Copyright 2018 TeraVM Java Client User Guide Page 748


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

Figure 9-79. Add Multiple URIs Dialog

Table 9-48. Add Multiple URIs Dialog Fields

Field Description Validation

No. Of Clients The number of VoIP Users configured in a 1 - 32,000


application when the No. of Rows >1.

Base Username SIP user. 3 - 32 Characters in length

li Size The li size used to increment the Base Username. Max value is 100.

Hostname SIP host name for the user. 3 - 32 Characters in length

Port Port used in the URI Default is 5060.

d. Create Multiple URIs for Multiple Batches

This create Multiple URIs where each URI represents a VoIP User from a "batch" of Users created
behind multiple VoIP applications that is, where the Configure As field is set to "Multiple Clients
Per Row" and No. of Rows is > 1 in the VoIP application.

• Press the Add button to display the Add URIs dialog.

• Select Multiple Batched from the drop-down.

• Enter appropriate values for No. Of Clients, Batch Size, Hostname and UserName.

© Copyright 2018 TeraVM Java Client User Guide Page 749


Aeroflex Limited. All
rights reserved.
9.3.14.2. Add a VoIP Call List

Figure 9-80. Add Multiple URIs Using Multiple Batches Dialog

Table 9-49. Add Multiple URIs using Multiple Batches Dialog Fields

Field Description Validation

No. Of Clients The number of VoIP Users configured in a 1 - 32,000


application when the No. of Rows >1.

Batch Size Number of VoIP users in the batch 1 - 32,000

Base Username SIP user. 3 - 32 Characters in length

li Size The li size used to increment the Base Username. Max value is 100.

Hostname SIP host name for the user. 3 - 32 Characters in length

Port Port used in the URI Default is 5060.RTSP

© Copyright 2018 TeraVM Java Client User Guide Page 750


Aeroflex Limited. All
rights reserved.
9.3.14.3. Add a SIP Header Field List

9.3.14.3. Add a SIP Header Field List


This section is about the SIP Header Field List Configuration item, how to add one, and how to configure the
fields.
The SIP Header Field list configuration item extends SIP Trunking and is required to support the emulation
of a SIP-PBX, other default SIP Header Field list scenarios are also available as configuration items. You
can use one of these available default SIP Header Field Lists in a test when you have the following setup:
• Act as Trunk – set in the Application Details, see Chapter 8, Section 8.2.7.3.1.
• SIP Header Field List – specified in the General Details, see Chapter 8, Section 8.2.7.3.1.1, and
detailed in this section.
• Enabled to Register with Server – specified in the General Details, see Chapter 8, Section 8.2.7.3.1.1.
The following is an example of a SIP REGISTER message indicating multiple telephone numbers. The
highlighted fields are those that are required for a SIP Header Configuration in a SIP-PBX emulation, the
fields are detailed in the table Table 9-50.

REGISTER sip:siptrunk2.ver.sul.t-online.de SIP/2.0


Via: SIP/2.0/TCP 192.168.2.1:5060;branch=z9hG4bK8C74A8D7F62A35109C80331015130660;rport
From: <sip:+4991244376100@siptrunk2.ver.sul.t-online.de>;tag=FA3EA7D7F62A35109C7E3310151
30660
To: <sip:+4991244376100@siptrunk2.ver.sul.t-online.de>
Call-ID: D455A7D7F62A35109C7F331015130660
CSeq: 1 REGISTER
Contact: <sip:192.168.2.1:5060;bnc;transport=tcp;line=FA3EA7D7F62A35109C7E331015130660>;
+sip.instance="<urn:uuid:00000000-0000-1000-8000-331015130660>"
Proxy-Require: gin
Max-Forwards: 70
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, MESSAGE, SUBSCRIBE, UPDATE, PRACK, REFER
Supported: 100rel, replaces
User-Agent: Digitalisierungsbox Premium V.10.1.7.120 IPv6, IPSec, PBX
Expires: 600
Require: gin
Content-Length: 0

The details of the default settings available for SIP Header Configurations are in the table that follows.
Table 9-50. Default SIP Header Configurations

Default SIP Methods SIP Header Fields SIP Header Values


Configuration Item
Name

VoLTE Emergency REGISTER Contact <sip:{user}@{localip}{sos}>{conpms}


Call

SIP PBX REGISTER Require gin

REGISTER Proxy-Require gin

REGISTER Contact <sip: {localip}:{port};bnc;transport=

© Copyright 2018 TeraVM Java Client User Guide Page 751


Aeroflex Limited. All
rights reserved.
9.3.14.3. Add a SIP Header Field List

Default SIP Methods SIP Header Fields SIP Header Values


Configuration Item
Name

{transport};{conuripms}>;{conpms}

REGISTER Expires 600

All Allow ACK, BYE, CANCEL, INFO, INVITE, NOTIFY,


MESSAGE, SUBSCRIBE, UPDATE, PRACK,
REFER

SIP Privacy INVITE P-Asserted-Identity <sip:{user}@{domain}>

INVITE P-Called-Party-ID <{calledparty}>

Response {rspcode=200}{request=INVITE}P- <sip:{user}@{domain}>


Asserted-Identity

CUCM-CTMS-Trunk All Contact <sip:{user}@{domain}:{port};transport={transport}


;video;audio

All Via SIP/2.0/{TRANSPORT} {localip}:


{port};branch={branch}

INVITE Remote-Party-ID sip:{user}@{domain}>;party=


{callparty};screen=yes;privacy=off

INVITE P-Asserted-Identity <sip:{user}@{domain}>

INVITE Expires 180

INVITE Allow INVITE, OPTIONS, INFO, BYE, CANCEL, ACK,


PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY

INVITE Accept application/sdp

Adding a SIP Header Field List Item

Use the following procedure to add a SIP Header Field List.

1. In the TeraVM Java Client in the Test Groups tab, locate your test group.

2. The SIP Header Field Lists appear automatically under the VoIP Configuration item folder. To
add a VoIP Configuration folder, right-click the Configuration folder and select Add > Add VoIP
Configuration. The Default SIP Header Configurations are created under the SIP Header Fields Lists.

© Copyright 2018 TeraVM Java Client User Guide Page 752


Aeroflex Limited. All
rights reserved.
9.3.14.3. Add a SIP Header Field List

3. To add your own configured list, right-click the SIP Header Field Lists Folder and select Add SIP
Header Field Lists. The Add SIP Header Field List dialog opens.

4. Enter a name for your SIP Header Field List in the Name field.

5. Click Add.... The Add Header Field dialog opens.

6. Select the SIP Method from the drop-down options menu: ALL, REGISTER,INVITE, UPDATE,
Response.

© Copyright 2018 TeraVM Java Client User Guide Page 753


Aeroflex Limited. All
rights reserved.
9.3.14.3. Add a SIP Header Field List

7. Enter the Field Name. Click the scroll icon to display a list of commonly used SIP Header Fields to
select from.

8. Enter the Field Body information. You can click the Information icon next to this field to display the list
of variables that can be used for substitution. Variable substitution simplifies configuration by allowing
you to reuse values that are already defined in the VoIP UA configuration. The table Table 9-51contains
the list of Variables that can be substituted and provides each with a description.

9. Enter as many Header Fields as required.

10. Click OK to finish defining the SIP Header Field List. Your Header Field List is located under the SIP
Header Field Lists folder.

11. This Configuration item will be available for selection through the browse functionality when configuring
the VoIP UA Application.
Table 9-51. Field Body Variable Substitution

Variable Name VoIP UA Replacement

{user} SIP User Name

{domain} SIP Domain Name

{toip} SIP Proxy IP Address

{toport} SIP Proxy Port

{localip} IP address for VoIP UA host

© Copyright 2018 TeraVM Java Client User Guide Page 754


Aeroflex Limited. All
rights reserved.
9.3.14.3. Add a SIP Header Field List

Variable Name VoIP UA Replacement

{tcplocalport} If TCP then client port for TCP connection

{mac}{MAC} MAC Address of Host in lower or upper case

{contactuser} SIP Contact User Name

{callparty} Call party for the SIP call. Expands to either "called" or "calling".
Should only be used with INVITE or INVITE responses.

{port} VoIP UA SIP Port

{calledparty} Remote SIP URI for SIP session

{transport} Transport to be used for SIP Messages in upper or lower case.


udp, tcp, tls.
{TRANSPORT}

{conuripms} contact URI parameters configured for UA. Can include:


• Originating Trunk Group and Context.

(imei} IMEI

{localtag} SIP Local Tag for SIP Dialog

{authuser} Authentication User Name

{displayname} SIP Display Name

{sos} sos (if VoIP UA is configured to make an emergency call)

{conpms} SIP Contact Parameters. If enabled for 3GPP will include:


• •+g.3gpp.icsi-ref=\"urn\%3Aurn-7\%3A3gpp-
service.ims.icsi.mmtel\"
• •+g.3gpp.smsip
If IMEI value is configured include:
• •;+sip.instance=\"<urn:gsma:imei:{imei}?>\"

{branch} SIP branch value for SIP Transaction

{ciscomodelnum} Cisco Model Number if configured

{response=code,code,..} For response headers only specify what responses this header
should be added. Must appear at start of list. For instance
{response=180,200} then header is only added for responses to
180 and 200 SIP responses. If {request=method..} is present then
this must also be true for the header to be included.

{request=code,code,..} For response headers only specify for which responses to


specific requests this header should be added. Must appear at
start of list. For instance for {request=INVITE,BYE} the header
is only added for responses to INVITE and BYE requests. If
{response=code..} is present then this must also be true for the
header to be included.

Table 9-52. Add SIP Header Field List

Field Description Validation

SIP Method Drop-down options box containing the SIP Methods All, REGISTER, INVITE, UPDATE,
RESPONSE

Field Name Enter the field name or can be selected from a list of Max 100 characters, allowed characters are
commonly used SIP Field Names. 0..9a..zA..Z-_{}=.

© Copyright 2018 TeraVM Java Client User Guide Page 755


Aeroflex Limited. All
rights reserved.
9.4. Layer 3 Test Case Configuration Items

Field Description Validation

Field Body Enter information for the body of the message. Values max 1024 characters, allowed characters
can be put directly into the message, or choose from a are 0..9a..zA..Z-_[space]`!"£$%^&*()_+=|\,./
list of substitute variables. <>?;'#:@~[]{}

9.4. Layer 3 Test Case Configuration Items

9.4.1. TCP Characteristics Configuration


The TCP Characteristics Configuration Folder consists of one or more TCP Characteristics. TCP
Characteristics contain information on how the TCP Connection behaves, for example the maximum
segment size, the maximum advertised window size and so on.

A Test Group can have many TCP Characteristics.

Add a TCP Characteristics Configuration Folder


The TCP Characteristics Configuration Folder contains all TCP Characteristics created within this test group
and needs to be created before a TCP Characteristics can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add TCP Characteristics Configuration menu item, this will create the empty TCP
Characteristics Configuration folder.

Add TCP Characteristics


TCP Characteristics specify the values of various TCP stack parameters such as Segment size, transmit
and receivers buffer sizes, time-out values and also the behaviour of the TCP stack in relation to connection
open/close strategy and the use of Selective ACKing.

1. Right click on TCP Characteristics Configuration, and select Add TCP Characteristics. This will
cause the Add TCP Characteristics dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 756


Aeroflex Limited. All
rights reserved.
9.4.1. TCP Characteristics Configuration

Figure 9-81. Add TCP Characteristics Dialog

2. Enter values for the fields displayed as required. See Add Peer Group Dialog Fields for a description of
the fields.

3. Click the OK button to add the TCP Characteristics. If the operation was successful then the TCP
characteristics will appear below the TCP Characteristics Configuration Folder, otherwise a reason will
be provided for the failure to add the TCP characteristics.

Note
The Initial Retransmission Timeout (RTO) value always gets rounded down to the nearest multiple of
the TCP timer.

Table 9-53. Add TCP Characteristics Dialog Fields

Field Description Validation

© Copyright 2018 TeraVM Java Client User Guide Page 757


Aeroflex Limited. All
rights reserved.
9.4.1. TCP Characteristics Configuration

Field Description Validation

Name Name of the new TCP Characteristics, must be unique 3 - 32 Characters in length
within the TCP Characteristics Configuration Folder.

Max. Transmit Buffer Size Maximum size of the Senders Buffer that is, number of 64K - 1GB
segments sent without receiving an ACK. (Optional)

Max. Advertised Receive Maximum size of the Recipients Buffer. (Optional) 2 * MSS to 65525 bytes
Window Size

Initial Retransmission Starting time to wait for an ACK before retransmitting data. 1 - 600,000 milliseconds.
Time-Out

TCP Timer This determines the frequency with which TCP 10 - 5000 milliseconds. Default is 500ms.
connections are checked to see if retransmissions are Can be a profile.
required.

Emulate Delayed ACKs Emulate ACKs being delayed, either For All Segments or Select from the drop-down combo, For
for a maximum of 2 Segments Max. 2 Segments within All Segments, Max 2 Segments or Off.
each TCP window or no delayed ACKs, Off. Default is For All Segments.

First Data Segment ACK Emulate sending the first data Segment with the ACK flag On or Off, Default is Off.
can SYN-ACK set to true to acknowledge a SYN ACK.

Final Data Segment can Emulate sending the last data Segment with the FIN flag On or Off, Default is On.
Include FIN set to true.

Final Data Segment ACK Emulate sending the last data Segment with the FIN and On of Off, Default is On.
can Include FIN ACK flag set to true.

Max. Segment Size (MSS) Maximum size of the TCP Data Segment. (Optional). Value in range of 1 - 9176 bytes or a
This value can be calculated as follows: MSS (Bytes) = profile. Note: the maximum MTU size
MTU (bytes) - IP Header Size (e.g. 20 or 40 bytes) - TCP (Maximum MTU) is 9216, the MSS
Header Size (e.g. 20 bytes). considers the TCP/IP Header size of 40/60
bytes.
• A runtime error is displayed if a
number greater than the maximum
allowed is used. The maximum value
allowed for the MSS is calculated
based on the following formula: MTU
of the hosts - 40 bytes for IPv4 or MTU
of the hosts -60 bytes for IPv6.

Window Scale The window scale used to extend the original TCP window 0 - 14, default is None. Configuring a
size. (Optional) window scale of 0 means no scaling but
the actual TCP window scale of 0 will be
specified as a TCP option

Use Selected ACK (SACK) TCP will recognise an incoming "SACK permitted" option On or Off, Default is Off.
when permitted in a SYN packet, and subsequently use SACK options to
acknowledge Out of Sequence Data Segments.

Set Selected ACK (SACK) TCP will set the "SACK permitted" option in outgoing SYN On or Off, Default is Off.
permitted packets. Note that the TCP will always interpret incoming
packets that SACK Out of Sequence Data Segments,
even if "SACK permitted" was not set in the initial SYN
packet. The assumption is that the receiving end of a

© Copyright 2018 TeraVM Java Client User Guide Page 758


Aeroflex Limited. All
rights reserved.
9.4.2. Network Characteristics Configuration

Field Description Validation


connection will not use SACK unless the sending end
explicitly permitted it in its SYN packet.

Support Timestamp when Indicates if the receiving end of the TCP will support On or Off, default is Off.
Requested Timestamping when requested. (Optional)

Request Timestamp Indicates if the TCP timestamp option will be included in On or Off, default is Off.
the SYN segment of the TCP header. (Optional)

9.4.2. Network Characteristics Configuration


Network Characteristics Configuration consists of one or more Network Characteristics. A Network
Characteristics represents simulated values for such network characteristics as packet delay and packet
loss.

A Test Group can have many Network Characteristics.

Add a Network Characteristics Configuration Folder


The Network Characteristics Configuration Folder contains all Network Characteristics created within this
test group and needs to be created before Network Characteristics can be added.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Network Characteristics Configuration menu item, this will create the empty
Network Characteristics Configuration folder.

Add Network Characteristics


Network Characteristics specify inbound packet delay and packet loss values. Packets Loss can be set in
the following ways:

• Single Packet Bursts. Packets can be dropped a percentage of the time by setting the Drop Rate.

• Fixed Burst Size. Packets can be dropped in bursts using a default burst length defined in the Drop
Burst Size (lower value) and Drop Rate. For example, setting the Drop Burst Size to 2, and Drop
Rate to 5 would mean dropping 2 packets 5 percent of the time.

• Variable Burst Size. Packets can be dropped in varying bursts using the values defined in the Drop
Burst Size (lower and higher values) and Drop Rate. For example, setting the Drop Burst Size to 2,
the higher Drop Burst Size to 6, and Drop Rate to 5 would mean dropping 2 to 6 packets 5 percent of
the time.

• Variable Burst Times. Dropping packets in bursts can be set to happen periodically by setting the Limit
Bursts value. For example, setting the Drop Burst Size to 2, Drop Rate to 5 and Limit Bursts to
10000 would mean dropping 2 packets 5 percent of the time every 10 seconds.

1. Right click on Network Characteristics Configuration, and select Add Network Characteristics.
This will cause the Add Network Characteristics dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 759


Aeroflex Limited. All
rights reserved.
9.4.2. Network Characteristics Configuration

Figure 9-82. Add Network Characteristics Dialog

2. Enter values for the fields displayed as required. See Add Peer Group Dialog Fields for a description of
the fields.

3. Click the OK button to add the Network Characteristics. If the operation was successful then the TCP
characteristics will appear below the Network Characteristics Configuration Folder, otherwise a reason
will be provided for the failure to add the Network characteristics.
Table 9-54. Add Network Characteristics Dialog Fields

Field Description Validation

Name Name of the new Network Characteristics, must 3 - 32 Characters in length


be unique within the Network Characteristics
Configuration Folder.

© Copyright 2018 TeraVM Java Client User Guide Page 760


Aeroflex Limited. All
rights reserved.
9.4.3. Interfaces Configuration

Field Description Validation

Packet Delay Delay in milliseconds for each inbound packet. 0 - 60,000 Milliseconds. Or select distribution
(Optional) profile.
Clicking the ellipsis button allows you to open a
profile chooser dialog and select a distribution
profile. The “Packet Delay” Text field accepts
both numbers and characters as input. The
numbers will represent a static value for
the Packet Delay field. The characters will
represent the name of a Profile Configuration
Item. See Section 11.21. Profile Configuration
in Chatper 11 Test Case Configuration for more
details.

Drop Rate Percentage of inbound packets to drop. (Optional) 0 - 99 percent.

Drop Burst Size (lower Absolute or minimum number of inbound packets to 0 - 1000 packets.
value) drop in a burst . (Optional)

Drop Burst Size (higher Maximum number of inbound packets to drop in a 0 - 1000 packets.
value) burst. (Optional)

Limit Bursts Time period in milliseconds in which to have bursts. 0 - 60,000 Milliseconds.
(Optional)

9.4.3. Interfaces Configuration


Interfaces Configuration allows for the configuration of various port parameters such as Speed, Duplex
and Auto-negotiation. These can be configured on a per port (interface) basis within a Test Group. When
a Test Group is executed, TeraVM identifies any ports used by the applications that have associated ports
configurations configured in the Test Group. It then applies these port configurations to each relevant port
before configuring and executing individual applications. In this way the parameters are applied to ports
before any traffic is sent or received on the port.

If a port used in a application does not have an associated port configuration, a default one is used instead.

Add an Interface Configuration Folder


The Interface Configuration folder contains all interface/port configurations available to the Test Group. It
needs to be created before creating any Interface Configuration items.

1. In the Test Group tab create a Test Group (see Add Test Group Section ) and right click on the
Configuration icon.

2. Right click on Add Interfaces Configuration menu item, this will create the Interface Configuration
folder.

Add an Interface Configuration


An interface configuration contains the port parameter settings for a specific port or interface. These will be
configured on the associated port before traffic is sent or received on the port.

1. Right click on the Interface Configuration folder, and select Add Ethernet Interface Configuration.
This will cause the Add Ethernet Interface Configuration dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 761


Aeroflex Limited. All
rights reserved.
9.4.3. Interfaces Configuration

Figure 9-83. Add Ethernet Interface Configuration Dialog

2. Use the Browse button to select an interface.


3. The dialog will be configured with the default settings for the selected interface that is, auto-negotiation
is turned on and the relevant Speed and Duplex checkboxes are ticked.
4. If auto-negotiation is turned on it is not possible to change the default settings for Speed and Duplex. If
auto-negotiation is turned off, one of the relevant Speed and Duplex settings must be ticked.
5. Click the OK button to add the Ethernet Interface Configuration. An error will be generated if a Fiber
interface was selected as it is not possible to change these settings. If the operation was successful
then the Interface Configuration item will appear below the Interface Configuration Folder, otherwise a
reason will be provided for the failure to add the ARP Request. The name of this item will be that of the
Card and Port used in the configuration item.
Table 9-55. Add Ethernet Interface Configuration Dialog Fields

Field Description Validation

Interface The interface/port to which the specified parameters will N/A.


be applied.

Enable Auto-Negotiation Indicates if the port will negotiate its settings with the far Default is ticked.
end.

Speed/Duplex Settings The values to be assigned to the Speed and Duplex Defaults are used if auto-negotiation is
parameters. turned on. If auto-negotiation is turned
off then one of the valid settings must be
selected.

© Copyright 2018 TeraVM Java Client User Guide Page 762


Aeroflex Limited. All
rights reserved.
Chapter 10. Using TeraVM Statistics

Chapter 10. Using TeraVM Statistics


TeraVM can generate a wide range of statistics/metrics on the hosts, applications, interfaces and test agents
that you use in your tests. This chapter describes how to configure and enable statistics collection in the
Java Client.

Information on statistics collection in the HTML5 UI are found in the TeraVM User Guide.

A detailed description of the types of statistics that you can run (Normal or Fine; Host, Application or
Interface) and on the Metrics possible for the test entities are found in the TeraVM Metrics Guide.

10.1. Configuring Statistics


Statistics collection on your hosts and applications is turned on by default and once your test is running, you
can view Normal statistics for all of your test entities. If you want to change how the statistics are collected or
even turn off statistics for some of your test entities, you can do this in a number of ways:

• Configure general statistics collection parameters for your whole test group. These include the sampling
intervals that you require for each type of statistic and the granularity (Normal or Fine) of statistics that
you want to collect at Test Agent level.

Note
Since default collection parameters are already configured for your test group, changing this
configuration is optional.

• For each test entity, specify the statistics granularity that you require or turn off all statistics collection.

• If you want to group your statistics, set up and enable statistics collection in Aggregate Groups.

10.2. Configuring Statistics General Parameters


To configure statistics collection for your whole test group, do the following:

1. Right-click on your test group in the left hand panel and select Properties. The following dialog window
will open. You will also get this dialog window when creating a new test group.

© Copyright 2018 TeraVM Java Client User Guide Page 763


Aeroflex Limited. All
rights reserved.
10.2. Configuring Statistics General Parameters

Figure 10-1. Test Group Configuration Dialog

Note
This figure shows the default settings for statistics collection.

2. Select the Sampling Intervals that you want for your Applications/Hosts and Aggregate Groups and click
OK. These intervals are applied to all applications and aggregate groups at the test group level.

3. For Test Agent statistics, enable or disable Normal and Fine Stats.
Table 10-1. Statistics Configuration for Test Group

Field Description Validation

Application Sampling Interval

Normal Stats Interval at which TeraVM will gather normal statistics for Intervals are: 30s, 1m, 5m. Default is 30s.
any enabled hosts or applications in your test group.

Fine Stats Interval at which TeraVM will gather fine statistics for any Intervals are: 1s, 5s, 10s. Default is 1s.
enabled hosts or applications in your test group. Fine
statistics are collected at very short intervals

Aggregate Group Sampling Interval

Normal Stats As above Intervals are: 30s, 1m, 5m. Default is 30s.

Fine Stats As above Intervals are: 1s, 5s, 10s. Default is 1s.

© Copyright 2018 TeraVM Java Client User Guide Page 764


Aeroflex Limited. All
rights reserved.
10.3. Configuring Statistics for Test Entities

Field Description Validation

Card Statistics

Normal Stats Enable or disable normal statistics collection for Test Default is Enabled.
Agents.

Fine Stats Enable or disable fine statistics collection for Test Agents. Default is Disabled.

10.3. Configuring Statistics for Test Entities


You can configure how you want to collect statistics for your test entity (host or application) when you are
creating the entity, or afterwards by editing the properties of the test entity.

The steps below guide you through setting up statistics for new and existing hosts and applications.

Configuring Statistics for Hosts


When adding a new host, you can enable or disable Normal and Fine statistics, select the categories of
statistics that you want and select an Aggregate Group if you want to include your host in a group.

1. From the Add New Host Wizard, click on the Statistics Settings tab, as shown below.

Figure 10-2. Statistics Settings for Hosts

2. Enable the type of statistics that you want to collect, the granularity of those statistics (normal or fine)
and the aggregate group that you require, as described in the table below:

© Copyright 2018 TeraVM Java Client User Guide Page 765


Aeroflex Limited. All
rights reserved.
10.3. Configuring Statistics for Test Entities

Table 10-2. Statistics Settings Parameters for Hosts

Field Description Validation

Enable Normal Statistics TeraVM will gather normal statistics at the Application Default is Normal stats enabled.
sampling interval configured for your Test Group (see
Configuring Statistics General Parameters).

Enable Fine Statistics TeraVM will gather fine statistics at the Application Default is Fine stats disabled.
sampling interval configured for your Test Group (see
Configuring Statistics General Parameters). "Fine"
statistics are collected at very short intervals and can be
enabled/disabled while a test is running. Fine statistics
can only be enabled on up to 500 entities at any given
time.

Connection Statistics Gather statistics related to TCP connections; for Default is enabled.
example, attempted, established, rejected and so on.

Extended TCP Statistics Gather counts for such TCP statistics as SYNs, SYN Default is disabled.
ACKs, ACKs and so on.

DHCP Statistics A variety of statistics are collected if the host gets its Only available if the host gets its address
address via DHCP, including DISCOVERS, OFFERS, via DHCP. Enabled by ticking the
REQUESTS and so on. checkbox. Default is disabled.

PPPoE Statistics A variety of statistics are collected if the host uses Only available if the host uses PPPoE.
PPPoE including PADI/PADO/PADR/PADS packets Enabled by ticking the checkbox. Default
sent/received, Sessions established, terminated/failed is disabled.
and so on.

Aggregate Group Aggregate Group to which this host belongs for Optional. Select a group from the list of
statistical reporting purposes. See Section 10.4.2. previously configured groups or add a
new group. "Default" is the test group.

To configure statistics on an existing host, right-click on the host, click Statistics and enable or disable the
statistics that you require from the options shown.

© Copyright 2018 TeraVM Java Client User Guide Page 766


Aeroflex Limited. All
rights reserved.
10.3. Configuring Statistics for Test Entities

Figure 10-3. Configuring Statistics Settings on Existing Hosts

Configuring Statistics for Applications


When adding a new application, you can enable or disable Normal and Fine statistics, select Aggregate
Groups and enable other optional statistics depending on the application chosen.

1. Click on the icon to create a new application, and configure each window. You will see a window similar
to the following on the Additional Configuration tab.

© Copyright 2018 TeraVM Java Client User Guide Page 767


Aeroflex Limited. All
rights reserved.
10.3. Configuring Statistics for Test Entities

Figure 10-4. Statistics Settings for Applications

The most common statistics parameters that you will see are described below:
Table 10-3. Add New Application - Additional Configuration - Statistics

Field Description Validation

Enable Normal Statistics TeraVM will gather normal statistics at the Default is Normal stats enabled.
Application sampling interval configured for your
Test Group (see Configuring Statistics General
Parameters).

Enable Fine Statistics TeraVM will gather fine statistics at the Application Default is Fine stats disabled.
sampling interval configured for your Test Group
(see Configuring Statistics General Parameters).

Aggregate Group Aggregate Group to which this application belongs Optional. Select a group from the list of
for statistical reporting purposes. See Viewing previously configured groups or add a new
Aggregate Groups. group. "Default" is the test group.

© Copyright 2018 TeraVM Java Client User Guide Page 768


Aeroflex Limited. All
rights reserved.
10.3. Configuring Statistics for Test Entities

Field Description Validation

Configure Passive Allows the configuration of the client for Passive Enabled by ticking the checkbox or disabled
Analysis Analysis. For further information on setting this by unticking. Default depends on the
parameter refer to Additional Configuration, application.
Passive Analysis.

Note
Other options may be displayed in this dialog window, depending on the application. These are
documented in the Applications chapter for each relevant application.

2. Enable or disable the statistics granularity that you require.

3. Enter an Aggregate Group or use the Default (your test group). Click Finish.

4. For some applications, statistics configuration may be in a separate window, as shown below:

Figure 10-5. Statistics Settings for Applications

5. Click on Statistics. A dialog window similar to below will open:

Figure 10-6. Statistics Settings for Applications

You can change the statistics configuration on an existing application by right-clicking on the application
and selecting Statistics. Alternatively, click on Properties, then the Additional Configuration tab.

© Copyright 2018 TeraVM Java Client User Guide Page 769


Aeroflex Limited. All
rights reserved.
10.4. Creating Aggregate Groups

Configuring Statistics for Interfaces and Test Agents


Interfaces statistic collection has default configuration settings which cannot be changed by the user. These
settings are:
• Normal statistics - enabled.
• Fine statistics - disabled.
• Normal statistics sampling interval - 30 seconds.
• Fine statistics sampling interval - 1 second.
Test Agents statistics are also pre-configured with the same settings as for Interfaces, however, the
granularity can be changed at a test group level. See Configuring Statistics General Parameters.

10.4. Creating Aggregate Groups


Hosts and/or applications can be grouped together so that statistics can be collected and viewed for the
group as an aggregate entity. As well as providing grouped statistics, this helps test performance in very
large tests. For example, an aggregate entity may comprise of groups of HTTP Adaptive BitRate clients that
emulate specific devices, or maybe a group of clients that use the same host.

Note
This section creates the aggregate group. You next need to add entities to the Aggregate Group.

1. Click on the test group on the left panel that you want to add the group to, and click the Statistics Group
tab on the right. You can select an existing group here, or to add a new group, click the Add Group icon
at the top left of the tab.

Figure 10-7. Adaptive Bit Rate Client: Additional Configuration - Creating Aggregate Statistics Groups

2. The Add New Aggregate Group dialog is displayed. Enter a Name and Description for the group in
the General tab.

© Copyright 2018 TeraVM Java Client User Guide Page 770


Aeroflex Limited. All
rights reserved.
10.4.1. Adding Hosts or Applications to Aggregate
Groups

Note
You can also do this in the host or application wizard in the Additional Configuration window by
clicking on the […] button beside the Aggregate Group or Group Name field.

3. Click on the Statistics tab to select the type of statistics that can be collected for the Hosts and
Applications that are contained within this group. These are optional metrics that will only be collected if
these are selected here. For more details on each type, see the Metrics section for hosts or application
of interest.

Figure 10-8. Statistics Tab

10.4.1. Adding Hosts or Applications to Aggregate Groups


The Additional Configuration step of the Add New Host and Application wizards contains an Aggregate
Group field as shown in the example above of the Additional Configuration for a POP3 Client.

Click on the <...> button to select an aggregate group.

10.4.2. Viewing Aggregate Groups


When Aggregate Groups are created, they are listed in the Display Panel of the TeraVM screen under the
Statistics Groups tab, as shown:

© Copyright 2018 TeraVM Java Client User Guide Page 771


Aeroflex Limited. All
rights reserved.
10.4.2. Viewing Aggregate Groups

Figure 10-9. Display panel - Statistics Groups

To view the properties of an aggregate group, right click on the group and select the Properties option from
the menu. The Aggregate Group Properties dialog is displayed. Click on Contributors to see which entities
are in the Aggregate Group. Click on Aggregates to change the level of granularity of the statistics collection
for each entity type, as shown below.

Figure 10-10. Aggregate Group Properties Dialog

The General and Statistics tabs were described previously in the Adding a New Group section.

Deleting a Group
To delete an aggregate group, right click on the group and select Delete from the menu.

© Copyright 2018 TeraVM Java Client User Guide Page 772


Aeroflex Limited. All
rights reserved.
10.5. Viewing Results

10.5. Viewing Results


You can view statistics while your test is running, or afterwards, when the test has stopped and statistics
collection is terminated.

Detailed results and Summary results (on aggregate groups or your total test group) can be viewed. You can
access the summary statistics of the currently executing test group by pausing the test group. The results
can be viewed as both graphical and tabular.

Real-Time statistics are only available while the test is running, and include information such as Rates,
Cumulative Totals and Current Totals.

Fine results can also only be viewed while the test is running.

1. To view results for a host or application, right click on the host or application and select Statistics and
then View options from the menu. The following statistics can be viewed:

• Normal Group Rate Statistics

• Fine Group Rate Statistics

• Normal Group Totals Statistics

• Fine Group Total Statistics

2. To view statistics for the whole test group, right click on the test group and select Results, then the
required statistics to view (for example, View Normal Rates Statistics). A Test Results Window is
displayed as shown below.

3. Select the aggregate entity type from the drop-down list in the Item Type field. This will display all the
statistics for this type of entity for example a Host, a HTTP Server, and so on.

© Copyright 2018 TeraVM Java Client User Guide Page 773


Aeroflex Limited. All
rights reserved.
10.5. Viewing Results

Figure 10-11. Aggregate Group Statistics - Test Results Window

4. To pause statistics, save your results and view your results in graphical or tabular format, click on the
appropriate icon below the results, as indicated below. You can also change the the refresh rate of your
statistics results display and the time period displayed.

Figure 10-12. Aggregate Group Statistics - Test Results Window

© Copyright 2018 TeraVM Java Client User Guide Page 774


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

Chapter 11. Thresholding


Thresholding functionality is available via the GUI and CLI and allows you to automatically determine if
something has gone wrong during the execution of the test. It allows you filter out key information from large
amounts of statistical data. If you are interested in knowing for example, if the Mean Get Time of any HTTP
Client download is greater than 1s, you can apply a threshold containing this criteria to all HTTP Clients
and an event will be generated if the criteria is breached. This capability prevents you from having to shift
through lots of statistics to see if something has gone wrong.

What is Thresholding?
A threshold is a rule (an expression) you set on one or more target entities, and attributes that control over
when the rule is applied. TeraVM applies the rule to the target entities and if the rule is violated a violation
event is generated.
The rule can be a simple or complex expression. It consists of any number of predicates on statistic columns
connected by boolean values. For example the following rule expression returns true when the incoming bit
rate or outgoing bit rate falls below a limit - (('In Bits/s' < 45.66) || ('Out Bits/s' < 123.34))
Consider the following: you may want to be notified when the MOS score for any of a number of configured
VoIP UA's drops below a minimum value. To do this, configure a threshold to use the VoIP UA MOS score
statistic and then apply this to all of the VoIP UA's in the test. When any of the VoIP UA's MOS score drops
below the minimum value, a threshold violation event will be generated thereby making you aware of the
breach of the threshold.

Note
In order to use the Thresholding functionality within TeraVM a license is required. If a license is
needed then contact VIAVI technical support.

Assuming an appropriate license exists, the following thresholding functionality is available:


• Create a Threshold
• Delete a Threshold
• View Threshold Events
• Enable/Disable a Threshold
• Turn on/off Thresholding
• Import/Export Thresholds
• Save Events
• CLI access to Thresholding

Creating a Threshold
Thresholds can be created from the Thresholds tab in the test group Display Window. The steps required to
create a threshold are:

© Copyright 2018 TeraVM Java Client User Guide Page 775


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

• General Details
• Advanced Settings

General Details
The following wizard is displayed for provisioning the threshold:

Figure 11-1. Add New Threshold - General Details

The following details are required for the General Details step of the wizard:
Table 11-1. Add New Threshold - General Details Fields

Field Description Validation

Name Unique name identifying the Threshold. Mandatory. String value between 1 and
255 characters in length.

Targets The entities to which this Threshold will be applied. Mandatory. Can be one or more
applications or hosts or an aggregate
group, an interface or a test group total.

Rule A boolean expression which can use logical operators Mandatory. The double quote (") is an
and which defines the circumstances when the threshold invalid character.
events should be generated. Use CTRL+Space to get a
list of statistics for use in the Rule.

© Copyright 2018 TeraVM Java Client User Guide Page 776


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

Field Description Validation

Statistics Type Type of stats the threshold should be applied to. Mandatory. Choose from FINE or
NORMAL. If FINE, the threshold will be
applied to statistics generated at the Fine
statistics sampling interval - typically
every second. If NORMAL, the threshold
will be applied to statistics generated at
the Normal statistics sampling interval -
typically every 30 seconds.

The following dialog is displayed when selecting targets for the Threshold:

Figure 11-2. Add New Threshold - Target Selector

© Copyright 2018 TeraVM Java Client User Guide Page 777


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

The following details are required:


Table 11-2. Add New Threshold - Target Selector Fields

Field Description Validation

Entity Type The type of entity to which the Threshold will be applied. Mandatory. Choose from Application, Host,
Aggregate Group, Interface or Test Group.

Selection Mode The mechanism by which one or most Applications or Only available if Entity Type is Application
Hosts will be selected. or Host. Choose one of:
• Match Entities by Regular Expression
applied to Name
• By Type
• List of Entities

Regular Expression A regular expression defining the target entities names. Available and mandatory only if the Entity
Type is either Application or Host and
Selection Mode is Match Entities by
Regular Expression Applied to Name.
Must be between 1 - 512 chars in length.
Double quote (") and newline are invalid
characters.

Application Type The type of application on which the Threshold will be Available and mandatory only if the Entity
applied. Type is Application and Selection Mode is
By Type. Choose from the available list of
applications.

Host Type The type of host on which the Threshold will be applied. Available and mandatory only if the Entity
Type is Host and Selection Mode is By
Type. Choose from Virtual Host or Virtual
Subnet Host.

Application List A list of target applications to which the Threshold will be Available and mandatory only if the Entity
applied. Type is Application and the Selection Mode
is List of Entities. Use the Select button to
select one or more applications.

Host List A list of target hosts to which the Threshold will be Available and mandatory only if the Entity
applied. Type is Host and the Selection Mode is
List of Entities. Use the Select button to
select one or more hosts.

Card The name of a Card containing one or more interfaces to Available and mandatory only if the
which the Threshold will be applied. Entity Type is Interface. Choose from the
provided list of cards.

Interface An interface from a specific card to which a Threshold will Available and mandatory only if the Entity
be applied. Type is Interface and a specific card has
been selected. Choose from the list of
available interfaces.

Aggregate Group An aggregate group from which a particular aggregate Available and mandatory only if the Entity
type will be selected. The Threshold will be applied to the Type is Aggregate Group. Choose from the
selected aggregate type. available aggregate groups.

Aggregate Type The type of aggregate to which the Threshold will be Available and mandatory only if the Entity
applied. Type is Aggregate Group and a specific
Aggregate Group has been selected or the
Entity Type is Test Group. Choose from the
available list of aggregate types.

© Copyright 2018 TeraVM Java Client User Guide Page 778


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

Advanced Settings
The following dialog is displayed for the next step of the wizard:

Figure 11-3. Add New Threshold - Advanced Settings

The following details are required for the Advanced Settings step of the wizard:
Table 11-3. Add New Threshold - Advanced Settings Fields

Field Description Validation

Start Test Delay A period in seconds or minutes after a test group has Optional. An integer value between 0 -
started, before a threshold is live. 60mins. Available metrics are secs and
mins.

Violation Trigger Sample The number of continuous statistical samples for which Optional. Must be Enabled and if so the
Count the Threshold must be violated before a Threshold min is 1 and max is 10000.
Violation Event is generated.

Clear Trigger Sample The number of continuous statistical samples for which Optional. Must be Enabled and if so the
Count the Threshold must be cleared before a Threshold Clear min is 1 and max is 10000..
Event is generated.

Event Tag An additional description of the threshold which will be Optional. A string between 1 - 256
copied to either a violation or clear event. characters in length.

© Copyright 2018 TeraVM Java Client User Guide Page 779


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

Delete Threshold
A threshold can be deleted by either highlighting it and pressing the delete icon or right-clicking on the
threshold and selecting the Delete option.
The following rules apply when deleting a threshold:
• Thresholds cannot be deleted while the test group it belongs to is running
• Deletion of a threshold will not cause cascading delete of threshold events associated with it, because
events are, like statistics, considered to be test execution result data
• Thresholds are deleted in a cascade fashion when the test group is deleted
• Thresholds are deleted in a cascade fashion after the target aggregate group is deleted
• Thresholds associated with target applications or hosts using the Selection Mode By List are not
deleted after these entities are deleted – only the association between them is deleted. This may result
in the a threshold with an empty list of target entities
• Thresholds applied to target applications or hosts using the Selection Mode Match Entities By
Regular Expression applied to Name are not affected by the deletion of entities
• Thresholds applied to target applications or hosts using the Selection Mode Entity Type are not
affected by the deletion of entities
• Thresholds are not deleted after the target aggregate is deleted (please note that the aggregate cannot
be deleted manually, deletion of an individual aggregate within an aggregate group occurs automatically
if a given aggregate group has no more contributors to that aggregate)

View Threshold Events


Threshold Events are generated whenever a threshold's rule is violated or cleared while a test group is
running. These events are displayed in the Threshold Events tab of the Console Window as shown below

Figure 11-4. Threshold Event Listing Screen

A threshold event consists of a number of attributes


• Timestamp: this identifies the date and time when the event was generated and is equal (including
timezone) to a timestamp of a stats sample which caused the event to be generated.
• ID: this is a unique ID to identify the event
• Correlation ID: this ID is used to pair two related events. For instance, in the case of a violation/
clear pairing, the correlation id for the violation event will have the same value as the event id for the

© Copyright 2018 TeraVM Java Client User Guide Page 780


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

violation event, the matching clear event for this violation will have its own unique ID value, however the
correlation id will match that of the value assigned to the violation event
• Event Type: this indicates whether or not the event was a violation event or a clear event
• Threshold Name: this identifies which threshold was violated or cleared
• Threshold Rule: the rule associated with the threshold that was violated/cleared causing the event to
occur
• Source: the entity that violated the threshold's rule
• Statistic Type: indicates whether the threshold event occurred on the Fine or Normal stats of the given
entity.
• Threshold Tag: an optional description configured in the Threshold which is copied to any event
generated as a result of the threshold being violated or cleared.
The threshold event listing screen will show all events for the currently executing test group, if the currently
executing test group is owned by the user who is logged in to the GUI.
If a user stops a test group and then starts either another test group or the same test group, then all events
that are currently shown in the event listing screen will be removed, and the event listing screen will now
only show any new events for the newly executing test group.
If a user opens a TeraVM GUI the threshold event listing will not automatically load and show all of the
events that have been generated by the currently executing test group for the logged in user. Instead, a user
will be required to explicitly load all historical events. If a user chooses to load all historical events into the
listing screen, then any new events that are generated for that test group after the historical events have
been loaded, will also be shown in the listing screen
The data shown in the threshold event listing screen is historical data. Therefore the details of the event
should reflect the configuration of the threshold at the time of the event and should not reflect any changes
that may have been made to the source threshold after the event may have occured.
The threshold event listing screen provides the following functionality:
• Filtering: A user will be able to apply a filter to the events being shown in the listing screen.
• Export to XML: A user will be able to export to an XML file, any events currently being shown in the
Threshold event listing screen.

Enable/Disable a Threshold
A Threshold which is enabled can be disabled by right-clicking on it and selecting Disable
A Threshold which is disabled can be enabled by right-clicking on it and selecting Enable

Turn On/Off Thresholding


The Threshold listing screen includes a toggle button for turning on/off thresholding. It is possible to change
this setting while a test is running and while the test is stopped.
When thresholding is turned off none of the configured thresholds have their rules applied to any generated
statistics. Therefore no events will be generated.

© Copyright 2018 TeraVM Java Client User Guide Page 781


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

Turning on thresholding ensures threshold rules are applied and therefore events may be generated.

Import/Export Thresholds
Thresholds, as a part of a test group's configuration, will be exported/imported together with the rest of a test
group's configuration in the same fashion as hosts and applications. Threshold events will not be exported
as these are test execution data, like statistics, which are never exported along with a test group.

Save Threshold Events


Thresholding events are a part of the results of executing a test group. Therefore the existing functionality of
saving test group results (both in GUI and in CLI) to a zip file, also saves associated threshold events to the
zip file.

Thresholding via the CLI


The CLI has been updated to provide support for some aspects of the Thresholding functionality.

Note
Access to CLI functionality is only available if you have a license to use the CLI

Note
Access to Thresholding functionality via the CLI is dependent on having a license to use thresholding

The following thresholding functionality is available via the CLI:


• List Threshold Events: the cli thrEvents command displays the current list of threshold events to the
console. It is possible to reduce the number of events shown by specifying the number to show, or by
applying a filter. The syntax of the command is available via the cli help command for example cli help
thrEvents. When executed, a table of the events matching the filter criteria will be shown in the
console.
• Show Live Threshold Events: the cli thrEventsDisplay command turns on and off the output of all
newly generated threshold events to the console.
• Register Callback Script: the cli thrScriptRegister command takes a script as a parameter and
registers it with the TeraVM server. The server invokes a specific callback function in this script
when an event occurs. The event is pre-parsed and it's data passed to the callback function as a
list of parameters. The cli user can logout of the CLI and the callback script will continue to work. A
registration will fail and report an error to the console if any of the following occur:
– The username used in the registration does not exist (please note that currently only cli username
is accepted)
– The specified script does not exist
– The specified script fails to load

© Copyright 2018 TeraVM Java Client User Guide Page 782


Aeroflex Limited. All
rights reserved.
Chapter 11. Thresholding

– The specified script does not define an eventCallback() function


– The log files are not writable or don't exist and cannot be created
• List Registered Callback Scripts: the cli thrScripts command list previously registered threshold event
callback scripts.
• UnRegister a Callback Script: the cli thrScriptUnregister command unregisters a previously registered
threshold event callback script.
• Reload a Callback Script: the cli thrScriptReload command reloads a previous registration. This
causes an existing registration to reload the registered script and to continue operatoring with the newly
registered script. If any error occurs during the reloading of the registration, this will be returned in the
console, and reflected in the state of the registration.
• Turn Thresholding On/Off: the cli thrOn command turns on thresholding and the cli thrOff command
turns off thresholding.

© Copyright 2018 TeraVM Java Client User Guide Page 783


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Chapter 12. Jobs


A Job is a way to use some of the automation capabilities of TeraVM. It consists of a sequence of one or
more tasks that are executed sequentially. The task defines the test to be carried out therefore multiple
tasks in a Job allow multiple tests to be run in a sequential fashion.

Adding a Job
1. In the Job tab select the Jobs item at the top of the tree or alternatively a folder under which you wish
to add a new Job.

2. Right click on the selected item.

3. Select the "Add Job..." menu item from the menu displayed. This will cause the Add Job dialog to be
displayed.

Figure 12-1. Add Job Dialog

4. Enter values for the fields displayed as required. See Below for a description of the fields

5. Click the OK button to add the job.

If the operation was successful then the Job will appear below the selected item, otherwise a reason will be
provided for the failure to add the Job.
Table 12-1. Add Job Dialog Fields

Field Description Validation

Name Name of the new Job 3 - 32 Characters in length

Description Description for new Job 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 784


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Adding a Task
A task is a component of a Job. It defines the test to be carried out within a Job. Configuring a Job with
multiple tasks results in a Job that can run multiple tests for example Multiple test groups. Tasks are
executed sequentially therefore the associated tests are executed sequentially.

There are currently six types of Tasks:

• Sleep Task

This task sleeps blocks the execution of its parent job for a specified length of time.

• Run Test Group (Time) Task

This task runs a specified Test Group for a specified length of time.

• Run Test Group (Iteration) Task

This task runs a specified Test Group for a specified number of iterations.

• Run External Application Task

This task runs a specified external application on the client.

• Run TeraVM Script Task

This task runs a specific TeraVM script.

• Analyse Test Group Results Task

This task performs analysis on the results for specified application Types and interfaces within
a specified Test Group.

Adding a Sleep Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Sleep Task" menu item from the menu displayed. This will cause the
Add Sleep Task dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 785


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Figure 12-2. Add Sleep Task Dialog

4. Enter values for the fields displayed as required. See below for a description of the fields
5. Click the OK button to add the job.
If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-2. Add Sleep Task Dialog Fields
Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 786


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Sleep How long to sleep. Either a specific number of seconds or Choice of "For Time Duration" or "Until Set
until a specific time. Time".

Time Amount of time in seconds, for which the task should 0 - 125 Characters in length
sleep or the time at which the task should start.

Adding a Run Test Group (Time) Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Run Test Group (Time) Task" menu item from the menu displayed. This
will cause the Add Run Test Group (Time) Task dialog to be displayed.

Figure 12-3. Add Run Test Group (Time) Task Dialog

4. Enter values for the fields displayed as required. See below for a description of the fields

5. Click the OK button to add the job.

© Copyright 2018 TeraVM Java Client User Guide Page 787


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-3. Add Run Test Group (Time) Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

Test Group Test Group which is to be executed by the task Test Group within the TeraVM system

Unlimited Duration Setting this to Enabled will mean that the task will never Enabled or Disabled
finish, otherwise the task will complete after the time
specified in the duration.

Duration Amount of time in seconds, for which the task should run. 1 to 259200

Adding a Run Test Group (Iteration) Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Run Test Group (Iteration) Task" menu item from the menu displayed.
This will cause the Add Run Test Group (Iteration) Task dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 788


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Figure 12-4. Add Run Test Group (Iteration) Task Dialog

4. Enter values for the fields displayed as required. See below for a description of the fields
5. Click the OK button to add the job.
If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-4. Add Run Test Group (Iteration) Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

Test Group Test Group which is to be executed by the task Test Group within the TeraVM system

Unlimited Duration Setting this to Enabled will mean that the task will never Enabled or Disabled
finish, otherwise the task will complete after the Iteration
count specified in the duration.

Duration Amount of iterations for which the test group assigned to 1 to 1000000000
the task should run.

© Copyright 2018 TeraVM Java Client User Guide Page 789


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Adding a Run External Application Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Run External Application Task" menu item from the menu displayed.
This will cause the Add Run External Application Task dialog to be displayed.

Figure 12-5. Add Run External Application Task Dialog

4. Enter values for the fields displayed as required. See below for a description of the fields

5. Click the OK button to add the job.

If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-5. Add Run External Application Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 790


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

External App. Path Path to the external application which is to be executed 1 to 125 characters in length

Block Until Completed Setting this to enabled will mean that this task will not Enabled or Disabled
complete until the external application that it executed has
completed. Setting it to disabled means that the task will
execute the external application and then immediately
complete.

Adding a Run TeraVM Script Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Run TeraVM Script Task" menu item from the menu displayed. This will
cause the Add Run TeraVM Script Task dialog to be displayed.

Figure 12-6. Add Run TeraVM Script Task Dialog

© Copyright 2018 TeraVM Java Client User Guide Page 791


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

4. Enter values for the fields displayed as required. See below for a description of the fields

5. Click the OK button to add the job.

If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-6. Add Run TeraVM Script Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

TeraVM Script Hard coded Path to the TeraVM script which is to be 1 to 125 characters in length
executed

Block Until Completed Setting this to enabled will mean that this task will not Enabled or Disabled
complete until the TeraVM script that it executed has
completed. Setting it to disabled means that the task
will execute the TeraVM script and then immediately
complete.

Adding an Analyse Test Group Results Task


1. In the Job tab select the Job under which you wish to add a new Task.

2. Right click on the selected item.

3. Select the "Add Task -> Add Analyse Test Group Results Task" menu item from the menu
displayed. This will cause the Add Analyse Test Group Results Task dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 792


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Figure 12-7. Add Analyse Test Group Results Task Dialog

4. Enter values for the fields displayed as required. See below for a description of the fields. If the Output
is set to Window, then this analysis task will block until the analysis results window is closed. Therefore,

© Copyright 2018 TeraVM Java Client User Guide Page 793


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

if running a job with multiple tasks it would be appropriate to set the Output to PDF if one of these tasks
is an analysis task.

5. Click the OK button to add the job.

If the operation was successful then the Task will appear below the selected item, otherwise a reason will be
provided for the failure to add the Task.
Table 12-7. Add Analyse Test Group Results Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

Test Group Name of the Test Group from which the results are to be N/A
analysed.

Analysis Tool The tool to be used to analyse the collected statistics. Default is the VIAVI "Default" tool. "Packet
Loss" is also available.

Input Data Type The type of data to be analysed. Defaults to Test Group Results. No other
option is available.

Input Data The data to be analysed. Always the data from the previously
executed test group in the Job.

Sampling Interval The sampling interval of the collected data. Default is Five Minutes. Select from Five
Minutes, One Minute, Thirty Seconds,
Twenty Seconds, Ten Seconds, Five
Seconds, One Second.

Output Path Directory where output from the results analysis is to be N/A
placed.

Option Group Select from the drop down menu which application type N/A
and/or interface results are to be analysed. for example
to include HTTP application results, select HTTP and set
the Include Option to true. Repeat this process for each
application type and interface required. General Options
allow the output format to be chosen, currently only .pdf is
supported.

Running a Job

Note
Only one Test Group/Job can be running at any one time.

To run a Job:

1. In the Job tab select the Job which you wish to run.

2. Right click on the selected Job.

3. Select the "Run" menu item to run the selected Job.

© Copyright 2018 TeraVM Java Client User Guide Page 794


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Any output generated during the running of the Job will be displayed in the Output console in the bottom of
the TeraVM client.

Pausing a Running Job


To pause a running Job:
1. In the Job tab select the running Job which you wish to pause.
2. Right click on the selected Job.
3. Select the "Pause" menu item to pause the selected Job.

Stopping a Running Job


To stop a running Job:
1. In the Job tab select the running Job which you wish to stop.
2. Right click on the selected Job.
3. Select the "Stop" menu item to stop the selected Job.

View/Modify the properties of a Job


1. In the Job tab select the Job whose properties you wish to view.
2. Right click on the selected Job.
3. Select the "Properties..." menu item from the menu displayed. This will cause the Job Properties
dialog to be displayed.

Figure 12-8. Job Properties Dialog

To modify the properties of the Job, edit the values for the displayed fields as required and click the OK
button to apply the changes.

© Copyright 2018 TeraVM Java Client User Guide Page 795


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Table 12-8. Job Properties Dialog Fields

Field Description Validation

Name Name of the Job 3 - 32 Characters in length

Description Description for the Job 0 - 125 Characters in length

Viewing/Modifying the properties of a Task


There are many task types, each of which can be viewed/modified.

Viewing/Modifying the properties of a Sleep Task


1. In the Job tab select the Sleep Task whose properties you wish to view.
2. Right click on the selected Sleep Task.
3. Select the "Properties..." menu item from the menu displayed. This will cause the Sleep Task
Properties dialog to be displayed.

Figure 12-9. Sleep Task Properties Dialog

To modify the properties of the Sleep task, edit the values for the displayed fields as required and click the
OK button to apply the changes.
Table 12-9. Sleep Task Properties Dialog Fields

Field Description Validation

Name Name of the Task 3 - 32 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 796


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Description Description for Task 0 - 125 Characters in length

Sleep How long to sleep. Either a specific number of seconds or Choice of "For Time Duration" or "Until Set
until a specific time. Time".

Duration Amount of time in seconds, for which the task should 0 - 125 Characters in length
sleep or the time at which the task should start.

Viewing/Modifying the properties of a Run Test Group (Time) Task


1. In the Job tab select the Run Test Group (Time) Task whose properties you wish to view.

2. Right click on the selected Run Test Group (Time) Task.

3. Select the "Properties..." menu item from the menu displayed. This will cause the Run Test Group
(Time) Task Properties dialog to be displayed.

Figure 12-10. Run Test Group (Time) Task Properties Dialog

To modify the properties of the Run Test Group (Time) task, edit the values for the displayed fields as
required and click the OK button to apply the changes.
Table 12-10. Run Test Group (Time) Task Dialog Fields

Field Description Validation

Name Name of the Task 3 - 32 Characters in length

Description Description Task 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 797


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Test Group Test Group which is to be executed by the task Test Group within the TeraVM system

Unlimited Duration Setting this to Enabled will mean that the task will never Enabled or Disabled
finish, otherwise the task will complete after the time
specified in the duration.

Duration Amount of time in seconds, for which the task should run. 1 to 259200

Viewing/Modifying the properties of a Run Test Group (Iteration) Task


1. In the Job tab select the Run Test Group (Iteration) Task whose properties you wish to view.

2. Right click on the selected Run Test Group (Iteration) Task.

3. Select the "Properties..." menu item from the menu displayed. This will cause the Run Test Group
(Iteration) Task Properties dialog to be displayed.

Figure 12-11. Run Test Group (Iteration) Task Properties Dialog

To modify the properties of the Run Test Group (Iteration) task, edit the values for the displayed fields as
required and click the OK button to apply the changes.
Table 12-11. Run Test Group (Iteration) Task Dialog Fields

Field Description Validation

Name Name of the Task 3 - 32 Characters in length

Description Description for Task 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 798


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Test Group Test Group which is to be executed by the task Test Group within the TeraVM system

Unlimited Duration Setting this to Enabled will mean that the task will never Enabled or Disabled
finish, otherwise the task will complete after the Iteration
count specified in the duration.

Duration Amount of iterations for which the test group assigned to 1 to 1000000000
the task should run.

Viewing/Modifying the properties of a Run External Application Task


1. In the Job tab select the Run External Application Task whose properties you wish to view.

2. Right click on the selected Run External Application Task.

3. Select the "Properties..." menu item from the menu displayed. This will cause the Run External
Application Task Properties dialog to be displayed.

Figure 12-12. Run External Application Task Properties Dialog

To modify the properties of the Run External Application task, edit the values for the displayed fields as
required and click the OK button to apply the changes.
Table 12-12. Run External Application Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 799


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Description Description for new Task 0 - 125 Characters in length

External App. Path Path to the external application which is to be executed 1 to 125 characters in length

Block Until Completed Setting this to enabled will mean that this task will not Enabled or Disabled
complete until the external application that it executed has
completed. Setting it to disabled means that the task will
execute the external application and then immediately
complete.

Viewing/Modifying the properties of a Run TeraVM Script Task


1. In the Job tab select the Run TeraVM Script Task whose properties you wish to view.

2. Right click on the selected Run TeraVM Script Task.

3. Select the "Properties..." menu item from the menu displayed. This will cause the Run TeraVM Script
Task Properties dialog to be displayed.

Figure 12-13. Run TeraVM Script Task Properties Dialog

To modify the properties of the Run TeraVM Script task, edit the values for the displayed fields as required
and click the OK button to apply the changes.
Table 12-13. Run TeraVM script task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 800


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Description Description for new Task 0 - 125 Characters in length

TeraVM Script Hardcoded Path to the TeraVM script which is to be 1 to 125 characters in length
executed

Block Until Completed Setting this to enabled will mean that this task will not Enabled or Disabled
complete until the TeraVM script that it executed has
completed. Setting it to disabled means that the task
will execute the TeraVM script and then immediately
complete.

Viewing/Modifying the properties of an Analyse Test Group Results Task


1. In the Job tab select the Analyse Test Group Results Task whose properties you wish to view.

2. Right click on the selected Analyse Test Group Results Task.

3. Select the "Properties..." menu item from the menu displayed. This will cause the Analyse Test
Group Results Task Properties dialog to be displayed.

© Copyright 2018 TeraVM Java Client User Guide Page 801


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Figure 12-14. Analyse Test Group Results Task Properties Dialog

To modify the properties of the Analyse Test Group Results task, edit the values for the displayed fields as
required and click the OK button to apply the changes.
Table 12-14. Analyse Test Group Results Task Dialog Fields

Field Description Validation

Name Name of the new Task 3 - 32 Characters in length

Description Description for new Task 0 - 125 Characters in length

© Copyright 2018 TeraVM Java Client User Guide Page 802


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Field Description Validation

Test Group Name of the Test Group from which the results are to be N/A
analysed.

Analysis Tool The tool to be used to analyse the collected statistics. Default is the VIAVI "Default" tool. "Packet
Loss" is also available.

Input Data Type The type of data to be analysed. Defaults to Test Group Results. No other
option is available.

Input Data The data to be analysed. Always the data from the previously
executed test group in the Job.

Sampling Interval The sampling interval of the collected data. Default is Five Minutes. Select from Five
Minutes, One Minute, Thirty Seconds,
Twenty Seconds, Ten Seconds, Five
Seconds, One Second.

Output Path Directory where output from the results analysis is to be N/A
placed.

Option Group Select from the drop down menu which application type N/A
and/or interface results are to be analysed. for example
to include HTTP application results, select HTTP and set
the Include Option to true. Repeat this process for each
application type and interface required. General Options
allow the output format to be chosen, currently only .pdf is
supported.

Saving the Results for a Job


To save the results of a job:

1. In the Job tab select the job for which you wish to save the results.

2. Right click on the selected Job.

3. Select "Save Historical Summary Results" to bring up the Historical Summary Results List Dialog.

4. Select the date from which you wish to save the results and press Save.

5. This saves the results in a .zip file.

© Copyright 2018 TeraVM Java Client User Guide Page 803


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Figure 12-15. Historical Summary List Dialog

Enabling-Disabling a Task
To enable/disable a Task:

1. In the Job tab select the task which you wish to enable/disable.

2. Right click on the selected Task.

3. If the Task is already enabled, then select the "Disable" menu item to disable the task, otherwise select
the "Enable" menu item to enable the task.

© Copyright 2018 TeraVM Java Client User Guide Page 804


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

Deleting a Task

Note
A task cannot be deleted if it is part of an active job.

To delete a Task:

1. In the Job tab select the task which you wish to delete.

2. Right click on the selected Task.

3. Select the "Delete" menu item to delete the selected Task.

Deleting a Job

Note
A job cannot be deleted if it is active.

To delete a Job:

1. In the Job tab select the Job which you wish to delete.

2. Right click on the selected Job.

3. Select the "Delete" menu item to delete the selected Job.

4. In the confirmation warning that is, displayed, click the Yes button to proceed with the deletion, or click
the No button to cancel the deletion.

Note
Deleting a Job will delete all tasks contained within.

Exporting a Task
1. In the Job tab select the Task which you wish to export.

2. Right click on the selected item.

3. Select the "Export" menu item from the menu displayed.

4. Select either the "Export to XML.." or the "Export to XML as..." menu item from the sub menu
displayed.

If you selected the "Export to XML as..." menu item then enter the export name for the task in the
dialog provided and click the OK button to proceed.

© Copyright 2018 TeraVM Java Client User Guide Page 805


Aeroflex Limited. All
rights reserved.
Chapter 12. Jobs

5. In the Save dialog, browse to the location where you wish the exported file to be created and enter a
name for the file into which the task will be exported.

Importing a Task
1. In the Job tab select a Job under which you wish to import a particular Task.
2. Right click on the selected item.
3. Select the "Import from XML..." menu item from the menu displayed.
4. In the Open dialog, browse for the file represented the exported Task..
5. Click the OK button to proceed with the Import.
Any errors that occur during the import will be displayed in a console tab at the bottom of the TeraVM client.

Copying a Task
1. In the Job tab select a task that you wish to copy.
2. Right-click and select Copy.
3. Select the Job into which you want to copy the task.
4. Right click on the Job and select Paste. If the task already exists an appropriate error message will be
displayed.

Exporting a Job
1. In the Job tab select the Job which you wish to export.
2. Right click on the selected item.
3. Select the "Export" menu item from the menu displayed.
4. Select either the "Export to XML.." or the "Export to XML as..." menu item from the sub menu
displayed.
If you selected the "Export to XML as..." menu item then enter the export name for the job in the dialog
provided and click the OK button to proceed.
5. In the Save dialog, browse to the location where you wish the exported file to be created and enter a
name for the file into which the job will be exported.

Importing a Job
1. In the Job tab select a Folder under which you wish to import a particular Job.
2. Right click on the selected item.
3. Select the "Import from XML..." menu item from the menu displayed.
4. In the Open dialog, browse for the file represented the exported Job..
5. Click the OK button to proceed with the Import.
Any errors that occur during the import will be displayed in a console tab at the bottom of the TeraVM client.

© Copyright 2018 TeraVM Java Client User Guide Page 806


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

Chapter 13. Analysing Results


This topic provides a description of the analysis functionality of TeraVM. The analysis functionality is used
to analyse the results of either a single test or a test group and produces a summary analysis and a well
defined set of graphs, histograms etc for each flow type.

Overview
TeraVM collects and stores a variety of test statistics. These are stored in a database and available for
viewing, saving and analysing. The purpose of analysing the test results is to provide you with an immediate
view of the impact of the test on network and application server performance during the test; for example
TCP retransmits, HTTP Server response times and so on.

The Analyse Results dialog enables you to analyse the results for the following TeraVM items:

• IP Applications

• Test Groups

© Copyright 2018 TeraVM Java Client User Guide Page 807


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

Figure 13-1. Analyse Results Dialog

To analyse the results for a Test Group:


1. Select the appropriate test group in the Configuration Display.
2. Right click and select the Analyse menu option or click on the Analyse icon.
3. Use the Input Data field to select the results to be analysed for example when analysing a test group
the default is the current results from the currently executing test group. Alternatively it is possible to
select some previously saved results.
4. Use the Output Path field to indicate where the analysis results will be stored.
5. Fill in appropriate values for each field available in each of the Option Groups.
6. Select the required service type tabs.
7. To change a value for a particular option, right click on the Value field and select from the available
options or enter a specific value.

© Copyright 2018 TeraVM Java Client User Guide Page 808


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

8. Each service type also has a threshold field. It's use is dependent on the service type. For example, for
HTTP, it is the threshold for HTTP Server response times to client GET requests.

9. Repeat this for each service type.

10. Click on the <Run> button to perform the analysis.

The following table describes the fields in the Analyse Results Dialog:
Table 13-1. Analyse Results Dialog Fields

Field Description Validation

Analysis Tool The tool used to perform the analysis. This can be Select from the drop-down. Default is
extended by modifying the XML contained in analysis.xml Default .
on the client install directory.

Input Data Type Source of the results to be analysed. Can be either Fine Results for an IP
application or detailed results for a Test
Group.

Input Data The statistics to be analysed. Defaults to current test group or


application.

Output Path The location where the analysis results will be stored. Defaults to a results directory in the client
install directory.

Configuration Options

HTTP Configuration

Include Indicates whether or not the HTTP entry results, if any, True or False
within the results are to be included in the analysis.

Threshold The allowable threshold for HTTP Server response times. Todo

SMTP Configuration

Include Indicates whether or not the SMTP entry results, if any, True or False
within the results are to be included in the analysis.

Threshold Todo Todo

POP3 Configuration

Include Indicates whether or not the POP3 entry results, if any, True or False
within the results are to be included in the analysis.

P2P Configuration

Include Indicates whether or not the P2P entry results, if any, True or False
within the results are to be included in the analysis.

Threshold Todo Todo

Multicast Configuration

Include Indicates whether or not the Multicast entry results, if any, True or False
within the results are to be included in the analysis.

Threshold Todo Todo

Latency Configuration

Include Indicates whether or not the Latency entry results, if any, True or False
within the results are to be included in the analysis.

Threshold Todo Todo

© Copyright 2018 TeraVM Java Client User Guide Page 809


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

Field Description Validation

Interfaces Configuration

Include Indicates whether or not the Interface results, if any, within True or False
the results are to be included in the analysis.

General Options
Configuration

Graphic Output Specifies a destination for the output from the analysis. PDF

Start Time Time in the results data from which analysis will begin. Must be in the form yyyy-MM-dd hh:mm:ss

Interval Count Number of time intervals in the results data, after the start Between 0 and 3600
time, which will be included in the analysis.

Verbosity Controls output to the console of messages intended for Default is 1.


the User. A higher setting enables more messages.

Trace Level Controls output to the console of messages intended Default is 1.


for the programmer (for debugging purposes). A higher
setting enables more messages.

Viewer Enables jpeg or png files to be viewed by a browser. Options are:


• Browser
Uses category information to create
a multi-level directory tree for the
output files. (See Note below) The
system default browser is launched
automatically on the top level "output"
directory.
• Other
Launches the command configured
in configuration item Other Browser
Command instead of the system
default browser.
• None
Viewer is not automatically launched.
Output file naming convention as
below in Note.

Other Browser Command The command used to launch a third party browser. For example, C:/Program Files/Mozilla
Firefox/firefox.exe

Configuration Controls how much test configuration info is output in the Options are:
analysis report.
• Full
Full configuration output.
• Abbreviated
A reduced configuration is output,
based on sample pages for similar
test entities. Please refer to Functional
Spec 22 Analysis Enhancements
Configuration section for more
information on how this works .
• None

© Copyright 2018 TeraVM Java Client User Guide Page 810


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

Field Description Validation


No configuration output.

Other Browser Command The command used to launch a third party browser. True or False. Default is True

Plotting Configuration

Horizontal Pixels Affects png/jpeg output only and specifies the width of Must be a valid integer.
graph images in pixels analysis.

Vertical Pixels Affects png/jpeg output only and specifies the height of Must be a valid integer.
graph images in pixels.

RemoveMissingSamples If True, unplottable values (NA, Nan, Inf, etc) are removed True or False. Default is False.
before a graph is plotted. This results in a continuous plot
without gaps. If False, there are gaps in the plot where
unplottable values occur.

FileName Configuration

Output Prefix This is prefixed to the base name of the input zipfile and Default is Default.
the result is appended as the last component of "Output
Path" to form the name of the output directory. "Default" is
interpreted as "" (no prefix).

CompanyInformation
Configuration

Name The Company Name. Appears on the PDF title page, and Default is VIAVI
in the header of HTML text pages.

URL The Company URL. Appears as a link on the PDF title Default is www.viavisolutions.com.
page.

LogoImageFile The filename of a png image which appears on the PDF Default is VIAVI logo image file
title page and in the PDF running header. The image is
scaled automatically to fit.

LogoImageFileHtml The filename of a png image which appears in the header Default is VIAVI Logo Image Html file
of HTML text pages. Must be a suitable size as the image
is not scaled for display.

Note
A single "output" directory tree is available to facilitate browsing. The output directory contains both
reports and graphical output. The category tags are used to create a multi-level subdirectory tree in
the output directory for jpeg and png output files as follows: output/<ApplicationType>/<AppName>/
<NumericSortKey>_<GraphTitle>.<Suffix> ( <Suffix> is "jpg" or "png"). Additional categories may
appear immediately after AppName. Each category tag corresponds to a subdirectory level except
NumericSortKey and GraphTitle, which are used to construct the non-directory component of the jpeg/
png file name. This output format is handled naturally by a web browser, and should be suitable for
other possible viewer applications.

The following illustration shows the General Configuration Options of the Analysis Tool.

© Copyright 2018 TeraVM Java Client User Guide Page 811


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

Figure 13-2. Analysis Tool - General Options

IP Applications
When an analysis is run for an IP Application, one or more graphs are generated, highlighting key statistics
for a single client within a Test Group. An output log for the analysis is shown in a console in the client.

As part of the process, the test results used in the analysis are stored in the .csv file, whose location is
indicated in the log messages. If the output option of type Window is selected the graphs are displayed in
the Analysis Results window. Each graph is selected by clicking on the appropriate Tab. Depending on the
application selected, different graphs are displayed. For example, for a HTTP client, up to eight graphs are
created.

In general three types of graphs are created for an IP Application:

• A Summary graph which summarizes key statistics for the selected client

• A time view of various statistics (for example TCP Connections per second over time). A time view will
display one, two or three variables over time. Each line in the graph will be in a different colour.

• A Histogram, showing the degree of variation of the stated statistic. If the specified threshold is violated,
the graph is displayed in red, otherwise green.

For example, for HTTP Clients, the graphs generated are:

• Summary

• Server Response Rate Histogram

© Copyright 2018 TeraVM Java Client User Guide Page 812


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

• Server Response Rate


• Server Response Times Histogram
• Server Response Types
• TCP Connections
• TCP Failed Connections
• Threshold Violation
Graphs are also saved as PDF file format by selecting the PDF option in the Output to configuration option.
Resulting PDF files are stored in the same directory as the resulting .CSV files.

Note
For the analysis to produce meaningful graphs, it is recommended that Normal Statistics and
Response Codes are enabled.

The following information is also displayed in the Analysis output:


1. Date.
2. TeraVM Release and Build.
3. IP Address of the TeraVM Server.
4. Name (of user, different from the login name).
5. Test Name.
6. Test Description
This information is displayed as follows:
• For JPEG output - in a cover sheet JPEG preceding other JPEGs.
• For PDF output - in a cover sheet at the beginning of the document.
• In each CSV output file so it appears at the beginning when the file is viewed with Excel.

Test Group
When an analysis is run for a Test Group, all statistics for a test group are saved and key test group
statistics are generated. The major difference between application and Test Group analysis is that, in the
latter, the details of each individual client statistic is collected and aggregated to provide an overall view of
performance of all clients. Each type of client (HTTP, Streaming, and so on.) is represented in an individual
group of plots.
An Analysis output log is generated in the console window. As part of the process, the test results used in
the analysis are stored in the .zip file, whose name and location is indicated in the log messages. Hence,
the information can be re-graphed, while the results file is available.
In general four types of graphs are created for a Test Group:

© Copyright 2018 TeraVM Java Client User Guide Page 813


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

• A Summary graph which summarizes key statistics for the client.

• A Time view of various statistics (for example TCP Connections per second over time). A time view will
graph one, two or three variables over time. Each statistic in the graph will be in a different colour.

• A Histogram, showing the degree of variation of a given test response statistic. If the specified threshold
is violated, the graph is displayed in red, otherwise green.

• A Three Dimensional graph of key statistics all clients performance over time.

For HTTP Clients, the graphs generated are:

• Summary

• Client Statistics

• Server Bit Rate

• Server Response Rate Histogram

• Server Response Rate

• Server Response Times Histogram

• Server Response Types

• TCP Connections

• TCP Failed Connections

• Threshold Violation

• Three-D Client Response Rate

• Three-D Client Response Rate180

• Three-D Client Response Rate270

• Three-D Client Response Times

• Three-D Client Response Times180

• Three-D Client Response Times270

Graphs are also saved as the PDF file format by selecting the PDF option in the "Output to" configuration
option. Resulting PDF files are stored in the same directory as the resulting .CSV files.

Note
It is possible the Analyse tool will run out of memory if the TeraVM Controller has limited memory. If
this occurs, reduce the number of clients in the test group and re-run analysis. It is also recommended
that Normal Statistics and Response Codes are enabled for all clients in the test group.

The following information is also displayed in the Test Group Analysis output:

1. Date.

© Copyright 2018 TeraVM Java Client User Guide Page 814


Aeroflex Limited. All
rights reserved.
Chapter 13. Analysing Results

2. TeraVM Release and Build.


3. IP Address of the TeraVM Server.
4. Name (of user, different from the login name).
5. Test Group name.
6. Test Group Description
This information is displayed as follows:
• For JPEG output - in a cover sheet JPEG preceding other JPEGs.
• For PDF output - in a cover sheet at the beginning of the document.
• In each CSV output file so it appears at the beginning when the file is viewed with Excel.

© Copyright 2018 TeraVM Java Client User Guide Page 815


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Chapter 14. Fanfare Integration


This topic provides a description of the integration of TeraVM with Fanfare iTest. It describes the plugin, it's
graphical interface and the series of commands available to help automated testing within the Fanfare iTest
environment.

Overview
iTest is an integrated test authoring and execution solution from Fanfare which provides an SDK to enable
3rd parties develop plugins for iTest allowing it to access and control their products.

The objective of this topic is to describe the VIAVI TeraVM plugin and not to describe the characteristics or
capabilities of iTest.

An iTest plugin is available with this release of TeraVM. It is exposed in iTest through the addition of a new
VIAVI TeraVM Session type. The plugin can be installed from the TeraVM box as follows:

• follow the normal procedure for installing a plugin

• the update site is on the TeraVM box: TeraVM_IP_ADDR/TeraVM_iTest_updates

• once this is configured, continue with the plugin installation as per normal

Note
A licence is required to install the iTest plugin

The screenshot below shows a sample session profile with the new VIAVI TeraVM option selected.

© Copyright 2018 TeraVM Java Client User Guide Page 816


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Figure 14-1. TeraVM iTest Session Dialog

The following table describes the fields in the dialog:


Table 14-1. iTest Session Dialog Details

Field Description Validation

Session type A list of sessions available to iTest. Select TeraVM from the drop-down.

Session Name The name of the session for this set of configuration Should be a unique, meaningful name.
settings. This session name can be used in other areas of
iTest for example inheritance of session profiles.

Host The IP Address of the TeraVM chassis. Appropriate IPv4 address.

User Name The username by which you will access (login to) the No default.
TeraVM chassis. Only tests groups created by the
specified username will be available for use within the
VIAVI TeraVM session.

Partition The partition number to be accessed on the TeraVM Default is 1. Can be 1, 2 or 3.


chassis. A TeraVM chassis can have up to 3 partitions.

© Copyright 2018 TeraVM Java Client User Guide Page 817


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Field Description Validation

Config File The location of the TeraVM Java Client property file. Default is blank.
This provides access to the file into which useful debug
information will be logged.

Include Out of Service The statistics properties control the generation of statistics Default is not ticked.
Applications via the show command within iTest. It is possible to
configure the application types for which statistics will
be displayed and also the actual statistics that will be
available for each instance of an application type. If this
checkbox is ticked, any Out of Service applications in the
test group will be included in the list of applications for
which statistics will be available.

Number of Samples to The number of statistical samples that will be shown from Default is 40.
Show each application within the test group.

Include Applications There is a checkbox for each type of application available Ticked or unticked, default is unticked.
within TeraVM. Ticking the checkbox ensures statistics
from applications of this type will be shown, if available, in
the statistical output.

Application Types A list of each type of application with the ability to indicate Identify the statistics of interest for each
the stats from these applications that will be available application type.
when the test group statistics are shown.

Session Statistics Properties


An important set of properties of the TeraVM Session are the Statistics properties. These properties control
the statistics displayed by any of the "show" commands. There are two aspects to controlling statistics:

• Selecting Applications: TeraVM supports many different application types. These are listed and you
must select the types of applications for which statistics will be shown

• Selecting Statistics: for each application type it is necessary to select the individual statistics that will be
shown. Each application type has a default set of statistics which can be changed by you.

Using the TeraVM iTest GUI


The graphical interface for the plugin, as with all iTest plugins, is really only a layer on top of a command
interface for the tool. The graphical interface provides you with a subset of information about the tests that
this user has configured on the TeraVM box. It also supports a certain level of interaction with these tests.
The following is a screenshot of the graphical interface:

© Copyright 2018 TeraVM Java Client User Guide Page 818


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Figure 14-2. TeraVM iTest GUI

The TeraVM iTest GUI consists of the following areas:


• Test Groups: this shows a tree control listing all available test groups for the user in the partition. It
provides access to buttons to start, stop a test group and to save/show statistics for a test group.
• Applications: this is initally empty until a test group is selected and the load button pressed. When the
load button is pressed it loads all applications associated with the test group and makes them available
for use by you.
• Response: the response window shows the responses for each command executed. Any existing
information in the window is removed and the response of the last command is shown. All commands
have a response of the type Success: true|false.
The specific functionality available in the GUI is:
• Load the details of a specific test group for example the list of applications associated with a test group.
Only when this information is loaded can you interact with specific applications.
• Run a test group. you must click on a test group and press the play button to run the selected test
group. When a test group is run it's applications will change color depending on the state of the

© Copyright 2018 TeraVM Java Client User Guide Page 819


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

application. Typically green means everything is OK, red means there has been a problem starting
the application and white means the application is stopped (or was not started). When a test group is
running it is possible to access the statistics associated with the test group or a specific application
within the test group.

• Stop a test group. A running test group can be stopped. This terminates all the applications so no more
traffic is sent/received on/from the network.

• Save Normal/Fine Statistics: Save statistics of a test group/application - the statistics will be saved to a
specified location on the client machine.

• Show Normal/Fine Statistics: Show the statistics of a test group/application - the statistics (as controlled
by the session properties) will be shown in the response window of the GUI.

• Enable/Disable All Applications: Set the Admin State of all applications in a test group. If an application
has an Admin State of Disabled it will not be included in the list of applications run when the test group
is next run that is, only Enabled applications are run when a test group is run.

• Enable/Disable Application - Set Admin State of a specific application. This is only available if the test
group is not running.

• Set All Applications In/Out of Service: Set the Service State of all applications in a test group. If an
application has a Service State of Out of Service, it will not send/receive traffic when the test group is
run that is, it is opperationally down. Setting it In Service will allow all the applications to send/receive
traffic.

• Set In/Out of Service - Set the Service State of a specific application. This is only available if the test
group is not running.

• Import a test group. A TeraVM test group can be specified via XML. If a test group is specified in this
way it is possible to import it into the system and have it available for use.

iTest Commands
The real power of the plugin is via the commands available to you. It is these commands that will be used to
meet the automation and integration needs of iTest.

The following are the commands available within the VIAVI iTest plugin:
Table 14-2. TeraVM iTest Commands

Command Description parameters

importTestGroup Imports a test group defined within a destinationFolderId: folder into which the
specified file to a specified folder test group will be imported; sourceFile: the
file containing the XML too be imported

addTestGroupFolder Add a new folder at a specified location parentFolderId: the folder in which the
with a specified name test group will be created for example //
NewFolder; newName: the name
of the new test group for example
MyNewTestGroup

startTestGroup Starts the specified test group testGroupId: the name of the test
group to start for example //NewFolder/
MyNewTestGroup

© Copyright 2018 TeraVM Java Client User Guide Page 820


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Command Description parameters

stopTestGroup The name of the test group to stop. testGroupId: the name of the test group to
stop

setServiceStateOfApp Sets the service state of a specified applicationId: the application identity for
application to a specified value example //TGName/IP/AppName; state:
the state to which the application will be set
- either In Service or Out of Service

setServiceStateOfApps Sets the service state of one or more appIds: a list of one or more applications
applications to a specified value for example appIds={//TGName/IP/
AppName;//TGName/IP/App}; state: the
state to which the applications will be set -
either In Service or Out of Service

setServiceStateOfAppsMatchingNamePattern
Sets the service state of one or more testGroupId: the name of the test group;
applications, as identified by the pattern, to appNamePattern: the pattern used to
a specified value identify applications within the test group
eg. appNamePattern=Subscriber% will
match all applications starting with the
pattern Subscriber. The % character
matches everything while the _ matches
any single character; state: the state to
which the applications will be set - either In
Service or Out of Service

setServiceStateOfTestGroupApps Sets the service state of all applications testGroupId: the name of the test group;
within a specified test group to a specified state: the state to which the applications
value will be set - either In Service or Out of
Service

setAdminStateOfApp Sets the admin state of a specified applicationId: the application identity for
application to a specified value example //TGName/IP/AppName; state:
the state to which the application will be set
- either Enabled or Disabled

setAdminStateOfApps Sets the admin state of one or more appIds: a list of one or more applications
applications to a specified value for example appIds={//TGName/IP/
AppName;//TGName/IP/App}; state: the
state to which the applications will be set -
either Enabled or Disabled

setAdminStateOfAppsMatchingNamePattern
Sets the admin state of one or more testGroupId: the name of the test group;
applications, as identified by the pattern, to appNamePattern: the pattern used to
a specified value identify applications within the test group
eg. appNamePattern=Subscriber% will
match all applications starting with the
pattern Subscriber. The % character
matches everything while the _ matches
any single character; state: the state to
which the applications will be set - either
Enabled or Disabled

setAdminStateOfTestGroupApps Sets the admin state of all applications testGroupId: the name of the test group;
within a specified test group to a specified state: the state to which the applications
value will be set - either Enabled or Disabled

saveTestGroupStatistics Saves the test group statistics from a testGroupId: the name of the test group;
specified test group to a specified file targetFile: the name of the file where
the stats will be saved for example
targetFile=C:/Results.zip

© Copyright 2018 TeraVM Java Client User Guide Page 821


Aeroflex Limited. All
rights reserved.
Chapter 14. Fanfare Integration

Command Description parameters

saveAppStatistics Saves the statistics for a specified appId: the name of the application;
application statisticsType: the type of stats to save -
either Normal or Fine; targetFile: the name
of the file where the stats will be saved for
example targetFile=C:/Results.zip

showTestGroupStatistics Shows an ordered view of the test group


statistics from a specified test group;
testGroupId: the name of the test group

showAppStatistics Shows an ordered view of the statistics appId: the name of the application;
from a specified application statisticsType: the type of stats to save -
either Normal or Fine

showStatisticsOfAppsMatchingNamePattern
Sows the statistics of one or more testGroupId: the name of the test group;
applications, as identified by the pattern appNamePattern: the pattern used to
identify applications within the test group
eg. appNamePattern=Subscriber% will
match all applications starting with the
pattern Subscriber. The % character
matches everything while the _ matches
any single character

deleteTestGroup Deletes the specified test group;


testGroupId: the name of the test group

deleteTestGroupFolder Deletes the specified folder;


testGroupFolderId: the name of the folder
for example //Folder1

The responses to all commands will be either true or false.

© Copyright 2018 TeraVM Java Client User Guide Page 822


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Chapter 15. vSwitch Objective Based Testing


This topic provides a description of the Objective Based Testing Modules which are used to provision and
troubleshoot the testing of the multi-vendor vSwitches .

Application Overview
The TeraVM Objective Based Testing UI provides a series of functions which can be accessed by clicking
the icons at the top of the UI.

Figure 15-1. Objective Based Test GUI

The functions, from left to right are as follows:

• Create Objective Based Test: Green plus icon. Click to open the Create Objective Based Test dialog
to create a new objective based test.

• Save Objective Based Test: Floppy disk icon. Click to save the objective based test you created.

• Delete Objective Based Test: Bin icon. Click to delete the objective based test you created.

© Copyright 2018 TeraVM Java Client User Guide Page 823


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

• View Objective Based Test Statistics: Line Graph icon. Click to reveal options: View Rate Statistics
and View Total Statistics.

• Import Objective Based Test from XML: Arrow pointing into page. Click to import test group
configuration from XML file.

• Export Objective Based Test to XML: Arrow pointing out of page. Click to export test group
configuration to XML file.

• Browse Test Groups: Ellipsis button. Click to browse to configured test groups.

• Switch to full TeraVM UI: Orange revert arrows with user icon. Click to switch to the full TeraVM UI.

To view test types, click the Create Objective Based Test icon on the top-left of the Objective Based Test
GUI:

© Copyright 2018 TeraVM Java Client User Guide Page 824


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-2. TeraVM Create Objective Based Test Dialog

The vSwitch test types are as follows:

• vSwitch Mesh Connectivity Test

• vSwitch Multicast Test

• vSwitch Throughput Test

© Copyright 2018 TeraVM Java Client User Guide Page 825


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

The following table describes the fields in the Create Objective Based Test dialog:
Table 15-1. TeraVM Create Objective Based Dialog Details

Field Description Validation

Test Name A unique, meaningful name that can be used to identify Mandatory. String value between 1 and
the test. 255 characters in length.

Folder File path for a TeraVM folder containing test groups. Click '...' to add folders or Test Groups
through the Select Item dialog. In the
Select Item dialog right-click folder icon to
view additional options. See Chapter 6:
Folders and Chapter 7: Test Groups for
more details.

Objective Based Test The list of TeraVM Objective Based Tests Select one of the Objective Based vSwitch
test types and click Create to open the
configuration page for that test.

vSwitch Objective Based Tests configuration tabs

Each of the vSwitch Objective Based Tests configuration dialog windows contains three tabs:

• Test Properties: This tab is used to configure the number of port groups and whether it is manually
set or from an imported file. You also configure the ICMP settings such the packet rate and size here
and finally, the network settings, including the port group subnet allocation, the subnet address and the
subnet address increment.

• Live Test Results: This tab provides a summary of the status of the test as it is occuring. In conjunction
with the 'Historical Event Log' it can be used to identify potential problem areas in test interfaces, vNICs,
Port Groups or Switch Modules. It is also possible to export the test results from this tab.

• Historical Event Log: For tests that run for a large amount of time, the Historical Event Log tab
provides a log of interesting events that occurred while the test is executing.

© Copyright 2018 TeraVM Java Client User Guide Page 826


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-3. vSwitch Mesh Connectivity Tests

The vSwitch Mesh Connectivity objective based test is used to test the connectivity between the various
interfaces assigned to any particular Port Group. The TeraVM Ping application is used for this purpose.
The following table describes the fields in the Test Properties tab of the objective based test vSwitch Mesh
Connectivity:
Table 15-2. vSwitch Mesh Connectivity Test Properties Tab Details

Field Description Validation

Configuration Mode - Port Allows you to choose between configuring the port groups Two options in combo box drop-down:
Groups manually, or via an imported file. Manual and Imported from a File. If
Manual, Gear cog icon is visible. Clicking
it reveals the Port Group Settings dialog.
Enter Enum values for VLAN Tag (0 <=
value <= 4095), VLAN Tag increment (0
<= value <= 4095), QoS (0 <= value <=
255 - default 1), QoS increment (0 <= value
<= 255 - default 1), and MTU size (value
range between 576 to 9216 for IPv4 and
between 1280 to 9216 for IPv6 - Default:
1500). If Imported from a File is selected,
an Import browse button appears beside

© Copyright 2018 TeraVM Java Client User Guide Page 827


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Field Description Validation


the Configuration Mode field. Default:
Manual.

Number of Port Groups The number of port groups that you need for the test. Type: Integer Applicability: Mandatory
if Configuration Mode = 'Manual'. Value
range accepted between 1 and 256.
Default: 1.

ICMP Setting - Packet Number of PING packets per second to be sent Integer. Mandatory. Value range from 0 to
Rate 100. Default: 10

ICMP Settings - Packet Size of a PING packet in bytes Integer. Optional. Click Gear icon to open
Size Advanced dialog window.

Port Groups Subnet Indicates whether a separate subnet will be used per port Mandatory. Choose between 'Shared
Allocation group, or all port groups will share the same subnet. Subnet' or 'Subnet per Port Group' Default:
Subnet per Group.

Subnet Address IP address of the first subnet to be used in the test IP Address. Mandatory. Default:
10.1.0.0/16

Subnet Address Increment size for iterating the subnets. Integer. Mandatory. Value range between 0
Increment and 1000000. Default: 1

© Copyright 2018 TeraVM Java Client User Guide Page 828


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-4. vSwitch Multicast Test Properties Tab

The vSwitch Multicast objective based test is used to test Multicast traffic flows correctly between clients
and servers operating over the various interfaces assigned to any particular Port Group. The TeraVM IGMP
(IPv4) and MLD(IPv6) applications are used for this purpose.

The following table describes the fields in the Test Properties tab of the objective based test vSwitch Mesh
Connectivity:
Table 15-3. vSwitch Multicast Test Properties Tab Details

Field Description Validation

Configuration Mode - Port Allows you to choose between configuring the port groups Two options in combo box drop-down:
Groups manually, or via an imported file. Manual and Imported from a File. If
Manual, Gear cog icon is visible. Clicking
it reveals the Port Group Settings dialog.
Enter Enum values for VLAN Tag (0 <=
value <= 4095), VLAN Tag increment (0

© Copyright 2018 TeraVM Java Client User Guide Page 829


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Field Description Validation


<= value <= 4095), QoS (0 <= value <=
255 - default 1), QoS increment (0 <= value
<= 255 - default 1), and MTU size (value
range between 576 to 9216 for IPv4 and
between 1280 to 9216 for IPv6 - Default:
1500). If Imported from a File is selected,
an Import browse button appears beside
the Configuration Mode field. Default:
Manual. Details button provides additional
info on the Port Groups.

Number of Port Groups The number of port groups that you need for the test. Type: Integer Applicability: Mandatory
if Configuration Mode = 'Manual'. Value
range accepted between 1 and 256.
Default: 1.

Client to Server Indicates how to distribute clients and servers amongst Enum. Mandatory. Options available in
Distribution test interfaces within a single port group. Also defines drop-down combo box: 'One to One' or
how clients are joining multicast groups: 'One to One' or 'Many to One - Single Group for clients' or
'Many to One - Single Group for clients' or Many to One - 'Many to One - separate Group per client'
separate Group per client. Default: One to One.

Multicast Traffic Type Option to select either IGMP or MLD multicast traffic types Enum. Drop-down combo box options:
IGMP or MLD. Mandatory. Default: IGMP.

IGMP/MLD Version IGMP or MLD protocol version to be used. Enum Applicability: Mandatory. If IP
addressing used is IPv4 (Multicast Traffic
Type = IGMP) drop-down options are:
IGMPv1 or IGMPv2 or IMGPv3. Default:
IGMPv2. If IP addressing used is IPv6
(Multicast Traffic Type = MLD) drop-down
options are: MLDv1 or MLDv2. Default:
MLDv1.

Multicast Group Address IP address of the first subnet to be used in the test IP Address. Mandatory. Default:
10.1.0.0/16

Multicast Group Address Increment size for iterating the subnets. Integer. Mandatory. Value range between 0
Increment and 1000000. Default: 1

Port Groups Subnet This property indicates whether a separate subnet will be Enum. Mandatory. Provides two options in
Allocation used per port group, or all port groups will share the same combo-box drop-down: 'Shared Subnet' or
subnet. 'Subnet per Port Group'. Default: Subnet
per Port Group

Subnet Address IP address of the first subnet to be used in the test IPAddress. Mandatory. Default: 10.1.0.0/16
for IGMP and fda6:22a1:da4e:0001::/64 for
MLD

Subnet Address Increment Increment size for iterating the subnets. Integer. Mandatory. Value range 0 to
1000000. Default: 1.

© Copyright 2018 TeraVM Java Client User Guide Page 830


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-5. Advanced Multicast Settings:

The Advanced Multicast Settings dialog, which appears once click the Gear icon in the Mutisettings section
of the vSwitch Multicast Test has two tabs: Join/Leave which allows you to set the Join/Leave policy for the
clients and Data Rate provides you with control over the server's data rate. The following table describes the
fields in the Join/Leave tab:
Table 15-4. Advanced Multicast Settings: Join/Leave Tab Details

Field Description Validation

Join/Leave Policy Client's policy to join and leave multicast groups. Enum. Mandatory. Drop-down combo box
options: 'Join and Stay' or 'Join and Leave'
or 'Join and Leave Af-ter Duration'. Default:
Join and Stay.

Duration of Join Indicates for how long client should join a multicast group. Integer. Optional Metric Options:
'Millisecond' or 'Second' or 'Minute' or
'Hour'. If drop-down combo box metric
is Millisecond (ms) then value range is
between 1 and 86400000. If metric is
Second then its between 1 and 86400.
If metric is Hour then between 1 and 24.
Default: 980 Enabled only if Join/Leave
Policy is equal to 'Join and Leave After
Duration'.

Delay before Rejoin Delay after which client will rejoin the multicast group. Integer. Optional. Metric Options:
'Millisecond' or 'Second' or 'Minute' or
'Hour'. If drop-down combo box metric
is Millisecond (ms) then value range is
between 1 and 86400000. If metric is
Second then its between 1 and 86400.
If metric is Hour then between 1 and 24.
Default: 20. Enabled only if Join/Leave
Policy is different than 'Join and Stay'.

© Copyright 2018 TeraVM Java Client User Guide Page 831


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-6. Advanced Multicast Settings: Data Rate Tab

The following table describes the fields in the Data Rate tab:
Table 15-5. Advanced Multicast Settings: Data Rate Tab Details

Field Description Validation

Data Rate Data rate of multicast server Integer. Mandator. If selected metric is Pkt/
s then the allowed range is between 0 and
200000. If metric is Mbits/s then allowed
range is between 1 and 100. If metric is
Kbits/s then allowed range is between 1
and 100000. Default: 1

© Copyright 2018 TeraVM Java Client User Guide Page 832


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-7. vSwitch Throughput Test Properties Tab

The vSwitch Throughput objective based test is used to inject a specified throughput of traffic into the
vSwitch over the various interfaces assigned to any particular Port Group and to verify that the traffic flows
as expected. The TeraFlow and HTTP applications will be utilised for this purpose.

The user will have the control over the Traffic Type generated by the test and can choose between
TeraFlow UDP, TeraFlow TCP and HTTP traffic types. The user will also have the ability to indicate a target
Throughput for one of the following:

• All Test Interfaces across all Port Groups

• Each individual Test Interface, regardless of which Port Group it belongs to.

The following table describes the fields in the vSwitch Throughput Test:

© Copyright 2018 TeraVM Java Client User Guide Page 833


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Table 15-6. vSwitch Throughput Test Properties Tab Details

Field Description Validation

Configuration Mode - Port Allows you to choose between configuring the port groups Two options in combo box drop-down:
Groups manually, or via an imported file. Manual and Imported from a File. If
Manual, Gear cog icon is visible. Clicking
it reveals the Port Group Settings dialog.
Enter Enum values for VLAN Tag (0 <=
value <= 4095), VLAN Tag increment (0
<= value <= 4095), QoS (0 <= value <=
255 - default 1), QoS increment (0 <= value
<= 255 - default 1), and MTU size (value
range between 576 to 9216 for IPv4 and
between 1280 to 9216 for IPv6 - Default:
1500). If Imported from a File is selected,
an Import browse button appears beside
the Configuration Mode field. Default:
Manual.

Number of Port Groups The number of port groups that you need for the test. Type: Integer Applicability: Mandatory
if Configuration Mode = 'Manual'. Value
range accepted between 1 and 256.
Default: 1.

Client to Server Indicates how to distribute clients and servers amongst Enum. Mandatory. Drop-down combo box
Cardinality test interfaces within a single port group. options: 'One to One' or 'Many to One'.
Default: One to One

Traffic Type Type of traffic to be generated by the test entities. Enum. Mandatory. Drop-down combo box
options: 'TeraFlow UDP' or 'TeraFlow TCP'
or 'HTTP'. Default: TeraFlow TCP.

Throughput Objective Indicates for which target the throughput rate is defined. Enum. Mandatory. Drop-down combo
box options: 'Throughput Per Test' or
'Throughput Per Port'. Default: 'Throughput
Per Port'.

Target Throughput Target Throughput to be generated by the test entities. Integer. Mandatory. Value must be greater
than 0. Default: 1. Metric options:'kbit/s' or
'Mbit/s'.

Subnet Address IP address of the first subnet to be used in the test IP Address. Mandatory. Default:
10.1.0.0/16

Subnet Address Increment Increment size for iterating the subnets. Integer. Mandatory. Value range between 0
and 1000000. Default: 1

© Copyright 2018 TeraVM Java Client User Guide Page 834


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-8. vSwitch Live Test Results Tab

The OBT vSwitch Live Test Results tab is designed as a snapshot to reflect the current state of the test.
It helps you identify the vNICs, Switch Modules and Port Groups where problems could be occurring .
The statistical content of the Live Test Results tab is based on normal statistical data, and is refreshed
in 30 second intervals. In the tab the user can display the data in either a flat list view or in a hierarchical
tree view. The tree view allows the user to organise the Live Results tab by associated Test Module, by
associated Switch Module and by associated Port Group. The user can also hide/show columns and sort by
column. To export the data, click the Export button to the right of the Live Test Results tab.

The following colour code highlights the test interfaces where there is:

• No Connectivity (red colour): shown when no packets are received via port ("In Packets/s" = 0).

• Intermittent Connectivity (amber colour): shown when there is connectivity on the port, but some
packets are dropped. Dropped packets stats is not provided by all applications.

• No Loss (green colour): shown when there is full connectivity via port, and no packets are dropped.

• Not Active in Test (grey colour): shown when Test Interface's Test Module was not reachable at the
time of test starting, or when no test entity is configured on the Test Interfaces.

The following table describes the table fields in the Live Test Results tab:

© Copyright 2018 TeraVM Java Client User Guide Page 835


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Table 15-7. vSwitch Live Test Results Tab Details

Field Description

ID Unique Identifier for the TeraVM Test Interface.

MAC Address MAC Address for the TeraVM Test Interface.

Test Module ID Identifier for the parent test module.

Application Role Indicates the role that the Application utilising the Test Interface places. Allowed values
include: Cli-ent, Server or N/A.

Associated Hypervisor vNIC Identifier of the associated Hypervisor (if available).

Associated Switch Module Identifier of the associated Switch Module (if available).

Associated Port Group Identifier of the associated Port Group (if available).

Associated Port Group VLAN Identifier of the associated Port Group VLAN (if available).

In Service Indicates whether or not the interface is active in the test.

In Packet Rate Packet Rate for inbound packets to the interface.

Out Packet Rate Packet Rate for outbound packets from the interface.

Outbound Throughput Aggregate Throughput of all application traffic outbound from the interface.

Inbound Throughput Aggregate Throughput of all application traffic in-bound to the interface.

% Packet Loss Percentage Packet Loss for the interface. Only applicable for TeraFlow and Ping and
Multicast Client Applications.

Latency Packet Latency for the interface. Only applicable for TeraFlow UDP Applications. "Mean
One Way Latency CR ms" stats are used.

Jitter Jitter for the interface. Only applicable for Tera-Flow Applications. "One Way Jitter CR"
stat are used.

Retransmission Count Total Retransmission Count for the interface. Only applicable for TCP Applications (that
is, TeraFlow and HTTP apps).

Download Time Download Time for the interface. Only applicable for HTTP Client Applications ("Mean
Get Time ms" are used).

© Copyright 2018 TeraVM Java Client User Guide Page 836


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

Figure 15-9. vSwitch Historical Event Log Tab

The OBT vSwitch Historical Log tab provides a log of interesting events that occurred while the test is
executing. This tab, in conjunction with the 'Live Test Results' view helps the user identify any potential
problem areas.

The Historical Event Log logs the following event types:

• Intermittent Connectivity

• No Connectivity

• High CPU Load

• Throughput Fall Off (available only for the vSwitch Throughput Test)

The user can enable all, a mix of, or none of, the above event types. Users can specify tolerance levels for
High CPU Load and Throughout Fall Off events. An event, when logged, will identify the target test interface/
vNIC/Port Group and Switch Module. High CPU Load events identify the target card.

It will be possible to filter Test Interface events view by:

• Date/Time

• Event (name of event)

• Event Type (violation or clear event)

• Test Interface

• vNIC

© Copyright 2018 TeraVM Java Client User Guide Page 837


Aeroflex Limited. All
rights reserved.
Chapter 15. vSwitch Objective Based Testing

• Switch Module
• Port Group
The Card events view can also be filtered by:
• Date/Time
• Event Type)
• Card
The same show/hide, sorting and filtering functionality as for the Live Test Results tab is also available in
the Live Test Results tab. In addition the user can enable/disable the type of events that can be logged by
clicking on the gear button located above each table.

© Copyright 2018 TeraVM Java Client User Guide Page 838


Aeroflex Limited. All
rights reserved.
Appendix A. Set Wireshark environment variables for
Windows

Appendix A. Set Wireshark environment variables for


Windows
To open Wireshark from the TeraVM Java Cli;ent in Windows, you must set up Wireshark environment
variables for Windows as follows:

1. Find and copy the complete path location where Wireshark is installed.

For example:

C:\Program Files\Wireshark

2. Go the Control panel -> System -> Advanced System Settings

Select Environment Variables.

© Copyright 2018 TeraVM Java Client User Guide Page 839


Aeroflex Limited. All
rights reserved.
Appendix A. Set Wireshark environment variables for
Windows

3. Select the “Path” option under the “System Variables” and select Edit.

4. Go to the end of the line in the Variable Value field and add a semicolon to separate the previous entry
and paste the complete path for Wireshark that you copied earlier.

© Copyright 2018 TeraVM Java Client User Guide Page 840


Aeroflex Limited. All
rights reserved.
Appendix A. Set Wireshark environment variables for
Windows

For example:
“; C:\Program Files\Wireshark”

5. Restart the TeraVM Java client.

© Copyright 2018 TeraVM Java Client User Guide Page 841


Aeroflex Limited. All
rights reserved.
Appendix B. Cipher Suites

Appendix B. Cipher Suites


A cipher suite is a set of cryptographic algorithms used for authentication and data encryption over a
network. In TeraVM the cryptographic protocol Transport Layer Security (TLS) is supported using OpenSSL
and can be configured in the Global Settings, or for an HTTP Application, by a configuration item, see
Chapter 8, Section 8.2.2 or AnyConnect VPN Chapter 8, Section 8.2.28.1.

When using Cipher Suites the server must be configured in such a way that it supports the cipher suite
offered by the client. If the TeraVM HTTP server is used, all encryption and authentication algorithms are
supported.

B.1. Selecting a Cipher Suite


Use the following procedure to select a cipher suite or a list of cipher suites using the Global Settings.

Prerequisite

• You must use the OpenSSL name of the cipher suite or cipher suite list in the Global Settings.
Examples on how to use the OpenSSL for cipher suite lists follow; for more information on using
OpenSSL names, see the OpenSSL.org website.

• Example: Include only AES256 ciphers and then place RSA ciphers last:

openssl ciphers -v 'AES256:+RSA'

• Example: Include all RC4 ciphers but leave out those without authentication

openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'

1. Login into your TeraVM Controller and select Utilities > Global Settings.

2. From the drop-down box select where you want to set your Global Settings and click Configure.

3. From the Categories drop-down box, select Cryptographic Settings.

4. Enter the details of the cipher suite or cipher suite list you want to use in the Cipher Suites [See
"OpenSSL Ciphers" for options and format]. See this procedures prerequisites and the Supported
Cipher Suits table Section B.2 for more information.

5. Enter the details for CA certificates. All certificates generated by TeraVM use RSA.

© Copyright 2018 TeraVM Java Client User Guide Page 842


Aeroflex Limited. All
rights reserved.
B.2. Supported Cipher Suits

Figure B-1. Global Settings - Cryptographic Settings

B.2. Supported Cipher Suits


The cipher suites currently supported by TeraVM are based on OpenSSL v1.1.0g. As an example, the
following table shows the cipher suites supported by different TLS versions, where the listed version, is the
first version that supports it. SSLv3 being the oldest, then: TLS1.0, TLS1.1, TLS1.2.

• If you are adding a Cipher Suit to an HTTP Application, see Chapter 8, Section 8.2.2.

• If you are adding a Cipher Suite to any other Application other than HTTP, using the Global Settings
method in this Appendix.

Note: the following algorithms are not currently functional in TeraVM: ADH, SRP, PSK, DSS.
Table B-1. Supported Cipher Suits

Name(OpenSSL) SSL/TLS Version

ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2

ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2

DHE-RSA-AES256-GCM-SHA384 TLSv1.2

ECDHE-ECDSA-CHACHA20-POLY1305 TLSv1.2

ECDHE-RSA-CHACHA20-POLY1305 TLSv1.2

DHE-RSA-CHACHA20-POLY1305 TLSv1.2

ECDHE-ECDSA-AES256-CCM8 TLSv1.2

ECDHE-ECDSA-AES256-CCM TLSv1.2

DHE-RSA-AES256-CCM8 TLSv1.2

© Copyright 2018 TeraVM Java Client User Guide Page 843


Aeroflex Limited. All
rights reserved.
B.2. Supported Cipher Suits

Name(OpenSSL) SSL/TLS Version

DHE-RSA-AES256-CCM TLSv1.2

ADH-AES256-GCM-SHA384 TLSv1.2

ECDHE-ECDSA-AES128-GCM TLSv1.2

ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2

DHE-RSA-AES128-GCM-SHA256 TLSv1.2 TLSv1.2

ECDHE-ECDSA-AES128-CCM8 TLS1.2

DHE-RSA-AES128-GCM-SHA256 TLSv1.2

ECDHE-ECDSA-AES128-CCM8 TLSv1.2

ECDHE-ECDSA-AES128-CCM TLSv1.2

ECDHE-ECDSA-AES256-SHA384 TLSv1.2

ECDHE-RSA-AES256-SHA384 TLv1.2

DHE-RSA-AES128-CCM TLSv1.2

DHE-RSA-AES128-SHA256 TLSv1.2

ECDHE-ECDSA-CAMELLIA128-SHA256 TLSv1.2

ADH-AES128-GCM-SHA256 TLSv1.2

ADH-CAMELLIA256-SHA256 TLSv1.2

ECDHE-ECDSA-AES256-SHA TLSv1.2

ECDHE-ECDSA-AES128-SHA256 TLSv1.2

ECDHE-RSA-AES128-SHA256 TLSv1.2

DHE-RSA-AES256-SHA256 TLSv1.2

ECDHE-ECDSA-CAMELLIA256-SHA384 TLSv1.2

ECDHE-RSA-CAMELLIA256-SHA384 TLSv1.2

DHE-RSA-CAMELLIA256-SHA256 TLSv1.2

ADH-AES256-SHA256 TLSv1.2

ADH-CAMELLIA256 TLSv1.2

DHE-RSA-AES128-SHA256 TLSv1.2

ECDHE-ECDSA-CAMELLIA128 TLSv1.2

ECDHE-RSA-CAMELLIA128-SHA256 TLSv1.2

DHE-RSA-CAMELLIA128-SHA256 TLSv1.2

ADH-AES128-SHA256 TLSv1.2

ADH-CAMELLIA128-SHA256 TLSv1.2

ECDHE-ECDSA-AES256-SHA TLSv1.0

ECDHE-RSA-AES256-SHA TLSv1.0

DHE-RSA-AES256-SHA SSLv3

DHE-RSA-CAMELLIA256-SHA SSLv3

AECDH-AES256-SHA TLSv1.0

© Copyright 2018 TeraVM Java Client User Guide Page 844


Aeroflex Limited. All
rights reserved.
B.2. Supported Cipher Suits

Name(OpenSSL) SSL/TLS Version

ADH-AES256-SHA SSLv3

ADH-CAMELLIA256-SHA SSLv3

ECDHE-ECDSA-AES128-SHA TLSv1.0

ECDHE-RSA-AES128-SHA TLSv1.0

DHE-RSA-AES128-SHA SSLv3

DHE-RSA-SEED-SHA SSLv3

DHE-RSA-CAMELLIA128-SHA SSLv3

AECDH-AES128-SHA TLSv1.0

ADH-AES128-SHA SSLv3

ADH-SEED-SHA SSLv3

ADH-CAMELLIA128-SHA SSLv3

ECDHE-ECDSA-RC4-SHA TLSv1.0

ECDHE-RSA-RC4-SHA TLSv1.0

AECDH-RC4-SHA TLSv1.0

ADH-RC4-MD5 SSLv3

ECDHE-ECDSA-DES-CBC3-SHA TLSv1 TLSv1.0

ECDHE-RSA-DES-CBC3-SHA TLSv1.0

DHE-RSA-DES-CBC3-SHA SSLv3

AECDH-DES-CBC3-SHA TLSv1.0

ADH-DES-CBC3-SHA SSLv3

AES256-GCM-SHA384 TSLv1.0

AES256-CCM8 TLSv1.2

AES256-CCM TLSv1.2

AES128-GCM-SHA256 TLSv1.2

AES128-CCM8 TLSv1.2

AES128-CCM TLSv1.2

AES256-SHA256 TLSv1.2

CAMELLIA256-SHA256 TLSv1.2

AES128-SHA256 TLSv1.2

CAMELLIA128-SHA256 TLSv1.2

SRP-RSA-AES-256-CBC-SHA SSLv3

SRP-AES-256-CBC-SHA SSLv3

AES256-SHA SSLv3

CAMELLIA256-SHA SSLv3

SRP-RSA-AES-128-CBC-SHA SSLv3

SRP-AES-128-CBC-SHA SSLv3

© Copyright 2018 TeraVM Java Client User Guide Page 845


Aeroflex Limited. All
rights reserved.
B.2. Supported Cipher Suits

Name(OpenSSL) SSL/TLS Version

AES128-SHA SSLv3

SEED-SHA SSLv3

CAMELLIA128-SHA SSLv3

RC4-SHA SSLv3

RC4-MD5 SSLv3

SRP-RSA-3DES-EDE-CBC-SHA SSLv3

SRP-3DES-EDE-CBC-SHA SSLv3

DES-CBC3-SHA SSLv3

ECDHE-ECDSA-NULL-SHA TLSv1.0

ECDHE-RSA-NULL-SHA TLSv1.0

AECDH-NULL-SHA TLSv1.0

NULL-SHA256 TLSv1.2

NULL-SHA SSLv3

NULL-MD5 SSLv3

© Copyright 2018 TeraVM Java Client User Guide Page 846


Aeroflex Limited. All
rights reserved.
For further information please contact:
VIAVI Solutions:
www.viavisolutions.com/wirelessvalidation

© Copyright 2018 TeraVM Java Client User Guide Page i


Aeroflex Limited. All
rights reserved.

Potrebbero piacerti anche