TOP

The Message Viewer/Editor

Applies to: NAS-1Step LTE/EPC r15.8.0 v7.2.1

Description

To open a message in the message viewer/editor, select an encoded message file in the projects pane and issue the Edit context menu command (or press Enter, or double-click on the filename).

In addition, when the active window is a message viewer/editor or hex viewer/editor window, you can open a new message viewer/editor window on the same underlying message by using the Window / New Window menu command. When multiple views are open on the same message, any changes you make in one of these views are immediately reflected in the other views.

The message viewer/editor

The message viewer/editor in NAS-1Step displays a message in a tree-like view and allows you to edit it. Each message component, either simple or complex, at any level of the structure, is placed into its own row within the view. Each optional component of a sequence type is preceded by a check box that indicates whether the component is present or absent in this message instance. Each complex component (i.e., a component defined in the ASN.1 schema as a construct with children), at any level of the structure, is preceded by a small triangle that indicates whether the component is currently expanded in the view (i.e., its children are currently displayed) or collapsed (i.e., its children are currently hidden). Finally, each component is preceded by an icon that indicates whether the component is simple or complex.

A complex component that is currently expanded in the view is followed by all its children in subsequent rows of the view. A simple component or a complex component that is currently collapsed is followed by its following sibling (if such exists), or by the following sibling of its parent (if such exists), and so on, or else it is the last component currently displayed in the view.

When a message is opened, the highest-level components of the message are displayed as collapsed, and therefore only a few components are visible in the view. You can then make other components visible by clicking on the small triangle of the collapsed components.

Note that expanding and collapsing components does not change the value of the message, only the way it is displayed in the current view. When you close and reopen a message or you create another view using the Window / New or Window / Split menu command, the new view will display the message with its top-level components collapsed.

When you create additional views with the Window / New or Window / Split menu command, each view will maintain its own collapsed/expanded state for each message component, independent of the other views. You can expand certain components of the message in one view and other components in another view.

Columns

The tree-like view of the message viewer/editor can also be described as a table.

The Information Element or Field Name table column contains the component name and the visual elements that precede it (up to three: the expanded/collapsed icon, the present/absent check box, and the simple/complex icon). The contents of this column are indented according to the level of the component displayed in each row, thus giving the table the appearance of a tree.

Normally, the component name is displayed in black. However, when error or warning conditions are detected in the currently displayed message, the name of every component affected by one or more errors is displayed in red, and the name of every component affected by one or more warnings (but no errors) is displayed in dark yellow. When you click (or press Enter) on the name of a component affected by an error or warning, the row in the Error and Warnings window that contains the corresponding error or warning message is selected.

The Value column contains an abbreviated textual representation of the component value. The representation depends on the base type of the component, as described in the following table:

Type of the component Contents of the Value cell
NULL Empty.
BOOLEAN FALSE or TRUE.
ENUMERATED The identifier of one of the enumerators (see the description below).
INTEGER The value displayed as a numeric string, or the identifier associated with the value followed by the value enclosed in parentheses.
OCTET STRING A string of hexadecimal digits (0-F) preceded by a single quote and followed by a single quote and an H.

When the octet string value is longer than an application-defined maximum length, the string of hexadecimal digits is truncated and an ellipsis (...) is inserted after the last digit.
BIT STRING A string of binary digits (0-1) preceded by a single quote and followed by a single quote and a B.

When the bit string value is longer than an application-defined maximum length, the string of binary digits is truncated and an ellipsis (...) is inserted after the last digit.
A character string type A string of printable characters preceded and followed by a double quote.

When the character string value is longer than an application-defined maximum length, the string of printable characters is truncated and an ellipsis (...) is inserted after the last printable character.
SEQUENCE Empty.
CHOICE The identifier of one of the alternatives (see the description below).
SEQUENCE OF The number of children that are present.

In the ASN.1 schema, some integer components are specified with a list of identifiers associated with certain special values. When the current value has an identifier associated with it, the identifier followed by the value in parentheses is displayed.

A component whose type is an enumerated type may occasionally have a value that does not match any of the enumerators specified in the ASN.1 schema. This can happen either because of an error in the encoding or when the enumerated type definition contains an extension marker and the current value is an extension value. In such cases, the word unknown followed by a numeric value in parentheses is displayed.

A component whose type is a choice type may occasionally have a value that does not match any of the alternatives of the choice specified in the ASN.1 schema. This can happen either because of an error in the encoding or when the definition of the choice type contains an extension marker and the current value is an extension value. In such cases, the word unknown followed by a numeric value in parentheses is displayed.

To see long octet strings, bit strings, and character strings in their entirety, proceed as if you were going to edit the value, as follows: Click inside the Value cell to open a temporary text box and then press the "..." button to the right of the text box to display either the Edit Binary String Value dialog box (for octet strings and bit strings) or the Edit Character String Value dialog box (for character strings). This dialog box contains a complete textual representation of the value of the string. When you are done, press the Cancel button (or press Esc) to dismiss the dialog box and press Esc again to dismiss the temporary text box (unless you wish to modify the value).

The Edit Binary String Value dialog box

The Type Name column contains the component type name as specified in the ASN.1 schema.

The Base Type column contains the ASN.1 built-in type from which the component type ultimately derives.

The Offset column contains the encoding offset of this component starting from the beginning of the message encoding. The offset is expressed as number of bytes : number of bits.

The Length column contains the encoding length of this component expressed as number of bytes : number of bits.

The Encoding column contains an abbreviated textual representation of the encoding of this component. The detailed representation varies based on whether the encoding starts on the first bit of an octet, whether it ends on the last bit of an octet, and whether it includes one or more complete octets. Complete octets are represented using hexadecimal digits (0-F). An incomplete octet (which can only occur at the beginning and/or the end of the encoding) is represented as a series of binary digits (0-1) and dots (.) enclosed between angle brackets (<>), where each dot stands for a bit that does not belong to this component. If the encoding of the component is longer than an application-defined maximum length, the representation is truncated and an ellipsis (...) is inserted.

Searching

To search for a character string anywhere within the value of a message, use the Find operation. To initiate a search, specify a character string and other search parameters. The search is performed throughout the components of a message at all structure levels.

During a search operation, for each component encountered, the application converts the component value into an internal textual representation and looks for your search string within that textual representation. If your search string is found anywhere in the textual representation of a component, the component is displayed and the search operation terminates, otherwise the search operation proceeds with the next message component (or with the previous one) in hierarchical order, until the end (or the beginning) of the message is encountered.

Note that the search is performed on all the components of a message, not only on those that are currently displayed.

When the search string is found in the internal textual representation of a component, the application will not look for another instance of the same string in the same component. When you issue the Edit / Find Next menu command (or press F3, or press the Find Next button in the Find dialog box), the search restarts from the next component (more precisely, starting from the component that follows the first one that is currently selected).

The internal textual representation used during a search operation often differs from the abbreviated textual representation shown in the Value cell for a component, in that the former contains the entire value of the component and does not include extraneous characters such as the delimiters and the spaces that are added to the strings shown in the Value cell. Therefore, you can find a series of octets in the middle of a very long octet string by entering them (in hexadecimal form) in the Find dialog box, even though those octets would never be shown in the Value cell. For the same reason, you cannot find the final delimiter (a single quote followed by an H) of an octet string component value by entering it in the Find dialog box.

When the search string is found in a component that is currently not displayed in the current message view, the application ensures that that component is displayed by expanding each ancestor of that component that is currently collapsed. As a result of this expansion, a number of other components that were not visible before the search may become visible after the search.

Tracking

The tracking feature tracks the position within the ASN.1 schema of a component you are currently viewing in the message viewer/editor.

To enable tracking for the current message viewer/editor window, check the View / Track Definitions in the ASN.1 Schema main menu option. You must also open an ASN.1 Schema viewer window that displays the ASN.1 Schema file from the same project that contains the encoded message file you are working with.

Track Definitions in the ASN.1 Schema

When tracking is enabled for a message view, each time you click (or press Enter) on a component name displayed in the message view, the corresponding ASN.1 Schema viewer automatically scrolls to the first line of the definition of that component, and each time you click on a type name displayed in the message view, the ASN.1 Schema viewer automatically scrolls to the first line of the type definition. This can provide you with useful information about each message component while you examine or modify the message.

To take full advantage of the tracking feature, you can create a new horizontal tab group. Place the message viewer/editor in one tab group and the corresponding ASN.1 schema viewer in the other tab group, so that the contents of both windows are visible at the same time.

Note that the tracking feature will not utilize an ASN.1 Schema viewer window that was opened from a different project, even if the two projects reference the same ASN.1 schema file.

If there are two or more message viewer/editor windows currently open, you can enable tracking for each one. All the message viewer/editor windows that were opened from the same project use the same ASN.1 Schema viewer window for tracking, but a distinct ASN.1 Schema viewer window must be opened for each of the projects involved.

Creating a message

When you add a new file to one of the Encoded message file groups in a project by issuing the New context menu command, a zero-length file is created and its name is added to that file group in the projects pane. When you issue the Edit context menu command on that file (or press Enter, or double-click on the filename), a message viewer/editor window is created. The new message is initialized and displayed in the new message viewer/editor window. You can then modify the value of the message as you wish and save the message with the new value.

Initialization

The message viewer/editor uses the following rules when a newly created message is opened for editing as well as when a new component is added to an existing message, such as when an absent component of a sequence becomes present, the length of a sequence-of is increased, or a different alternative of a choice becomes selected.

The initial value assigned to the new component is constructed as follows: Boolean components are set to FALSE. Integer components are set to zero (if permitted by the ASN.1 schema) or else to the lowest value permitted by the ASN.1 schema. Enumerated components are set to the first enumerator specified in the ASN.1 schema. Octet strings and bit strings are set to the minimum length permitted by the ASN.1 schema (often zero) and their octets or bits (if any) are set to zero. Character strings are set to the minimum length permitted by the ASN.1 schema (often zero) and their characters (if any) are set to spaces (if permitted by the ASN.1 schema) or else to the lowest character code permitted by the ASN.1 schema. Choices are set to their first alternative. Sequence-ofs are set to the minimum length permitted by the ASN.1 schema (often zero). Optional components of sequences are set to absent.

The above rules are recursively applied to all the children of a complex component that are required to be present according to the ASN.1 schema (e.g., the mandatory components of a sequence, the selected alternative of a choice, the children of a sequence-of that has a minimum required length greater than zero, and so on).

Editing a message

The NAS-1Step application implements an Undo/Redo mechanism that allows you to discard the latest series of changes made to the value of a message and go back to an earlier state, as well as to reapply the series of changes just undone, one by one. You can use the Undo operation whenever you have inserted, deleted, or modified any value of any type and complexity using any of the editing operations described below and want to undo the effects of that change. The application maintains a history of all the changes made to each open message since it was opened. The history is discarded when the message is closed (but not when it is saved without being closed). The history of the changes made to a message is associated with the message itself and not with the message viewer/editor window in which you make the changes. This means that when you open two or more message viewer/editor windows on the same message (e.g., by splitting the window), there will be a single history associated with that message regardless of which window you use to make each change. Also, when you close a particular message viewer/editor window, the history will not be discarded if there are other message viewer/editor windows still open on the same message.

An optional component of a sequence is displayed preceded by a check box, which indicates whether the component is present or absent in the current message instance. You can change the present/absent state of such a component by clicking on the check box. If the optional component is complex (i.e., defined in the ASN.1 schema as a construct with children) and you change its presence state from absent to present, the component will be initially displayed as collapsed. A small triangle that indicates this fact appears before the component's name, and the children of the component will not be displayed. You will then be able to expand the component and modify the values of its children. When you change the presence state of an optional component of a sequence from present to absent, its value is discarded. If the component is complex, the values of all of its descendants are discarded as well.

To change the value of a simple component (such as an integer, a boolean, or a string), click inside the Value cell in the corresponding row, or move the selection to that row and press Enter. The application will then create a temporary control over the Value cell, which allows you to edit the value. The temporary control has the same size of the Value cell and covers it completely. For some component types, the temporary control is a text box, and you can enter the new value by typing in the text box. For other component types, the temporary control is a drop-down list, and you can choose an item from the drop-down list. For other component types, the temporary control is a combination of a text box and a drop-down list, and you can either choose an item from the drop-down list or type the new value in the text box (in this case, the value you type does not have to be one of those listed).

Some components cannot be edited by the user. Those are the components specified in the ASN.1 schema with the READONLY keyword present inside a comment beginning with the $CEF keyword. Read-only components include most determinants (see below) as well as components that are constrained by the specification to have fixed values. The values of read-only components are displayed in grey.

To confirm a change made in a temporary control, you can either press Enter or click anywhere outside the temporary control. The application will then try to apply your change. If everything goes well, the contents of the window are updated. To dismiss the temporary control without confirming your change, press Esc.

When something goes wrong as the application applies your change, there are two possible outcomes. In many cases, the application will automatically correct the invalid value by replacing it with the nearest valid value. You will notice that this happens because the replacement value is displayed in a special color in the Value cell (by default, this is dark yellow instead of blue). This typically happens when you type a value that is outside a range permitted by the ASN.1 schema. If the application is unable to auto-correct the invalid value, it displays an error message and your change is not applied.

For some component types (octet strings, bit strings, and character strings) a button labeled as "..." is displayed to the right of the text box. When you press this button, the application displays a dialog box that may make it easier for you to edit the value. An Edit Binary String Value dialog box is used for octet strings and bit strings, and an Edit Character String Value dialog box is used for character strings. In most cases, you will not need to open the dialog box; you may prefer to edit the string directly in the text box, especially if the string is short. However, if the current string value is longer than an application-defined maximum length, the text box will be disabled, and you will have to press the "..." button and then use the dialog box to edit the string.

The Edit Binary String Value dialog box, which is used for octet strings and bit strings, allows you to choose the base of the representation (either hexadecimal or binary). The initial base is hexadecimal (hstring) for octet strings and binary (bstring) for bit strings, but you can change this setting as many times as you wish. While hstring is selected, the hexadecimal digits (0-F) are used to display the bits of the string in the dialog box and you have to enter your data using hexadecimal digits. While bstring is selected, the binary digits (0-1) are used to display the bits of the string in the dialog box and you have to enter your data using binary digits. White space characters are also inserted for readability and are also accepted as input from the user (any whitespace present in the dialog box will be ignored when the contents of the dialog box are processed on exit).

When hstring is selected, the length of the string in the dialog box can only be a multiple of 4 bits. When you edit a bit string and select hstring, the length of the bit string is adjusted to a multiple of 4. Each hexadecimal digit present in the dialog box, including the last one, will produce exactly 4 bits. So when you are using the hstring setting and you want to enter a bit string value whose length is not a multiple of 4, you must switch to bstring, and perhaps correct the last few binary digits present, before you press the OK button.

After you close the dialog box, the modified value is shown in the text box that still covers the Value cell. No change has yet been made to the message itself. The changes you have made inside the dialog box will become effective only when you dismiss the text box.

Editing a choice means selecting one of its alternatives. When you click inside the Value cell in the row of the choice or move the selection to that row and press Enter, the application creates a temporary drop-down list over the Value cell, which contains the identifiers of all the alternatives of the choice. The temporary drop-down list has the same size of the Value cell and covers it completely. When you select an alternative different from the currently selected one, the application initializes the newly selected alternative and displays it in the row below the row of the choice, since the selected alternative is a child of the choice. You will then be able to edit the alternative itself.

Editing a sequence-of means modifying the number of children present under the sequence-of, also referred to as the length of the sequence-of. When you click inside the Value cell in the row of the sequence-of or move the selection to that row and press Enter, the application creates a temporary text box coupled with a small up-down button over the Value cell, which shows the current number of children. The temporary text box plus the up-down button have the same size of the Value cell and cover it completely. You can then increase or decrease the number of children either by typing in the text box or by pressing the small up-down button. When you decrease the number of children and your change is accepted, the application deletes one or more children starting from the last current child and going backward. When you increase the number of children and your change is accepted, the application adds one or more children after the last current child, initializes each of the new children, and displays them. You will then be able to edit the newly added children and all of their descendants (if any). If the application auto-corrects your change and the new (auto-corrected) number of children is different from the current number, the application will add or delete children in the same way, but the resulting number of children will be the number as corrected by the application, not the number you entered.

In most 3GPP NAS message types, there are some components (let's call them determinants) whose value encodes some information about the value of other components of the same message. For example, in a message there may be an integer field whose value indicates which alternative of a choice is the selected one, or there may be a boolean field whose value indicates whether an optional component of a sequence is present or absent in this message instance. Such dependencies between components are essential to the encoding and decoding of a NAS message. However, the NAS-1Step application is built around an abstract definition of a NAS message. In NAS-1Step, those dependencies between components are regarded as particular aspects of the encodings and are not explicitly represented in the user interface. You select an alternative of a choice by editing the row of the choice and choosing an identifier from a drop-down list, not by editing another component whose value determines which alternative of the choice is the selected one. You set the present/absent state of an optional component of a sequence by checking or unchecking the check box in the row of that component, not by editing another component whose value indicates whether the optional component is present or absent. Whenever you change the value of a component whose encoding is based on a determinant, the application will automatically update the determinant based on the new value of the component. The component value always prevails over the value of the determinant. Most determinants are specified as read-only components and therefore cannot be edited.

Clipboard operations

The NAS-1Step application uses the system clipboard to facilitate the editing of messages in the message viewer/editor. The standard Cut, Copy, and Paste operations are supported (with some restrictions imposed by the nature of the data) and can be used to copy or move parts of the value of a message to another message or to a different location in the same message. The Insert and Delete operations are considered as part of the same group of operations even though they don't make use of the clipboard.

At any time, you can select either a single row or a series of consecutive rows in the message view. To select a single row, click on the component name or move the cursor to that row. To select a series of consecutive rows, perform the same actions while using the Shift or Ctrl keys.

The behavior of the clipboard operations depends on the nature of the first component in the selection.

Case 1: The first component in the selection is the top-level component (NASMessage)

In this case, the clipboard operation involves the entire NAS message. It is irrelevant whether the selection includes any other components.

The Copy operation copies the entire NAS message, formatted as a hexadecimal string, to the clipboard. When you are using an application that can import a NAS message encoded as hexadecimal strings through the clipboard, you can then pass the message to that application by pasting it into it.

The Paste operation overwrites the current NAS message with the contents of the clipboard, if the clipboard contains a hexadecimal string. When you are using an application that can export a NAS message by copying a hexadecimal string to the clipboard, you can then paste the hexadecimal string directly into the message viewer/editor in this way. In this case, before doing a Paste, remember to move the selection to the top-level component (NASMessage).

All the other clipboard operations are disabled.

Case 2: The first component in the selection is not a child of a sequence-of

In this case, the clipboard operation only involves the first component included in the selection and all of its descendants. It is irrelevant whether the selection includes some, all, or none of the descendants of the first component included in the selection, and whether it includes any siblings of that component.

In this case, the data copied to the clipboard is stored in a custom format, not as a hexadecimal string.

Using the clipboard operations, you can copy any component, either simple or complex, to the clipboard, and then paste the contents of the clipboard over a component of the same type elsewhere in the same message or in a different message.

The Copy operation copies the value of the first component included in the selection and the values of all of its descendants (if any) to the clipboard. The present/absent state of any component that is an optional component of a sequence is stored in the clipboard along with the value. A reference to the ASN.1 type definition of the first component included in the selection is also stored in the clipboard.

The Paste operation first checks that the ASN.1 type definition of the first component included in the selection matches the ASN.1 type definition referenced in the clipboard. If so, it replaces the value of that component and the values of all of its descendants with the values found in the clipboard. The present/absent state of any component that is an optional component of a sequence is also replaced with the one found in the clipboard.

All the other clipboard operations are disabled.

Case 3: The first component in the selection is a child of a sequence-of

In this case, the clipboard operation involves the first component included in the selection and all of its descendants, and may involve one or more subsequent children of the same sequence-of (siblings of the first component included in the selection) and all of their descendants. Each subsequent child of the sequence-of that is included in the selection is involved in the operation. It is irrelevant whether the selection includes some, all, or none of the descendants of the children of the sequence-of that are included in the selection, and whether it includes any components beyond the end of the sequence-of.

In this case, the data copied to the clipboard is stored in a custom format, not as a hexadecimal string.

Using the clipboard operations, you can copy one or more consecutive children of a sequence-of, either simple or complex, to the clipboard, and then paste the contents of the clipboard either before or over another series of consecutive children of the same sequence-of or of another sequence-of of the same type elsewhere in the same message or in a different message. You can also insert a new child before any child of a sequence-of, or delete one or more consecutive children.

The Copy operation copies the value of the first component included in the selection and the values of all of its descendants (if any) to the clipboard. If any other children of the same sequence-of are included in the selection, their values and the values of all of their descendants (if any) are also copied to the clipboard. The present/absent state of any component that is an optional component of a sequence is stored in the clipboard along with the value. The number of children copied to the clipboard is also stored in the clipboard. A reference to the ASN.1 type definition of the first component included in the selection is also stored in the clipboard.

The Paste operation first checks that the ASN.1 type definition of the first component included in the selection matches the ASN.1 type definition referenced in the clipboard. If so, it deletes all the children of the sequence-of included in the selection and all of their descendants. It then inserts one or more new children in the same position within the sequence-of, setting the value of each new child and the values of its descendants from the values found in the clipboard. The present/absent state of any component that is an optional component of a sequence is also set from the one found in the clipboard.

The Paste Before operation first checks that the ASN.1 type definition of the first component included in the selection matches the ASN.1 type definition referenced in the clipboard. If so, it inserts one or more new children before the first component included in the selection, setting the value of each new child and the values of its descendants from the values found in the clipboard. The present/absent state of any component that is an optional component of a sequence is also set from the one found in the clipboard.

The Insert operation inserts a new child (only one) in the sequence-of before the first component in the selection, and initializes the new child. The contents of the clipboard are not used.

The Delete operation deletes all the children of the sequence-of that are included in the selection. The contents of the clipboard do not change. The Cut operation is equivalent to a Copy operation followed by a Delete operation. The currently selected children of the sequence-of are deleted from the sequence-of and copied to the clipboard.

When a Cut, Paste, or Delete operation decreases the length of a sequence-of, the resulting length can be less than the minimum length permitted by the ASN.1 schema. In this case, the application automatically adds one or more new children at the end of the sequence-of, so that the resulting length equals the minimum permitted length.

Likewise, when a Paste, Paste Before, or Insert operation increases the length of a sequence-of, the resulting length can be greater than the maximum length permitted by the ASN.1 schema. In this case, the application automatically deletes one or more new children starting from the end of the sequence-of and going backwards, so that the resulting length equals the maximum permitted length. If such deletion is unacceptable, you can use the Undo command to restore the values.

Note that there is no clipboard operation that pastes new children after the last child of a sequence-of. You can achieve the same result as follows: Edit the row of the sequence-of, increment the number of children by one, select the newly added child at the end of the sequence-of, and do a Paste operation. You can use the same method to paste new children into a sequence-of that is currently empty.

Saving a message in XML or JSON format

To save a message in XML or JSON format, select the message file in the projects pane or the tab window, issue the File / Save As... main menu command, and then select the JSON-Encoded NAS Message or XML-Encoded NAS Message message type from the Save as type list.

Saving a message in XML or JSON format

Main menu items affecting the current message viewer/editor window

Menu item Shortcut key Description
File / Close   Closes the encoded message and all the message view/editor and hex viewer/editor windows that display it. If the message has been modified since the last time it was opened or saved, the application saves the encoded message after asking for and receiving permission from the user.
File / Close All   Closes all the open files. If there are any open files that have been modified since the last time they were opened or saved, the application saves each of them after asking for and receiving permission from the user.
File / Save Ctrl+S Saves the encoded message without closing the message viewer/editor window.
File / Save As...   Displays a Save As dialog box that allows you to save the message file under a new name or as an XML-encoded or JSON-encoded message. No other files are saved.
File / Save All   Saves all the open files that have been modified since the last time they were opened or saved. This also applies to message files.
File / Exit   Terminates the application.
If there are any open files that have been modified since the last time they were opened or saved, the application saves each of them after asking for and receiving permission from the user.
Edit / Undo Ctrl+Z Discards the latest change made to the value of the current message and not yet undone.
Edit / Redo Ctrl+Y When issued after one or more Undo commands, reapplies the latest change undone and not yet redone.
Edit / Cut Ctrl+X Deletes one or more consecutive children of a sequence-of and copies their values and the values of their descendants to the clipboard.
Edit / Copy Ctrl+C When applied to a component that is not a child of a sequence-of, copies the value of that component and the values of its descendants to the clipboard.
When applied to one or more consecutive children of a sequence of, copies the values of those children and the values of their descendants to the clipboard.
Edit / Paste Before Shift+Ctrl+V Inserts one or more new children in a sequence-of, setting their values and the values of their descendants from the values found in the clipboard.
Edit / Paste Ctrl+V When applied to a component that is not a child of a sequence-of, replaces the value of that component and the values of its descendants with the values found in the clipboard.
When applied to one or more consecutive children of a sequence-of, deletes those children and inserts one or more new children in their place, setting their values and the values of their descendants from the values found in the clipboard.
Edit / Delete Delete Deletes one or more consecutive children of a sequence-of.
Edit / Insert Insert Inserts a new child in a sequence-of.
Edit / Find Ctrl+F Displays a Find dialog box that allows the user to initiate a search for a character string throughout the message. Once you have specified the parameters of the search in the dialog box and pressed the Find Next button, you can either dismiss the dialog box or keep it displayed as long as you wish.
Edit / Find Next F3 Searches for the next component containing the specified character string in a textual representation of the message, going from the currently selected component towards the end of the message. You can issue this command whether or not the Find dialog box is displayed.
Edit / Find Previous Shift+F3 Searches for the previous component containing the specified character string in a textual representation of the message, going from the currently selected component towards the beginning of the message. You can issue this command whether or not the Find dialog box is displayed.
View / Track Definitions in the ASN.1 Schema   Enables the tracking feature, which causes an ASN.1 schema file viewer to scroll the text to the definition of a component or type being clicked on inside the message view.
View / Show Checkbox on Every Component   Modifies the way in which the first column of the message view is displayed. When this option is not active (default), a check box is displayed only in the rows that contain an optional component of a sequence. When this option is active, a check box is displayed in every row, and is enabled in the rows containing an optional component of a sequence and disabled (greyed) in all the other rows. This option may be useful when viewing particularly complex sequences, as the alignment of the component names in the first column is more regular than in the default mode.
View / Show Encodings Without Using Dots   Modifies the way in which the encodings in the last column of the message view are displayed. When this option is not active (default), each pair of hexadecimal digits is aligned to an octet boundary, binary digits are used within the first and last octet only if the octet in question is not completely utilized by this component, and dots (.) are used to represent bit positions within the first and last octet that don't belong to the encoding of this component. When this option is active, hexadecimal digits are used starting from the very first bit of the encoding regardless of the bit position at which it starts, and binary digits are used only for the last 1-3 bits of the encoding when the length is not a multiple of 4 bits. This option may be useful whenever you want to see the encoding of a component without regard to the bit position at which it happens to start.
Window / New Window   Creates another message viewer/editor window that displays the same message that is displayed in the current message viewer/editor window.
Window / New Hex Window   Creates a hex viewer/editor window that displays the same message that is displayed in the current message viewer/editor window.
Window / Split   Split the message viewer/editor window vertically into two panes, if the window is not already split. After the split, each pane will contain a message viewer/editor and both will display the same message.

Context menu: tab of the message viewer/editor window

Menu item Shortcut key Description
New Vertical Tab Group   Creates a new tab group to the right of the current one and moves the current child window to the new tab group. When two or more horizontal tab groups exist, this option is disabled.
New Horizontal Tab Group   Creates a new tab group below the current one and moves the current child window to the new tab group. When two or more vertical tab groups exist, this option is disabled.
Move To Next Tab Group   Moves the current child window to the next tab group. This option is enabled when there are at least two tab groups.
Move To Previous Tab Group   Moves the current child window to the previous tab group. This option is enabled when there are at least two tab groups.

This documentation applies to NAS-1Step for LTE/EPC v7.2.1 for 3GPP Release 15.8.0.

Copyright © 2021 OSS Nokalva, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without the prior permission of OSS Nokalva, Inc.
Every distributed copy of NAS-1Step for LTE/EPC is associated with a specific license and related unique license number. That license determines, among other things, what functions of NAS-1Step for LTE/EPC are available to you.