Professional Documents
Culture Documents
Communication Admin User Guide Helix 11.0
Communication Admin User Guide Helix 11.0
11.0
Confidentiality, Copyright Notice & Disclaimer
Due to a policy of continuous product development and refinement, TEOCO Corporation or a
TEOCO affiliate company (“TEOCO”) reserves the right to alter the specifications,
representation, descriptions and all other matters outlined in this publication without prior
notice. No part of this document, taken as a whole or separately, shall be deemed to be part
of any contract for a product or commitment of any kind. Furthermore, this document is
provided “As Is” and without any warranty.
This document is the property of TEOCO, which owns the sole and full rights including
copyright. TEOCO retains the sole property rights to all information contained in this
document, and without the written consent of TEOCO given by contract or otherwise in
writing, the document must not be copied, reprinted or reproduced in any manner or form, nor
transmitted in any form or by any means: electronic, mechanical, magnetic or otherwise,
either wholly or in part.
The information herein is designated highly confidential and is subject to all restrictions in any
law regarding such matters and the relevant confidentiality and non-disclosure clauses or
agreements issued with TEOCO prior to or after the disclosure. All the information in this
document is to be safeguarded and all steps must be taken to prevent it from being disclosed
to any person or entity other than the direct entity that received it directly from TEOCO.
TEOCO and Helix are trademarks of TEOCO.
All other company, brand or product names are trademarks or service marks of their
respective holders.
This is a legal notice and may not be removed or altered in any way.
COPYRIGHT © 2020 TEOCO Corporation or a TEOCO affiliate company.
All rights reserved.
Your feedback is important to us: The TEOCO Documentation team takes many measures
in order to ensure that our work is of the highest quality.
If you found errors or feel that information is missing, please send your Documentation-
related feedback to Documentation@teoco.com
Thank you,
The TEOCO Documentation team
Table of Contents
Table of Contents
Introduction..................................................................................................................... 1
What is Communication Admin? ................................................................................................ 1
Main Concepts ........................................................................................................................... 2
The Communication Admin Processes ...................................................................................... 2
Communication Admin Terminology and Abbreviations ............................................................ 3
The Workspace ............................................................................................................... 5
Main Window .............................................................................................................................. 5
Main Toolbar .............................................................................................................................. 5
Generic Driver Tree .................................................................................................................... 6
Network View ............................................................................................................................. 7
Access View ............................................................................................................................... 9
Protocol Access .......................................................................................................................12
Starting the Communication Admin Application ........................................................ 13
Filtering the Display ..................................................................................................... 18
Creating a New Access Point ...................................................................................... 19
New Access Point Wizard ........................................................................................................19
Administrative Tasks .................................................................................................... 28
Defining the Configuration .......................................................................................................28
Handling Protocols ...................................................................................................................29
Viewing Protocols ................................................................................................................29
Handling Generic Driver Instances ..........................................................................................31
About Generic Driver Instances ..........................................................................................31
Inserting a Generic Driver Instance ....................................................................................32
Generic Driver Instance Details Parameters.......................................................................33
Generic Driver Instance Advanced Parameters..................................................................34
Updating a Generic Driver Instance ....................................................................................35
Deleting a Generic Driver Instance .....................................................................................35
Changing the Load Balancing Parameters ..............................................................................36
Handling NE Types ..................................................................................................................39
Viewing NE Types ...............................................................................................................39
Creating an NE Type ...........................................................................................................41
Updating an NE Type ..........................................................................................................42
Deleting an NE Type ...........................................................................................................42
Handling Access Types............................................................................................................43
Viewing Access Types ........................................................................................................43
Creating an Access Type ....................................................................................................44
Updating the Access Type Definition ..................................................................................45
Deleting an Access Type ....................................................................................................45
Handling Service Indexes ........................................................................................................46
Viewing Service Indexes .....................................................................................................46
Creating a Service Index .....................................................................................................48
Updating a Service Index ....................................................................................................49
Deleting a Service Index .....................................................................................................49
Handling Connectivity Templates ............................................................................................50
Viewing Connectivity Templates .........................................................................................50
Creating a Connectivity Template .......................................................................................52
Deleting a Connectivity Template .......................................................................................53
Handling Connectivity Template Associations .........................................................................53
Viewing Connectivity Template Associations ......................................................................53
Creating a Connectivity Template Association ...................................................................55
Updating a Connectivity Template Association...................................................................56
iii
Communication Admin User Guide
Deleting a Connectivity Template Association ....................................................................56
Handling Command Sets .........................................................................................................57
Viewing Command Sets ......................................................................................................57
Creating Command Sets .....................................................................................................58
Updating Command Sets ....................................................................................................59
Deleting a Command Set ....................................................................................................60
Handling Connectivity Scripts ..................................................................................................60
Viewing Connectivity Scripts ...............................................................................................60
Creating Connectivity Scripts ..............................................................................................62
Editing Connectivity Scripts.................................................................................................64
Diagnostic Tools ........................................................................................................... 66
Tracer .......................................................................................................................................66
Overview .............................................................................................................................66
The Tracer Main Window ....................................................................................................66
The Tracer Toolbar .............................................................................................................67
The Tracer Menus ...............................................................................................................67
Accessing the Tracer ..........................................................................................................69
Using the Tracer ..................................................................................................................72
Reconnecting to the Server.................................................................................................73
Setting the Subscription Parameters ..................................................................................73
About Filtering String Conditions ........................................................................................75
Import/Export ............................................................................................................................76
Importing the Configuration .................................................................................................76
Exporting the Configuration.................................................................................................79
GD Status .................................................................................................................................80
Template Failure Indication ......................................................................................................81
Doctor .......................................................................................................................................84
Scorpio Scripting Engine ............................................................................................. 86
Introduction ..............................................................................................................................86
Overview .............................................................................................................................86
The Scripting Concept .........................................................................................................86
Internal Receive Buffer........................................................................................................87
Defining Scripts ...................................................................................................................87
Script Syntax .......................................................................................................................89
Communication Admin Oriented Functions .............................................................................90
Available Functions .............................................................................................................90
Send/Receive Functions .....................................................................................................91
General Functions ...............................................................................................................93
Internal Buffer Functions .....................................................................................................97
Data Types ...............................................................................................................................98
About Data Types ...............................................................................................................98
Construction ........................................................................................................................98
Cast .....................................................................................................................................99
Arithmetics...........................................................................................................................99
Boolean Operators ..............................................................................................................99
Member Functions ............................................................................................................100
Sample Scripts .......................................................................................................................101
About Sample Scripts ........................................................................................................101
Very Basic Telnet Connection ...........................................................................................101
Standard Telnet Connection .............................................................................................102
GenericTelnet Connect .....................................................................................................102
Telnet Disconnect .............................................................................................................103
Show a Buffer Line by Line ...............................................................................................103
Wait for Special Data ........................................................................................................104
5ESS Connect Script ........................................................................................................104
LUCENT OC3 Connect Script ...........................................................................................105
iv
Table of Contents
DMS100 Connect Script ....................................................................................................105
Nortel DMS500 Connect Script .........................................................................................108
TL1 Connect Script ...........................................................................................................108
TL1 Disconnect Script .......................................................................................................109
v
Introduction
Introduction
1
Communication Admin User Guide
Communication Admin communicates with the Mediation layer in the following ways:
Commands are sent from NCI to The Communication Admin Processes and The
Communication Admin Processes sends replies to NCI.
DvXpert receives notification data and/or NCI command replies from Generic Driver.
Note: Communication Admin is AKA Generic Driver (GD). This guide can also be referenced
from other documents as the Generic Driver User Guide.
Main Concepts
The Communication Admin functionality is based on a number of main concepts:
Protocol Abstraction
A single managing layer supports topology of all known NEs.
A single configuration model supports all known topologies.
Specific software elements support unique protocol characteristics (plug-ins).
2
Introduction
Creating access points—Communication Admin enables the creation of access
points for NEs. An access point helps define the type of data being gathered from an
NE. By default there are seven access type categories:
o Command
o Performance
o Configuration
o Traps
o Position
o Alarms
o Notification
Note: Additional user defined categories can also be created. Later, groups can be
constructed containing all access points of matching type.
Activity
Notification from the network, or sending command to the network.
Channel
Data type in a specific connection.
Command set
List of names of commands per NE.
Command Script
Physical code defined per access point.
Connection
Physical bond between Helix and the NE
Connection Templates
Enables you to automatically define access points for any new NE created. There are two
stages in the creation of connection templates:
Definition of template (XML file)
Attach template to an NE type (association)
FQDN
Fully Qualified Domain Name.
3
Communication Admin User Guide
GD
Generic Driver.
Generic Driver
A generic sub-layer that handles general management activities that are relevant to all the
Communication Admin protocol types, such as “login” and “keep-alive”.
NE
Network Element.
Protocol
Method of interaction with NEs (for example, TL1, SNMP, and Telnet).
Service Index
Connects NE types to Protocol types (in context of Access type).
4
The Workspace
The Workspace
Main Window
The Communication Admin’s main window contains three tabs. Two tabs, Network View
and Access View, are for viewing information. The third tab, Administration, is for
administrative tasks.
Main Toolbar
The main toolbar includes function buttons that offer you most of the operations required for
the configuration definition process.
Each function button icon displays its picture and name. When the function button is
available, it appears with its original colors. When the function button is not available, it
appears as a gray shadow of the picture.
Button Description
5
Communication Admin User Guide
Button Description
Field Chooser Enables you to add/remove fields from the existing list
6
The Workspace
Access Type
Connectivity Scripts
Connectivity Templates Association
Connectivity Templates
Generic Driver Instance
NE Type
Protocol
Service Index
Set of Commands
Network View
The Network View window provides a display of all the Network Elements within the network
and their access points.
You can run the main Network Elements activities from the Network Elements table by
right-clicking the required Network Element row and selecting a menu option, as follows:
Menu Description
Option
New Opens the New Access for Network element wizard for defining a new
Network access point for the selected Network Element.
Element
Access
7
Communication Admin User Guide
Menu Description
Option
Opens the Tracer for monitoring the online raw data received from the
Trace
selected Network Element.
this NE
Update Opens the Update Network Element in BC window for updating the Network
Network Element's details in the Base Configuration module.
Element
8
The Workspace
Menu Description
Option
Note: You can enable/disable the displayed access point by selecting/clearing the Access
Enabled box.
Access View
The Access View window provides a display of all the network access points and their
parameters. The top of the window displays all the access points.
9
Communication Admin User Guide
The bottom half of the screen displays the selected access point's parameters.
You can run the main access point activities from the access points table by right-clicking the
required access point row and selecting a menu option, as follows:
Menu Description
Option
New Opens the New Access wizard for defining a new access point.
Network
Element
Access
Copy Opens the New Access wizard with the details of the selected access
Access point point for defining a new access point.
Displays the Access Connection Test window and runs a connection test
Connection on the selected access point.
Test
10
The Workspace
Menu Description
Option
Opens the Tracer for monitoring the online raw data received from the
Trace this
selected access point.
access point
Displays the runtime details of the selected access point in a new Access
Access
Runtime Details window.
Runtime
details
Note: In the Access Runtime Details window, you can right-click to copy
the displayed text.
11
Communication Admin User Guide
Note: You can also enable/disable the selected access point by selecting/clearing the Access
Enabled box.
Protocol Access
The Communication Admin client employs specific windows for displaying each protocol
access. This enables you to focus on the parameters that are specific to this protocol and
avoid the other ones. Full details are available in the Communication Admin Plug-ins
Reference Guide.
12
Starting the Communication Admin Application
1. In Helix Launcher, click on the top left to display the favorite application
icons.
2. To display all the available application icons, click More at the bottom of the favorite
applications area.
13
Communication Admin User Guide
The other (not favorite) applications are displayed under the favorite applications
area.
14
Starting the Communication Admin Application
4. Click .
15
Communication Admin User Guide
16
Starting the Communication Admin Application
The Loading window appears.
A shortcut appears on the desktop, the Start program menu is updated with the
installed application, and the application opens.
Important: In Windows 8, when installing Communication Admin, the application will not run
the first time because of a Windows administration permissions problem. To handle it,
right-click the application shortcut icon created on the desktop, select Properties, and click
Run this program as an administrator from the displayed Properties tab.
17
Communication Admin User Guide
2. (Optional) Enter a partial string of the required Network Element Name and/or IP
Address.
3. (Optional) Select the required Network Element Type.
4. (Optional) Select the required Zone name (not filtered by Network Element Type).
5. (Optional) Select the required Site (not filtered by Network Element Type).
6. (Optional) Select the required Protocol (filtered by Network Element Type).
7. (Optional) Select the required Plugin-name (filtered by Protocol).
Note: If you do not select any field, all network elements are displayed.
8. Click OK.
The Network Elements Criteria window disappears and only data that matches all the
conditions is displayed.
18
Creating a New Access Point
19
Communication Admin User Guide
Or
In the Access View tab, right-click in the Access list and select New Network
Element Access.
Or
To create an access point for an unspecified NE, from the Action menu, select New
Network Element Access or click Ctrl-N.
20
Creating a New Access Point
The Creating a new access point wizard window appears, with the Network
Element tab on top.
If a specific NE was selected, its code appears in the NE field. If no specific NE was
selected, the field appears empty. You can create the access point now and create the
NE at a later stage.
2. If it is a multi-zone environment, select the Zone name of this access point.
3. To select an existing NE, click Select, select an NE in the Select NE window that
appears, and click OK.
21
Communication Admin User Guide
4. If you want to create an NE at this stage:
a. Click New NE.
The Add new Network Element to BC window appears.
Note: You can also create new NEs, using the BC Admin client. For more details,
refer to the BC Admin User Guide.
22
Creating a New Access Point
6. If templates are attached, you can select the upper radio button and select the
Template from the list.
Alternatively, you can select the Protocol and Protocol Mode for the Access Point.
23
Communication Admin User Guide
Field Description
Assigned The Generic Driver instance set to manage this access point (filtered by
GD the selected zone)
24
Creating a New Access Point
25
Communication Admin User Guide
Notes:
The access point must be created before a validation test. Alternatively, if an existing
access point is changed, it must be updated prior to test.
The Connection Test window can also be opened by right-clicking the required
access and selecting Connection Test from the menu.
26
Creating a New Access Point
27
Communication Admin User Guide
Administrative Tasks
Note: Only system administrators and authorized experts have the permission to define
Communication Admin configuration using this process.
Each step in the Communication Admin configuration definition process is usually a process
in itself. Links are provided to the topics that describe each of these steps.
28
Administrative Tasks
Handling Protocols
Viewing Protocols
The read-only Protocol window shows the existing protocols and their details. You cannot
define a new protocol nor update its details. All protocol information is defined during
installation.
Note: For more information, see the user guide for each individual plug-in.
29
Communication Admin User Guide
3. To view the plug-ins assigned to a protocol, expand its entry.
5. Expand the Protocol root entity and click a specific protocol in the Generic Driver
hierarchical tree.
Basic protocol information is shown on the right:
o Name
o Description
o Support Multi NE (whether you can connect an access using this protocol to
more than one NE).
30
Administrative Tasks
31
Communication Admin User Guide
Note: MGD_SNMP_COMMAND is a special Generic Driver instance used for load balancing
and is handled differently than all the other Generic Driver instance.
3. Type a representative name for the new Generic Driver Instance in the GD Name
field.
Note: On a non-center zone (running in a Kubernetes cluster), only the primary host
is displayed. During activation, Kubernetes determines on which specific host the
service will actually run.
32
Administrative Tasks
7. Set the Debug Logging parameters according to the Generic Driver Instance Details
Parameters table.
8. Set the required automatic configuration refresh time in the Refresh configuration
every ... Minutes field.
9. Click the Advanced tab and define the required advanced Generic Driver parameter
values.
10. Click OK to save the selections.
Zone Name If it is a multi-zone environment, the zone to which this Generic Driver
instance belongs. If it is a single-zone environment, Center.
Run on host The host (in the selected zone) on which this Generic Driver instance
runs.
GD log to screen The threshold severity level, required for displaying Generic Driver
service debug messages to the window.
GD log to file Determines the minimum severity required, for recording Generic
Driver service messages in the debug file:
0—Verbose
1—Message
2—Warning
3—Error
4—Critical
Plugins log to The threshold severity level, required for displaying plug-in debug
screen messages to the window.
Plugins log to file Determines the minimum severity required, for recording plug-in
messages in the debug file:
0—Verbose
1—Message
2—Warning
3—Error
4—Critical
Max Old Files The maximum number of old debug files to be kept.
33
Communication Admin User Guide
AccessThreadSleepTime The access thread (that goes over all the accesses) sleep
time in milliseconds. Do not change the default value
(2000).
34
Administrative Tasks
Name Description
35
Communication Admin User Guide
Note: There is no RDR support for this Generic Driver instance. If RDR is needed, the access
should be manually assigned to the GD command and RDR should be activated there.
Note: The Distribution pane is not available because its parameters are not relevant
for the MGD_SNMP_COMMAND.
4. Click the Advanced tab and set the required Generic Driver Instance Advanced
parameters.
36
Administrative Tasks
5. Click the Load Balancing tab, which is unique for the MGD_SNMP_COMMAND
Generic Driver instance.
37
Communication Admin User Guide
7. To override the default number for a specific host:
a. Click .
The MGD Host Instances window appears.
b. Click . .
38
Administrative Tasks
Handling NE Types
Viewing NE Types
The NE Types window lists the currently available NE types and their details.
Note: All changes to NE types within Communication Admin affect the Base Configuration
data as well.
39
Communication Admin User Guide
2. Expand the NE Type root entity and click a specific NE Type in the Generic Driver
hierarchical tree.
The basic details of the selected NE Type are displayed in the right pane.
40
Administrative Tasks
Creating an NE Type
To create an NE Type:
1. In the Generic Driver hierarchical tree, right-click the NE Type root entity.
2. Select Create New.
A New Entity window appears.
Field Definition
4. Click OK.
Note: You can also create new NE types, using the BC Admin client. For more details, refer
to the BC Admin User Guide.
41
Communication Admin User Guide
Updating an NE Type
To update an NE Type:
1. If not expanded, double-click the NE Type root entity in the Generic Driver
hierarchical tree.
The NE Type root entity is expanded, to show all the available access types.
2. Click the required NE Type name.
The NE Type details are displayed in the right pane.
3. Update the required parameters as described in Creating a New NE Type.
4. Click .
Deleting an NE Type
To delete an NE Type:
1. Click the NE Type root entity in the Generic Driver hierarchical tree.
The NE Type root entity is expanded, to show all the available NE Types. On the
right, an identical list of the available NE Types appears.
2. Right-click the required NE Type in the Generic Driver hierarchical tree.
A shortcut menu appears.
3. Select the Delete option, and confirm the deletion.
42
Administrative Tasks
2. (Optional) To filter the view, click at the right of the required column.
43
Communication Admin User Guide
3. Expand the Access Types root entity and click a specific Access Type.
The basic details of the selected Access Type are displayed on the right pane.
44
Administrative Tasks
3. Type the Access Type Name and Description.
4. If required, select Show Service Indices with this Access Type in NCI Command
Tree.
5. Click OK.
45
Communication Admin User Guide
46
Administrative Tasks
47
Communication Admin User Guide
48
Administrative Tasks
Note: When you define a specific NE to a specific access, these defaults can be
overridden.
4. Click OK.
4. Click .
49
Communication Admin User Guide
50
Administrative Tasks
2. Expand the Connectivity Template root entity and click a specific Connectivity
Template.
The basic details of the selected Connectivity Template are displayed in the right
pane.
51
Communication Admin User Guide
Note: Connectivity templates can be defined to be read-only (This cannot be done from the
GUI. It can be done during the installation or directly in the Database).
6. Click .
The template is created, automatically assigned an ID number, and given a name
based on its Plug-In.
Note: The new template should appear in the Generic Driver hierarchical tree. If it does not
appear, click Reload.
52
Administrative Tasks
Note: Only user defined Connectivity Templates can be deleted. The Connectivity Templates
are delivered as part of the product, are read–only, and cannot be deleted.
53
Communication Admin User Guide
2. Expand the Connectivity Templates Association root entity and click a specific
Connectivity Templates Association.
The basic details of the selected Connectivity Template Association are displayed in
the right pane.
54
Administrative Tasks
3. In the Template name field, enter the template you want to associate with the NE.
4. In the NE Type field, enter the NE Type to which this template should be applied.
5. To apply the template when inserting new NEs, select Enable for inserts.
6. To apply the template when updating existing NEs, select Enable for updates.
7. In the Description field, enter a description of the association.
8. Click OK.
The association is created and is automatically assigned a name based on its
template.
Note: The new template should appear in the Generic Driver hierarchical tree. If it does not
appear, click Reload.
55
Communication Admin User Guide
56
Administrative Tasks
57
Communication Admin User Guide
The basic details of the selected Command Set are displayed on the right pane.
58
Administrative Tasks
To change the order of the commands, click the command line and use the Up
and Down Arrow buttons to move the command to the desired place.
59
Communication Admin User Guide
60
Administrative Tasks
The Script Text tab displays the script contents.
61
Communication Admin User Guide
Note: Connectivity Scripts can be defined to be read-only. This cannot be done from the GUI.
It can be done during the installation or directly in the database.
62
Administrative Tasks
2. Use the Script Text tab to define the script's contents. For more details, see the
Scorpio Implementation Guide.
63
Communication Admin User Guide
3. Use the Script Info tab to define the script's parameters as follows:
Note: Before updating, the system checks that the parameters are defined correctly.
64
Administrative Tasks
3. Use the Script Info tab to define the script parameters as follows:
o To add a new parameter, click and enter the parameter attributes as follows:
Name Description
Note: Before updating, the system checks that the parameters are defined correctly.
65
Communication Admin User Guide
Diagnostic Tools
Tracer
Overview
The Generic Driver Tracer application is a tool for probing and monitoring the online raw data
that the Generic Driver collects and receives from the network.
Using the Tracer, you can view spontaneous notifications coming from the network (such as
SNMP traps and ASCII data over telnet), outgoing traffic to the network (commands) and
incoming data replies. The data is displayed in raw data format.
The menu bar at the top of the window enables you to control and execute all the
Tracer's activities. It includes the Tracer's toolbar activities.
The toolbar under the menu bar provides you quick and easy access to the main
Tracer's activities.
The display area which covers most of the window is used to display the required
data.
The status bar at the bottom of the window displays the current filter used by the
Tracer and its connection status.
66
Diagnostic Tools
Option Description
67
Communication Admin User Guide
View menu
The View menu enables you to execute the following activities:
Option Description
Show data in Text format (Plain) Used to display the data as text without indication of
unprintable chars.
Show data in Text format Used to display the data as text with unprintable
(Unprintable char as Hex) characters displayed in their Hex format.
Show data source Used to display the data source before each message.
(Notification/Incoming/Outgoing)
Show Delivery Data (&CTAG) Used to display the Delivery Data structure (including the
NCI correlation tag) before each message.
Help menu
The Help menu enables you to execute the following activities:
Option Description
68
Diagnostic Tools
In this case, the Tracer main window appears with the selected NE used as the
subscription parameter.
69
Communication Admin User Guide
Right-clicking an access point of an NE selected from the NEs list of a certain
protocol under the Network View tab and selecting Trace this access point.
In this case, the Tracer main window appears with the selected access point used as
the subscription parameter.
70
Diagnostic Tools
Selecting Tracer from the Tools menu.
In this case, an empty Subscription Parameters window appears and you have to
set the subscription parameters to start monitoring.
71
Communication Admin User Guide
72
Diagnostic Tools
73
Communication Admin User Guide
1. Click .
The Subscription string window appears.
2. To use the Protocol Name/NE Type Name/Access Name list boxes, select the
names of the required entities.
3. To use the Access Type ID/NE Number boxes, type the identifying numbers of the
required entities.
4. (Optional) Enter a Filtering string condition.
5. (Optional) In the Free Text field, type the full subscription string you want.
6. To cancel the use of any selected parameter, double-click it and press the Delete
key.
7. Click OK.
The Tracer starts displaying the data according to your subscription parameters.
Note: The Subscription string is updated after every change you make to display your current
Subscription Parameters selection.
74
Diagnostic Tools
DistribTag All the plug-ins that This parameter is the NCI Distribution Tag. It is a
support NCI field in the delivery data, which can be set in NCI
commands (for before sending a command.
example, SNMP
It can be used to filter replies of specific commands.
Command,
FTCommand, Telnet, For example,
and SSH).
incoming " -Protocol SNMP -
FilteringString
(DistribTag='if_ifx')"
Verb TL1 Plug-in This parameter can be used to filter by the TL1's
verb.
For example,
incoming " -Protocol TL1 -
FilteringString (Verb='ENT')"
Mod1 TL1 Plug-in This parameter can be used to filter by the TL1's first
modifier.
For example,
incoming " -Protocol TL1 -
FilteringString (Mod1='ALM')"
75
Communication Admin User Guide
Mod2 TL1 Plug-in This parameter can be used to filter by the TL1's
second modifier.
For example,
incoming " -Protocol TL1 -
FilteringString
((Mod1='ALM')AND(Mod2='ALL'))"
Import/Export
76
Diagnostic Tools
3. Click Open.
The Import Configuration window appears. The left pane displays the element types
available for import.
4. To display the available elements under an element type, double-click the entry.
5. To cancel the display of the available elements under an element type, double-click
the entry again.
77
Communication Admin User Guide
8. To clear an element for import, click it in the right pane and then click .
The selected element is removed from the right pane.
9. To clear all the elements under a specific element type for import, click the element
Note: Alternatively, instead of using the and buttons you can drag the
required element/element type.
14. (Optional) Click Validate to trigger data validation display the results.
If the results are not OK, you can remove the problematic entity, or select Rename
the new entity.
15. Click Import to run the import process.
Selected entities are imported and the results are displayed in the Import Results
window. If the import fails, an error message is displayed instead.
16. Close the Import Configuration window.
78
Diagnostic Tools
2. To display the available elements under an element type double-click the entry.
3. To cancel the display of the elements available under an element type, double-click
the entry again.
6. To clear an element for export, click the entry in the right pane and click .
The selected element is removed from the right pane.
79
Communication Admin User Guide
7. To clear all the elements under a specific element type for export, click the element
Note: Alternatively, instead of using the and buttons you can drag the
required element/element type.
GD Status
The GD Status application enables you to monitor the of the Generic Driver accesses in
real-time. Using this tool, you can obtain statistics and parameter values of the Generic
Driver. You can also use it to launch the Generic Driver Tracer using a predefined filter.
80
Diagnostic Tools
NE Num The number of the NE for which the access generation attempt failed.
NE The identifier of the NE for which the access generation attempt failed.
Name
Template The name of the access generation template that was used.
Name
Date The date and time of the last attempt to use this template to create this
access.
81
Communication Admin User Guide
3. If the Error content exceeds the column width, move the cursor over the field to
display the entire text as a tooltip.
4. If the Error content exceeds the column width, and displaying the entire text as a
tooltip is not convenient, select the required row and click .
The Template Failure window appears.
You can click Details to display additional information about the selected row.
Note: You can also open the Template Failure window by double-clicking the
required row.
82
Diagnostic Tools
5. To run any operation again, select the required Template Failure row and click
.
The system tries to generate the access with the same template. The possible results
can be:
o Successful attempt—in this case, a Template Expand results window appears,
indicating the successful result. When you click OK, the Template Failure row is
removed.
6. To fix a failed attempt, you have to read the Error description of the problem, correct
it, and repeat steps 4-5 until the access generation attempt succeeds.
7. To delete a failure row without fixing it, select it, click , and approve the
deletion.
83
Communication Admin User Guide
Doctor
The Doctor application enables you to run various tests on the Generic Driver configuration.
The Doctor application runs several tests to ensure that the database configuration is valid.
Although Doctor focuses on typical configuration errors, it does not cover all the possible
configuration mismatches.
Note: The Generic Driver Doctor does not correct configuration problems. It merely provides
suggestions for solving the detected problems.
84
Diagnostic Tools
2. To see a test details, click its row.
The test details are displayed in the Test Description pane.
You can click Details to display additional information about the selected row.
85
Communication Admin User Guide
Introduction
Overview
The GDScript library supplies an advanced scripts connection mechanism to the Network
Elements (NEs). This eliminates the need to develop special drivers for NEs that have special
connection/disconnection requirements.
The library is used and maintained by Communication Admin.
The scripts are attached to the NE accesses in the Communication Admin.
For more details about the available functions, see the Communication Admin Implementation
Guide.
86
Scorpio Scripting Engine
Defining Scripts
To define a script:
1. Right-click the Connectivity Scripts root entity in the Generic Driver hierarchical tree
and select the Create New option.
An empty New Entity window for script definition appears.
87
Communication Admin User Guide
2. Type a representative unique name for the new script in the Script name field.
3. Define the script.
4. Click Apply.
Note: Before updating, the system checks that the parameters are defined correctly.
88
Scorpio Scripting Engine
Script Syntax
Variables Definition
The Variables definition employs a syntax almost identical to "C" with one difference, an
additional data type “Data” that can hold other data types.
Example:
int i; // an integer definition
Data userName; // a "Data" definition, type not
initiated yet
userName = "MyName"; // initiating the data type to
string
Data dataOfLine5 = 0; // a "Data" definition, type
initiated to int
89
Communication Admin User Guide
Available Functions
The scripting engine includes the following Communication Admin oriented functions:
Send/Receive functions
Send() with Parameters
Send() Without Parameters
SendNoLog()
Recv()
RecvUntil() with Timeout
RecvUntil() Without Timeout
SendBanner()
SendTelnetBreak()
RecvUntilAny()
SendFormated()
SendByChar()
SendByCharFormated()
General functions
DBSelect()
GetEnv()
Log()
SetDefaultTimeout()
SetLogLevel()
ServiceExecute()
Running one Scorpio Script from Another
90
Scorpio Scripting Engine
Send/Receive Functions
SendNoLog()
void SendNoLog(Data str);
Sends data to a network element.
No return value.
Same as Send() but without writing the data to the log. Useful when sending a password.
Example:
SendNoLog(accessParams.Password + "\r\n");
Recv()
Data Recv(int timeout);
Receives data from a network element.
Returns the number of bytes received.
Example:
Data recvBuf = Recv(2000); /*2 seconds*/
91
Communication Admin User Guide
SendBanner()
void SendBanner(Data str);
Sends data to the client (Telnet client) that started this command.
No return value.
Example:
SendBanner("\nYou have just connected to sun-comm as " +
scriptParams.Login + "\n");
SendTelnetBreak()
void SendTelnetBreak();
Sends the break signal (0xFF + 0xF3) to the network element.
No return value.
Example:
SendTelnetBreak();
RecvUntilAny()
Data RecvUntilAny(Data str, int timeout, int pluginOption,
char singlechar);
Data RecvUntilAny(Data str, int timeout, int pluginOption);
Data RecvUntilAny(Data str, int timeout);
Data RecvUntilAny(Data str);
Receives data until one of a number of options fits (in str divided by '|'). Returns the found
case, or empty string if not found.
92
Scorpio Scripting Engine
Examples:
Data recv = RecvUntilAny("?", 0, 0, 0);
Data waitFor = "MORE...|Profile Ends*>|>|User logged in * try
again";
Data recv = RecvUntilAny(waitFor);
SendFormated()
void SendFormated(int size, Data formatedData);
Sends data downstream (to NE). For unprintable information, the data can include Hexa
formatted data (for example, "A 0x02 XY 0x00 ") or NULLs).
Examples:
SendFormated("0x0D 0x00 ");
SendByChar()
void SendByChar(Data str, int timeBetweenSendsMili);
Sends to NE, char by char, with an interval.
Example:
SendByChar("logout", 200);
SendByCharFormated()
void SendByCharFormated(int size, Data formatedData, int
timeBetweenSendsMili);
Like SendByChar, sends to NE, char by char, with an interval. But for unprintable information,
the data can include Hexa formatted data (for example, "A 0x02 XY 0x00 ") or NULL.
General Functions
DBSelect()
Data DBSelect(Data dbProfile, Data sql);
Runs an SQL on the Database through the DB service.
Returns a record specific to the select statement.
Example:
void Print_NE()
{
Data dbProfile = "COMM_DB";
Data sql = "select * from comm_db..MED_NE";
93
Communication Admin User Guide
GetEnv()
Data GetEnv(Data envName);
Implements a Unix like getenv (getenv $PATH).
Returns the environment value.
Example:
Data str = GetEnv("GD_PROJ_DIR");
Log()
void Log(Data str);
Prints strings into the GD log file (and to screen).
No return value.
Example:
For this script running in the GD_TELNET:
Log("This string can be found in the $GD_LOG_DIR/GD_TELNET.log
file");
SetDefaultTimeout()
void SetDefaultTimeout(int timeout);
Sets the default time of Send and Receive operations.
No return value.
Example:
To set the Send and Receive timeouts to 10 seconds:
SetDefaultTimeout(10000);
94
Scorpio Scripting Engine
SetLogLevel()
void SetLogLevel(int level);
Defines the logging level of each "Log()” message.
Suggested value is "1”.
No return value.
Available values:
0—shows all logging in verbose mode only (best performance)
1—logs as messages
2—considers all logging as warnings (recommended)
3—considers all logging as errors
4—considers all logging as critical errors
5—shows always (poor performance, recommended for debugging only)
Example:
SetLogLevel(1);
ServiceExecute()
Data ServiceExecute( Data srvName,
Data srvParams,
Data command,
Data commandParams) // optional
Sends an execute request to a service.
Return value depends on the target service.
Example:
Data RegMatchByService(Data str,Data regEx)
{
Data cmdParams(VECTOR());
cmdParams.PushBack(str);
cmdParams.PushBack(regEx);
Data srvParams(VECTOR());
return ServiceExecute("StringService", srvParams,
"RegMatch", cmdParams);
}
void CallingServiceFunction()
{
Data isMatch = RegMatchByService("Hello great world",
".*great.*");
if (isMatch[0] == true)
SendBanner("Found a match\r\n");
else
SendBanner("No match\r\n");
}
95
Communication Admin User Guide
Running one Scorpio Script from Another
Running one Scorpio script from another is done using the function:
RunRemoteScript (string scriptName, string functionName,
Data(VECTOR()));
Examples:
// Regular script SonetNortelConnect
void OnConnect()
{
if (accessParams.ConnectionType == "tl1")
RunRemoteScript("ConnectTL1", "Connect",
Data(VECTOR()));
else
RunRemoteScript("ConnectCraft", "Connect",
Data(VECTOR()));
}
// Script ConnectTl1
void Connect()
{
.......
// Process specific TL1 connection
}
// Script ConnectCraft
void Connect()
{
......
// Process specific Craft connection
}
96
Scorpio Scripting Engine
BufClear()
void BufClear();
Clears the internal buffer.
No return value.
Example:
Log("Buffer size is: " + Itoa ( GetBufSize() ) );
BufClear();
Log("Now the buffer size is zero!");
GetBuffer()
Data GetBuffer();
Returns a copy of the internal buffer data.
Example:
Data strBuf = BlobToStr(GetBuffer());
Log("Buffer content is: " + strBuf );
GetBufLine()
Data GetBufLine(int lineNum);
Returns a specific line (as Blob) from the internal buffer.
Example:
Data numLines = GetBufNumLines(); // get numbers of lines
for(int i=0; i<numLines; i++)
{
Data line = BlobToStr(GetBufLine(i));
Log("Line(" + Itoa(i) + ") "+ line + "\n");
}
GetBufNumLines()
int GetBufNumLines();
Returns the number of lines in the internal buffer.
Example:
Data numLines = GetBufNumLines(); // get numbers of lines
Log("Number of lines:" + Itoa(numLines) + "\n");
97
Communication Admin User Guide
GetBufSize()
int GetBufSize();
Returns the number of bytes (as integer) in the internal buffer.
Example:
Writing the number of bytes in the internal buffer to the Log:
Log("Buffer size is: " + Itoa ( GetBufSize() ) );
Data Types
Construction
Data d;
Data d(VECTOR(), int initial_size=0);
Data d(RECORD(), char* rcname); // NsLookup, record
instance of the class name
Data d(LOOKUP(), char* rcname); // NsLookup, record class
of the class name
Data d(CURSOR());
Data d(bool b);
Data d(char c);
Data d(short s);
Data d(int i);
Data d(long l);
Data d(Int64 ll);
Data d(unsigned char uc);
Data d(unsigned short us);
Data d(unsigned int ui);
Data d(unsigned long ul);
Data d(unsigned Int64 ull);
Data d(float f);
98
Scorpio Scripting Engine
Data d(double d);
Data d(char *str);
Cast
If you have variable 'data' of type Data.
bool b = data;
short s = data;
int i = data;
float f = data;
double d = data;
In addition, C-Style explicit case is allowed:
bool b = (double)data;
Arithmetics
If you have variables x, y, z, all of type Data.
x = y + z;
x = y - z;
x = y * z;
x = y / z;
x = y % z;
Boolean Operators
If you have variable x of type bool and y, z of type Data.
x = (y == z);
x = (y != z);
x = (y < z);
x = (y <= z);
x = (y > z);
x = (y >= z);
This can be used from within 'if'/'while'/'for'/'do' statements as in "C".
99
Communication Admin User Guide
Member Functions
int Data::Size();
Data Data::ActiveField();
bool Data::IsNull();
Data Data::ToString();
void Data::Print();
void Data::PrintLn();
void Data::DPrint();
Data Data::GetTypeString();
Data Data::ClassName();
100
Scorpio Scripting Engine
Sample Scripts
RecvUntil("ogin:");
Send(scriptParams.Login + "\r\n");
RecvUntil("assword:");
SendNoLog(scriptParams.Password + "\r\n");
RecvUntil(accessParams.PromptVector);
}
101
Communication Admin User Guide
RecvUntil(scriptParams.LoginPrompt);
Send(scriptParams.Login + "\r\n");
RecvUntil(scriptParams.PasswordPrompt);
SendNoLog(scriptParams.Password + "\r\n");
RecvUntil(accessParams.PromptVector);
}
GenericTelnet Connect
----------------------------------------------------------
// Generic Telnet connect
void OnConnect()
{
SetDefaultTimeout(10000);
SetLogLevel(5);
RecvUntil(scriptParams.Expect1);
if (scriptParams.Send1 != "")
{
Send(scriptParams.Send1 + "\r\n");
}
RecvUntil(scriptParams.Expect2);
if (scriptParams.Send2 != "")
{
102
Scorpio Scripting Engine
Send(scriptParams.Send2 + "\r\n");
}
RecvUntil(scriptParams.Expect3);
if (scriptParams.Send3 != "")
{
Send(scriptParams.Send3 + "\r\n");
}
}
Telnet Disconnect
----------------------------------------------------------
// Telnet Disconnect Samples
void OnDisconnect()
{
SetDefaultTimeout(10000);
SetLogLevel(5);
Send(scriptParams.ExitCommand + "\r\n");
}
103
Communication Admin User Guide
msg + "-----------------------------------------\n";
Log(msg);
}
void OnConnect()
{
SetDefaultTimeout(100000);
SetLogLevel(5);
RecvUntil(scriptParams.LoginPrompt);
Send(scriptParams.Login + "\n");
RecvUntil(scriptParams.PasswordPrompt);
SendNoLog(scriptParams.Password + "\n");
RecvUntil(accessParams.PromptVector);
}
104
Scorpio Scripting Engine
RecvUntil(accessParams.PromptVector);
}
Data CRLF="\r\n";
Data UserName,DeviceName;
// search in a buffer
Data pos=BlobFind(line,"INACTIVE");
// pos>1 => In case that the user name is called
INACTIVE
if (pos>1)
{
// fetch part of a blob
UserName=SubBlob(line,0,15);
106
Scorpio Scripting Engine
// but since we record the lines we like to
work on
// (LastLineToWorkOn), we are safe
Send("deldevice "+BlobToStr(UserName)+CRLF);
RecvUntil(accessParams.PromptVector);
}
Data posUser=-1;
posUser=BlobFind(line,scriptParams.Login);
if (posUser>=0)
{
DeviceName=SubBlob(line,16,12);
}
}
if (DeviceName=="")
{
// we have a problem, terminate execution
throwdata("Device name is not found for user: "
+ scriptParams.Login);
}
// Done.
SendBanner("!!! SCRIPT ENDED SUCCESSFULLY !!!"+CRLF);
}
107
Communication Admin User Guide
RecvUntil(scriptParams.PasswordPrompt);
SendNoLog(scriptParams.Password + "\r\n");
RecvUntil(accessParams.PromptVector);
}
RecvUntil(accessParams.PromptVector);
}
108
Scorpio Scripting Engine
109