Trinity3 14cli
Trinity3 14cli
Trinity3 14cli
X
Command Line Reference Guide
Copyright Statement
Copyright © 2009–2019, Patton Electronics Company. All rights reserved.
Trademark Statement
The terms Trinity and ForeFront are trademarks of Patton Electronics Company. All
other trademarks presented in this document are the property of their
respective owners.
Notices
The information contained in this document is not designed or intended for use as
critical components in human life-support systems, equipment used in hazardous
environments, or nuclear control systems. Patton Electronics Company disclaims any
express or implied warranty of fitness for such uses.
The information in this document is subject to change without notice. Patton Elec-
tronics assumes no liability for errors that may appear in this document.
Any software described in this document is furnished under license and may be used
or copied only in accordance with the terms of such license.
Summary Table of Contents
3
Trinity Release 3.13.X Command Line Reference Guide
4
Trinity Release 3.13.X Command Line Reference Guide
5
Table of Contents
6
Trinity Release 3.14.X Command Line Reference Guide
7
Trinity Release 3.14.X Command Line Reference Guide
Conditions .....................................................................................................................................................82
Context CS Events ....................................................................................................................................83
SIP Interface Events ..................................................................................................................................83
Context IP Events .....................................................................................................................................83
SIP Gateway Events ..................................................................................................................................84
System NTP Events ..................................................................................................................................84
System Timer Events .................................................................................................................................84
Actions ...........................................................................................................................................................85
6 System Image Handling ..................................................................................................................................... 86
Introduction ..........................................................................................................................................................87
System image handling task list .............................................................................................................................87
Displaying system image information .............................................................................................................87
Displaying Update Status Information ............................................................................................................88
Copying system images from a network server to flash memory ......................................................................88
Switch to the inactive image ............................................................................................................................89
7 Configuration File Handling.............................................................................................................................. 90
Introduction ..........................................................................................................................................................91
Understanding Configuration Files .................................................................................................................91
Shipping Configuration.........................................................................................................................................92
Configuration File Handling Task List..................................................................................................................92
Copying Configurations Within the Local Memory ........................................................................................93
Replacing the Startup Configuration with a Configuration from Flash Memory .............................................94
Copying Configurations To and From a Remote Storage Location .................................................................95
Replacing the Startup Configuration with a Configuration Downloaded from TFTP Server ..........................95
Displaying Configuration File Information .....................................................................................................96
Modifying the Running Configuration at the CLI ..........................................................................................97
Modifying the Running Configuration Offline ...............................................................................................98
Deleting a Specified Configuration .................................................................................................................99
8 System Licensing ............................................................................................................................................. 100
Introduction ........................................................................................................................................................101
Install licenses permanently .................................................................................................................................103
Installing licenses ..........................................................................................................................................103
Inspecting installed licenses ...........................................................................................................................104
Erasing installed licenses ...............................................................................................................................107
Configure a Patton device as License Server.........................................................................................................107
Prepare the system ........................................................................................................................................109
Configure the NodeMS-Server ......................................................................................................................110
Create organizations for tenants ....................................................................................................................110
Create sub-organizations within an organization ...........................................................................................112
Define which and how many licenses a particular device is able to lease ........................................................114
Create a nodems-device profile ................................................................................................................115
Link devices to a nodems-device profile ...................................................................................................117
Inspect the license-lease database ...................................................................................................................118
8
Trinity Release 3.14.X Command Line Reference Guide
9
Trinity Release 3.14.X Command Line Reference Guide
10
Trinity Release 3.14.X Command Line Reference Guide
11
Trinity Release 3.14.X Command Line Reference Guide
12
Trinity Release 3.14.X Command Line Reference Guide
13
Trinity Release 3.14.X Command Line Reference Guide
14
Trinity Release 3.14.X Command Line Reference Guide
15
Trinity Release 3.14.X Command Line Reference Guide
16
Trinity Release 3.14.X Command Line Reference Guide
17
Trinity Release 3.14.X Command Line Reference Guide
18
Trinity Release 3.14.X Command Line Reference Guide
19
Trinity Release 3.14.X Command Line Reference Guide
20
Trinity Release 3.14.X Command Line Reference Guide
21
Trinity Release 3.14.X Command Line Reference Guide
22
Trinity Release 3.14.X Command Line Reference Guide
23
Trinity Release 3.14.X Command Line Reference Guide
Introduction ........................................................................................................................................................505
Criteria ................................................................................................................................................................505
Connection State ..........................................................................................................................................505
Traffic Class ..................................................................................................................................................505
Source MAC Address ....................................................................................................................................505
Ethernet Packet Type ....................................................................................................................................505
ToS ...............................................................................................................................................................505
Precedence ....................................................................................................................................................506
DSCP ...........................................................................................................................................................506
ECN .............................................................................................................................................................506
Length ..........................................................................................................................................................506
TTL ..............................................................................................................................................................506
Protocol ........................................................................................................................................................506
Source IP Address .........................................................................................................................................506
Destination IP Address .................................................................................................................................506
ICMP Type/Code .........................................................................................................................................506
Source Port ...................................................................................................................................................506
Destination Port ...........................................................................................................................................506
TCP Flags .....................................................................................................................................................506
TCP Option .................................................................................................................................................506
TCP MSS .....................................................................................................................................................506
Command Line Syntax........................................................................................................................................507
Examples .............................................................................................................................................................509
43 SIP Profile Configuration................................................................................................................................. 510
Introduction ........................................................................................................................................................511
SIP Profile Configuration Task List.....................................................................................................................511
Entering the Configuration Mode for a SIP Profile .......................................................................................511
Mapping from a SIP Disconnect Cause ........................................................................................................511
Mapping to a SIP Cause ...............................................................................................................................512
Mapping from a SIP Redirection Reason ......................................................................................................512
Mapping to a SIP Redirection Code .............................................................................................................512
Autonomous Transitioning for SIP ...............................................................................................................512
44 SIP Tunneling Profile Configuration................................................................................................................ 513
Introduction ........................................................................................................................................................514
Intended Usage: X-Headers .................................................................................................................................514
Two Profiles per Message Flow............................................................................................................................514
Processing on the incoming Side .........................................................................................................................515
Processing on the outgoing Side ..........................................................................................................................515
Header Renaming................................................................................................................................................515
Practical examples of renaming .....................................................................................................................516
Commands..........................................................................................................................................................517
Excluded Headers................................................................................................................................................518
Caution for these headers ....................................................................................................................................519
24
Trinity Release 3.14.X Command Line Reference Guide
25
Trinity Release 3.14.X Command Line Reference Guide
26
Trinity Release 3.14.X Command Line Reference Guide
27
Trinity Release 3.14.X Command Line Reference Guide
28
Trinity Release 3.14.X Command Line Reference Guide
29
Trinity Release 3.14.X Command Line Reference Guide
30
Trinity Release 3.14.X Command Line Reference Guide
31
Trinity Release 3.14.X Command Line Reference Guide
32
Trinity Release 3.14.X Command Line Reference Guide
33
Trinity Release 3.14.X Command Line Reference Guide
34
Trinity Release 3.14.X Command Line Reference Guide
35
Trinity Release 3.14.X Command Line Reference Guide
36
Trinity Release 3.14.X Command Line Reference Guide
Subscription/Activation ...........................................................................................................................888
Invocation ...............................................................................................................................................888
Call Transfer .................................................................................................................................................890
Subscription/Activation ...........................................................................................................................891
Invocation ...............................................................................................................................................891
Conference ....................................................................................................................................................893
Subscription/Activation ...........................................................................................................................893
Invocation ...............................................................................................................................................895
Call Park .......................................................................................................................................................897
Subscription/Activation ...........................................................................................................................897
Invocation ...............................................................................................................................................897
Advice-of-Charge (AOC) Tax-Pulses ............................................................................................................899
Converting AOC Information into Tax-Pulses ........................................................................................899
Local Tax-Pulse Generation ....................................................................................................................901
67 FXO Interface Configuration ........................................................................................................................... 903
Introduction ........................................................................................................................................................904
Configuring when to dial (optional) ....................................................................................................................906
Configuring when to answer (optional) ...............................................................................................................907
68 PRI Port Configuration ................................................................................................................................... 909
Introduction ........................................................................................................................................................910
Terminology .................................................................................................................................................910
PRI Port Configuration task List .........................................................................................................................910
Enable/Disable PRI Port ...............................................................................................................................910
Configuring PRI Port-type ...........................................................................................................................911
Configuring PRI Clock-mode .......................................................................................................................911
Configuring PRI Line-code ...........................................................................................................................911
Configuring PRI Framing .............................................................................................................................912
Configuring PRI Line-Build-Out (E1T1 in T1 mode only) ..........................................................................912
Configuring PRI Application Mode (E1T1 only) .........................................................................................912
Configuring PRI LOS Threshold (E1T1 only) .............................................................................................913
Configuring PRI Encapsulation ....................................................................................................................913
Configuring PRI Encapsulation ....................................................................................................................913
PRI Debugging .............................................................................................................................................914
69 BRI Port Configuration ................................................................................................................................... 916
Introduction ........................................................................................................................................................917
BRI Port Configuration task List.........................................................................................................................917
Enable/Disable BRI Port ...............................................................................................................................917
Configuring BRI Clock-mode .......................................................................................................................917
Configuring BRI Power-Feed ........................................................................................................................918
Configure BRI Line-Termination .................................................................................................................918
Configuring BRI Encapsulation ....................................................................................................................918
BRI Debugging .............................................................................................................................................918
BRI Configuration Examples ........................................................................................................................919
37
Trinity Release 3.14.X Command Line Reference Guide
38
Trinity Release 3.14.X Command Line Reference Guide
39
List of Figures
40
Trinity Release 3.14.X Command Line Reference Guide
48 After all my WAN links go down, they never come back up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
49 Dynamic NAPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
50 Static NAPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
51 Dynamic NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
52 Static NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
53 DHCP-client and DHCP-server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
54 DNS relay diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
55 ManageEngine MibBrowser displaying some of the System Group objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
56 ManageEngine MibBrowser Settings Button on the Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
57 ManageEngine TrapViewer displaying received traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
58 ManageEngine Trap Details window of TrapViewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
59 PKI Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
60 Symmetric Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
61 Private/Public Key Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
62 Asymmetric Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
63 Certificate Enrollment Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
64 Self-signed Certificate Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
65 Example of Hierarchical Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
66 Conceptual view on the classifier; it groups packet flows of the same service . . . . . . . . . . . . . . . . . . . . . . . . . . 483
67 Mapping TOS/CoS to traffic-class and vice-versa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
68 Using traffic filters to prevent traffic from being routed to a network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
69 Deny a specific subnet on an interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
70 Deny traffic between two interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
71 Locations in the routing path where packets may be classified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
72 Two Profiles per Message Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
73 Renaming example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
74 VoIP profile association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
75 DTMF Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
76 Jitter and dejitter buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
77 Adaptive versus static dejitter buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
78 Multiple tandem and sequential post filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
79 Fax relay and Fax bypass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
80 Home office in an enterprise network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
81 PSTN profile association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
82 Echo Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
83 Applying output gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
84 Applying input gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
85 CS context configuration components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
86 Remote office in an Enterprise network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
87 Direct call routing from one Patton device to another . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
88 Patton device in an Enterprise network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
89 CS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
90 CS interfaces on the CS context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
91 Incoming call passing an interface mapping table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
92 Call passing an input and an output mapping table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
93 Assign tone-sets to a PSTN interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
94 Direct call routing vs. advanced call routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
95 Routing table outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
96 Mapping table outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
97 Mapping table examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
98 Hunt group service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
41
Trinity Release 3.14.X Command Line Reference Guide
42
List of Tables
1 General conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2 Essential System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
3 Regular Expression Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4 Error Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5 Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6 Bitwise Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
7 Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
8 Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
9 Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10 Logical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
11 Bitwise Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
12 Arithmetic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
13 Comparison Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
14 Set Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
15 Time/Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
16 Temporal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
17 Cellular modems supported by Trinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
18 Payload Rate Configuration Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
19 Supported payload rates per modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
20 Creating Bridge Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
21 Setting Various Bridge Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
22 Enable Filters on the Bridge-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
23 Set STP Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
24 Configure VLANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
25 Bind Resources to the Bridge-Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
26 Show Bridge-Group Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
27 Details available in the Trap Details window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
28 Command Line Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
29 ISDN number types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
30 Routing table types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
31 Wildcard symbols used as keys in E.164 tables (calling-e164, called-e164) . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
32 Examples of using wildcard symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
33 Mapping table types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
34 Hunt group drop causes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
35 Default SIP overload behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
36 Default keypad sequences to invoke FXS supplementary services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 872
37 Default settings for built-in and manually-created FXS profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
38 Country-Codes to select the FXS electrical standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931
39 Caller-ID standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
40 Connect and disconnect signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
41 Tax-Pulse Modulation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
42 FXS Port Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
43 Default settings for built-in and manually-created FXO profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
43
Trinity Release 3.14.X Command Line Reference Guide
44
About this guide
The objective of this Trinity Release 3.12 Command Line Reference Guide is to provide information concerning
the syntax and usage of the command set.
This section describes the following:
• Who should use this guide (see “Audience”)
• How this document is organized (see “Structure”)
• Typographical conventions and terms used in this guide (see “Typographical conventions used in this docu-
ment” on page 50)
Audience
This guide is intended for the following users:
• System administrators who are responsible for installing and configuring networking equipment and who
are familiar with the Trinity.
• System administrators with a basic networking background and experience, but who might not be familiar
with the Trinity.
• Operators
• Installers
• Maintenance technicians
Structure
This guide contains the following chapters and appendices:
• Chapter 1, “System Overview" on page 53 provides an overview of the main elements of a Trinity system.
• Chapter 2, “Configuration Concepts" on page 59 introduces basic Trinity configuration concepts.
• Chapter 3, “Command Line Interface (CLI)" on page 64 gives an overview of the CLI and the basic features
that enable you to navigate the CLI and edit commands effectively.
• Chapter 4, “Accessing the CLI" on page 69 describes the procedures for entering Trinity commands via the
command line interface (CLI) to obtain help, to change operator mode, and to terminate a session.
• Chapter 5, “Creating CLI Action Scripts" on page 81 describes how to create CLI action scripts that execute
on specific events (for example, link down on the IP interface).
45
Trinity Release 3.14.X Command Line Reference Guide
• Chapter 6, “System Image Handling" on page 86 describes how to load and maintain system images and
driver software.
• Chapter 7, “Configuration File Handling" on page 90 describes how to upload and download configuration
files from and to a Patton device.
• Chapter 8, “System Licensing" on page 100 describes how to configure system licensing in Trinity.
• Chapter 9, “AAA Configuration" on page 128 provides an overview of configuring TACACS+.
• Chapter 10, “Basic System Management" on page 145 describes parameters that report basic system infor-
mation to the operator or administrator, and their configuration.
• Chapter 11, “Programmable System-Event Configuration" on page 158 describes how to use programmable
system events in Trinity.
• Chapter 12, “Alarm Management" on page 191 describes how to configure the alarm subsystem.
• Chapter 13, “Auto Provisioning of Firmware and Configuration" on page 194 provides an overview of Trin-
ity’s Auto Provisioning capabilities and tasks involved to configure it.
• Chapter 14, “Ethernet Port Configuration" on page 206 provides an overview of Ethernet ports and
describes the tasks involved in their configuration through Trinity.
• Chapter 15, “Configuring a Cellular Modem" on page 214 describes how to configure a cellular modem.
• Chapter 16, “Hardware Switching" on page 222 provides an overview of devices with an internal switch for
connecting with external ports.
• Chapter 17, “DSL Port Configuration" on page 257 provides an overview of the DSL ports, their character-
istics and the tasks involved in the configuration.
• Chapter 18, “Context Bridge" on page 285 describes how to configure bridging with Ethernet ports.
• Chapter 19, “Spanning Tree Configuration" on page 289 provides an overview of how to configure classic,
rapid, and multiple spanning tree protocol.
• Chapter 20, “PPP Configuration" on page 295 describes how to configure the point-to-point protocol over
different link layers.
• Chapter 21, “IP Context Overview" on page 305 outlines Trinity Internet protocol (IP) context, together
with its related components.
• Chapter 22, “IP Interface Configuration" on page 314 provides a general overview of Patton device inter-
faces and describes the tasks involved in their configuration.
• Chapter 23, “IP Routing" on page 325 provides an overview of IP routing and describes the tasks involved
in configuring static IP routing in Trinity.
• Chapter 24, “Internet Protocol Security (IPsec) Configuration" on page 339 gives an overview of the Inter-
net Protocol Security (IPsec), and describes how to use IPsec commands to configure Trinity.
• Chapter 25, “Layer 2 Transport Protocol (L2TP) Configuration" on page 355 gives an overview of the
Layer 2 Transport Protocol (L2TP), and describes how to use L2TP commands to configure Trinity.
• Chapter 26, “OpenVPN Configuration" on page 366 describes how to configure an OpenVPN tunnel in
Trinity.
• Chapter 27, “Generic Routing Encapsulation (GRE) Configuration" on page 377 describes how to config-
ure generic routing encapsulation (a GRE tunnel) in Trinity.
• Chapter 28, “Border Gateway Protocol (BGP) Configuration" on page 382 gives an overview of the Border
Gateway Protocol (BGP), and describes how to use BGP commands to configure Trinity.
46
Trinity Release 3.14.X Command Line Reference Guide
• Chapter 29, “Virtual Router Redundancy Protocol (VRRP) Configuration" on page 394 gives an overview
of the Virtual Router Redundancy Protocol (VRRP), and describes how to use VRRP commands to config-
ure Trinity.
• Chapter 30, “Load Balancing and Failover Configuration" on page 403 describes how to implement load
balancing and failover.
• Chapter 31, “Fast-Path" on page 415 explains how to use the new Fast Path feature to speed-up the routing
performance of Trinity devices.
• Chapter 32, “NAT/NAPT Configuration" on page 418 provides a general overview of the network address
port translation and describes the tasks involved in its configuration.
• Chapter 33, “DHCP Configuration" on page 426 provides an overview of the Dynamic Host Configuration
Control Protocol (DHCP) and describes the tasks involved in its configuration.
• Chapter 34, “DNS Configuration" on page 432 describes how to configure the domain name system
(DNS) component.
• Chapter 35, “SNTP Client Configuration" on page 436 describes how to configure a simple network time
protocol (SNTP) client.
• Chapter 36, “SNMP Configuration" on page 439 provides overview information about the simple network
management protocol (SNMP) and describes the tasks used to configure those of its features supported
by Trinity.
• Chapter 37, “Public-Key Infrastructure (PKI)" on page 454 provides an overview on how to set up the pub-
lic-key infrastructure (PKI) on a Patton device.
• Chapter 38, “Profile Service-Policy Configuration" on page 469 describes how to use and configure service-
policy profiles.
• Chapter 39, “Quality of Service (QoS) Overview" on page 482 provides an overview of the core principles
of Trinity’s Quality-of-Service architecture.
• Chapter 40, “Access Control List Configuration" on page 486 provides an overview of IP Access Control Lists
(ACLs) and describes the tasks involved in configuring them.
• Chapter 41, “Classifier Configuration" on page 496 provides an overview of Trinity’s packet classifier and
describes the tasks involved in its configuration.
• Chapter 42, “Packet Matching" on page 504 lists the criteria that may be used to match packets and speci-
fies the command line syntax.
• Chapter 43, “SIP Profile Configuration" on page 510 describes the SIP profile, which specifies disconnect
cause mappings from SIP codes to Q.931 causes, and vice versa.
• Chapter 44, “SIP Tunneling Profile Configuration" on page 513 describes configuring the SIP tunneling
profile, which allows tunneling of SIP headers from SIP to SIP calls.
• Chapter 45, “VoIP Profile Configuration" on page 521 provides an overview of VoIP profiles, and describes
how they are used and the tasks involved in VoIP profile configuration.
• Chapter 46, “PSTN Profile Configuration" on page 546 provides an overview of PSTN profiles, and
describes how they are used and the tasks involved in PSTN profile configuration.
• Chapter 47, “CS Context Overview" on page 550 provides an overview of the circuit-switching (CS) con-
text and associated components, and describes the tasks involved in its configuration.
• Chapter 48, “CS Interface Configuration" on page 572 provides an overview of interfaces in the CS context
and describes the tasks involved in their configuration.
47
Trinity Release 3.14.X Command Line Reference Guide
• Chapter 49, “Tone Configuration" on page 581 provides an overview of call-progress-tone profiles and
tone-set profiles, and describes the tasks involved in their configuration.
• Chapter 50, “Authentication Service" on page 588 describes how to configure authentication services
in Trinity.
• Chapter 51, “Location Service" on page 591 describes how to configure location services in Trinity.
• Chapter 52, “Call Router Configuration" on page 612 provides an overview of call router tables, mapping
tables and call services and describes the tasks involved in configuring the call router in Trinity.
• Chapter 53, “Global SIP Configuration" on page 687 describes the Trinity commands available under the
global SIP configuration mode.
• Chapter 54, “SIP Overload Configuration" on page 691 describes how to configure the Trinity device's
behavior in case of an overload situation.
• Chapter 55, “SIP Interface Configuration" on page 700 provides an overview of SIP interfaces used by con-
text SIP gateways and describes the specific tasks involved in their configuration.
• Chapter 56, “SIP Survivability" on page 721 describes how to set up the SIP survivability agent that is built
into the Patton device.
• Chapter 57, “TLS Configuration for SIP" on page 738 provides overviews and describes the tasks involved
in configuring Trinity’s Transport Layer Security (TLS) capabilities for SIP, and Trinity’s Secure Real-Time
Prtotocol (SRTP) capabilities.
• Chapter 58, “TLS Configuration for Lync" on page 769 explains how to integrate a Patton VoIP gateway to
a Microsoft Lync network.
• Chapter 59, “Secure SIP Applications" on page 786 discusses different Transport Layer Security (TLS) and
Secure Real-Time Protocol (SRTP) scenarios and provides the configuration snippets to set up the Patton
device for them.
• Chapter 60, “Secure Real-Time Protocol (SRTP) Configuration" on page 795 provides an overview of Trin-
ity’s SRTP capabilities and describes the tasks involved in configuring it.
• Chapter 61, “SIP Call-router Services" on page 801 contains the description of all SIP specific call router
services, which are only available if the software includes the SIP component.
• Chapter 62, “Context SIP Gateway Overview" on page 807 provides an overview of the context
SIP gateway.
• Chapter 63, “ISDN Overview" on page 823 provides an overview of ISDN ports and describes the tasks
involved in configuring ISDN ports.
• Chapter 64, “ISDN Configuration" on page 828 describes the configuration of the Q.921 and Q.931 pro-
tocol and how to bind the ISDN protocol to an application like the Call Control.
• Chapter 65, “ISDN Interface Configuration" on page 837 provides an overview of ISDN interfaces, and
the tasks involved in their configuration.
• Chapter 66, “FXS Interface Configuration" on page 854 provides an overview of FXS interfaces, and the
tasks involved in their configuration.
• Chapter 67, “FXO Interface Configuration" on page 903 provides an overview of FXO interfaces and the
tasks involved in their configuration.
• Chapter 68, “PRI Port Configuration" on page 909 provides an overview of the PRI (Primary Rate Inter-
face) ports, their characteristics and the tasks involved in the configuration.
48
Trinity Release 3.14.X Command Line Reference Guide
• Chapter 69, “BRI Port Configuration" on page 916 provides an overview of the BRI (Basic Rate Interface)
ports, their characteristics and the tasks involved in their configuration.
• Chapter 70, “FXS Port Configuration" on page 921 provides an overview of POTS signaling (Plain Old
Telephone System) and describes the tasks involved in configuring FXS ports in Trinity.
• Chapter 71, “FXO Port Configuration" on page 942 provides an overview of POTS signaling (Plain Old
Telephone System) and describes the tasks involved in configuring FXO ports in Trinity.
• Chapter 72, “SFP Port Configuration" on page 958 chapter provides an overview of SFP ports and
describes the tasks involved in configuring them through the Trinity operating system.
• Chapter 73, “Debug and Monitoring" on page 961 describes how to debug VoIP sessions, including the sig-
naling part and the voice data path part (speech, fax, and modem connectivity).
• Chapter 74, “Contacting Patton for Assistance" on page 979 describes how to contact Patton technical sup-
port for assistance, and contains information about the warranty and obtaining a return merchandise autho-
rization (RMA).
• Appendix A, “Trinity Architecture Terms and Definitions" on page 982 contains terms and definitions that
are used in this Trinity Software Configuration Guide.
• Appendix B, “Command Summary" on page 988 is a command reference.
• Appendix C, “Glossary of Terms" on page 991 is the glossary of terms.
49
Trinity Release 3.14.X Command Line Reference Guide
Precautions
The following are used in this guide to help you become aware of potential problems:
IMPORTANT
General conventions
In this guide we use certain typographical conventions to distinguish elements of commands and examples. In
general, the conventions we use conform to those found in IEEE POSIX publications. The procedures
described in this manual use the following text conventions:
50
Trinity Release 3.14.X Command Line Reference Guide
Alternate Patton support for Europe, Middle East, and Africa (EMEA)
• Online support: Available at www.patton-inalp.com
• E-mail support: E-mail sent to support@patton-inalp.com will be answered within 1 business day
• Telephone support: Standard telephone support is available five days a week—from 8:00 am to
5:00 pm CET (0900 to 1800 UTC/GMT)—by calling +41 (0)31 985 25 55
• Fax: +41 (0)31 985 25 26
Note If you purchased your equipment from a Patton Electronics reseller, ask your
reseller how you should proceed with warranty service. It is often more con-
venient for you to work with your local reseller to obtain a replacement.
Patton services our products no matter how you acquired them.
Warranty coverage
Our products are under warranty to be free from defects, and we will, at our option, repair or replace the prod-
uct should it fail within one year from the first date of shipment. Our warranty is limited to defects in work-
manship or materials, and does not cover customer damage, lightning or power surge damage, abuse, or
unauthorized modification.
RMA numbers
RMA numbers are required for all product returns. You can obtain an RMA by doing one of the following:
• Completing a request on the RMA Request page in the Support section at www.patton.com
• By calling +1 (301) 975-1007 and speaking to a Technical Support Engineer
• By sending an e-mail to returns@patton.com
All returned units must have the RMA number clearly visible on the outside of the shipping container. Please use
the original packing material that the device came in or pack the unit securely to avoid damage during shipping.
Shipping instructions
The RMA number should be clearly visible on the address label. Our shipping address is as follows:
Patton Electronics Company
RMA#: xxxx
7622 Rickenbacker Dr.
Gaithersburg, MD 20879-4773 USA
Patton will ship the equipment back to you in the same manner you ship it to us. Patton will pay the return
shipping costs.
Chapter contents
Introduction ..........................................................................................................................................................54
Trinity embedded software ....................................................................................................................................55
Applications ..........................................................................................................................................................55
Carrier networks .............................................................................................................................................56
Enterprise networks ........................................................................................................................................56
LAN telephony ...............................................................................................................................................57
53
Trinity Release 3.14.X Command Line Reference Guide 1 • System Overview
Introduction
This chapter provides an overview of the main elements of a Patton device system.
A complete Patton device system or network, as installed in any of the application scenarios introduced in sec-
tion “Applications” on page 55, is typically composed of the following main elements plus a third-party net-
work infrastructure:
• The first and most obvious element is the Patton devices (also referred to as hardware platforms or network
devices) that provide the physical connectivity, the CPU and DSP resources. Some Patton device models
support packet-routed and circuit-switched traffic, others do not.
• The second element comprises the embedded software—called Trinity—running on the Patton device hard-
ware platforms.
• Finally, a third-party IP network and transmission infrastructure provides IP connectivity between the above
elements. This infrastructure can range from a simple Ethernet hub or switch to highly complex networks
including multiple access technologies, backbone transmission, and service devices.
Figure 1 depicts the basic system model of a Patton device. Patton VoIP + Router devices have the following
main components:
• 64k circuit switching between on-board ISDN ports and between ISDN and PSTN interface cards. The
circuit switching engine uses dedicated hardware resources and therefore can bypass the VoIP gateway and
packet routing engine.
• A gateway (GW) that converts telephone circuits into Internet protocol (IP) packet streams and vice versa.
SIP-compliant and SIP Voice over IP (VoIP) is supported.
• An IP router with on-board ports and optional data interface cards is QoS enabled, thereby allowing classi-
fication, shaping, and scheduling of multiple service classes.
Patton Router-only devices have the following main components:
• Physical data ports: Ethernet, DSL, Wifi, Cellular Modem, etc.
• Routing Core
• Firewall
• NAT
For more detailed hardware information, refer to the getting started guide that came with your Patton sys-
tem.
Introduction 54
Trinity Release 3.14.X Command Line Reference Guide 1 • System Overview
Applications
The Patton product family consists of highly flexible multi-service IP network devices, which fit a range of net-
working applications. This section provides an overview of the following Patton device applications and the
main elements in a Patton network.
• Carrier networks—Patton devices are used as customer gateways or integrated access devices at the customer
premises. These applications are also called Integrated Service Access (ISA).
• Enterprise networks—Patton devices are used as WAN routers and voice gateways for inter-site networking.
These applications are also called multiservice intranets (MSI).
• LAN telephony—Patton devices serve as gateways between the LAN and the local PBX or PSTN access.
These applications are also called LAN voice gateway (LVG).
Carrier networks
The network termination (NT) device in a multi-service IP based provider network plays a vital role. It pro-
vides the service access point for the subscriber with respect to physical connectivity and protocol interoperabil-
ity.
Since the access bandwidth in most cases represents a network bottleneck, the NT must also ensure traffic clas-
sification and the enforcement of service level agreements (SLA) on the access link. In broadband access net-
works, this NT is also called an Integrated Access Device (IAD) or customer gateway.
Patton products offer unique features as customer gateways for business services. It provides amongst others full
ISDN feature support, local switching and breakout options and mass provisioning support.
1 2 3
4 5 6
7 8 9
* 0 #
PSTN
1 2 3
GW
Subscriber PBX
4 5 6
7 8 9
* 0 #
Internet
Subscriber LAN
Figure 2 shows the deployment of Patton devices in carrier networks. Each subscriber site is equipped with a
Patton device that connects the subscriber LAN on one side with the provider network and services on the
other.
Typical services in these networks are softswitch-based telephony, PSTN access through V5.2 gateways, PBX
networking services, and LAN interconnection.
Typical access technologies for these networks include xDSL, WLL, PowerLine, cable and conventional leased
lines. With the use of an external modem, the device can connect to leased lines or any bridged-Ethernet
broadband access.
Enterprise networks
In company-owned and operated wide area networks, Patton devices can be used to converge voice and data
communications on the same IP link. In combination with centralized services such as groupware and unified
messaging, Patton devices provide migration and investment protection for legacy telephony systems.
Applications 56
Trinity Release 3.14.X Command Line Reference Guide 1 • System Overview
1 2 3 1 2 3
4 5 6 4 5 6
7 8 9 7 8 9
* 0 # * 0 #
PSTN PSTN
1
4
7
2
5
8
3
6
9
Carrier A Carrier B 1
4
7
2
5
8
3
6
9
* 0 # * 0 #
Figure 3 shows the deployment of Patton devices in enterprise networks. Each site (headquarter, branch or
home office) is equipped with a Patton device that connects the local LAN and telephony infrastructure with
the IP WAN and the local PSTN carrier.
LAN telephony
With its voice-over-IP gateway features, the Patton device can be used as a standalone gateway for VoIP tele-
phony (see figure 4).
A standalone gateway has performance reliability and scalability advantages compared with PC-based gateway
cards. In this application, the Patton device also offers a migration path to enterprise or carrier networking.
Figure 4 shows the deployment of a Patton device as a LAN voice gateway.
The PSTN connections can be scaled from a single ISDN basic rate access to multiple primary rate lines. With
Q.SIG, integration in private PBX networks is also supported.
Applications 57
Trinity Release 3.14.X Command Line Reference Guide 1 • System Overview
PSTN
IP-PBX
LAN Node
IP Phones
Applications 58
Chapter 2 Configuration Concepts
Chapter contents
Introduction ..........................................................................................................................................................60
Contexts and Gateways..........................................................................................................................................61
Context ...........................................................................................................................................................61
Gateway ..........................................................................................................................................................61
Interfaces, Ports, and Bindings ..............................................................................................................................62
Interfaces ........................................................................................................................................................62
Ports and circuits ............................................................................................................................................62
Bindings .........................................................................................................................................................62
Profiles and Use commands...................................................................................................................................63
Profiles ............................................................................................................................................................63
Use Commands ..............................................................................................................................................63
59
Trinity Release 3.14.X Command Line Reference Guide 2 • Configuration Concepts
Introduction
This chapter introduces basic Trinity configuration concepts. A good understanding of these concepts is vital
for the configuration tasks explained in the remaining chapters of this guide.
Patton strongly recommends that you read through this chapter because it introduces the fundamental ideas
behind the structure of the command line interface. Once you understand and know this structure, you will
find it much more intuitive to navigate through the CLI and configure specific features.
This chapter includes the following sections:
• Contexts and gateways (see page 61)
• Interfaces, ports, and bindings (see page 62)
• Profiles and Use commands (see page 63)
Patton devices are multi-service network devices that offer high flexibility for the inter-working of circuit-
switched and packet-routed networks and services. In order to consistently support a growing set of functions,
protocols, and applications, Trinity configuration is based on a number of abstract concepts that represent the
various Trinity components.
Context
Gateway SIP-
Gateway
“SIP”
bind
use command
command bind
command
use command
use command
VoIP VoIP
Service Profile Profile
NAPT Context Context
Contexts Policy
Profile IP CS
Profile Tone- Tone-
“ROUTER” “SWITCH”
Interfaces Set Set
Profile Profile
ACL
Profile bind command
bind command
Context
Bridge Context bind command bind command
Bridge- Switch-
Contexts Group
Group
“BR” “SG”
Interfaces
VLAN Ethernet
Circuit
Telephone Port
Telephone Port
Ethernet
Ethernet
Ports
Figure 5 shows the various elements of a complete Patton device configuration. Each of these elements imple-
ments one of the configuration concepts described in this chapter. The figure also shows the relationships and
Introduction 60
Trinity Release 3.14.X Command Line Reference Guide 2 • Configuration Concepts
associations between the different elements. The relations are specified through bind (arrow) and use (bullet-
lines) commands. For example, you need bind commands to bind a physical port to a logical interface, and use
commands to assign profiles to contexts.
The sections that follow refer to figure 5 on page 60 and describe the concepts and elements in more
detail.
Context
A context represents one specific networking technology or protocol, namely IP (Internet Protocol) or CS (cir-
cuit-switching). A context can be seen as virtual dedicated equipment within the Patton device. For example:
• A CS context contains the circuit-switching functions of the Patton device. It can be thought of as an
embedded multiplexer or cross-connect within the device
• An IP context contains the routing functions of the Patton device. It can be thought of as an embedded
router within the device
• A Bridge context contains the bridging functions of the Patton device at the CPU layer. Software bridging
and bridge management is configured within.
• A Switch-group context contains the bridging functions of the Patton device at the hardware layer.
The contexts are identified by a name and contain the configuration commands that are related to the technology
they represent. A separate configuration can be built by means of the context concept for newly supported net-
work layer technologies without complicating the configuration methods of existing features. For example, as
ATM or FR switching becomes available so an ATM or FR context can be introduced.
Each context contains a number of interfaces, which build the connections to other Trinity elements and the
outside world. Figure 5 on page 60 shows four contexts:
• one type IP named router
• one type CS named switch
• one type Bridging
• one type of Switch-group
Note Trinity currently supports only one instance of the CS and IP context types.
Example
The IP context named router can contain static routes, RIP, and NAT configuration parameters. The default
circuit-switching context named switch can contain number translations, local breakout conditions, and least-
cost routing parameters.
Gateway
The concept of a gateway is introduced for the communication between contexts of different types. A gateway
handles connections between different technologies or protocols. For example, a VoIP gateway connects an IP
context to a circuit-switching context.
The gateways are each of a specific type and are identified by a name. Each named gateway contains its config-
uration parameters. With this concept, multiple virtual gateways can be instantiated and used at the same time.
Bindings
Bindings form the association between circuits or ports and the interfaces configured on a context. No user
data can flow on a circuit or Ethernet port until some higher-layer service is configured and associated with it.
Bindings are configured statically in the port or circuit configuration. The binding is created bottom-up, that is
from the port to the interface.
In the case of VoIP CS interfaces, bindings are configured statically in the CS interface configuration. The
binding is created from the interface to the gateway.
Bindings from ports to interfaces shown in figure 5 on page 60.
Use Commands
Use commands form the association between profiles and contexts, gateways, or interfaces. For example, when
a profile is used in a context, all the configuration settings in that profile become active within the context.
Chapter contents
Introduction ..........................................................................................................................................................65
Command modes ..................................................................................................................................................65
CLI prompt ....................................................................................................................................................65
Navigating the CLI .........................................................................................................................................65
Initial mode ..............................................................................................................................................65
System changes ..........................................................................................................................................66
Configuration ...........................................................................................................................................66
Changing Modes .......................................................................................................................................66
Command editing .................................................................................................................................................66
Command help ...............................................................................................................................................66
The No Form .................................................................................................................................................66
Command completion ....................................................................................................................................66
Command history ...........................................................................................................................................67
Command Editing Shortcuts ..........................................................................................................................67
Timed Execution of CLI Command ...............................................................................................................67
64
Trinity Release 3.14.X Command Line Reference Guide 3 • Command Line Interface (CLI)
Introduction
The primary user interface to Trinity is the command line interface (CLI). You can access the CLI via the Pat-
ton device console port or through a Telnet or SSH session. The CLI lets you configure the complete Trinity
functionality. You can enter CLI commands online or as a configuration script in the form of a text file. The
CLI also includes monitoring and debugging commands. CLI commands are simple strings of keywords and
user-specified arguments.
This chapter gives an overview of the CLI and the basic features that allow you to navigate the CLI and edit
commands effectively. The following topics are covered:
• Command Modes
• Command Editing (see page 66)
Command modes
The CLI is composed of modes. There are three mode groups: the operator, the administrator mode and the con-
figure mode. The configuration mode group contains all of the remaining modes. A command mode is an envi-
ronment within which a group of related commands is valid. All commands are mode-specific, and certain
commands are valid in more than one mode. A command mode provides command line completion and con-
text help within the mode. The command modes are organized hierarchically. The current working mode is
indicated by the CLI prompt.
CLI prompt
For interactive (online) sessions, the system prompt is displayed as:
devicename>
In the administrator exec mode and in the different configuration modes, the system prompt is displayed as:
devicename(mode)device#
Where:
• devicename is the currently configured name of the Patton device, the IP address or the hardware type of the
device that is being configured
• mode is a string indicating the current configuration mode, if applicable.
• name is the name of the instance of the current configuration mode
Initial mode
When you initiate a session, you can log in with operator or administrator privileges. Whichever login you use,
the CLI is always set to operator exec (non-privileged exec) mode by default upon startup. This mode allows
you to examine the state of the system using a subset of the available CLI commands.
Introduction 65
Trinity Release 3.14.X Command Line Reference Guide 3 • Command Line Interface (CLI)
System changes
In order to make changes to the system, the administrator exec (privileged exec) mode must be entered. The
enable user interface command is used for this purpose (the enable command is only accessible if you are
logged in as an administrator). Once in administrator exec mode, all of the system commands are available to
you.
Configuration
To make configuration changes, the configuration mode must be entered by using the configure command in
the administrator exec mode.
Changing Modes
The exit command moves the user up one level in the mode hierarchy (the same command works in any of
configuration modes).
The exit command terminates a CLI session when typed from the operator exec mode.
A session can also be terminated by using the logout command within any mode.
Command editing
Command help
To see a list of all CLI commands available within a mode, type a question mark <?> or the <tab> key at the
system prompt in the mode of interest. A list of all available commands is displayed. Commands that have
become available in the current mode are displayed at the bottom of the list, separated by a line. Commands
from higher hierarchy levels are listed at the top.
You can also type the question mark or the <tab> key while in the middle of entering a command. Doing so
displays the list of allowed choices for the current keyword in the command. Liberal use of the question mark
functionality is an easy and effective way to explore the command syntax.
The No Form
Almost every command supports the keyword no. Typing the no keyword in front of a command disables the
function or “deletes” a command from the configuration. For example, to enable the DHCP server trace tool,
enter the command debug dhcp-server. To subsequently disable the DHCP server trace, enter the command
no debug dhcp-server.
Command completion
You can use the <tab> key in any mode to carry out command completion. Partially typing a command name
and pressing the <tab> key causes the command to be displayed in full up to the point where a further choice
has to be made. For example, rather than typing configure, typing conf and pressing the <tab> key causes the
CLI to complete the command at the prompt. If the number of characters is not sufficient to uniquely identify
the command, the CLI will provide a list with all commands starting with the typed characters. For example, if
you enter the string co in the configure mode and press <tab>, the selections configure, copy, and context are
Command editing 66
Trinity Release 3.14.X Command Line Reference Guide 3 • Command Line Interface (CLI)
displayed. The CLI may be configured to automatically complete commands without pressing the <tab> key.
This will only happen if a unique completion option exists.
Command Purpose
[no] cli auto-completion Enable or disable CLI automatic command completion.
Command history
Trinity maintains a list of previously entered commands that you can go through by pressing the <up-arrow>
and <down-arrow> keys, and then pressing <enter> to enter the command. The show history command dis-
plays a list of the commands you can go through by using the arrow keys.
Keyboard Description
<Ctrl>-<p> or <up-arrow> Recall previous command in the command history.
<Ctrl>-<n> or <down-arrow> Recall next command in the command history.
<right-arrow> Move cursor forward one character.
<left-arrow> Move cursor backward one character.
<Esc>-<f> Move cursor forward one word.
<Esc>-<b> Move cursor backward one word.
<Ctrl>-<a> Move cursor to beginning of line.
<Ctrl>-<e> Move cursor to end of line.
<Ctrl>-<k> Delete to end of line.
<Ctrl>-<u> Delete to beginning of line.
<Ctrl>-<d> Delete character.
<Ctrl>-<c> Quit editing the current line.
<Ctrl>-<v> Insert a code to indicate to the system that the keystroke immediately
following should be treated as normal text, not a CLI command.
For example, pressing the question mark <?> character in the CLI
prints a list of possible tokens. If you want to use the “?” in a configura-
tion command, e.g. to enter a regular expression, press Ctrl-v immedi-
ately followed by the question mark <?>.
Command editing 67
Trinity Release 3.14.X Command Line Reference Guide 3 • Command Line Interface (CLI)
if they have been created with the volatile option. It is possible to specify for each timer the start time and the
reoccurrence. Use the CLI help (tab completion) for detailed description of all configuration options.
Example:
timer FIRMWARE_UPDATE now + 2 minutes every 10 minutes “provisioning execute FIRM-
WARE”
Starts a timer named FIRMWARE_UPDATE, whose first execution time is 2 minutes after the command is
entered (2 minutes after device startup if the command is in the startup-configuration), and is executed every
10 minutes afterwards. This timer does not expire. The executed CLI command is provisioning execute FIRM-
WARE.
As there are many possibilities to configure the timer time specification, here are some practical examples:
timer MYTIMER every day "command"
Will execute the command "command" every day at the same time.
timer MYTIMER oct 9th 2019 "command"
Will execute the command "command" in 2 minutes and then every month at the same hour.
Mode: configure
Command editing 68
Chapter 4 Accessing the CLI
Chapter contents
Introduction ..........................................................................................................................................................70
Accessing the Trinity CLI task list .........................................................................................................................70
Accessing via the console port .........................................................................................................................71
Console port procedure .............................................................................................................................71
Accessing via a secure configuration session over SSH .....................................................................................71
Accessing via a Telnet session ....................................................................................................................72
Telnet Procedure .......................................................................................................................................72
Using an alternate TCP listening port for the Telnet or SSH server ................................................................72
Disabling the Telnet or SSH server .................................................................................................................72
Logging on ......................................................................................................................................................72
Selecting a secure password .............................................................................................................................73
Password encryption .......................................................................................................................................74
Factory preset superuser account ...............................................................................................................74
Configuring operators, administrators, and superusers ....................................................................................74
Creating an operator account ....................................................................................................................74
Creating an administrator account ............................................................................................................75
Creating a superuser account .....................................................................................................................76
Displaying the CLI version .............................................................................................................................77
Displaying account information ......................................................................................................................77
Checking identity and connected users ...........................................................................................................77
Command index numbers ...............................................................................................................................78
Ending a Telnet, SSH or console port session .................................................................................................80
69
Trinity Release 3.14.X Command Line Reference Guide 4 • Accessing the CLI
Introduction
Patton products are designed for remote management and volume deployment. The management and configu-
ration of Patton devices is therefore based on IP network connectivity. Once a Patton device is connected to,
and addressable in, an IP network, you can remotely perform all configuration, management, and maintenance
tasks.
This chapter describes the procedures for entering Trinity commands via the command line interface (CLI), to
obtain help, to change operator mode, and to terminate a session. You can access a Patton device as follows:
• Directly, via the console port (if available)
• Remotely, via the IP network (by using a Telnet or SSH application)
The ports available for connection and their labels are shown in the getting started guide that came with your
unit. Remember that the CLI supports a command history and command completion. By scrolling with the
up and down arrow keys, you can find many of your previously entered commands. Another time-saving tool
is command completion. If you type part of a command and then press the <tab> key, the Trinity shell will
present you with either the remaining portion of the command or a list of possible commands. These features
are described in Chapter 3, “Command Line Interface (CLI)” on page 64. The telnet and SSH server can be
disabled if desired.
Although Trinity supports concurrent sessions via SSH or the
console port, we do not recommend working with more than
one session to configure a specific Patton device. However,
IMPORTANT using one session for configuration and another for debugging
is a good idea.
Introduction 70
Trinity Release 3.14.X Command Line Reference Guide 4 • Accessing the CLI
Host
Note You do not need to configure IP settings if you access the Patton device via
the console port.
Note The copy tftp and http functions are still insecure!
The SSH Transport Layer supports the following Algorithms: “ssh-rsa” or ‘ssh-dsa” public key for signing, “dif-
fie-hellmann-group1-sha1” and “diffie-hellmann-group14-sha1” for key exchange, “3des-cbc”, “aes256-cbc”
and “aes128-cbc” for encryption, “hmac-sha1” and “hmac-md5” for data integrity. For user authentication,
only the method “password” is supported. On the Connection Layer, only the request for an interactive com-
mand shell is supported. After the first startup of Trinity, the RSA or DSA server host key is going to be calcu-
lated. The RSA or DSA server host key is calculated only once and always remains the same.
Mode: Configure
Note If the IP configuration of the Ethernet port (LAN port) is not known or is
incorrectly configured, you will have to use the console interface.
Telnet Procedure
Before you begin to use the CLI to input configuration commands, do the following:
1. Set up the Patton device as described in the getting started guide included with your device.
2. Connect the host (PC) or hub to the Patton device as described in the getting started guide.
3. Power on your device and wait until the Run LED lights.
4. Open a Telnet session to the IP address shown in the getting started guide.
5. Proceed with logging in.
Using an alternate TCP listening port for the Telnet or SSH server
The following command defines an alternate listening port for the telnet or SSH server.
Mode: Configure
Logging on
Accessing your Patton device via the local console port or via a Telnet session opens a login screen. The follow-
ing description of the login process is based on a Telnet session scenario but is identical to that used when
accessing via the local console port.
The opening Telnet screen you see resembles that shown below. The window header bar shows the IP address
of the target Patton device.
A factory preset superuser account with name admin and an empty password is available when you first access
the unit. For that reason, use the name admin after the login prompt and simply press the <enter> key after the
password prompt.
$ telnet 172.16.54.79
Trying 172.16.54.79…
Connected to 172.16.54.79.
Escape character is '^]'.
Trinity >
Upon logging in you are in operator execution mode, indicated by the “>” as command line prompt. Now you
can enter system commands.
Note Details on the screen, such as the IP address in the system prompt and win-
dow header bar, may be different on your unit.
Password encryption
Unencrypted passwords can be stolen by hackers using protocol analyzers to scan packets or by examining the
configuration file—to protect against that type of theft, Trinity encrypts passwords by default. Encryption pre-
vents the password from being readable in the configuration file.
• Plain text
• Encrypted text (for example, the password mypassword always appears in encrypted form as HUAvCYeILW-
Zz3hQvS0IEpQ== encrypted when doing a show command)
The command show running-config always displays the passwords in encrypted format. To encrypt a pass-
word, enter the password in plain format and retrieve the encrypted format from the running-config or store it
permanently into the startup-config (with the command copy running-config startup-config).
A web wizard account is a user that can only configure the system using Web Wizards. It cannot do software
upgrades nor manage wizards files or configuration files. A Web Wizard account can be created via the CLI as
follow:
Mode: Configure
The following example shows how to add a new superuser account with a login name super and a matching
password Gh3*Ke4h.
device>enable
device#configure
device(cfg)#superuser super password Gh3*Ke4h
device(cfg)#copy running-config startup-config
Commands that make use of index numbers always show the index in the running config. However, the index
can be omitted when entering the command. If you enter such a command with an index, it is inserted into list
at the position defined by the index. If you enter such a command without an index, it is placed at the bottom
of the list. Also, you can change a commands position in a listing (moving it up or down in the list) by chang-
ing its index number.
Example 1: Moving the G.723 codec from position 3 in the list to position 1 at the top of the list.
Listing before changing the G.723 codec index number:
profile voip DEFAULT
codec 1 g711ulaw64k rx-length 20 tx-length 20
codec 2 g711alaw64k rx-length 20 tx-length 20
codec 3 g723-6k3 rx-length 30 tx-length 30
dejitter-max-delay 200
...
After confirming the dialog with “yes”, the Telnet session is terminated.
Note Using the command exit in the operator execution mode also terminates a
Telnet or console port session, but without any confirmation dialog.
Chapter contents
Introduction ..........................................................................................................................................................82
Action Script Task List ..........................................................................................................................................82
Creating an Action Script ................................................................................................................................82
Conditions .....................................................................................................................................................82
Context CS Events ....................................................................................................................................83
SIP Interface Events ..................................................................................................................................83
Context IP Events .....................................................................................................................................83
SIP Gateway Events ..................................................................................................................................84
System NTP Events ..................................................................................................................................84
System Timer Events .................................................................................................................................84
Actions ...........................................................................................................................................................85
81
Trinity Release 3.14.X Command Line Reference Guide 5 • Creating CLI Action Scripts
Introduction
Trinity’s event-driven user-programmed hook system allows users to create a specific CLI script to execute on a
specific event (for example, link down on the IP interface).
Conditions
There can be more than one condition per rule. The rule will be executed each time one of the conditions
match the event. This gives the possibility to trigger an Action Script by several events. All events are deferred
until the startup-config is parsed to avoid any error due to partial configuration parsing.
Mode: actions
Introduction 82
Trinity Release 3.14.X Command Line Reference Guide 5 • Creating CLI Action Scripts
Context CS Events
Triggers an action script based on ISDN Interface state change, i.e when ISDN interface is up or down.
Context IP Events
Triggers an action script based on IP address state change, i.e when IP address/interface is up or down.
Note A system timer must already be configured in order to execute the com-
mands below. See Chapter 7, section “Timed Execution of CLI Com-
mand” for more information.
Mode: actions
Mode: configure
Actions
Defines a CLI Command script that will be executed when the condition events occur.
Mode: actions
Example:
[node](act)[rule1]# action “port bri 0 0”
[node](act)[rule1]# action shutdown
The example above will have the same effect as if user typed the command below in configuration mode.
port bri 0 0
shutdown
Chapter contents
Introduction ..........................................................................................................................................................87
System image handling task list .............................................................................................................................87
Displaying system image information .............................................................................................................87
Displaying Update Status Information ............................................................................................................88
Copying system images from a network server to flash memory ......................................................................88
Switch to the inactive image ............................................................................................................................89
86
Trinity Release 3.14.X Command Line Reference Guide 6 • System Image Handling
Introduction
System image handling management is a complex and feature rich system allowing a user to perform various
upgrades on the devices. It allows a user to perform full upgrades and partial upgrades. It allows you to upgrade
system configuration(s) seamlessly. The upgrades tasks are supported both from the CLI and WMI. You can
copy files to flash from TFTP and local flash space. You can also upgrade from HTTP.
Introduction 87
Trinity Release 3.14.X Command Line Reference Guide 6 • System Image Handling
device(cfg)#show version
Software Version : 3.9.2-15121
Hardware Version : 2
Hardware Revision : 1
only if a major software upgrade is necessary or if recommended by Patton Electronics Co. Under normal cir-
cumstances, downloading a system image file should not be needed.
Downloading a new system image file means storing it permanently at a defined location within the Patton
device flash memory. To store the system image file, you must use a special download image bundle file. This
bundle file contains directions for the system that describe how to handle the system image file and where to
store it. The direction for the system upgrade contained in a file called manifest which is a part of the upgrade
image.
Chapter contents
Introduction ..........................................................................................................................................................91
Understanding Configuration Files .................................................................................................................91
Shipping Configuration.........................................................................................................................................92
Configuration File Handling Task List..................................................................................................................92
Copying Configurations Within the Local Memory ........................................................................................93
Replacing the Startup Configuration with a Configuration from Flash Memory .............................................94
Copying Configurations To and From a Remote Storage Location .................................................................95
Replacing the Startup Configuration with a Configuration Downloaded from TFTP Server ..........................95
Displaying Configuration File Information .....................................................................................................96
Modifying the Running Configuration at the CLI ..........................................................................................97
Modifying the Running Configuration Offline ...............................................................................................98
Deleting a Specified Configuration .................................................................................................................99
90
Trinity Release 3.14.X Command Line Reference Guide 7 • Configuration File Handling
Introduction
This chapter describes how to upload and download configuration files to and from a Trinity device. This
chapter also describes some aspects of configuration file management. Refer to chapter 6, “System Image Han-
dling” on page 86 for more information.
This chapter includes the following sections:
• Shipping configuration (see page 92)
• Configuration file handling task list (see page 92)
All Patton devices are shipped with a configuration file installed in the factory, which is stored in their flash
memory.
A configuration file is like a script file containing Trinity commands that can be loaded into the system. Con-
figuration files may also contain only partial configurations. This allows you to keep a library of command
sequences that you may want to use as required. By default, the system automatically loads the shipping config-
uration from the flash memory if no user-specific configuration is defined as the startup configuration.
Changing the current running configuration is possible as follows:
You may change the running configuration interactively. Interactive configuring requires that you access the
CLI by using the enable command to enter administrator execution mode. You must then switch to the con-
figuration mode with the command configure. Once in configuration mode, enter the configuration com-
mands that are necessary to configure your Patton device.
• You can also create a new configuration file or modify an existing one offline. You can copy configuration
files from the flash memory to a remote server. Transferring configuration files between the flash memory
and a remote system requires the Trivial File Transfer Protocol (TFTP). The TFTP server must be reachable
through one of the Patton device network interfaces.
See Chapter 4, "Accessing the CLI" on page 69 for information concerning access to the CLI.
The following sections focus on Trinity memory regions and software components that can be copied within
the memory or uploaded/downloaded between a TFTP server and the memory of the Patton device. Since
Trinity uses a specific vocabulary in naming those software components, refer to appendix “Trinity Architecture
Terms and Definitions” on page 982 to ensure that you understand the concepts. Refer to chapter 6, “System
Image Handling” on page 86 for a brief description of how Trinity uses system memory.
Introduction 91
Trinity Release 3.14.X Command Line Reference Guide 7 • Configuration File Handling
port ethernet 0 0
medium auto
encapsulation ip
bind interface LAN router
no shutdown
port ethernet 0 1
medium 10 half
encapsulation ip
bind interface WAN router
no shutdown
Each configuration file stored in the flash memory needs a unique name. The user has to assign a file name to
any user-specific configuration. Trinity predefines some names for configuration files. These are the shipping
configuration (shipping-config), startup configuration (startup-config), minimal configuration (minimal-config)
and running configuration (running-config) file names. Refer to appendix A, “Trinity Architecture Terms and
Definitions” on page 982 to learn more about configuration file types.
Shipping Configuration
Patton devices are delivered with a shipping configuration in the logical region config:. This shipping configura-
tion initially parameterizes the most useful network and component settings of Trinity.
Once a user-specific configuration is created and stored as the startup configuration, the shipping configura-
tion is no longer used, but still remains in the persistent memory. It is possible to switch back to the shipping
configuration at any time during the operation of a Patton device configuration. The getting started guide
included with your Patton device describes the restoration procedure for restoring the default settings.
Shipping Configuration 92
Trinity Release 3.14.X Command Line Reference Guide 7 • Configuration File Handling
Persistent Volatile
config: system:
¥Shipping ¥current Running
Configuration Configuration
Òshipping-configÓ Òrunning-configÓ
(read-only)
Copy Configuration Files within
¥Startup
the persistent Memory Region
Configuration
Òstartup-configÓ
¥User specific
Configuration
Òuser-configÓ
In most cases, the interactively modified running configuration known as the running-config, which is located
in the volatile memory region system:, is copied into the persistent memory region config. This running config is
stored under the name startup-config and replaces the existing startup configuration.
You can copy the current running configuration into the persistent memory region config: under a user-speci-
fied name, if you want to preserve that configuration.
In addition, an already existing configuration is usually copied into the persistent memory region config: by
using a user-specified name, for conservation or later activation.
As shown in figure 8 the local memory regions are identified by their unique names, like config:, which is
located in flash memory, and system:, which is the system RAM, i.e. the volatile memory. As already mentioned,
configuration files in the same memory region need a unique name. For example, it is not possible to have two
configuration files with the name running-config in the memory region config:.
As you might expect, the copy command does not move but replicates a selected source to a target configura-
tion file in the specified memory region. Therefore the source configuration file is not lost after the copy pro-
cess. There are four predefined configuration file names for which it is optional to specify the memory region,
namely shipping-config, startup-config, minimal-config and running-config.
Mode: Administrator execution
Finally, configuration files, i.e. the startup configuration or a user-specific configuration that is stored in the
persistent memory region config: are often uploaded to the remote data store for backup, edit or cloning pur-
poses. The latter procedure is very helpful when you have several Patton devices, each using a configuration
which does not greatly differ from the others, or which is the same for all devices. During the configuration of
the first Paton device according to your requirements, the running configuration of this device, named run-
ning-config and located in the volatile memory region system:, is edited. Next, the configuration is tested and if
everything is as required, the running configuration is copied as startup configuration, named startup-config,
into the persistent memory region config: of the target device. After this, the startup configuration is transferred
to the TFTP server, where it can be distributed to other Patton devices. These devices therefore get clones of
the starting system if the configuration does not need any modifications.
Replacing the Startup Configuration with a Configuration Downloaded from TFTP Server
From within the administration execution mode, you can replace the startup-configuration by downloading a
configuration from the TFTP server into the flash memory area where to store the startup configuration.
2. Check the content of the persistent startup configuration by listing its command settings with the show
command.
device#show config:startup-config
Command Purpose
show config: Lists all persistent configurations
show running-config Displays the contents of the running configuration file
show startup-config Displays the contents of the startup configuration file
show running-config current-mode Displays only the running-config of the current mode.
show running-config "<some Displays the running-config of any named mode
mode>"
Note Application files can be very long when displayed (by using the show com-
mand). To make them easier to read, many default commands are not dis-
played when executing the show running-config command. However, the
administrator may want to see the entire configuration, including these nor-
mally “hidden” default commands. To see all commands, execute the cli
config defaults command. By issuing a show running-config command
afterwards, you will see all the commands, a list which is significantly longer.
To hide these hidden commands again, issue the no cli config
defaults command.
your TFTP server manual to get a thorough understanding of its behavior. After this, the configuration file is
available for offline editing on the TFTP server. Once the configuration file current-config has been modified, it
is downloaded from the TFTP server, at IP address 172.16.36.80, into the persistent memory region config:
using the name startup-config. It will become active after a reload.
device#copy running-config tftp://172.16.36.80/user/current-config
Upload...100%
At this point in time, the offline editing of the configuration file current-config on the TFTP server takes place.
device#copy tftp://172.16.36.80/user/ current-config config:startup-config
Download...100%
device#reload
Press 'yes' to restart, 'no' to cancel: yes
The system is going down
3. Enter again the command show config: to check if the selected configuration was deleted successfully from
the set of available configurations.
device#show config:
Persistent configurations:
backup
startup-config
shipping-config
Chapter contents
Introduction ........................................................................................................................................................101
Install licenses permanently .................................................................................................................................103
Installing licenses ..........................................................................................................................................103
Inspecting installed licenses ...........................................................................................................................104
Erasing installed licenses ...............................................................................................................................107
Configure a Patton device as License Server.........................................................................................................107
Prepare the system ........................................................................................................................................109
Configure the NodeMS-Server ......................................................................................................................110
Create organizations for tenants ....................................................................................................................110
Create sub-organizations within an organization ...........................................................................................112
Define which and how many licenses a particular device is able to lease ........................................................114
Create a nodems-device profile ................................................................................................................115
Link devices to a nodems-device profile ...................................................................................................117
Inspect the license-lease database ...................................................................................................................118
Configure Patton devices to lease licenses from a License Server ..........................................................................123
Prepare the system ........................................................................................................................................123
Connect a Patton device to a License Server ..................................................................................................124
Display information about the License Server connection .............................................................................126
100
Trinity Release 3.14.X Command Line Reference Guide 8 • System Licensing
Introduction
Some Trinity features are locked and can be used only if the device has access to a corresponding feature license.
As depicted in figure 11 there are three different ways feature licenses are made available to a Patton device:
• Built-in licenses
• Installed licenses (installed by the factory or by the user)
• Licenses leased from a License Server
Built-In licenses are part of the device hardware and cannot be erased or moved to another device. Each model
comes with a different set of built-in licenses.
Installed licenses enter the device in two scenarios:
• If you order licenses together with a device the Patton factory pre-installs the ordered licenses prior to ship-
ping it to you.
• If you need additional licenses, you may order and install them yourself. Installed licenses are bound to a
specific device and cannot be moved to another device.
Alternatively, you may install licenses on a License Server that leases floating licenses temporarily to your
devices. This approach is required for Trinity running in a virtual machine but available also for physical
devices (e.g. eSBCs, VoIP gateways, IP routers, etc.).
To install licenses on your devices or on the License Server, there are two methods for unlocking features as
depicted in figure 11 and figure 12 on page 102.
Introduction 101
Trinity Release 3.14.X Command Line Reference Guide 8 • System Licensing
Note Licenses installed on the device or leased from a License Server are added on
top of built-in licenses that are shipped with the device.
Introduction 102
Trinity Release 3.14.X Command Line Reference Guide 8 • System Licensing
Installing licenses
If you order licenses from Patton, you will receive an e-mail with a set of CLI commands - one command for
each feature. Copy the commands and paste them into an open Telnet, SSH, or console connection. This
unlocks the corresponding licensed feature. The following procedure applies for both installing permanent
licenses to Patton devices and installing floating licenses to a License Server:
Procedure: Installing licenses
Mode: Operator Exec
Command Purpose
node > install license encrypted-license Installs the specified license permanently.
Note Licenses are bound to a specific device. When ordering a license, you have to
specify the serial number (and the model) of the device. The license sent to
you by Patton can only be installed on that particular device and cannot be
migrated to another device.
Note If Trinity is running in a Virtual Machine (VM), you cannot install licenses
permanently, because there is no unique hardware identifier and VMs can be
cloned. Instead, you have to run a separate License Server and configure the
virtual Trinity instance to lease licenses from that server. Also note that each
virtual Trinity instance requires a "virtual-instance" license to run. That is,
you need as many "virtual-instance" licenses as the total number of VM
instances you plan to launch.
Note For most license types, no reboot is required. However, for the following
licenses you have to reboot the device to unlock the feature: fips, openvpn,
license-server.
Command Purpose
node > show system licenses [license-name] If the license-name argument is omitted, this command
shows all available licenses in a tabular structure. Each
license is printed on a separated row. The columns have
the following meaning:
License Name: Name of the licensed feature
Source: Shows where the license is coming from.
• Blt-In: Number of build-in licenses, pre-installed in
the factory as part of every ordered device.
• Inst.: Number of licenses installed permanently by
the user (see license command above). Also includes
licenses installed in the factory as part of an order
option.
• Leased: Number of licenses leased temporarily from
a License Server.
Available: Shows how many licenses are available to
the device in total.
• Total: Current number of licenses available to the
device.
Usage: How many of the total licenses are currently
used by system components and how many are still
available.
• Alloc: Number of licenses in use by the device's
components.
• Free: Number of licenses still available.
If the license-name argument is given, the command
prints details about the specified license.
Local Licenses
==============
----------------------------------------------------------------------
Let us examine the sip-sessions license in the output above in more detail: The device already ships with 4
licenses. The device is connected to a licenses server from which it leased additional 188 licenses. Thus, the
device is now able to make up to 192 calls. Currently, two sessions are active while the other 190 sessions are
still available. License that don't have an assigned quantity are just printed with the letter 'Y' if they are present.
On a License Server (see section “Configure a Patton device as License Server” on page 107) the "show system
licenses" command will print two sections: Local Licenses and Server Licenses:
• The Local Licenses can be used on the License Server itself but are never leased to connected Patton devices.
The device acting as a License Server needs a permanently installed license-server license (see section“Install-
ing licenses” on page 103).
• The Server Licenses are floating licenses which cannot be used on the License Server itself but which can be
leased to connected Patton devices.
Example: Display all installed licenses on a License Server
node>show system licenses
Local Licenses
==============
----------------------------------------------------------------------
Source: Available: Usage:
License Name Blt-In + Inst. + Leased = Total = Alloc + Free
----------------------------------------------------------------------
license-server Y Y
----------------------------------------------------------------------
Server Licenses
===============
----------------------------------------------------------------------
Source: Available: Usage:
License Name Blt-In + Inst. + Leased = Total = Alloc + Free
----------------------------------------------------------------------
The License Server in the example above has 9 different types of floating licenses installed; for example, 10000
sip-sessions licenses, 376 of which are currently leased (Alloc column) to connected Patton devices, the remain-
ing 9624 which are available (Free column) for other devices. The License Server balances license automati-
cally to those devices that need them most, i.e. to those devices with the least number of free licenses.
Example: Display details about the iprouter license
node>show system licenses iprouter
iprouter
========
ID: 1
Description: IP Routing
Device Supports Resource: yes
Device Needs Resource: yes (1 interests)
Built-In
The output shows a description of the license, whether the device supports and requires a license to operate and
how the devices has access to the license: Built-In means that the license has been pre-installed in the factory.
Command Purpose
node > erase license license-name Erases an installed license permanently. Use the "show
[local|floating|all] system licenses" command to get a list of installed
licenses (see above).
• local: Erases license the device uses for unlocking
local features. This is the default behavior when omit-
ting the licence-type.
• floating: Erases floating licenses that are leased to
connected client devices
• all: Erases both local and floating licenses
Example: Permanently erases the iprouter license from the Patton device. The device will stop working as IP
router.
node>erase license iprouter
Note For most license types, no reboot is required. However, for the following
license you have to reboot the device to lock the feature: fips, openvpn,
license-server.
• Instead of assigning each device model a fixed number of licenses you can configure the License Server to
assign them dynamically based on the current need of the devices. In this case licenses (e.g. sip-sessions) are
automatically balanced to those devices with the least number of free licenses.
• You are free to configure this assignment of licenses to devices either on the License Server or on the individ-
ual client devices.
Example: Set up a simple license server with one organization (MY_ORG) and one sub-organization (MY_-
SUBORG) that distributes the installed floating licenses dynamically to all connected devices:
profile nodems-device DEFAULT
resource any
nodems-server
organization MY_ORG
sub-organization MY_SUBORG
organization-key 0ABF8445ADF32D563FFE8D3564DCAB59
device any
use profile nodems-device DEFAULT
nodems-server
no shutdown
The DEFAULT nodems-device profile defines a default device model that allows all matching devices to lease
any type of resources (=licenses) without limitation.
The nodems-server mode contains the configuration commands for the License Server1. The nodems-server
mode contains an organization, which contains a sub-organization. The any device mode within the MY_SUB-
ORG sub-organization contains the configuration for all devices not listed explicitly. You may list devices by
their serial number to assign them other resource profiles.
The corresponding configuration on the client devices that connect to the License Server is as follows:
nodems-client
server http://license-server.example.com
organization-key 0ABF8445ADF32D563FFE8D3564DCAB59
resource any
no shutdown
The organization-key configured on the client device is used for both authenticating the device to the license
server and linking the device to a configured organization/sub-organization configuration on the server. Orga-
nizations and sub-organizations can be used to assign different license-distributing policies to connecting
devices. Figure 13 on page 109 shows a License Server that distributes its installed 10000 floating sip-sessions
licenses to two companies, reflected in the configuration as organizations. The devices of the first company are
split up into two sub-organizations, a test lab and a productive network. Each organization and sub-organiza-
tion may be configured with license restrictions. In this example, all devices in the test lab together may lease
up to 1000 sip-sessions licenses, whereas all devices in the productive sub-organization may lease up to 5000
1. NodeMS = Node-Management System. In the future, we will add more remote-management features to this
mode.
licenses. The DEFAULT sub-organization of the organization COMPANY2 has no restriction configured.
Based on the restrictions of the other organization all devices of the second company together may lease up to
10000 - 1000 - 5000 = 4000 sip-sessions licenses.
Command Purpose
node(cfg)# nodems-server Enters the NodeMS-Server configuration mode. The
license-distribution system is part of Patton's Node-Man-
agement System (NodeMS). In the future, more services
will be added to manage Patton devices remotely over
one secure communication channel.
node(nodems-srv) # [reset] port port Configures the TLS/TCP port number on which the
NodeMS server listens for incoming connections from
client devices. The default port number is 443. The
server listens on all active network interfaces.
node(nodems-srv) # [no] shutdown Starts or stops listening for incoming connections from
client devices. "shutdown" drops all client connections.
Command Purpose
node(nodems-srv) # [no] organization orga- Creates/Destroys an organization and enters its configu-
nization-name ration mode. You have to generate at least one organiza-
tion for the system to work.
Command Purpose
node(org)[organization-name] # [reset] allo- Configures whether the licenses are installed per-
cate ( auto | lease for amount sistently on the connecting client devices (not supported
(minutes|hours|days|weeks) | permanent ) yet) or leased temporarily to the client device in this
organization and for how long. Typically, this configura-
tion should not be changed: the default lease time is one
day.
• lease for: Licenses are leased for the specified
period of time. It the client device loses contact to the
License Server it is able to continue using the leased
license for this period of time.
• permanent: Licenses are permanently installed to
the connected client device (not supported yet).
• auto: Licenses are leased to client devices for one
day. This is the default configuration.
A sub-organization within this organization or a
device within the sub-organization may overwrite this
setting for the particular sub-organization or device,
respectively.
Command Purpose
node(org)[organization-name] [no] resource Configures license restrictions for this organization
resource-name [amount] [floating] where each line corresponds to one license type (called
"resource" here). The no-form removes the restriction.
In a new organization, no license is restricted by default.
That is, all floating licenses installed on the License
Server are ready to be leased to connecting clients
belonging to this organization.
• resource-name: Name of the license (e.g. sip-ses-
sions).
• amount: Number of licenses all clients in this organi-
zation together are able to lease in total. You can
either specify a number (e.g. "10") or a number range
(e.g. "..10" for between zero to ten, or "10..100" for
between ten and hundred). When specifying a lower
limit, the organization pre-allocates the specified
licenses and reserves them for this organization.
When specifying an upper limit, this is the maximum
number of resources this organization is allowed to
lease to all clients. A typical use case is to only limit
the max. total number of licenses in this organization,
e.g. "..1000".
• floating: The amount parameter refers to the number
of floating licenses leased to all devices and not to
the total number of licenses on the devices. Each
device may have pre-installed licenses which are not
accounted for with this configuration.
Command Purpose
node(org)[organization-name] # [no] sub- Creates/Destroys a sub-organization and enters its con-
organization sub-organization-name figuration mode. You have to generate at least one sub-
organization within each organization for the system to
work.
node(sub-org)[sub-organization-name] # [no] Configures a secret that must be shared with all client
organization-key key devices that want to lease licenses from this sub-organi-
zation. By default, the system generates an organization
key for each created sub-organization. You may over-
write this key but make sure that the key is unique
across all organizations and sub-organization. It is pos-
sible to delete the organization-key on one sub-organiza-
tion but we strongly discourage you to do so for security
reasons. In that case, every device that is able to reach
your License Server is able to lease licenses from it.
• key: The same key must be configured in the
nodems-client mode on the client devices to lease
licenses from this sub-organization.
node(sub-org)[sub-organization-name] # Configures whether the licenses are installed per-
[reset] allocate ( auto | lease for amount sistently on the client device (not supported yet) or
(minutes|hours|days|weeks) | permanent ) leased temporarily to the client device and for how long.
This configuration overwrites the same configuration on
the parent organization and typically should not be
changed; the default lease time is one day.
• lease for: Licenses are leased for the specified
period of time. It the client device loses contact to the
License Server it is able to continue using the leased
license for this period of time.
• permanent: Licenses are permanently installed to
the connected client device (not supported yet).
• auto: Inherits the setting from the parent organiza-
tion. This is the default configuration
Command Purpose
node(sub-org)[sub-organization-name] # [no] Configures license restrictions for this sub-organization
resource resource-name [amount] [floating] where each line corresponds to one license type (called
"resource" here). The no-form removes the restriction. In
a new sub-organization, no license is restricted by
default. That is, all floating licenses available for the par-
ent organization are ready to be leased to connecting cli-
ents belonging to this sub-organization.
• resource-name: Name of the license (e.g. sip-ses-
sions).
• amount: Number of licenses all clients in this sub-
organization together are able to lease in total. You
can either specify a number (e.g. "10") or a number
range (e.g. "..10" for between zero to ten, or "10..100"
for between ten and hundred). When specifying a
lower limit, the sub-organization pre-allocates the
specified licenses and reserves them for this sub-
organization. When specifying an upper limit, this is
the maximum number of resources this sub-organiza-
tion is allowed to lease to its clients. A typical use
case is to only limit the max. total number of licenses
in this sub-organization, e.g. "..1000".
• floating: The amount parameter refers to the number
of floating licenses leased to all devices and not to
the total number of licenses on the devices. Each
device may have pre-installed licenses which are not
accounted for with this configuration.
Define which and how many licenses a particular device is able to lease
NodeMS-Device profiles are used to define which device model is able to allocate which and how many
licenses. Follow this procedure to assign a connecting device some licenses statically or automatically:
1. Create a nodems-device profile for the corresponding device model (e.g. eSBR with one PRI port).
2. List the device (its serial number) within a sub-organization (within an organization).
3. Link the created resource-allocated profile to this device.
Command Purpose
node(cfg)# [no] profile nodems-device pro- Creates or deletes a nodems-device profile and enters
file-name its configuration mode
node(pf-ralloc)[profile-name]# [reset] allocate Configures whether the licenses are installed per-
( auto | lease for amount sistently on the client device (not supported yet) or
(minutes|hours|days|weeks) permanent ) leased temporarily to the client device and for how long.
• lease for: Licenses are leased for the specified
amount of time. It the client device loses contact to
the License Server it is able to continue using the
leased license for this amount of time.
• permanent: Licenses are permanently installed to
the connected client device (not supported yet).
• auto: Licenses are leased to client devices for one
day. This is the default configuration.
Command Purpose
node(pf-ralloc)[profile-name]# [no] resource Specifies how many licenses are leased to one device. If
any the no-form of the command is used, the specified
resource is not leased to connected devices at all.
• resource-name: Name of the license (e.g. sip-ses-
sions). any is a placeholder for all licenses not speci-
fied explicitly in this profile.
• amount: Number of licenses a client is able to lease.
You can either specify a number (e.g. "10") or a num-
ber range (e.g. "..10" for between zero to ten, e.g.
"10..100"). When specifying a range, it is up to the cli-
ent how many resources it allocates. The default con-
figuration when omitting this parameter is "0..infinity",
i.e., no restriction.)
• floating: The amount parameter refers to the number
of licenses leased to a device.
• total: The amount parameter refers to the total num-
ber of licenses on the connected device, floating
licenses leased by this server plus licenses (pre-
)installed on the device.
Example: Create a default nodems-device profile that allows any type of licenses to be leased by clients. (The
system already pre-creates this DEFAULT profile.).
profile nodems-device DEFAULT
resource any
Example: Create a nodems-device profile for a vSBC (Session-Border Controller running in a virtual
machine). Each VM needs one "virtual-instance" license. In addition, we allow the VM to make up to 1000
sip-sessions, and we add a SIP-TLS-SRTP license. We don't want virtual clients to lease any other licenses,
hence the "no resource any" command..
profile nodems-device VIRTUAL
resource virtual-instance
resource sip-sessions ..1000 total
resource sip-tls-srtp
no resource any
Command Purpose
node(sub-org)[sub-organization-name]# [no] Creates a device configuration entry and enters its
device ( serial-number | any ) mode. Use the serial-number to identify the device. If
any is entered instead of the serial-number, this device
configuration entry will be applied to all devices not listed
explicitly.
Example: Create a sub-organization for all virtual SBC instances and use the previously created VIRTUAL
nodems-device profile.
nodems-server
organization MY_ORG
sub-organization VIRTUAL_SUBORG
organization-key 0ABF8445ADF32D563FFE8D3564DCAB59
device any
use profile nodems-device VIRTUAL
nodems-server
no shutdown
Example: Set up a license-server for the configuration as depicted in figure 13 on page 109:
profile nodems-device DEFAULT
resource any
nodems-server
organization COMPANY1
sub-organization TESTLAB
organization-key 00112233445566778899AABBCCDDEEFF
resource sip-sessions ..1000
device any
use profile nodems-device DEFAULT
sub-organization PRODUCTIVE
organization-key 0ABF8445ADF32D563FFE8D3564DCAB59
resource sip-sessions ..5000
device any
use profile nodems-device DEFAULT
organization COMPANY2
sub-organization DEFAULT
organization-key 07FEA4829BCE3100AF39234AF982084E
device any
use profile nodems-device DEFAULT
nodems-server
no shutdown
Command Purpose
> show nodems-server [detail detail-level] Displays the status of the NodeMS-server and summa-
[continuously] rizes or lists all device connections.
• detail-level: Determines how much information
details are printed
1: Shows server status and number of client connec-
tions (default detail level)
2: Additionally, lists all client connections including
the NodeMS services in use
3: Additionally, more status information about the
NodeMS services in use
• continuously: Reprints the output every second until
Ctrl-C is pressed
NodeMS Server
==========
Configuration
-------------
Connections: 2
Example: Show License Server status and list all connections
>show nodems-server detail 2
NodeMS Server
==========
Configuration
-------------
Connections
-----------
172.16.43.46:44743
------------------
Protocol Phase: Up
Session Identifier: 00A0BA09FAA2
Connected Since: Thursday August 04 2016 12:09:49
Last Message Received: 6.764 s ago
Last Message Sent: 6.763 s ago
Services
--------
172.16.46.198:58638
-------------------
Protocol Phase: Up
Session Identifier: 00A0BA09F412
Connected Since: Friday August 05 2016 08:08:02
Last Message Received: 23.109 s ago
Last Message Sent: 23.108 s ago
Services
--------
Command Purpose
> show nodems-server devices Displays a list of all connected devices.
[organization organization-name] • organization-name: Only displays devices within this
[sub-organization sub-organization-name] organization.
• sub-organization-name: Only displays devices within
[device serial-number]
this sub-organization.
[continuously] • serial-number: Only displays devices with the speci-
fied serial-number.
• continuously: Reprints the output every second until
Ctrl-C is pressed
Procedure: Display on the License Server the geographical location of connected devices.
Mode: Operator Exec
Command Purpose
> show nodems-server devices location Displays a list of all connected devices and their geo-
graphical location.
[organization organization-name]
[sub-organization sub-organization-name]
• organization-name: Only displays devices within this
organization.
[device serial-number]
• sub-organization-name: Only displays devices within
[continuously] this sub-organization.
• serial-number: Only displays devices with the speci-
fied serial-number.
• continuously: Reprints the output every second until
Ctrl-C is pressed
Example: List the geo-location of all devices connected to this License Server.
>show nodems-server devices location
Note Each device tries to determine its geo-location by sending an HTTP request
to a public web service from its own global IP address. If the device is in a
private network behind a NAT, the Device IP Address and the resulting geo-
location will be that of the NAT server. Devices without a connection to the
public internet are not able to determine their location at all.
Procedure: Display on the License Server the licenses leased by connected devices, sorted by the device serial-
number.
Mode: Operator Exec
Command Purpose
> show nodems-server devices licenses Displays a list of all connected devices and the licenses
they currently lease.
[organization organization-name]
[sub-organization sub-organization-name]
• organization-name: Only displays devices within this
organization.
[device serial-number]
• sub-organization-name: Only displays devices within
[continuously] this sub-organization.
• serial-number: Only displays devices with the speci-
fied serial-number.
• continuously: Reprints the output every second until
Ctrl-C is pressed
Example: List on the License Server the licenses currently leased by all devices connected to this License Server,
sorted by the device-serial number.
>show nodems-server devices licenses
Procedure: Display on the License Server the licenses leased by connected devices, sorted by the device serial-
number.
Mode: Operator Exec
Command Purpose
> show nodems-server licenses Displays a list of all licenses and to which devices they
are currently leased.
[license-name]
[organization organization-name]
• license-name: Only displays the specified license
• organization-name: Only displays devices within this
[sub-organization sub-organization-name]
organization.
[device serial-number] • sub-organization-name: Only displays devices within
[continuously] this sub-organization.
• serial-number: Only displays devices with the speci-
fied serial-number.
• continuously: Reprints the output every second until
Ctrl-C is pressed
Example: List the licenses currently leased by all devices connected to this License Server. Shows how the
licenses are distributed across the different organizations, sub-organizations, and devices.
>show nodems-server licenses sip-sessions
License: sip-sessions
=====================
Note If you replace a client device with a new one, the License Server still keeps
the licenses leased to the old device reserved for one day but immediately
requires licenses for the new one. Make sure that your License Server is
equipped with enough licenses for this scenario.
• If the License Server reboots unexpectedly, the client keeps the leased licenses for one day. If the License
Server comes up again, the client device tries to refresh the lease immediately.
Command Purpose
node(cfg)# nodems-client Enters the NodeMS-Client configuration mode. The
license-distribution system is part of Patton's Node-Man-
agement System (NodeMS). In the future, more services
will be added to manage Patton devices remotely over
one secure communication channel.
node(nodems-client) # [reset] server server- Configures the URL used to connect to the License
url Server. The default server URL is https://nodems.pat-
ton.io. The following URLs are examples of valid URLs.
Note that you can skip the http:// protocol prefix and the
default port:
• http://my-license-server
• http://my-license-server:4443
• 10.10.1.1:4443
• 10.10.2.2
node(nodems-client) # [no] organization-key Configures the secret shared with the License Server's
key sub-organization configuration.
• key: The same key must be configured in the corre-
sponding sub-organization mode on the License
Server.
node(nodems-client) # [reset] allocate ( auto Configures whether the received licenses are installed
| lease for amount persistently (not supported yet) or leased temporarily
(minutes|hours|days|weeks) permanent ) and for how long.
• lease for: Licenses are leased for the specified
period of time. It the device loses contact to the
License Server it is able to continue using the leased
license for this period of time.
• permanent: Licenses are permanently installed (not
supported yet).
• auto: Licenses are leased for one day. This is the
default configuration.
Command Purpose
node(pf-ralloc)[profile-name]# [no] resource Specifies how many licenses this device wants to lease
resource-name [amount] [floating|total] from the License Server. If the no-form of the command
is used, the device does not request the specified
node(pf-ralloc)[profile-name]# [no] resource
resource.
any
• resource-name: Name of the license (e.g. sip-ses-
sions). any is a placeholder for all licenses not speci-
fied explicitly.
• amount: Number of licenses this client wants to
lease. You can either specify a number (e.g. "10") or
a number range (e.g. "..10" for between zero to ten,
e.g. "10..100"). When specifying a range, it is up to
the server how many resources it wants to allocate
for this device. The default configuration when omit-
ting this parameter is "0..infinity", i.e., no restriction.
In this case the device gets all available licenses up
to its nominal capacity.
• floating: The amount parameter refers to the number
of licenses leased from the server.
• total: The amount parameter refers to the total num-
ber of licenses on this device, floating licenses leased
from the server plus licenses (pre-)installed on the
device.
Command Purpose
> show nodems-client [detail detail-level] Displays the status of the NodeMS-client
[continuously]
• detail-level: Determines how much information
details are printed
1: Shows server status and number of client connec-
tions (default detail level)
2: Additionally, lists all client connections including
the NodeMS services
3: Additionally, more status information about the
NodeMS services
• continuously: Reprints the output every second until
Ctrl-C is pressed
NodeMS Client
==========
Configuration
-------------
Server: 172.16.46.46:443
Organization: PATTON
Sub-Organization: TEST
Organization-Key: (set)
Admin State: up
Status
------
Command Purpose
> show nodems-client licenses [continu- Displays the licenses leased from the License Server
ously]
• continuously: Reprints the output every second until
Ctrl-C is pressed
Chapter contents
Introduction ........................................................................................................................................................129
The AAA Component .........................................................................................................................................129
General AAA Configuration ................................................................................................................................130
Configuring TACACS+ client .............................................................................................................................131
Configuring TACACS+ server.............................................................................................................................131
Authentication ..............................................................................................................................................131
Authorization ................................................................................................................................................131
Server configuration example ..................................................................................................................132
Configuring RADIUS clients ..............................................................................................................................134
TACACS+ Accounting........................................................................................................................................134
Configuring RADIUS server ...............................................................................................................................137
Attributes in the RADIUS Authentication request message ...........................................................................137
Attributes in RADIUS Authentication request for Login Authorization ........................................................138
Attributes in RADIUS Accept message .........................................................................................................138
Attributes in RADIUS Authentication request for Call Authorization ...........................................................139
RADIUS Accounting ..........................................................................................................................................139
Do the following to configure the AAA component.............................................................................................143
128
Trinity Release 3.14.X Command Line Reference Guide 9 • AAA Configuration
Introduction
This chapter provides an overview of the AAA (Authentication, Authorization, and Accounting) component
and describes how to configure the TACACS+ or RADIUS clients, which are subparts of the AAA component.
It is important to understand how AAA works before configuring the TACACS+ or RADIUS clients. This
chapter also describes the local database accounts configuration, which is another subpart of AAA.
To use the authentication and authorization service on Trinity, you have to configure the AAA component, the
Radius component, the TACACS+ component and the local database accounts.
This chapter includes the following sections:
• The AAA component
• TACACS+ configuration
• RADIUS component
• Configuration of the local database accounts
Introduction 129
Trinity Release 3.14.X Command Line Reference Guide 9 • AAA Configuration
The Telnet service uses an AAA profile called cli-login. This profile specifies that the following methods are
used in the order they appear in the configuration:
1. Query TACACS+ server TACACS+_#1.
2. Query TACACS+ server TACACS+_#2.
3. Query the local database (see the "Configuring operators, administrators, and superusers" section for infor-
mation on how to configure the local database).
If, e.g. TACACS+_#1 is not available, TACACS+_#2 will be queried after a timeout. But if TACACS+_#1
gives an answer that rejects the login request, the remaining methods are not used and the login is denied. The
same applies to the console service, which uses the profile console-login. This profile uses the following
sequence of methods:
1. Ask TACACS+ server TACACS+_#1.
2. Ask predefined method none. This method always grants access as system operator.
If TACACS+_#1 is not available, access will be granted by the method none. If TACACS+_#1 rejects the login
request, console access is denied. If TACACS+_#1 confirms the request, console access is granted.
Authentication
During authentication process the client send a standard ASCII authentication request to the server containing
the user name and password. Other authentication type (PAP, CHAP, ARAP and MSCHAP) are not supported
by the client. Users with password should be configured on the server using the standard ASCII authentication.
An authentication request is usually followed by an Authorization request.
Authorization
Authorization request are usually sent after an authentication request and are used to ask the server if the user is
allowed to use the requested service. An authorization request always contains the requested service. The client
supports only the following services:
Service Description
telnet User telnet login request.
ssh User ssh login request.
fcgi User webpage login request.
console User console login request.
call User call request.
For authorization login request (telnet, ssh, fcgi and console) the server must response with the following attri-
bute-value pair:
For call authorization request, the user field in the request is filled with the e-164 called number. The following
attribute-value pairs are added to the request if they are available:
All attributes present on the request must be configured on the server to allow a call! The server can repeat an
attribute-value pair, to allow more than one call ID/IP.
# set the accounting file, where all accounting request are logged
accounting file = /var/log/tac_plus.acct
# users accounts
user = johndoe {
login = cleartext "normal" # enter login password in clear text
name = "John Doe" # Name description (not used by trinity)
# You must now list all service that the user is allowed to connect with
service = telnet {
patton-priv-lvl = operator # set the privilege level of the
# user (operator|administrator|superuser)
}
service = ssh {
patton-priv-lvl = administrator # set the privilege level of the user
# (operator|administrator|superuser)
}
}
user = johndoe {
login = des "yrVMIa532Sy.2" # enter login password encrypted with
# tac_pwd program
name= "John Doe"
service = telnet {
patton-priv-lvl = administrator # set the privilege level of the user
# (operator|administrator|superuser)
}
service = ssh {
patton-priv-lvl = superuser # set the privilege level of the user
# (operator|administrator|superuser)
}
}
TACACS+ Accounting
The TACACS+ accounting functionality can be added to a call-router configuration by inserting an AAA call-
control service between two call-router elements (see section “Call Service AAA” on page 675). Any call that is
then routed through the AAA service will cause call detail records (CDRs) to be sent to the TACACS+ server.
Normally an accounting start record is sent when the call is connected and the accounting stop record is sent,
when the call is disconnected. If enabled, the AAA service is also able to send interim update records, after a
specified interval.
The AAA service can include the following standard TACACS+ attributes in the CDRs:
Additionally, the following vendor specific attributes are available to support voice service specific information:
Because RADIUS doesn't support Authorization, the Patton Device sends Authorization Attributes within the
RADIUS Authentication request sent during Authentication. There are two different cases for Authorization:
1. Login Authorization
2. Call Authorization
RADIUS Accounting
The RADIUS accounting functionality can be added to a call-router configuration by inserting an AAA call-
control service between two call-router elements (see section “Call Service AAA” on page 675). Any call that is
then routed through the AAA service will cause call detail records (CDRs) to be sent to the RADIUS server.
Normally an accounting start record is sent when the call is connected and the accounting stop record is sent,
when the call is disconnected. If enabled, the AAA service is also able to send interim update records, after a
specified interval.
The AAA service can include the following standard RADIUS attributes in the CDRs:
Additionally, the following vendor specific attributes are available to support voice service specific information:
Example:
# node> enable
node# configure
node(cfg)# profile aaa cli-login
node(pf-auth)[cli-log~]# method tacacsplus TACACS+_#1
node(pf-auth)[cli-log~]# method tacacsplus TACACS+_#2
node(pf-auth)[cli-log~]# method local
node(pf-auth)[cli-log~]# exit
node(cfg)#
node(cfg)# profile aaa console-login
node(pf-auth)[local-o~]# method tacacsplus TACACS+_#1
node(pf-auth)[local-o~]# method none
node(pf-auth)[cli-log~]# exit
node(cfg)#
node(cfg)# telnet-server use profile aaa cli-login
node(cfg)# console use profile aaa consol-login
If you delete the local and none methods from the default AAA
profile, or if you create and use a profile without methods local
and none, you will be unable to access your device if the network
IMPORTANT or TACACS+/RADIUS server is not available!
Note If you do not configure AAA, a default AAA profile exists containing the
AAA local as the first AAA method and the AAA none as the second. The
Telnet login and the console login service use this profile. If an emergency
occurs, you can reload this default configuration by reloading the factory
configuration as described in section “Factory Reset” on page 157.
Chapter contents
Introduction ........................................................................................................................................................146
Basic System Management Configuration Task List ............................................................................................146
Managing Feature License Keys ....................................................................................................................147
Showing System Resources ............................................................................................................................148
Setting System Parameters .......................................................................................................................148
Setting the System Banner ............................................................................................................................150
Setting Time and Date ..................................................................................................................................150
Configuring Daylight Savings Time Rules ....................................................................................................151
Display Clock Information ...........................................................................................................................152
Display Time Since Last Restart ....................................................................................................................152
Configuring and starting the web server ........................................................................................................152
Restarting the system ....................................................................................................................................153
Displaying the System Logs ..........................................................................................................................153
Displaying the System Logs .....................................................................................................................154
Exporting System Logs and Reports ........................................................................................................155
Configuring the blink interval .......................................................................................................................156
Configuring the Syslog Client .......................................................................................................................156
Factory Reset ................................................................................................................................................157
145
Trinity Release 3.14.X Command Line Reference Guide 10 • Basic System Management
Introduction
This chapter describes parameters that report basic system information to the operator or administrator, and
their configuration. The following are basic parameters that can be established when setting up a new system
(see section “Setting System Parameters” on page 148):
• Defining the system's hostname
• Setting the location of the system
• Providing reference contact information
• Setting the clock
Additionally, the following tasks are described in this chapter:
• Setting the system banner (see section “Setting the System Banner” on page 150)
• Enabling the embedded web server (see section “Configuring and starting the web server” on page 152)
Introduction 146
Trinity Release 3.14.X Command Line Reference Guide 10 • Basic System Management
After installing license keys, you can check if the license keys have been added successfully to your system using
the following command.
Mode: Configure
Name: sip-tls-srtp
------------------
ID: 54
Description: SIP TLS and SRTP
Name: sip-registrar
-------------------
ID: 55
Description: SIP Registrar
Static Licenses
Example:
(cfg)#show system resources
Ports
=====
BRI Ports: 0
E1T1 Ports: 4
FXS Ports: 0
FXO Ports: 0
VoIP Resource
=============
Number of DSPs: 2
DSP Firmware: 0
DSP Channels: 120
SIP Legs: 180
Transcoding: no
Border Controller: no
Note By default there is no information specified for any of the following parame-
ters.
• Contact: System contact information tells the user how to contact the information service, e.g. the help line
of the service provider. The contact information may be any alphanumeric string, including spaces, that is
no longer than one line. This entry corresponds to the MIB II system sysContact object.
• Hostname: The system name, also called the hostname, is used to uniquely identify the Patton device in
your network. The selected name should follow the rules for ARPANET hostnames. Names must start with
a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphens. Names
must be 63 characters or fewer. For more information, refer to RFC 1035. This entry corresponds to the
MIB II system sysName object. After setting the hostname of the Patton device the CLI prompt will be
replaced with the chosen name.
• Location: Assigning explanatory location information to describe the system physical location of your
device (e.g. server room, wiring closet, 3rd floor, etc.) is very supportive. This entry corresponds to the MIB
II system sysLocation object.
• Provider: The system provider information is used to identify the provider contact for this Patton device,
together with information on how to contact this provider. The provider is a company making services
available to subscribers. The provider information may be any alphanumeric string, including spaces, that is
no longer than one line. This entry corresponds to the Patton Electronics enterprise-specific MIB provider
object.
• Subscriber: The system subscriber information is used to get in touch with subscriber for this Patton
device, together with information on how to contact this subscriber. The subscriber is a company or person
using one or more services from a provider. The subscriber information may be any alphanumeric string,
including spaces, that is no longer than one line. This entry corresponds to the Patton Electronics enter-
prise-specific MIB subscriber object.
• Supplier: The system supplier information is used to get in touch with the supplier for this Patton device,
together with information on how to contact this supplier. The supplier is a company delivering Patton
devices to a provider. The supplier information may be any alphanumeric string, including spaces, that is no
longer than one line. This entry corresponds to the Patton Electronics enterprise-specific MIB supplier
object.
Mode: Configure
Note If the system information must have more than one word, enclose it in dou-
ble quotes.
login:
Mode: Configure
Note The integrated SNTP client allows synchronization of time-of-day and date
to a reference time server. Refer to chapter 35, “SNTP Client Configuration”
on page 436 for more details.
Note When the DST rule is active, its offset is added to the local default offset.
Therefore, the DST offset defines how much time is “shifted” during sum-
mer (e.g. 1h).
Mode: Configure
Mode: Configure
Mode: Configure
Example:
The following example shows how to display the uptime of your device, if you start from the configuration mode.
device>show uptime
The system is up for 54 days, 23 hours, 44 minutes, 18 seconds
Note The web browser will warn when it connects to the web site. This is because
the default SSL certificate is self-signed and is not assigned to a specific host-
name, so the browser cannot use it to authenticate (i.e. to ensure that it is
connected to the web site it thinks it is). Nevertheless, the connection will be
encrypted.
Mode: Configure
IMPORTANT
The execution command reload has been enhanced with the following options:
•cancel - Cancels reload/halt
•forced - Reloads the system without prompting for confirmation.
•if-needed - Only reloads if the system knows that a reload is needed.
•in <seconds> - Sets the time in which to perform the reload/halt action.
The following example shows how to restart the running system, if you start from the administrator execution
mode.
device#reload
Type 'yes' to restart/halt, anything else to cancel:
components. The event log stores general events such as flash full, DSP failed etc., comparable with the event
log on Windows NT. The supervisor log stores information from the system supervisor such as memory full,
task failed etc.
System resets may have a number of reasons, the most prominent being a manual reset issued on the Telnet/
console ('reload'). Other reset reasons include power off failures and system failures. In order to pinpoint the
problem, the reset log contains the reset cause.
The show log command offers a new argument to suppress color information to be printed. Since Trinity 3.7
some log messages are printed in color, e.g. error messages in red. If log dumps are copied into text files, some
editors have problems to render the color codes (ESC sequence) correctly. The 'unformatted' parameter
removes these color codes before printing the log.
Mode: Operator execution
Mode: Remote
Factory Reset
This command performs the same action as the reset button. It will perform a reboot of the device after delet-
ing the configurations, logs, preferences files and the installed TLS keys and certificates present in the flash.
Mode: administrator execution
Chapter contents
Introduction ........................................................................................................................................................160
System variables ............................................................................................................................................160
User-Defined expressions ..............................................................................................................................161
Actions ..........................................................................................................................................................162
Expression configuration task list.........................................................................................................................162
Collect information about the variables that build the expression ........................................................................163
Display existing system variables and expressions ..........................................................................................163
Tracking real-time changes of system variables and expressions .....................................................................164
Validate an expression (on-the-fly computation)..................................................................................................164
Create/Modify an expression ...............................................................................................................................165
Extend a system variable by an expression............................................................................................................166
Create/Modify an expression family.....................................................................................................................167
Wildcards and regular expressions in context-family names ...........................................................................168
Delete an expression ............................................................................................................................................170
Expression Syntax................................................................................................................................................171
Data Types ...................................................................................................................................................171
Booleans ..................................................................................................................................................171
Numbers .................................................................................................................................................171
Time Stamps ...........................................................................................................................................172
Text Strings .............................................................................................................................................172
Errors ......................................................................................................................................................172
Operators ......................................................................................................................................................173
Logical Operators ....................................................................................................................................173
Bitwise Operators ....................................................................................................................................174
Arithmetic Operators ..............................................................................................................................175
Comparison Operators ............................................................................................................................175
Operator Precedence ...............................................................................................................................176
Functions ......................................................................................................................................................177
Logical Functions ....................................................................................................................................178
Bitwise Functions ....................................................................................................................................179
Arithmetic Functions ..............................................................................................................................179
Comparison Functions ............................................................................................................................181
Set Functions ..........................................................................................................................................182
Time/Date Functions ..............................................................................................................................182
Temporal Functions ................................................................................................................................183
Example Expressions ...............................................................................................................................186
State Profiles........................................................................................................................................................186
Default OVERLOAD state profile ................................................................................................................188
158
Trinity Release 3.14.X Command Line Reference Guide 11 • Programmable System-Event Configuration
159
Trinity Release 3.14.X Command Line Reference Guide 11 • Programmable System-Event Configuration
Introduction
This chapter describes how to use programmable system events in Trinity. System events are triggered when a
subsystem changes its state, for example if the link of an interface comes up. Trinity's event system is program-
mable: the administrator is able to combine existing events into new types of events. For example, it is possible
to trigger the provisioning of a new software image when a custom event pattern occurs. Let us assume we want
to provision a software image when the system is up and as soon as the management IP interface is up for some
minutes and NTP is synchronized. This chapter explains how to construct and program such composite
events.
The event programming system of Trinity is organized in three layers (System Variables, Expressions, and
Actions) as depicted in figure 16.
The remainder of this introduction gives a brief overview of these layers starting at the bottom. The sections
following the introduction provide more detailed information and contain examples of how to configure the
programmable event system.
System variables
Trinity exposes many subsystem states as system variables upon which action components can react. A system
variable essentially is a name-value pair. The name uniquely identifies the variable and the value stores its cur-
rent state. For example the system variable sys.up is initialized to false, but is changed to true as soon as the sys-
tem is fully functional after boot-up.
Table 2 lists the most important system variables that Trinity exposes to the user.
Introduction 160
Trinity Release 3.14.X Command Line Reference Guide 11 • Programmable System-Event Configuration
As the name suggests system variables are generated by the system; they cannot be created or modified by the
user.
Whenever the value of a variable changes a system event is triggered to all upper layers. Components that refer
to the variable in order to execute an action (e.g. start provisioning, switch LEDs, etc.) are triggered automati-
cally if the underlying variable changes.
User-Defined expressions
User-Defined expressions are composite variables created by the device administrator. An expression combines
system variables and other expression using Trinity's powerful temporal expression algebra.
For example the administrator might want to know whether all of the following conditions are true (according
to the provisioning example introduced above) when
• the system is up,
• the management IP interface is up for at least two minutes, and
• the device has synchronized its clock over NTP.
This overall condition is captured by the following expression entered as CLI configuration command:
expression READY "sys.up
&& DEBOUNCEINC(ip.ctx:ROUTER.if:WAN.up, 2m)
&& ntp.sync"
As depicted in figure 17 on page 162 the expression creates a new variable called READY. Such composite vari-
ables are useful to build more complex expressions out of system variables. For example the administrator could
create yet another expression called NOT-READY, which is true if the above conditions are not met:
expression NOT-READY "!READY"
Introduction 161
Trinity Release 3.14.X Command Line Reference Guide 11 • Programmable System-Event Configuration
Actions
Several Trinity components use system variables and expressions to control their behavior. For example the
administrator may write an action script to execute a set of CLI commands whenever a variable changes its
value from false to true. This powerful feature allows re-configuring virtually every aspect of the Patton device
based on complex event patterns.
The following list briefly describes the components that can be linked to system variables and expressions. This
list will be expanded in future releases of Trinity:
• Action Scripts: NOT SUPPORTED YET. Currently, action scripts are triggered by events that are not
based on the programmable system events. Support will be added in one of the next releases.
• SNMP Traps: NO SUPPORTED YET. In the future, it will be possible to generate SNMP traps when a
variable changes its value.
• State Profiles: Build simple state machines where variable changes trigger transitions between states. (See
also section“State Profiles” on page 186.) State profiles map different events into well-defined and customiz-
able states. For example, the OVERLOAD state-profile defines three states, NORMAL, WARNING, and
CRITICAL, which reflect how the system resources are used based on the current CPU and memory utiliza-
tion. The state profile is used by other components, for example the SIP call-limiter that drops incoming
SIP messages if the system is overloaded.
• SIP Overload Behavior: You are able to configure in which circumstances the SIP user agent shall drop
incoming and outgoing calls due to an overload situation. This feature uses a state profiles (see above) in
combination with a description about which SIP messages to drop in which state. (For more information,
refer to Chapter 54, “SIP Overload Configuration” on page 691)
Example: Show all system variables and expressions and their current values:
Node>show variable
Variables
================
Variable Value
------------------------------------------------------------
ip.ctx:ROUTER.if:LAN.addr:LAN.up true
ip.ctx:ROUTER.if:LAN.up true
ntp.init true
ntp.sync false
sip.pktq.delay 0
sys.bootNr 440
sys.cpu.load1m 0
sys.cpu.util 0
sys.cpu.util1m 0
sys.initLevel 100
sys.ram.avail 158
sys.up true
Variable: sys.up
================
Value: true
Collect information about the variables that build the expression 163
Trinity Release 3.14.X Command Line Reference Guide 11 • Programmable System-Event Configuration
Type: Boolean
Data-Type: Boolean
Description: True if the system is up and the config
has been applied
Each variable has a data type and description assigned to it. The data type defines the range of values a variable
can take. Next to the Boolean data type (true/false) there are data types for integer and floating-point numbers,
text strings, and types for storing absolute time stamps and relative time differences. (For more information,
refer to section “Data Types” on page 171.) Variables generated by the system also have a description assigned
that describes the purpose and behavior of the variable.
Example: Show all system variables and expressions and their current values:
node>debug variable detail 1
13:59:40.000 VAR # [sys.cpu.util] 0 -> 2
13:59:50.000 VAR # [sys.cpu.util] 2 -> 0
14:00:00.000 VAR # [sys.cpu.util] 0 -> 25
14:00:00.000 VAR # [sys.cpu.util1m] 1 -> 5
14:00:00.000 VAR # [sys.ram.avail] 154 -> 150
14:00:10.000 VAR # [sys.cpu.util] 25 -> 7
14:00:10.000 VAR # [sys.cpu.util1m] 5 -> 6
The trace output above shows how the CPU load and available memory changes over a short period of time.
Other than those performance values no variables were changed in the trace period.
Both the show and the debug commands are helpful instruments to debug your user-defined expressions.
Example: You may use compute instead of the show variable to quickly display the current value of a variable:
node>show variable sys.up
Variable: sys.up
================
Value: true
Type: Boolean
Data-Type: Boolean
Description: True if the system is up and the config
has been applied
node>compute sys.up
true
Example: Furthermore, compute allows you to combine variables with mathematical expression. The follow-
ing example computes some expressions, some of which are syntactically invalid or use variables that do not
exist:
node>compute 1+2
3
node>compute 1/0
#DIV/0!
node>compute 1:2
% EXPRESSION ERROR:
1:2
^ Unexpected character ':'
node>compute sys.up
true
node>compute !sys.up
false
node>compute sys.doesnotexist
#N/A!
Create/Modify an expression
Before you enter the expression command make sure you understand the meaning of the system variables you
want to use. For example, if you want to use the sys.ram.avail variable recognize that the value represents the
available memory in megabytes. Use the “show variable name” command to get information about a variable.
The procedure described below creates a new expression:
Mode: Configure
An expression constitutes of two parts: a variable name and a mathematical expression that combines existing
variables. Trinity exposes the expression as a variable that can be used in other expression. Therefore each
expression must be tagged with a unique name. You cannot re-use names of existing system variables or expres-
sions.
The mathematical equation roughly follows Microsoft Excel formulas. (Refer to section “Operators” on
page 173 for a list of all available operations and functions.) If you are familiar with Microsoft Excel you know
how to compute the value of a cell based on the value of other cells by specifying the referred-to cells (e.g.
A1+A2). Unlike Excel Trinity variables are not organized in a two-dimensional grid. In Trinity variables are
identified by their name (e.g. MYVAR1+MYVAR2).
User-defined expression can also be used to define re-usable constants. The following example shows how to
compute the area of a circle based on the constant PI and the radius R, both specified as expression variables:
Example: Define a constant PI, a variable R, and an expression AREA to compute the area of a circle. Change
the variable R and show that the expression computing the area is updated accordingly.
node>enable
node#configure
node(cfg)#expression PI 3.14
node(cfg)#expression R 2
node(cfg)#expression AREA "PI*R*R"
node(cfg)#show variable
System Variables
================
System Variable Value
-----------------------------------------------------
AREA 12.56
PI 3.14
R 2
node(cfg)#expression R 3
node(cfg)#show variable
System Variables
================
System Variable Value
-----------------------------------------------------
AREA 28.26
PI 3.14
R 2
Example: Add an expression to delay the up-signal of the system by one minute:
node(cfg)#expression sys.delayed-up DELAY(sys.up,1m)
This creates a new variable delayed-up in the object sys. If both the expression you create and the variables it
refers to operate on the same object (e.g. sys) you may want to use the following shortcut notation:
node(cfg)#for sys expression delayed-up DELAY(up,1m)
node(cfg)#show variable
System Variables
================
System Variable Value
-----------------------------------------------------
sys.delayed-up false
sys.up true
a;sdlfk;lasdkf;laskdf
This adds the “delayed-up” variable to the “sys” object and looks for referred-to variable (“up”) in the same “sys”
object as well. This is summarized by the following procedure.
Mode: Configure
node(cfg)#expression ip.ctx:ROUTER.if:WAN.delayed-up \
DELAY(ip.ctx:ROUTER.if:WAN.up)
node(cfg)#expression ip.ctx:ROUTER.if:DMZ.delayed-up \
DELAY(ip.ctx:ROUTER.if:DMZ.up)
Trinity allows you to define an expression family for all IP interfaces using the for expression syntax with wild-
cards:
node(cfg)#for ip.ctx:%.if:% expression delayed-up
DELAY(up)
The wildcard (%) matches all object names. Thus the string “if:%” matches to all our interfaces “if:LAN”,
“if:WAN”, and “if:DMZ”. The command above creates a new variable “delayed-up” in each IP interface object
and sets it to the delayed “up” variable of the IP interface as a value.
Let's repeat the syntax for the for expression command again with the emphasis that the context argument may
be an object name containing wildcards or regular expressions.
Mode: Configure
Note If the system creates a system variable that matches the context-family argu-
ment of an existing expression family, that expression family is automatically
extended with an expression variable for the new system variable. For exam-
ple let us assume you configured the expression family delayed-up above. If
you create a new IP interface called LAN2, a new variable called
ip.ctx:ROUTER.if:LAN2.delayed-up will be created automatically for the new
interface.
? Matches zero or one occurrences of the preceding element. test? ~= {“tes”, “test”}
Example: Create an expression that returns true only if all LAN IP interfaces are up in the default context
ROUTER. We assume that all LAN IP interface follow the naming format LAN1, LAN2, etc.
node(cfg)#for ip.ctx:ROUTER expression all-if-up \
AND(if:{LAN\d+}.up)
Note The curly brackets {} are used to tell the CLI that whatever is between the
brackets is a regular expression. The curly brackets themselves are not part of
the regular expression. In the example above, the regular expression is
LAN\d+.
Delete an expression
Use one of the following commands to:
• Delete an expression by its name
• Delete an expression within an object context
• Delete an entire expression family
Mode: Configure
Note Trinity does not prevent you from deleting an expression variable that is
referred to by another expression. If an expression uses a non-existing vari-
able, its value will be re-computed to an #N/A! error.
Expression Syntax
Trinity expressions are used to combine system variables with a mathematical expression. An expression may
contain the following parts:
• Constants (The Boolean values true or false, numbers, time stamps, text strings)
• References (Names of other variables as placeholders for their values)
• Operators (The ‘+’ operator sums two values)
• Functions (The NOW() function returns the current date and time)
Data Types
Constants are parts of the expression that are not calculated. Consider the expression “3.14*R*R” where “3.14”
is a floating-point constant. Trinity expressions are type-aware. This means that each constant is assigned to a
certain data type. We will discuss those data types and some of its typical constant values below.
Booleans
The Boolean data type only has two values (true and false). Boolean values represent the truth-values of logic
operations (e.g. “true && false” => false). You enter Boolean constants by using one of the following words:
• false
• true
Numbers
Number data types come in two flavors, integers (whole numbers) and floating-point numbers (e.g. 3.14).
Trinity automatically takes care of using the adequate flavor for each operation, so you don't have to convert
manually between integers and floating-point numbers. You can enter numeric constants with different nota-
tions as shown below:
• Integer constants:
- 123 (decimal notation)
- 0xff(=255; hexadecimal notation; “0x” prefix)
- 010 (=8; octal notation; “0” prefix)
• Floating-point constants:
- 3.14 (floating-point constant)
- 2.3e-3 (=0.0023; exponent notation)
• Integer and floating-point constants can be used in any order when building expressions:
- 3.14+2 => 5.14
- 1.1+2.2 => 3.3
- 1.1-0.1 => 1
Time Stamps
Trinity distinguishes between absolute time stamps (date/time) and relative time stamps (time difference).
Below you find examples how to enter time stamp constants:
• Clock (absolute time stamps): Entered in ISO time notation (yyyy-mm-ddThh:mm:ss)
- 2016-01-11T12:40:00 (date and time in time zone of the local clock)
- 2016-01-11 (date only)
- 12:40:00 (time of day only)
• Time (relative time difference): Entered as a combination of days (d), hours (h), minutes (m), seconds (s),
milliseconds (ms), microseconds (us), and nanoseconds (ns).
- 1d2h (one day plus two hours)
- 2m30s (two and a half minutes)
- 1s500ms (one and a half second)
- In expressions relative time constants can be added to or subtracted from absolute time stamps. The result
is a new absolute time stamp:
- 2016-01-11+1d => 2016-01-12
- 12:40:00+2m => 12:40:02
Text Strings
Variables can also be used to store text strings. Thus it is important to be able to enter text constants in expres-
sion, for example to compare the strings. Text strings must be put in single quotes (') to distinguish them from
variable names.
• ‘This is a test’
Strings can be concatenated by the (+) operator and repeated by the (*) operator
• ‘abc’+’def ’ => ‘abcdef ’
• ‘x’*4 => ‘xxxx’
Errors
Errors cannot be entered as constants but may results as computation value. Table 4 shows all possible compu-
tation errors and their meanings:
Operators
Operators are symbols in your equation that specify the calculation you want to perform on the left-hand side
and the right-hand side of the operator. The following tables list all available operators available to Trinity
expressions grouped by type.
Logical Operators
Logical operators are used to reason about logical statements.
If the right-hand or the left-hand side value of a logical operator is not of a Boolean data type the value is auto-
matically converted to true or false according to the following rules:
• Numbers: Non-zero numbers are evaluated to true, zero is evaluated to false.
• Absolute Timestamps: Only the epoch (1970-01-01:00:00:00) is evaluated to false; all other timestamps
are valuated to true.
• Relative Timestamps: Zero time delta values (e.g. 0s) is evaluated to false, non-zero time delta values (e.g.
500ms) are evaluated to true.
• Text strings: An empty string ('') is evaluated to false whereas all non-empty strings (e.g. 'test') are evaluated
to true.
Examples:
• 1 && 2 => true
• 0 || ‘test’ => true
• 1m && 0s => false
Bitwise Operators
Bitwise operators operate on number data types only and apply a Boolean operation bit by bit.
Arithmetic Operators
Comparison Operators
Operator Precedence
The order in which Trinity evaluates operators is well defined according to the table below. For example, the
products operator (*) is evaluated before the sum operator (+):
2+2*2 => 6
You can change this order by using parentheses:
(2+2)*2 => 8
If the equation contains operators with the same precedence they are evaluated from left to right:
2+2-2 => (2+2)-2 => 3
The following table shows the order in which operators are evaluated. The operators in the top row are evalu-
ated first, those in the bottom row at the end.
Functions
Functions are predefined equations that perform calculations on their arguments. Functions start with the
upper-case function name, followed by an open parenthesis, an list of comma-separated arguments, and a clos-
ing parenthesis, e.g.
• DAY(2015-01-12) => 12
• BOOL(123) => true
• POWER(2,10) => 1024
• SQRT(9) => 3
• COUNT(1,2,3,4,5) => 5
Functions can be nested. That is instead of specifying a argument with a constant or variable name you can use
another function:
• DAY(NOW()) => 11
• BOOL(SQRT(9)) => true
• COUNT(NOW(),SQRT(9)) => 2
The following tables lists all available functions available to Trinity expressions grouped by type.
Logical Functions
All logical operators (not, or, xor, and) are also available as functions. So instead of writing the expression "a
&& b" you may write the expression "AND(a,b)". The advantage of the function is that it may take more than
two arguments, e.g. "AND(a,b,c,d"), which evaluates to true only if all arguments are true.
All logical functions take one or more arguments (except NOT(), which takes exactly one), convert all argu-
ments to a Boolean value and returns the logical operation on all the arguments. If no argument is provided an
invalid-value error (#VAL!) is returned.
• AND(1,2,3) => true
• AND(1,2,3,0) => false
• AND() => #VAL!
If an argument specifies a set of variables by using a regular expression, the regular expression is expanded and
all matching variables are passed to the function. For example if there are three variables "test:1", "test:2",
"test:3" the expression "AND(test:%)" is expanded to "AND(test:1,test:2,test:3).
Bitwise Functions
The bitwise operators (~, |, ^, &) are also available as functions. So instead of writing the expression "a & b"
you may write the expression "BITAND(a,b)". The advantage of the function is that it may take more than
two arguments, e.g. "BITAND(a,b,c,d)", sets a bit in the result to true only if the same bit is true in all argu-
ments.
If an argument specifies a set of variables by using a regular expression, the regular expression is expanded and
all matching variables are passed to the function. For example if there are three variables "test:1", "test:2",
"test:3" the expression "BITAND(test:%)" is expanded to "BITAND(test:1,test:2,test:3).
Arithmetic Functions
Comparison Functions
Set Functions
These functions return information about the number of arguments but don't look at the arguments them-
selves.
Time/Date Functions
Temporal Functions
The following functions allows to reason about the temporal relation of events. Temporal functions also pro-
vide means of temporally manipulate event occurrences, for example delaying events.
Figure 19. Time Diagram of the Functions ONCE, STABLE, and DELAY
Example Expressions
The following section lists some expression example that may serve as hints of how to use the expression alge-
bra to build powerful temporal expressions.
Example: De-Bouncing link down-up transitions: If the DHCP address of the LAN interface comes up this
expression only changes to true after 10 seconds. If the DHCP address goes down, this change is propagated
immediately to the created variable ip.ctx:ROUTER.if:LAN.addr:DHCP.UP-STABLE.
node(cfg)#for ip.ctx:ROUTER.if:LAN.addr:DHCP \
expression UP-STABLE \
DEBOUNCEINC(up, 10s)
Example: Combining link states of all addresses of an interface: The following expression creates a new vari-
able ip.ctx:ROUTER.if:LAN.ALL-ADDR-UP, which only evaluates to true if the link state of all addresses of the
LAN interface is up.
node(cfg)#for ip.ctx:ROUTER.if:LAN \
expression ALL-ADDR-UP \
AND(addr:%.up)
Example: Wait until the system is up and ready for communication: The following expression creates a new
variable READY, which only evaluates to true communication with the device can start. This is the case if the
system reports up and if the WAN link is up for a minute and if NTP time synchronization has been taken
place.
node(cfg)#expression READY \
"sys.up \
&& DEBOUNCEINC(ip.ctx:ROUTER.if:WAN.up, 1m) \
&& ntp.sync"
Example: Recognize longer down-cycles: The following expression creates a new variable
ip.ctx:ROUTER.if:LAN.LONG-DOWN that changes to true if the link state of the LAN interface is down for
more than ten minutes.
node(cfg)#for ip.ctx:ROUTER.if:LAN \
expression LONG-DOWN \
"!up && STABLE(up, 10m)"
The STABLE(up, 10m) term switches to true if the ip.ctx:ROUTER.if:LAN.up variable stays at the same value
(true or false) for ten minutes. This has to be combined with the term !up such that the resulting variable only
evaluates to true if the link is down for that period of time.
State Profiles
State profiles build simple state machines from system variables and expressions. These state machines are used
by other applications such as the SIP user agent. SIP drops incoming packets when the system is overloaded
(see Chapter 54, "SIP Overload Configuration" on page 691). The overload situation is detected by the
OVERLOAD state profile, which is fully programmable by the user.
Consider the example depicted in figure 20 on page 187:
Next to the initialization state NORMAL the state profile OVERLOAD defines two additional states, WARN-
ING and CRITICAL. The transitions between those states are specified by expressions using the system variable
sys.cpu.util1m, which exposes the CPU utilization, averaged over one minute. If the CPU utilization raises
above 80% the OVERLOAD state machine changes to the WARNING state, if it crosses the 95% margin the
CRITICAL state is entered. You can also define hold conditions to build a hysteresis as depicted in figure 21
(green=NORMAL, yellow=WARNING, red=CRITICAL).
In the example above the state profile only changes back from the CRITICAL to the WARNING state if the
CPU utilization drops to 90% or below. This example is configured by the CLI commands below:
profile state OVERLOAD
init-state NORMAL
state 1 WARNING
enter-if sys.cpu.util1m>80 hold-when sys.cpc.util1m>75
state 2 CRITICAL
enter-if sys.cpu.util1m>95 hold-when sys.cpu.util1m>90
A state profile exposes its state as another system variable. For example, the OVERLOAD profile defines the
variable sys.statemachine:OVERLOAD.curr, a string variable that is either set to 'NORMAL', 'WARNING', or
'CRITICAL', dependent on the current state of the state machine. Other components may use this variable to
react on state changes.'
Note States within a state profile are ordered by an ordinal number, e.g. state 1
WARNING, state 2 CRITICAL. This order is important. The state
machine tries to enter the state with the highest ordinal number the enter-
expression of which evaluates to true. Consider again Figure 5: If the CPU
utilization changes to 98% the enter expression of both states, WARNING
and CRITICAL are true. Since CRITICAL is a higher-order state than
WARNING the state machine immediately enters the CRITICAL state.
Example: Observe all state-machine transitions and changes of all system variables:
node>debug state full-detail
node>debug variable detail 1
15:01:23.000 VAR # [sys.cpu.util1m] 94 -> 98
15:01:23.000 STATE # [OVERLOAD] Re-evaluating state-machine...
15:01:23.000 STATE # [OVERLOAD] Check state 1 WARNING:
15:01:23.000 STATE # [OVERLOAD] Enter condition: true
15:01:23.000 STATE # [OVERLOAD] Hold condition: true
15:01:23.000 STATE # [OVERLOAD] Check state 2 CRITICAL:
15:01:23.000 STATE # [OVERLOAD] Enter condition: false
15:01:23.000 STATE # [OVERLOAD] Hold condition: false
15:01:23.000 STATE # [OVERLOAD] Transition to state WARNING
Example: To test whether the system behaves as expected in a state that is rarely entered you may temporarily
add a new expression to that state that always evaluates to true.
node>debug state full-detail
node>debug variable detail 1
node>enable
node#configure
node(cfg)#profile state OVERLOAD
node(pf-state)[OVERLOAD]#state WARNING
node(state)[WARNING]#enter-if true
15:01:23.000 STATE # [OVERLOAD.WARNING.true] onNew
15:01:23.000 STATE # [OVERLOAD.WARNING] Update expression...
15:01:23.000 STATE # [OVERLOAD.WARNING] Enter expression:
BOOL(sys.cpu.util1m >= 80) || BOOL(true)
15:01:23.000 STATE # [OVERLOAD.WARNING] Hold expression:
BOOL(sys.cpu.util1m >= 75) || BOOL(true)
15:01:23.000 STATE # [OVERLOAD] Re-evaluating state-machine...
15:01:23.000 STATE # [OVERLOAD] Check state 1 WARNING:
15:01:23.000 STATE # [OVERLOAD] Enter condition: true
15:01:23.000 STATE # [OVERLOAD] Hold condition: true
15:01:23.000 STATE # [OVERLOAD] Check state 2 CRITICAL:
15:01:23.000 STATE # [OVERLOAD] Enter condition: false
15:01:23.000 STATE # [OVERLOAD] Hold condition: false
15:01:23.000 STATE # [OVERLOAD] Transition to state WARNING
Chapter contents
Introduction ........................................................................................................................................................192
Alarm Configuration Task List ............................................................................................................................192
Viewing alarms .............................................................................................................................................192
Changing alarm options ................................................................................................................................193
191
Trinity Release 3.14.X Command Line Reference Guide 12 • Alarm Management
Introduction
This management component is responsible for managing the alarm sub-system. It allows you to add/remove
and see alarms. Trinity is equipped with alarm sub-system. Any component may register alarms and once trig-
gered they will show up in the alarms table. Each alarms can have one of the following severities:
• Informative: General informative alarm
• Minor: Minor warning like alarm. The system is about to overheat
• Major: System is above the allowed heat threshold
• Critical: System had a catastrophic failure
Alarms are predefined and are configured by the trinity. You cannot add alarms dynamically. However you can
change the severities and you can enable and disable them.
Viewing alarms
Mode: administrative access
Example output:
00A0BA0~(cfg)#show alarms
Fields:
• Count – Alarm counter. Shows how many time this specific alarm has been triggered.
• Fault status – If true, signifies that there is a fault present. System is malfunctioning
• Alarm status – If true, signifies that the alarm is active regardless of the fault status. You can clear the alarm
if the fault status is no longer present.
• Auto Clear – a flag that tell the system to clear the alarm once the fault condition has gone.
Introduction 192
Trinity Release 3.14.X Command Line Reference Guide 12 • Alarm Management
Chapter contents
Introduction ........................................................................................................................................................195
Provisioning Profile .............................................................................................................................................195
Creation ........................................................................................................................................................195
Destination ...................................................................................................................................................195
Destination Script ...................................................................................................................................195
Destination Configuration ......................................................................................................................196
Destination Upload .................................................................................................................................196
Locations ......................................................................................................................................................197
Placeholders in Locations ..............................................................................................................................197
Conditional Placeholders in Locations ..........................................................................................................198
Activation .....................................................................................................................................................199
Include Command ........................................................................................................................................199
User authentication .......................................................................................................................................200
Server authentication ....................................................................................................................................200
Client Authentication..........................................................................................................................................200
Private Key ....................................................................................................................................................200
Own Certificate Chain ..................................................................................................................................200
Disable Client Authentication .......................................................................................................................201
TLS Profile commands used from provisioning ...................................................................................................201
TR-069 ...............................................................................................................................................................203
PKI commands used from provisioning ...............................................................................................................204
Using Provisioning ..............................................................................................................................................205
Provisioning Reset .........................................................................................................................................205
Provisioning Status .......................................................................................................................................205
194
Trinity Release 3.14.X Command Line Reference Guide 13 • Auto Provisioning of Firmware and Configuration
Introduction
This chapter provides an overview of Trinity’s Auto Provisioning capabilities and tasks involved to configure it.
The auto provisioning capability enables you to automatically distribute up-to-date configurations and
firmware to a large number of units using TFTP, HTTP, or HTTPS. It works as follows: The unit downloads a
specific file from a TFTP server. If this file has changed since the last download, it is stored and executed. If the
file on the server did not change since the last download, no action is taken. If the units are configured to do
auto provisioning, a network operator can only update the firmware files on the server, which automatically
distributes it to all units. The “profile provisioning” configures this.
Provisioning Profile
Creation
A provisioning profile is a set of commands dedicated for keeping updated a specific file or software. For
example one profile can keep the firmware updated and another profile can keep the configuration up to date.
Mode: Configure
Destination
The destination specifies the type of file which is keeping up to date. There are six possible destinations
available:
• script: Used for firmware update and firmware update on daughter boards.
• configuration: Used for updating the startup configuration.
• upload: Uploads the current configuration back to the server.
• firmware: Used for updating the firmware
• wizard: Used for provisioning wizard xml files
• dialplan:<file-name>: Used for provisioning dial plan files specifying a file name.
Mode: Profile provisioning
Destination Script
The destination script is used to provision firmware, firmware for daughter boards or updating other specific
files on the device, for example WEB pages. Multiple locations can be used and locations for scripts can use the
following protocols: TFTP, HTTP and HTTPS. Together with HTTP or HTTPS it is possible to make user
Introduction 195
Trinity Release 3.14.X Command Line Reference Guide 13 • Auto Provisioning of Firmware and Configuration
authentication. Using HTTPS it is possible to make server authentication with a certificate. The target file of a
location can be either a .tar file containing a manifest file. Or it can be a manifest file directly.
In the case of a .tar file the provisioning needs to download the complete tar file each time the provisioning
triggers. For firmware updates this can generate a lot of traffic. Due to when the manifest in the tar is detected
being the same file as the last updated, the provisioning does not perform an update. The advantage of using a
.tar directly is that the delivered files can be used as received without additional manipulations.
In the case of a manifest the provisioning downloads only the manifest file each time the provisioning is
triggered. If then a change compared to the last downloaded manifest is detected all other files belonging to the
delivery are downloaded. Therefore these files must be stored exactly at the same place as the manifest file on
the server.
In either case the activation reload immediate should be configured to bring new software into actions as soon
as possible.
An example configuration for provisioning software from a .tar file:
profile provisioning FIRMWARE
destination script
use profile tls DEFAULT
location 1 tftp://firmware.patton.com/devices/SN5300.tar
location 2 tftp://192.168.2.2/devices/SN5300.tar
activation reload immediate
Destination Configuration
The destination configuration is used to provision the startup configuration of the device. Multiple locations
can be used and locations for configuration can use the following protocols: TFTP, HTTP and HTTPS.
Together with HTTP or HTTPS it is possible to make user authentication. Together with HTTPS it is
possible to make server authentication with a certificate.
The activation reload immediate should be configured to bring new configuration into action as soon as
possible.
Destination Upload
The destination upload is used to upload the startup configuration from the device up to a server. Only one
location can be used and only with the protocol TFTP. There should be no activation configured because there
is no update on the device itself.
• Destination Firmware: The destination firmware is used to provision newer firmware to the device
• Destination Wizard: The destination wizard allows for provisioning of wizard xml files
Locations
Under locations the protocol, server and the file on that server is specified. Some of the features of provisioning
are only available for certain protocols. The available protocols are:
• TFTP: Standard download protocol without security features, can be used for uploads too.
• HTTP: Web download with the possibility of requesting digest authentication from the device. Not avail-
able for uploads.
• HTTPS: Secure web download with the possibility of requesting digest authentication from the device and
the possibility of authenticate the certificate of the webserver. Not available for uploads.
At least one location has to be configured for a profile. But it is possible to configure multiple locations as
fallback if the first locations cannot be reached. Important is that on all the locations in the same profile the
exact same file has to be reached. Uupdating or replacing of these files, should be done simultaneously.
Mode: Profile provisioning
Placeholders in Locations
In the server, path and filename of the location placeholders can be used. These placeholders are
replaced by their corresponding value and can be used to build the provisioning server location
request. The following placeholders are available:
• $(cli.major)— CLI major version as numerical value
• $(cli.minor)— CLI minor version as numerical value
• $(system.hw.major)— Hardware major version as numerical value
• $(system.hw.minor)— Hardware minor version as numerical value
• $(system.sw.major)— Software major version as numerical value
• $(system.sw.minor)— Software minor version as numerical value
• $(system.sw.build)— Software build version as numerical value
• $(system.sw.date)— Software release date as string in the format ‘YYYY-MM-DD’
Activation
For the destination script and configuration it is preferred to let the device reboot after the update in
order for the update to become active. The following modes are available:
• activation reload immediate: After an update of the firmware or the configuration a reload happens imme-
diately to bring the updated files into action. In most cases this should be used.
• activation reload deferred: The reload is not triggered automatically and happens later only when execut-
ing the command “reload if-needed”.
• no activation: No reload is executed after the provisioning. This should be used only for the upload desti-
nation.
• graceful: Activates the provisioned files or firmware with a reload as soon as there are no ongoing calls on
the device any more.
Mode: Profile provisioning
Include Command
The include command enables the user to execute an additional, separate configuration file (i.e. a generated
configuration via wizard or a manually created one) within an existing configuration, allowing nested
configurations. You can use the include command interactively on the CLI prompt to execute the commands
in the file immediately or put it inside a startup configuration to execute another configuration file at boot-up.
The include command can execute any command that can already be executed through the CLI.
Example: Add a provisioning profile and a timer, defined in a separate configuration file, into the startup
configuration:
Existing configuration on the Patton device (example.cfg):
profile provisioning PF_PROVISIONING_CONFIG
destination configuration
location 1 tftp://myserver.com/prov-configuration timer PROVISIONING now + 3 min-
utes "provisioning execute PF_PROVISIONING_CONFIG"
Using the include command via the CLI or in the startup configuration will create a new provisioning profile
and a new timer:
# commands before include
include config:example.cfg
# commands after include
Note The commands in the included configuration file are executed after the com-
mands before the include statement and before the commands after the
include statement. That is, if there already is a "profile provisioning
PF_PROVISIONING_CONFIG" configuration in the startup configura-
tion the configuration in the example.cfg will overwrite that. You are able to
include multiple configuration files and it is also possible to place include
commands in included configuration (recursion).
User authentication
For configuration and firmware provisioning through HTTP or HTTPS optional authentication is available. It
is required if the final server where the configured items have to be downloaded is configured for basic or digest
authentication. This has no impact when the TFTP protocol is used.
Mode: Profile provisioning
Server authentication
For HTTPS locations, server authentication can be enabled. To do so, a TLS profile has to be bound to the
provisioning profile. Be aware that in the case of HTTPS only a subset of the TLS configuration options are
used. Here a list of the actual TLS parameters used in the case of HTTPS:
• authentication outgoing
• trusted-certificate
The used TLS profile can be configured as indicated below.
Mode: Profile provisioning
Client Authentication
Patton devices are now able to authenticate themselves to the HTTPS server during provisioning (client
authentication). The necessary parameters are configured in the TLS profile:
• private key
• own certificate chain
Private Key
A private key file actually contains a private/public key pair. TLS requires them to secure its key exchange. The
private key must match the key information included in the first own-certificate.
connections. The chain of own certificates consists of an ordered list of one or more links to stored certificates.
The first certificate in the list (index 1) is our public key that is sent to the remote TLS device. It is important
that the private key linked by the TLS profile corresponds to the first public key in this certificate. Therefore it
is mandatory to configure a link to a private key on the TLS profile.
If you want to use a self-signed certificate, the chain of own certificates only contains one entry - a link to that
certificate. Otherwise, if your certificate is signed by one or more levels of certification authorities, those
intermediate certificates have to follow in the chain. That is, the next entry with index 2 links to the certificate
of the certification authority that signed our own certificate at index 1. The entry with index 3 links to the
certificate of the next higher-level certification authority, and so on. The certificate of the root certification
authority is not required and may be omitted or may be configured as the final entry in the list.
authentication makes use of the configured trusted certificates from the TLS profile to verify the trustworthy of
the server certificate. If the server authentication is disabled the server certificate is accepted always.
Mode: Profile TLS
If server authentication is enabled the trusted-certificate command in the TLS profiles defines which are the
root certificates we trust, and from one of these the server certificate must be signed off.
There are following variants to configure:
• built-in-defaults: Use all certificates which are built in provided from the software as trusted. This group of
certificates is dependent of the software which is running on the device. With each software update this
whole list is updated too. New certificates may be added. Certificates are removed only if they expire or
needs to be considered as not trustworthy anymore. The user cannot make any changes to this group.
• user-stored: Use all certificates which are installed from the user. It is possible to install certificates from tftp
or from the built-in-defaults certificate group.
• all-stored: Use all built-in-defaults certificates and all user-stored certificates as trusted certificates.
• specific list: The user can create the list of trusted certificates on his own. Therefore any certificate of the
group built-in-defaults or user-stored can be used. All certificates which are not listed are not considered as
trusted certificates.
Mode: Profile tls
TR-069
SmartNode devices now support the TR-069 standard. The data model is based on Device:2.7 (TR-181 Issue
2 Amendment 7), but currently only supports the nodes DeviceInfo and ManagementServer. The following
features are supported:
• Auto-Configuration Server (ACS) discovery (DHCP Option 43 or 125)
• Software/Firmware image management
• Configuration-File management (download and upload)
• Upload of log reports file
• Factory reset RPC
• Reboot RPC
• HTTP connection request
• UDP connection request (connection request via NAT gateway using STUN sever: TR-069 Annex G, for-
merly TR-111)
Mode: configure
2 node(cwmp-client)# [no | reset] authentication Sets the credentials used to connect to the
username <user> [password <password>] ACS.
3 node(cwmp-client)# [no | reset] user profile tls Applies a TLS profile for server and/or cli-
<profile> ent authentication when establishing an
HTTPS connection to the ACS.
4 node(cwmp-client)# [no | reset] discovery Enables/disables ACS discovery via DHCP
option 43 or 125. Your DHCP server has to
be configured accordingly.
5 node(cwmp-client)# [reset] provisioning-code Sets the TR-069 provisioning code (see
<code> TR-069 and TR-181).
6 node(cwmp-client)# [no | reset] bind ipaddress Selects the local IP address used for
<interface> <label> CWMP.
7 node(cwmp-client)# [reset] connection-request Sets the credentials used by ACS to make
username <user> [password <password>] HTTP connection requests.
8 node(cwmp-client)# [no | reset] periodic-inform Enables/disables periodic inform (see TR-
interval <seconds> [time <time>] 069).
9 node(cwmp-client)# [no | reset] session-retry- Sets the maximum CWMP session retry.
maximum <>
10 node(cwmp-client)# [no | reset] session-retry- Sets the smallest CWMP session-wait
wait-interval minimum <min> [multiplier <multi- interval and the interval multiplier (see TR-
ple>] 069).
11 node(cwmp-client)# [no | reset] http-compression Enables/disables HTTP compression.
{gzip | deflate}
TR-069 203
Trinity Release 3.14.X Command Line Reference Guide 13 • Auto Provisioning of Firmware and Configuration
Executable commands:
Command Purpose
node# show cwmp-client [detail <detail> | full-detail] Shows CWMP statistics
[continuously]
Mode: Configure
Using Provisioning
To trigger a provisioning profile the execute command has to be used.
Mode: configure
To continuously poll for firmware or configuration changes, use the provisioning execute command together
with the timer command. Here’s how to do both firmware and configuration provisioning, with a polling
interval of one day:
timer FIRMWARE_UPDATE now + 2 minutes every day “provisioning execute FIRMWARE”
timer CONFIG_UPDATE now + 2 minutes every day “provisioning execute CONFIG”
Provisioning Reset
When a device executes a provisioning of a script successfully, it stores the information about executing that
script permanently on the device. This is to avoid repeated execution of the same script. Now, if the user
manually performs software updates or switching of images and expects the provisioning to execute the
software update script after that, this is never going to happen because of the stored state of the script.
Therefore a command is introduced to manually reset the stored provisioning state and let the provisioning
execute the next time it is triggered.
Mode: Enable
Provisioning Status
To show the status of provisioning events, the following can be done to view this information.
Mode: Operator
Chapter contents
Introduction ........................................................................................................................................................207
Ethernet Port Configuration Task List ................................................................................................................207
Entering the Ethernet Port Configuration Mode ..........................................................................................207
Configuring Medium for an Ethernet Port ...................................................................................................207
Binding an Ethernet Port ..............................................................................................................................208
Multiple IP Addresses on Ethernet Ports .......................................................................................................209
Configuring a VLAN ....................................................................................................................................210
Configuring Layer-2-CoS to Service-class Mapping for a VLAN ...................................................................211
Closing an Ethernet Port ..............................................................................................................................212
206
Trinity Release 3.14.X Command Line Reference Guide 14 • Ethernet Port Configuration
Introduction
This chapter provides an overview of Ethernet ports and describes the tasks involved in configuring Ethernet
ports through the Trinity operating system.
Introduction 207
Trinity Release 3.14.X Command Line Reference Guide 14 • Ethernet Port Configuration
This procedure describes how to configure the medium for the Ethernet port on slot and port
Mode: Configure
Context
IP
ÒrouterÓ
Port Port
Ethernet Ethernet
00 01
This following procedure describes how to bind the Ethernet port to an already existing IP interface
Mode: Configure
The <ifName> parameter specifies the name of the IP interface within the IP context given with the
<ctxName> parameter.
Note Note: The <ctxName> parameter is optional. If you don't provide it, Trinity
binds to an IP interface in the default ROUTER context.
Example: Create an IP interface with one static address and bind it to port ethernet.
node>enable
node#configure
node(cfg)#context ip ROUTER
node(ctx-ip)[ROUTER]#ip interface LAN
node(ip-if)[ROUTER.LAN]#ipaddress STATIC 10.1.1.1/24
node(ip-if)[ROUTER.LAN)#port ethernet 0 0
node(prt-eth)[0/0]#bind interface ROUTER LAN
node(prt-eth)[0/0]#no shutdown
The procedures below demonstrate how two different IP addresses (potentially in the same network) can be
used on an Ethernet port. However, if necessary any number of static IP addresses and an optional DHCP
address can be created on an IP interface.
Mode: Configure
The <label> parameter specifies the name of the address. An IP interface may host more than one IP address.
The label must be unique within the IP interface; you may re-use the same label in a different IP interface.
Note Note: The label parameter is optional. If you don't provide it, Trinity creates
a new IP address for the interface and automatically assigns it a unique label.
Note Note: If you specify DHCP as label, you create a DHCP address. Only one
DHCP address can be created per interface.
The <address> parameter specifies the network address and mask size in dotted-decimal format a.b.c.d/m for
IPv4 or in the colon format a:b:c::x/m for IPv6. Alternatively, you may enter the network address and full net-
work mask with two consecutive parameters, a.b.c.d e.f.g.h or a:b:c::x e:f:g::y, respectively.
Example: Create an IP interface with one static an a DHCP address and bind it to port ethernet.
node>enable
node#configure
node(cfg)#context ip ROUTER
node(ctx-ip)[ROUTER]#ip interface LAN
node(ip-if)[ROUTER.LAN]#ipaddress STATIC 10.1.1.1/24
node(ip-if)[ROUTER.LAN]#ipaddress DHCP
node(ip-if)[ROUTER.LAN)#port ethernet 0 0
node(prt-eth)[0/0]#bind interface LAN
Configuring a VLAN
By default, no VLAN ports are configured on an Ethernet port. One or more VLAN ports can be created on
each Ethernet port.
You must bind each VLAN port to an existing IP interface which must be distinct from the IP interface bound
by the Ethernet port and by other VLANs. When executing the bind command, the requested interface must
exist (see Chapter 22, “IP Interface Configuration” on page 314 to learn how to create a new IP interface).
For incoming VLAN packets, each of the 8 possible layer-2 class of services (CoS) can be mapped to an internal
traffic-class. Unless otherwise configured, all CoS values map to the default traffic-class.
By default all VLAN ports are initially disabled. They can be enabled with the no shutdown command. The
corresponding Ethernet port must also be enabled for the VLAN port to work. If the Ethernet port is disabled,
all associated VLAN ports are also disabled.
When a VLAN port is closed, the IP interface that is bound to this port is also closed. All static routing entries
that are using this interface change their state to invalid and all dynamic routing entries will be removed from
the route table manager.
Mode: Configure
The no prefix before the shutdown command causes the port to open with the interface to which it is bound.
Example: Disabling an Ethernet port
The following example shows how to disable the Ethernet port on slot 0 and port 1.
device(cfg)#port ethernet 0 1
device(prt-eth)[0/1]#shutdown
Checking the state of the Ethernet port on slot 0 and port 1 shows that the interface was closed.
device(prt-eth)[0/1]#show port ethernet 0 1
Ethernet 0 1
-------------------------------------
Medium : Auto
Administrative State : Down
Bound IP Interface : ROUTER.WAN
IP Addresses : WAN (static): down
Configured: 20.1.1.1/24
Operational: 20.1.1.1/24
DHCP (DHCP): down
Requested: (none)
Operational: (none)
Medium : Not Connected
Operational State : Down
Hardware Address : 00:a0:ba:06:d6:0a
MTU : 1500
ARP : enabled
Multicast: enabled
Rx Statistics : 0 bytes in 0 packets
0 errors 0 drops, 0 overruns
0 multicast packets
Tx Statistics : 2038 bytes in 13 packets
0 errors 0 drops, 0 collisions 0 carrier errors
Moreover the IP interface, which is bound to the Ethernet port on slot 0 and port 0 gets also closed. Checking
the state of the IP interface WAN indicates this with the Status parameter set to shutdown on the interface and
down on all its addresses, respectively.
device(prt-eth)[0/1]#show ip interface
Chapter contents
Introduction ........................................................................................................................................................215
Supported Cellular Modems................................................................................................................................215
Virtual Ports vs. Physical Modems ................................................................................................................215
Cellular Modem Configuration Task List............................................................................................................216
Creating a Virtual Port and Linking It to a Physical Modem ........................................................................216
Configuring the Cellular Network Parameters ..............................................................................................217
Configuring the IP Address ...........................................................................................................................217
Enabling the Cellular Modem .......................................................................................................................217
Displaying the Cellular Modem's Configuration and Status ..........................................................................218
Debugging the Cellular Modem ...................................................................................................................219
Troubleshooting ..................................................................................................................................................219
My cellular modem is not getting an IP address ............................................................................................219
My cellular modem has a static public IP address but I can't access my device using it ..................................220
214
Trinity Release 3.14.X Command Line Reference Guide 15 • Configuring a Cellular Modem
Introduction
This chapter describes how to configure a cellular modem.
The control protocol is the protocol used internally between the Trinity Device and modem to configure the
modem and to query its status. The MBIM and QMI protocols provide full access to the modem's configura-
tion and status, whereas the generic protocol does not. This means that for modems supporting MBIM or
QMI, Trinity is able to display the modem's connection status and to invalidate routes to the cellular network
when the cellular connection drops, but it is not able to for generic modems.
The IP address type must be known when configuring the cellular modem's IP address. Generic and MBIM
modems use DHCP to provide Trinity with an IP address, whereas QMI modems use the QMI protocol
directly to provide Trinity with an IP address.
Because several modems support either MBIM or QMI, it is possible that other modems may work when
plugged into a Trinity Device; however, Patton Electronics only tests the modems listed above in table 17.
Introduction 215
Trinity Release 3.14.X Command Line Reference Guide 15 • Configuring a Cellular Modem
plugged in. If the virtual port's parameters match the physical modem's information, the virtual port is linked
to the physical modem, and its configuration is applied to the modem.
Note You need to provision the modem correctly on a computer before using it on
Trinity.
The second way to create a virtual port is to insert the physical modem. When no virtual ports match the phys-
ical modem, Trinity will automatically create a virtual port that matches the physical modem's vendor and
product IDs at priority 1.
If the APN is not configured, then Trinity will attempt to use a default APN based on the mobile country code
(MCC) and mobile network code (MNC) contained in the international mobile subscriber identity (IMSI)
read from the modem's SIM card.
MDN:
Vendor ID: 0x1199
Product ID: 0x9051
Priority: 1
Delete On Disconnect: false
APN:
Administrative State: Up
Bound IP Interface: ROUTER.AIRCARD_340U
IP Addresses: AIRCARD_340U (DHCP): up
Requested: (none)
Operational: 10.4.152.60/30
Operational State: Up
Hardware Address: a2:93:38:95:34:c2
Configured MTU: 1492
Troubleshooting
Troubleshooting 219
Trinity Release 3.14.X Command Line Reference Guide 15 • Configuring a Cellular Modem
MDN:
Vendor ID: 0x1199
Product ID: 0x9051
Priority: 1
Delete On Disconnect: false
APN:
Administrative State: Up
Bound IP Interface: ROUTER.AIRCARD_340U
IP Addresses: AIRCARD_340U (CELLMODEM): released
Requested: (none), ignoring hostname
Operational: (none)
Operational State: Up
Hardware Address: a2:93:38:95:34:c2
Configured MTU: 1492
Actual MTU: 1500
ARP: enabled
Multicast: enabled
Rx Statistics: 1471 bytes in 9 packets
0 errors 0 drops, 0 overruns
0 multicast packets
Tx Statistics: 2036 bytes in 14 packets
0 errors 0 drops, 0 collisions 0 carrier errors
The vendor and product IDs indicate that this virtual port is connected to a Netgear AirCard 340U, which
requires an IP address type of DHCP, but the IP address type is configured as CELLMODEM. To fix this, exe-
cute the following commands:
node(cfg)#context ip ROUTER
node(ctx-ip)[ROUTER]#interface AIRCARD_340U
node(if-ip)[AIRCARD~]#ipaddress AIRCARD_340U dhcp
node(if-ip)[AIRCARD~]#port virtual cell-modem 1
node(vprt-cell)[1]#shutdown
node(vprt-cell)[1]#no shutdown
My cellular modem has a static public IP address but I can't access my device using it
If you have requested a static public IP address from your cellular carrier, but you are not able to access your
device using that IP, you may need to modify your modem's configuration. Trinity does not provide this func-
tionality. You will have to do this from your PC.
For example, if you are using the Netgear AirCard 341U and want to access your Trinity Device using its pub-
lic IP address, you will need to put it in IP Passthrough Mode. To do this:
1. Plug the modem into your PC.
2. Open a browser and go to http://192.168.1.1 to open the modem's web interface.
3. Login. The default password is password.
4. Click on the Router tab (see figure 23).
Troubleshooting 220
Trinity Release 3.14.X Command Line Reference Guide 15 • Configuring a Cellular Modem
5. Click the radio button to enable IP Passthrough Mode. The modem will inform you that it must reboot to
apply the configuration and prompt you to confirm. Confirm and wait for the modem to reboot.
6. Now you can plug the modem into your Trinity device and the static public IP address will be assigned
directly to your Trinity device and it will be accessible from that IP. As with any device connected directly
to the Internet, make sure to secure it, e.g. using ACL rules.
Troubleshooting 221
Chapter 16 Hardware Switching
Chapter contents
Introduction ........................................................................................................................................................224
Switch Groups.....................................................................................................................................................224
Switch Group Configuration Task List .........................................................................................................225
Create a switch group ..............................................................................................................................225
Bind switch group to an IP interface .......................................................................................................225
Create switch group interfaces .................................................................................................................225
Bind ports to switch group interface ........................................................................................................226
Examples .......................................................................................................................................................226
LAN/WAN Configuration ......................................................................................................................226
Configuring Two LANs ..........................................................................................................................227
VLAN (802.1p/Q) ..............................................................................................................................................227
VLAN configuration task list ........................................................................................................................228
Configure switch mode ...........................................................................................................................228
Enter switch group interface configuration mode ....................................................................................228
Permit untagged packets ..........................................................................................................................228
Permit tagged packets ..............................................................................................................................229
Encapsulate untagged traffic ....................................................................................................................229
Encapsulate all traffic ..............................................................................................................................230
Examples .......................................................................................................................................................230
Example 1: Interface Isolation .................................................................................................................230
Example 2: VLAN Tagging .....................................................................................................................231
Example 3: Q-in-Q .................................................................................................................................233
Access Control List Configuration.......................................................................................................................233
About Access Control Lists (ACLs) ...............................................................................................................233
What ACLs Do .......................................................................................................................................233
Why You Should Configure ACLs ..........................................................................................................234
Features of Access Control Lists ..............................................................................................................234
Access Control List (ACL) Configuration Task List ......................................................................................235
Mapping the Goals of the ACL ...............................................................................................................235
Creating an ACL Profile and Entering Configuration Mode ...................................................................235
Adding and Deleting a Filter Rule to the Current ACL Profile ................................................................236
Binding and Unbinding an ACL Profile to a Switch Port ........................................................................239
Displaying an ACL Profile ......................................................................................................................239
QoS Traffic Scheduler .........................................................................................................................................240
About QoS ...................................................................................................................................................240
Packet walkthrough .................................................................................................................................240
QoS Traffic Scheduler Configuration Task List ............................................................................................241
Create a class of service profile and assign its traffic class .........................................................................241
Create an access control list profile and create classifier rules ...................................................................242
222
Trinity Release 3.14.X Command Line Reference Guide 16 • Hardware Switching
223
Trinity Release 3.14.X Command Line Reference Guide 16 • Hardware Switching
Introduction
This chapter discusses hardware switching. The following are covered:
• Switch Groups
• VLAN (802.1p/Q)
• Access Control List Configuration
• QoS Traffic Scheduler
• ToS Stripping and Prioritization
• MAC Filter Configuration
• Trunk Configuration
• Ethernet Service Policy Configuration
Switch Groups
This device has an Ethernet switch inside to which external ports are connected. Thus, Ethernet switching
between these ports is possible without using the main CPU. This frees the CPU to be used for other tasks,
such as IP routing or voice applications.
However, the ports must be configured to use the switch by binding them to switch group interfaces. Other-
wise, the switch will forward all packets they receive to the CPU. Consider the diagram below:
Introduction 224
Trinity Release 3.14.X Command Line Reference Guide 16 • Hardware Switching
• The IP context resides on the CPU indicating that IP routing and termination is performed by the device's
main CPU.
• The switch group context resides on the switch, indicating that Ethernet switching is performed by the
switch without using CPU resources.
• The first three Ethernet ports are bound to interfaces in the switch group context, indicating that Ethernet
traffic is switched between the first three ports, but not the fourth.
• The switch group context is bound to an IP interface, indicating that traffic received by the first three Ether-
net ports can be routed out the fourth Ethernet interface. Also, a PC attached to one of the first three Ether-
net ports can be used to manage the device.
• Even though the fourth Ethernet port is not bound to a switch group interface, its traffic still goes through
the switch before reaching the CPU.
• All ports attached to the switch share a single data path to the CPU. This means that even though traffic can
be switched between ports at line rate, routing between ports connected to the switch is limited by the speed
of the data path between the switch and CPU.
This chapter describes the tasks involved in configuring a switch group to perform Ethernet switching between
the device's ports.
Examples
LAN/WAN Configuration
The following example shows how to configure `port ethernet 0 0` as a WAN port and the remaining Ethernet
ports as LAN ports. The switch will process all traffic from one device on the LAN destined to another device
on the LAN. The CPU will only process traffic that must be routed between the LAN and the WAN.
Notice that `port ethernet 0 0` binds directly to an IP interface, whereas the other Ethernet ports bind to
switch group interfaces. The switch group then binds to an IP interface.
device(cfg)#context ip ROUTER
device(ctx-ip)#interface LAN
device(if-ip)[LAN]#ipaddress 192.168.1.1/24
device(if-ip)[LAN]#exit
device(ctx-ip)#interface WAN
device(if-ip)[WAN]#ipaddress 10.0.0.1/24
device(if-ip)[WAN]#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#bind interface ROUTER WAN
device(prt-eth)[0/0]#exit
device(cfg)#port ethernet 0 1
device(cfg)#port ethernet 0 2
device(prt-eth)[0/2]#bind switch-group DEFAULT 0_2
device(prt-eth)[0/2]#exit
device(cfg)#port ethernet 0 3
device(prt-eth)[0/3]#bind switch-group DEFAULT 0_3
device(prt-eth)[0/3]#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#bind switch-group LAN1 0_0
device(prt-eth)[0/0]#exit
device(cfg)#port ethernet 0 1
device(prt-eth)[0/1]#bind switch-group LAN1 0_1
device(prt-eth)[0/1]#exit
device(cfg)#port ethernet 0 2
device(prt-eth)[0/2]#bind switch-group LAN2 0_2
device(prt-eth)[0/2]#exit
device(cfg)#port ethernet 0 3
device(prt-eth)[0/3]#bind switch-group LAN2 0_3
device(prt-eth)[0/3]#exit
VLAN (802.1p/Q)
This section describes the tasks involved in configuring VLANs on switch group interfaces through the CLI.
VLANs may be used to:
• Isolate interfaces from one another. For example, if devices connected to interfaces ETHERNET_0_0 and
ETHERNET_0_1 are in a separate network than devices connected to interfaces ETHERNET_0_2 and
ETHERNET_0_3, VLANs can be used to prevent traffic from being forwarded from one network to the
other.
• Indicate to an external device which network a given packet came from by using VLAN tags.
Note Some older hardware did not have the switch that supports VLANs installed.
If that is the case, the switch mode command will not be available. You will
need to be in VLAN mode instead of Switch Group mode. Issue the com-
mand “switch mode vlans” from the configure mode.
To deny untagged traffic, use the deny untagged command. Note that to use this command; you must have
previously used the permit vlan vlan command to permit tagged traffic. Otherwise, the interface would deny
all traffic.
Mode: Switch group interface configuration
To remove from the set of permitted VLAN IDs, use the deny vlan vlan command.
Mode: Switch group interface configuration
Examples
Example 3: Q-in-Q
In the following example, DSL_0_0 and DSL_0_1 provide network access to two different customers. Both
customers' networks have their own VLAN schemes which must be preserved, so ETHERNET_0_0 encapsu-
lates traffic in a second VLAN tag so it can keep the customer's VLAN tag, yet still distinguish which customer
the traffic came from.
node(cfg)#context switch-group DEFAULT
node(ctx-swgrp)[DEFAULT]#interface DSL_0_0
node(if-swgrp)[DEFAULT.DSL_0_0]#permit all encapsulate vlan 100
node(if-swgrp)[DEFAULT.DSL_0_0]#exit
node(ctx-swgrp)[DEFAULT]#interface DSL_0_1
node(if-swgrp)[DEFAULT.DSL_0_1]#permit all encapsulate vlan 200
node(if-swgrp)[DEFAULT.DSL_0_1]#exit
node(ctx-swgrp)[DEFAULT]#interface ETHERNET_0_0
node(if-swgrp)[DEFAULT.ETHERNET_0_0]#permit vlan 100,200
node(if-swgrp)[DEFAULT.ETHERNET_0_0]#exit
What ACLs Do
ACLs implement a firewall by filtering network traffic, forwarding or dropping each packet based on the ACL
rules and bindings. ACL rules specify the criteria used to match packets, e.g. source/destination MAC address,
IP address, and/or TCP ports. ACL bindings determine which ingress interface will be matched.
Note Sophisticated users can sometimes successfully evade or fool basic access lists
because no authentication is required.
Host A
Node
Node
Host B
Human Research &
Resource Development
Network Network
Figure 26. Using traffic filters to prevent traffic from being routed to a network
You can also use ACLs to decide which types of traffic are forwarded or blocked at the device interfaces. For
example, you can permit e-mail traffic to be forwarded but at the same time block all Telnet traffic.
Note Two or more administrators should not simultaneously edit the configura-
tion file. This is especially the case with ACLs. Doing this can have unpre-
dictable results.
Once in ACL configuration mode, each command creates a rule in the ACL. When the ACL is applied, the
action performed by each rule is one of the following:
• permit statement causes any packet matching the criteria to be accepted.
• deny statement causes any packet matching the criteria to be dropped.
Note A single ACL can have multiple rules, but editing those rules online can be
tedious. Therefore, we recommend editing complex ACLs offline within a
configuration file and downloading the configuration file later via TFTP to
your device.
The ACL profile name will be known by name. Entering this command puts you into ACL configuration mode
where you can enter the individual statements that will make up the ACL.
Use the no form of this command to delete an ACL profile. You cannot delete an ACL profile if it is currently
bound to a switch port.
Example: Create an ACL profile
In the following example the ACL profile named FROM_MODEM is created and the shell of the ACL config-
uration mode is activated.
node>enable
node#configure
node(cfg)#profile switch acl FROM_MODEM
node(pf-switch-acl)[FROM_MODEM]#
Keyword Meaning
permit Forward any packet matching the match criteria.
deny Drop any packet matching the match criteria.
src-mac Matches packets from this MAC address, e.g. 00:a0:ba:01:23:45
dest-mac Matches packets to this MAC address, e.g. 00:a0:ba:0a:bc:de
vlan-id Matches packets on this VLAN. Note that this matches the VLAN that
the switch internally assigns to the packet. For ports that are untagged
members or access port members of a VLAN, the internal VLAN does
not match the packet's VLAN ID field. See Chapter 14, “Ethernet Port
Configuration” on page 206 for details. Valid values are 0 through 4094.
vlan-prio Matches packets with this IEEE 802.1p VLAN priority field. Note that this
will only match packets that were received with a VLAN tag. Valid values
are 0 through 7.
dscp Matches packets with this !DiffServ Code Point. Valid values are 0
through 63, or any of the following: af11 af12 af13 af21 af22 af23 af31
af32 af33 af41 af42 af43 cs1 cs2 cs3 cs4 cs5 cs6 cs7 ef. Requires pro-
tocol ip, icmp, tcp, udp, or sctp to be specified.
arp Matches ARP packets
Keyword Meaning
ip Matches IPv4 packets
icmp Matches ICMP packets
tcp Matches TCP packets
udp Matches UDP packets
sctp Matches SCTP packets
src-address Matches packets from this IPv4 host, e.g. 192.168.1.1. Requires proto-
col ip, icmp, tcp, udp, or sctp to be specified.
src-network/src-mask-size Matches packets from this IPv4 subnet, e.g. 192.168.1.0/24. Requires
protocol ip, icmp, tcp, udp, or sctp to be specified.
src-network src-mask Alternate syntax to match packets from this IPv4 subnet, e.g.
192.168.1.0 255.255.255.0. Requires protocol ip, icmp, tcp, udp, or
sctp to be specified.
dest-address Matches packets to this IPv4 host, e.g. 192.168.2.1. Requires *protocol
ip, icmp, tcp, udp, or sctp to be specified.
dest-network/dest-mask-size Matches packets to this IPv4 subnet, e.g. 192.168.2.0/24. Requires pro-
tocol ip, icmp, tcp, udp, or sctp to be specified.
dest-network dest-mask Alternate syntax to match packets from this IPv4 subnet, e.g.
192.168.2.0 255.255.255.0. Requires protocol ip, icmp, tcp, udp, or
sctp to be specified.
icmp-type Matches packets with this ICMP type. Valid values are 0 through 255, or
any of the following: echo-reply destination-unreachable redirect alter-
nate-host-address echo-request router-advertisement router-selection
time-exceeded parameter-problem timestamp-request timestamp-reply
information-request information-reply address-mask-request address-
mask-reply traceroute datagram-conversion-error mobile-host-redirect
ipv6-where-are-you ipv6-i-am-here mobile-registration-request mobile-
registration-reply skip photuris. Requires protocol ip, to be specified.
icmp-code Matches packets with this ICMP code. Valid values are 0 through 255.
Requires protocol ip to be specified.
src-port Matches packets from this TCP, UDP, or SCTP port. Requires protocol
ip, udp, or sctp to be specified.
dest-port Matches packets to this TCP, UDP, or SCTP port. Requires protocol
tcp, udp or sctp to be specified.
If no match criteria is specified, the rule will match all packets, so if you place the rule deny at the top of an
ACL profile, no packets will pass regardless of the other rules you defined.
Example: Create ACL rules
Select the ACL profile named FROM_MODEM and create some rules to:
• drop all ICMP echo requests (as used by the ping command),
• but forward all other ICMP traffic,
• forward any TCP traffic to host 193.14.2.10 via port 80,
• forward UDP traffic from host 62.1.2.3 to host 193.14.2.11 via any port in the range from 1024 to 2048,
and
• forward all traffic from the 97.123.121.0/24 subnet to host 193.14.2.11.
node(cfg)#profile switch acl FROM_MODEM
node(pf-switch-acl)[FROM_MODEM]#deny protocol icmp icmp-type echo-request
node(pf-switch-acl)[FROM_MODEM]#permit protocol icmp
node(pf-switch-acl)[FROM_MODEM]#permit protocol tcp dest-ip 193.14.2.10 dest-port
80
node(pf-switch-acl)[FROM_MODEM]#permit protocol udp src-ip 62.1.2.3 dest-ip
193.14.2.11 dest-port 1024..2048
node(pf-switch-acl)[FROM_MODEM]#permit protocol ip src-ip 97.123.121.0/24 dest-ip
193.14.2.11
node(pf-switch-acl)[FROM_MODEM]#exit
node(cfg)#
The no form of the permit or deny command is used to delete an ACL rule. This procedure describes how to
delete an ACL rule.
Mode: ACL Configuration
Keyword Meaning
permit Delete a permit rule.
deny Delete a drop rule.
index The order in the ACL of the rule to delete.
The no form of the use command is used to unbind an ACL profile from a port. This procedure describes how
to unbind an ACL profile from a port.
Mode: Switch Port
Keyword Meaning
type The type of the port to which the ACL profile is bound, e.g. ethernet or
dsl.
slot The port number of the port to which the ACL profile is bound.
port The port number of the port to which the ACL profile is bound.
name The name of an ACL profile that has already been created using the
profile switch acl command. This is not used for the no form of the
command.
Unbind the ACL profile from incoming packets on the port ethernet 0 0.
node(cfg)#port ethernet 0 0
node(prt-eth)[0/0]#switch
node(switch-port-ethernet)[0/0]#no use acl in
Mode: Administrator execution or any other mode, except the operator execution mode
About QoS
There are two main aspects to implementing QoS: packet classification and packet scheduling.
Packet classification is performed by an access control list, In addition to filtering packets, as described in the
Chapter 14, “Hardware Switching: Access Control List Configuration” on page 102, an access control list can
also assign packets to a class of service profile.
The class of service profile then assigns the packet to a traffic class.
Packet scheduling is performed by a service policy. The service policy schedules packets for transmission based
the packet's traffic class.
In addition, you may optionally configure rate shaping on the transmit port. Rate shaping can be used in con-
junction with packet scheduling, but it can also be used independently.
Packet walkthrough
A packet received by an Ethernet switch port is processed as follows:
1. If the port is bound to an access control list, that access control list assigns the packet to a class of service
profile.
2. The class of service profile assigns the packet to a traffic class.
3. The switch selects a port to transmit the packet out of based on the packets destination MAC address.
4. The port enqueues the packet for transmission based on the packet's traffic class. The port has 8 transmit
queues, one for each transmit class. If the port's transmit queue that corresponds to the packet's traffic class
is full, then the packet is dropped. This is called tail-dropping.
5. When the port is finished transmitting a packet, if its transmit rate shaper is enabled, it waits to dequeue
the next packet such that the bandwidth will remain under the specified rate. Otherwise it proceeds imme-
diately to the next step.
6. The port dequeues a packet from one of its transmit queues and begins transmitting it. Which transmit
queue it dequeues from is based on its service policy's configuration. The service policy configures each
traffic class for one of two scheduling algorithms:
– Priority: Packets will be dequeued and transmitted from the traffic class's queue until there is a packet in
a higher priority traffic classes queue. (Traffic class 7 is highest priority and 0 is lowest.) This means that
packets assigned to lower priority traffic classes will never be transmitted as long as there are packets
assigned to this traffic class. Lower priority traffic classes queues will fill up and packets assigned to those
traffic classes will be dropped if there is enough traffic assigned to the higher priority traffic class.
– Shared (shaped deficit weighted round robin, or SDWRR): Traffic classes that are configured for
shared will share the bandwidth available while the higher priority traffic classes’ queues are empty. Each
shared traffic class is guaranteed at least its configured percentage of the available bandwidth, but may
use more if the other traffic classes require less bandwidth than their configured percentage.
Note Traffic classes are configured for shared scheduling should be contiguous or
else the behavior will be unexpected. For example, it is acceptable for traffic
classes 0 and 6-7 to be configured for priority and traffic classes 1-5 to be
configured for shared, but it is not acceptable for classes 1 and 6-7 to config-
ured for priority and traffic classes 0 and 2-5 to be configured for shared
because 0 and 2 are not contiguous.
There are 4 different service policies that may each be configured independently. Each Ethernet switch port is
assigned to one of these 4 service policies.
Mode: Configure
Example: Creating a class of service profile and assigning its traffic class
Create class of service WEB with traffic class 1, giving it the second to lowest priority.
node(cfg)#profile switch cos WEB
node(pf-switch-cos)[WEB]#traffic-class 1
Mode: Configure
In the diagram, suppose both Ethernet 0/0 and Ethernet 0/1 are running at 10 Mbps. Ethernet 0/1 is config-
ured to shape its traffic at 5000 kilobits per second (i.e. 5 megabits per second) and to absorb up to 4 kilobytes
of burst.A station connected to Ethernet 0/0 is transmitting 1 kilobyte packets in bursts of 4 and then pausing
for 4 packet times so that its average rate over the course of a second is 5 megabits per second. Ethernet 0/1
shapes or “smooths” the traffic so that it transmits at a constant 5 megabits per second.
This might be useful if Ethernet 0/1 were connected to a DSL modem that had a 5 megabit per second connec-
tion to the far end. If the DSL modem had only a two packet buffer, and if Ethernet 0/1 were to transmit the 4
packet bursts, the DSL modem would receive the first packet in the burst and still be transmitting it when the
second packet arrived, so the second packet would be dropped.
While most modern DSL modems would have more than 4 kilobits of packet buffers, it is still possible that the
internal Ethernet switch has more buffer capacity than an external device. The internal Ethernet switch allows
up to a 16 megabyte burst to be configured, which many external devices would not have.
Mode: Configure
node(prt-eth)[0/0]#switch
node(switch-port-ethernet)[0/0]#tx-shaper rate 1000 burst 128
Example
The following example provides the following quality of service to packets received by port ethernet 0 0 and
transmitted by port ethernet 0 1 depending on their DiffServ code point:
• Any packets arriving with a DSCP of EF (expedited forwarding) will be forwarded immediately.
• Any packets arriving with a DSCP of AFX1 (assured forwarding) will share the bandwidth left over from the
EF traffic. AF41 is assured of at least 40% of the remaining bandwidth, AF31 is assured of at least 30%,
AF21 is assured of at least 20%, and AF11 is assured of at least 10%.
• Any other traffic is given “best effort,” i.e. any bandwidth remaining after all EF and AF traffic have been
transmitted will be given to it.
Note that the access control list profile is bound to the receiving port (in this example, port ethernet 0 0), and
the service policy profile is bound to the transmitting port (in this example, port ethernet 0 1). In addition,
port ethernet 0 1 is connected to a DSL modem running at 5.7 Mbps, so we enable its rate shaper to limit its
transmit rate to 5.7 Mbps.
node>enable
node#configure
node(cfg)#profile switch cos EF
node(pf-switch-cos)[EF]#traffic class 7
node(pf-switch-cos)[EF]#exit
node(cfg)#profile switch cos AF41
node(pf-switch-cos)[AF41]#traffic class 4
node(pf-switch-cos)[AF41]#exit
node(cfg)#profile switch cos AF31
node(pf-switch-cos)[AF31]#traffic class 3
node(pf-switch-cos)[AF31]#exit
node(cfg)#profile switch cos AF21
node(pf-switch-cos)[AF21]#traffic class 2
node(pf-switch-cos)[AF21]#exit
node(cfg)#profile switch cos AF11
node(pf-switch-cos)[AF11]#traffic class 1
node(pf-switch-cos)[AF11]#exit
node(cfg)#profile switch cos BE
node(pf-switch-cos)[BE]#traffic class 0
node(pf-switch-cos)[BE]#exit
node(cfg)#profile switch acl CLASSIFIER
node(pf-switch-acl)[CLASSIFIER]#permit dscp ef protocol ip set cos EF
node(pf-switch-acl)[CLASSIFIER]#permit dscp af41 protocol ip set cos AF41
node(pf-switch-acl)[CLASSIFIER]#permit dscp af31 protocol ip set cos AF31
node(pf-switch-acl)[CLASSIFIER]#permit dscp af21 protocol ip set cos AF21
node(pf-switch-acl)[CLASSIFIER]#permit dscp af11 protocol ip set cos AF11
node(pf-switch-acl)[CLASSIFIER]#permit set cos BE
node(pf-switch-acl)[CLASSIFIER]#exit
node(cfg)#profile switch service-policy 1
node(pf-srvpl)[1]#source traffic-class 7
node(src)[1.7]#priority
node(src)[1.7]#exit
node(pf-srvpl)[1]#source traffic-class 4
node(src)[1.4]#share 40
node(src)[1.4]#exit
node(pf-srvpl)[1]#source traffic-class 3
node(src)[1.3]#share 30
node(src)[1.3]#exit
node(pf-srvpl)[1]#source traffic-class 2
node(src)[1.2]#share 20
node(src)[1.2]#exit
node(pf-srvpl)[1]#source traffic-class 1
node(src)[1.1]#share 10
node(src)[1.1]#exit
node(pf-srvpl)[1]#source traffic-class 0
node(src)[1.0]#priority
node(src)[1.0]#exit
node(pf-srvpl)[1]#exit
node(cfg)#port ethernet 0 0
node(prt-eth)[0/0]#switch
node(switch-port-ethernet[0/0]#use acl CLASSIFIER in
node(cfg)#port ethernet 0 1
node(prt-eth)[0/1]#switch
node(switch-port-ethernet[0/1]#use service-policy 1
node(switch-port-ethernet[0/1]#tx-shaper rate 5700 burst 128
• Create an access control list profile and create classifier rules (see page 247)
• Binding an access control list to the receiving switch port (see page 247)
Create a class of service profile and configure its VLAN priority and/or DSCP
This procedure describes how to create a class of service profile and configure its VLAN priority and/or DSCP.
If the VLAN priority is configured, then any packet assigned to this class of service will be transmitted with its
VLAN priority field set to the configured value. Otherwise, it will be transmitted with the same VLAN priority
field it arrived with. Note that the VLAN priority field is part of the VLAN header, so if the packet is transmit-
ted untagged, this configuration has no effect.
If the DSCP is configured, then any packet assigned to this class of service will be transmitted with its DSCP
field set to the configured value. Otherwise, it will be transmitted with the same DSCP field it arrived with.
Note that the DSCP field is part of the IP header, so if the packet is not an IP packet, this configuration has no
effect.
Mode: Configure
Mode: Configure
Example
The following example causes packets received by port ethernet 0 0 to be transmitted with VLAN priority and
DSCP as follows:
• SSH and Telnet (TCP ports 22 and 23, respectively) are used for device management on this network, so
they are transmitted with VLAN priority 3 (critical applications) and DSCP EF (expedited forwarding) to
tell other devices to give them higher priority.
• Everything else is considered data, so it is transmitted with VLAN priority 0 (best effort) and DSCP 0 (best
effort) to tell other devices to give them lower priority.
device>enable
device#configure
device(cfg)#profile switch cos MGMT
device(pf-switch-cos)[VOICE]#set layer2 cos 3
device(pf-switch-cos)[VOICE]#set ip dscp ef
device(pf-switch-cos)[VOICE]#exit
device(cfg)#profile switch cos DATA
device(pf-switch-cos)[VOICE]#set layer2 cos 0
device(pf-switch-cos)[VOICE]#set ip dscp 0
device(pf-switch-cos)[VOICE]#exit
device(cfg)#profile switch acl CLASSIFIER
device(pf-switch-acl)[CLASSIFIER]#permit protocol tcp dest-port 22 set cos MGMT
device(pf-switch-acl)[CLASSIFIER]#permit protocol tcp dest-port 23 set cos MGMT
device(pf-switch-acl)[CLASSIFIER]#permit set cos DATA
device(pf-switch-acl)[CLASSIFIER]#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#switch
device(switch-port-ethernet[0/0]#use acl CLASSIFIER in
• Creating a MAC filter profile and enter configuration mode (see page 249)
• Adding a filter rule to the current MAC filter profile (see page 249)
• Binding and unbinding a MAC filter profile to an Ethernet switch port (see page 249)
• Displaying a MAC filter profile (see page 250)
The no form of the use command is used to unbind a MAC filter profile from an Ethernet switch port. When
using this form, the name of a MAC filter profile represented by the name argument above, is not required.
This procedure describes how to unbind a MAC filter profile from incoming packets on an Ethernet switch
port.
Mode: Ethernet switch port
Example: Bind and unbind a MAC filter profile to an Ethernet switch port
Create a MAC filter profile that allows only hosts 00:a0:ba:01:23:45 and 00:a0:ba:01:ab:cd to be connected to
the Ethernet port on slot 0 and port 0.
device(cfg)#profile switch mac-filter FILTER
device(pf-switch-mac-filter)[FILTER]#permit 00:a0:ba:01:23:45 any
device(pf-switch-mac-filter)[FILTER]#permit 00:a0:ba:01:ab:cd any
device(pf-switch-mac-filter)[FILTER]#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#switch
device(switch-port-ethernet)[0/0]#use mac-filter FILTER
Note When unbinding a MAC filter, the profile name argument is not required
since only one MAC filter profile can be active at a time on a certain Ether-
net switch port.
===============================================
Source Destination VLAN
----------------- ----------------- ----
00:a0:ba:01:23:45
00:a0:ba:01:ab:cd
Trunk Configuration
Link aggression control protocol (LACP), a.k.a. Trunk, is a protocol used to determine if two or more physical
links are connected to the same device and can be used as a single logical link. Some products include an inter-
nal Ethernet switch to which the external ports are connected. This switch provides efficient bridging between
the Ethernet and Ethernet-like ports. Up to 8 of these ports may be bonded into a single logical link using
IEEE 802.1AX link aggregation. This provides both increased bandwidth and redundancy. This is referred to
as “trunking.” This chapter describes the tasks involved in configuring the switch's ports for trunking through
the CLI.
The no form of the use command is used to unbind a trunk profile from an Ethernet switch port. When using
this form, the name of a trunk profile represented by the name argument above, is not required.
This procedure describes how to unbind a trunk profile from an Ethernet switch port.
Mode: Ethernet Switch port
Example: Binding and unbinding a MAC filter profile to an Ethernet switch port
Bond Ethernet 0/1 and Ethernet 0/2 together into a single logical link.
device(cfg)#profile switch trunk TRUNK
device(pf-switch-trunk)[FILTER]#exit
device(cfg)#port ethernet 0 1
device(prt-eth)[0/1]#switch
device(switch-port-ethernet)[0/1]#use trunk TRUNK
device(switch-port-ethernet)[0/1]#exit
device(prt-eth)[0/1]#exit
device(cfg)#port ethernet 0 2
device(prt-eth)[0/2]#switch
device(switch-port-ethernet)[0/2]#use trunk TRUNK
Mode: Administrator execution of any other mode, except the operator execution
The following example enables the debug monitor for Ethernet switch trunk profiles globally.
device#no trace lacp
About QoS
There are two main aspects to implementing QoS: packet classification and packet scheduling.
Packet classification is performed by a profile classifier. The classifier is part of the overall Quality-of-Service
architecture of Trinity. As depicted in figure 66 on page 483, the classifier groups packet flows into virtual traf-
fic-classes.
Packet Walkthrough
A packet received by an Ethernet switch port is processed as follows:
1. If the port is bound to a profile classifier, that profile classifier assigns the packet to a class of service profile.
2. The class of service profile assigns the packet to a traffic class.
3. The switch selects a port to transmit the packet out of, based on the packets destination MAC address.
4. The port enqueues the packet for transmission based on the packet's traffic class. The port has 8 transmit
queues, one for each transmit class. If the port's transmit queue that corresponds to the packet's traffic class
is full, then the packet is dropped. This is called tail-dropping.
5. When the port is finished transmitting a packet, it dequeues a packet from one of its transmit queues and
begins transmitting it. Which transmit queue it dequeues from is based on its service policy's configura-
tion. The service policy configures each traffic class for one of two scheduling algorithms:
– Priority: Packets will be dequeued and transmitted from the traffic class's queue until there is a packet in
a higher priority traffic class's queue. (Traffic class 7 is the highest priority and 0 is the lowest.) This
means that packets assigned to lower priority traffic classes will never be transmitted as long as there are
packets assigned to this traffic class. Lower priority traffic classes' queues will fill up and packets assigned
to those traffic classes will be dropped if there is enough traffic assigned to the higher priority traffic
class.
– Shared (shaped deficit weighted round robin): Traffic classes that are configured for shared will share the
bandwidth available while the higher priority traffic classes’ queues are empty. Each shared traffic class is
guaranteed at least its configured percentage of the available bandwidth, but may use more if the other
traffic classes require less bandwidth than their configured percentage.
Note Traffic classes configured for shared scheduling should be contiguous or else
the behavior will be unexpected. For example, it is acceptable for traffic
classes 0 and 6-7 to be configured for priority and traffic classes 1-5 to be
configured for shared; however, it is not acceptable for classes 1 and 6-7 to be
configured for priority and traffic classes 0 and 2-5 to be configured for
shared, because 0 and 2 are not contiguous.
There are 4 different service policies that may each be configured independently. Each Ethernet switch port is
assigned to one of these 4 service policies.
Mode: Configure
Chapter contents
Introduction ........................................................................................................................................................259
G.SHDSL EFM Setup ........................................................................................................................................259
Configuring the Mode for the G.SHDSL Connection ..................................................................................259
Configuring the Annex Type for the G.SHDSL Connection ........................................................................260
Configuring the Payload Data Rate for the G.SHDSL Connection ..............................................................260
Configuring the TCPAM for the G.SHDSL connection ...............................................................................261
DSL Emergency Freeze .................................................................................................................................261
DSL TX Power Increase ................................................................................................................................261
DSL Suspect Mode .......................................................................................................................................262
Multiport G.SHDSL Devices .......................................................................................................................262
Configuring the Profile for the G.SHDSL Connection .................................................................................262
VDSL/ADSL Configuration................................................................................................................................263
Introduction .................................................................................................................................................263
Configuration Task List ................................................................................................................................263
Configure Physical Parameters ......................................................................................................................264
Configure PTM Protocol Stack .....................................................................................................................264
IPoE ........................................................................................................................................................264
PPPoE .....................................................................................................................................................265
Create ATM PVC .........................................................................................................................................266
Configure ATM Protocol Stack ....................................................................................................................266
IPoEoA ...................................................................................................................................................267
PPPoEoA ................................................................................................................................................267
Troubleshooting DSL Connections .....................................................................................................................268
Checking DSL connection status with show command .................................................................................268
Link State .....................................................................................................................................................269
Debugging the DSL connection with the DSL debug command. .................................................................269
SHDSL Configuration ........................................................................................................................................269
Configuration Task List ................................................................................................................................269
Configure the physical layer ..........................................................................................................................270
Configure the mode ................................................................................................................................270
Configure the region ...............................................................................................................................270
Configure the modulation .......................................................................................................................270
Configure the payload rate ......................................................................................................................271
Configure adaptive payload rate ........................................................................................................ 271
Configure non-adaptive payload rate................................................................................................. 272
Configure the physical layer (advanced parameters (optional) .................................................................272
Configure emergency freeze............................................................................................................... 272
Configure the transmit power............................................................................................................ 272
Configure the receive sensitivity ........................................................................................................ 273
257
Trinity Release 3.14.X Command Line Reference Guide 17 • DSL Port Configuration
258
Trinity Release 3.14.X Command Line Reference Guide 17 • DSL Port Configuration
Introduction
This chapter provides an overview of the DSL ports, their characteristics and the tasks involved in the configu-
ration.
Introduction 259
Trinity Release 3.14.X Command Line Reference Guide 17 • DSL Port Configuration
Note The payload rate is only valid in 64 Kbps increments as shown in Table 18
on page 261, however the command will allow any integer value in the range
to be entered. The entered value will be automatically adjusted to a valid
rate.
Table 18 on page 261 provides an overview of the available payload rates. When the “payload-rate” command
is configured as “adaptive”, the discovered rate can be adjusted with the “snr-margin” command. This adjusts
the acceptable SNR of the link.
Step Command Purpose
1 [device](prt-dsl)[0/0]#snr-margin <-10..22> Adjust the signal sensitivity of the adaptive pay-
load rate. Default:6
Note TCPAM-4 and TCPAM-8 provide the DSL ports with longer reach and
greater stability in noisy environments. The maximum payload rate is 2496
kbps for TCPAM-4, and 5056 kbps for TCPAM-8. These are non-standard
extensions to G.SHDSL, so they are only guaranteed to work with two of
these products back-to-back.
port dsl 0 0
service-mode 4-wire
use profile DEFAULT
VDSL/ADSL Configuration
Introduction
This section describes the steps to configure the VDSL/ADSL features of a Trinity device. Once configured,
data will be able to be passed through the DSL/Line port to a WAN, usually made available by an Internet Ser-
vice Provider. However, Internet Service Providers will expect the Trinity device to use certain physical parame-
ters on the line, as well as a specific protocol stack, and we will need to configure the Trinity device to match
these requirements. These settings can be obtained from the ISP, and will determine the next steps in configur-
ing the Trinity device.
The physical parameters refer to the specifics of the VDSL and ADSL protocols that we can configure, while
the protocol stack refers the type of PTM or ATM WAN connection that is required, where PTM is Packet
Transfer Mode and ATM is Asynchronous Transfer Mode. Trinity’s support for their respective protocol stacks
is listed below:
• PTM
‣ IPoE - supported
‣ PPPoE - supported
• ATM
‣ IPoEoA - supported
‣ PPPoEoA - supported
‣ IPoA - (available in a future release)
‣ PPPoA - (available in a future release)
IPoE
The IPoE type of connection (see figure 27) bridges Ethernet traffic transparently across a PTM connection.
CLI
Mode: configure
Step Command Purpose
1 node(cfg)# port dsl slot port Enters the VDSL/ADSL port configuration
mode.
2 node(prt-dsl)[slot/port]# ptm Enters the PTM configuration mode.
3 node(ptm)# no shutdown Enable/disable the PTM interface.
4 node(ptm)# bind interface ctx-name if-name Bind the PTM interface to an IP address.
Example:
context ip ROUTER
interface WAN
port dsl 0 0
ptm
no shutdown
bind interface ROUTE
PPPoE
The PPPoE type of connection (see figure 28) encapsulates the IP traffic into a PPP over Ethernet session
before it is sent out over PTM.
CLI
Mode: configure
Step Command Purpose
1 node(cfg)# port dsl slot port Enters the VDSL/ADSL port configuration
mode.
2 node(prt-dsl)[slot/port]# ptm Enters the PTM configuration mode.
3 node(ptm)# no shutdown Enable/disable the PTM interface.
4 node(ptm)# [no] session pppoe session- Creates/deletes a PPPoE session on the
name PTM interface.
5 node(ses-pppoe)[ session-name]# access- Active Discovery only accepts PPPoE ses-
(optional) concentrator ac-name sions if the remote peer provides the tag “ac-
name” with its Active Discovery Offer. This
allows the device to identify the desired
remote peer.
6 node(ses-pppoe)[ session-name]# service Defines the tag “Service-Name” to be sup-
(optional) service-name plied with Active Discovery in order to iden-
tify the desired remote peer (check whether
the remote peer supports this feature).
7 node(ses-pppoe)[ session-name]# bind ses- Bind the PPPoE session to a PPP session.
sion ppp session-name The PPP session handles authentication and
IP negotiation.
Example:
context ip ROUTER
interface WAN
ipaddress WAN ipcp
port dsl 0 0
ptm
no shutdown
session pppoe WAN
bind session ppp WAN
IPoEoA
The IPoEoA type of connection (see figure 29) bridges Ethernet traffic transparently across an ATM PVC.
CLI
Mode: configure
Step Command Purpose
1 node(cfg)# port dsl slot port Enters the VDSL/ADSL port configuration
mode.
2 node(prt-dsl)[slot/port]# atm Enters the ATM configuration mode.
3 node(atm)# [no] pvc vpi vci Creates/deletes the PVC.
4 node(pvc)[ vpi/ vci]# [no] ethernet Enables/disables ATM Ethernet encapsula-
tion.
5 node(pvc-eth)[ vpi/ vci]# [no] shutdown Enables/disables the PVC.
6 node(ethernet)# vlan <id> Create VLAN interface with id <id>
7 node(pvc-eth)[ vpi/ vci]# bind interface ctx- Bind the PVC to an IP interface.
name if-name
Example:
context ip ROUTER
interface WAN
ipaddress WAN dhcp
port dsl 0 0
atm
pvc 8 35
ethernet
no shutdown
bind interface ROUTER WAN
PPPoEoA
The PPPoEoA type of connection (see figure 30) creates a PPP session over the ATM PVC.
CLI
Mode: configure
Step Command Purpose
1 node(cfg)# port dsl slot port Enters the VDSL/ADSL port configuration
mode.
2 node(prt-dsl)[ slot/ port]# atm Enters the ATM configuration mode.
3 node(atm)# [no] pvc vpi vci Creates/deletes the PVC.
4 node(pvc)[ vpi/ vci]# [no] ethernet Creates/deletes a PPPoE session on the
PTM interface.
5 node(ses-pppoe)[ session-name]# access- Active Discovery only accepts PPPoE ses-
(optional) concentrator ac-name sions if the remote peer provides the tag “ac-
name” with its Active Discovery Offer. This
allows the device to identify the desired
remote peer.
6 node(ses-pppoe)[ session-name]# service Defines the tag “Service-Name” to be sup-
(optional) service-name plied with Active Discovery in order to iden-
tify the desired remote peer (check whether
the remote peer supports this feature).
7 node(ses-pppoe)[ session-name]# bind ses- Bind the PPPoE session to a PPP session.
sion ppp session-name The PPP session handles authentication and
IP negotiation.
Example:
context ip ROUTER
interface WAN
ipaddress WAN ipcp
port dsl 0 0
atm
pvc 8 35
ethernet
no shutdown
session pppoe WAN
bind session ppp WAN
Link State
Verify that the DSL link is established (status LED is continuously on)
SHDSL Configuration
The SHDSL port may be configured for either adaptive or non-adaptive payload rate.
Configure adaptive payload rate. Adaptive payload rate means the SHDSL port will perform a power mea-
surement modulation session (PMMS) prior to linking in order to determine the highest payload rate that will
result in a target signal-to-noise ratio given the current cable conditions. Both the CO and CPE must be con-
figured for adaptive rate. Otherwise, they will skip the PMMS and link as if configured for non-adaptive pay-
load rate.
The benefit of adaptive payload rate is that the devices can be preconfigured without knowing the conditions
of the cable that will connect them, and they will still link at the best rate. The drawback is that the PMMS can
take up to 10 seconds to perform, so the devices take longer to link
Mode: port dsl slot port
Mode: profile dsl name (FF3310 only)
Step Command Purpose
1 device(prt dsl)[slot/port]#payload rate adaptive Configure the port for adaptive rate. If max
[max-kbps] kbps is specified and the cable supports a
higher payload rate, the port will link at max
kbps. (Default: Adaptive, no maximum pay-
load rate)
Configure non-adaptive payload rate. Non-adaptive rate means that the PMMS is skipped, and the payload
rate is the maximum payload rate that both the CO and the CPE are configured to support. When SHDSL
ports handshake, they exchange the minimum and maximum payload rates they are willing to link at. A Trinity
device always specifies the minimum payload rate supported by the configured TCPAM. The maximum pay-
load rate is configurable.
Mode: port dsl slot port
Mode: profile dsl name (FF3310 only)
Step Command Purpose
1 device(prt dsl)[slot/port]#payload rate Configure the port for non-adaptive rate. It
max¬kbps will link at up to max-kbps. (Default: Adap-
tive, no maximum payload rate)
Configure emergency freeze. Temporary impairments such as over voltage spikes can cause a link to drop.
Even though the impairment might last less than a second, the service will be unavailable for 30 to 45 seconds
while the link retrains. The emergency freeze feature, when enabled, allows the SHDSL port to survive an
impairment of at least 1 second duration without the link dropping. The exact duration is dependent on the
data rate and on the signal-to-noise margin just before the impairment. For best results, this should be enabled
on both the CO and the CPE.
Mode: port dsl slot port
Mode: profile dsl name (FF3310 only)
Step Command Purpose
1 device(prt dsl)[slot/port]#[no] emergency- Enable or disable the emergency freeze fea-
freeze ture. (Default: Disabled)
Configure the transmit power. The SHDSL port's transmit power can be increased using one of two com-
mands. These commands will result in the signal failing to comply to the SHDSL standard, ITU-T Recom-
mendation G.991.2, so they must only be used when the device is not connected a public network.
The first command increases the transmit power by a small amount, up to 0.7 dB.
The second command increases both the handshake and the data mode transmit power by up to 16 times.
However, due to internal signal saturation, the signal can only be increased by about 6 or 7% before the port
fails to link.
The value is a number between 0 and 65,535. To calculate the value to use, use the following formula:
100 + 5
value = 4096 ------------------ = 4301
100
Mode: port dsl slot port
Mode: profile dsl name (FF3310 only)
Step Command Purpose
1 device(prt dsl)[slot/port]#tx power ghs value Configure the handshake transmit power. To
use the standard transmit power, use the no
form of this command. (Default: Standard
transmit power)
2 device(prt dsl)[slot/port]#tx power data mode Configure the data mode transmit power. To
value use the standard transmit power, use the no
form of this command. (Default: Standard
transmit power)
The second command increases both the handshake and the data mode transmit power by up to 16 times.
However, due to internal signal saturation, the signal can only be increased by about 6 or 7% before the port
fails to link.
Configure the receive sensitivity. The SHDSL port can be configured to be less sensitive to detecting the
G.hs idle tone. This might be helpful in very noisy environments.
EFM is the default and should generally be used unless the far-end device is legacy equipment that does not
support it.
Configure EFM encapsulation. EFM encapsulation is the default. It is defined by IEEE Standard 802.3ah,
which adds SHDSL as a native physical layer for Ethernet.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#encapsulation efm Enable EFM encapsulation. (Default: EFM)
Configure ATM encapsulation. ATM encapsulation is supported in order to allow interoperation with legacy
equipment. The specific encapsulation used is Ethernet encapsulation over ATM adaptation layer 5, described
by IETC RFC 2684, often called RFC 2684 Bridged or RFC 1483 Bridged. Only one PVC is supported.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#encapsulation atm Enable ATM encapsulation. (Default: EFM)
2 device(prt dsl)[slot/port]]#atm default-pvc vpi Configure the PVC, consisting of a VPI
vci between 0 and 4095 and a VCI between 0
and 65535. A common PVC is 8/35. Both the
CO and the CPE must be configured to use
the same PVC. Data will not pass until this is
configured. (Default: No PVC)
3 device(prt dsl)[slot/port]#atm encapsulation Configure the ATM encapsulation, either LLC
{llc|vc} or VC-MUX. (Default: LLC)
4 device(prt dsl)[slot/port]#[no] fcs Include or exclude the Ethernet FCS with the
rest of the frame when encapsulating it in the
ATM cells. (Default: Include)
Configure HDLC encapsulation. HDLC encapsulation is also referred to as PTM, and is described in ITU-T
Recommendation G.991.2, Section E.11.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#encapsulation hdlc Enable HDLC encapsulation. (Default: EFM)
Configure bonding
Up to four physical SHDSL ports can be bonded into a single logical link in order to increase the bandwidth
available.
For EFM encapsulation, the PME aggregation function (PAF) is used, which is described in IEEE Standard
802.3ah. As long as at least one port in the group is linked, the group can transmit data. One requirement of
PAF is that if the ports link at different payload rates, which theoretically could happen if the payload rate is
configured to be adaptive, then the highest payload rate must be less than four times the lowest payload rate of
any port in the group.
For ATM and HDLC encapsulation, M-pair or n-wire mode is used. All ports in the group must be linked for
the group to transmit data.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#service mode {2 Configure how many ports to bond into a sin-
wire|4 wire|6 wire|8 wire} gle logical interface. (Default: 2-wire, i.e. one
port)
Bind to an IP interface
An IP interface sends and receives IP packets, and allows the port to participate in IP routing. See chapters 21
through 23 for details.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#bind interface ctx Bind the SHDSL port to IP interface if-name
name if name found in IP context ctx-name. Use the no
form of the command to unbind it. (Default:
Unbound)
Example:
In this example, all four SHDSL ports will link at the best rate possible (excluding proprietary payload rates)
and will act as a single logical interface. This logical interface is bridged with the Ethernet port.
This is the CO configuration. The CPE would be configured the same, except mode co would be mode cpe.
device>enable
device#configure
device(cfg)#context bridge
device(ctx-br)#bridge-group LAN
device(bridge)[LAN]#no shutdown
device(bridge)[LAN]#exit
device(ctx-br)#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#bind bridge-group LAN
device(prt-eth)[0/0]#no shutdown
device(prt-eth)[0/0]#exit
device(cfg)#port dsl 0 0
device(prt-dsl)[0/0]#mode co
device(prt-dsl)[0/0]#annex-type a-f
device(prt-dsl)[0/0]#tcpam auto(16/32)
device(prt-dsl)[0/0]#payload-rate adaptive
device(prt-dsl)[0/0]#snr-margin 6
device(prt-dsl)[0/0]#encapsulation efm
device(prt-dsl)[0/0]#service-mode 8-wire
device(prt-dsl)[0/0]#bind bridge-group LAN
device(prt-dsl)[0/0]#no shutdown
Display
The following commands may be used to display the configuration and status of an SHDSL port at a given
point in time.
Mode: operator
Step Command Purpose
1 device>show port dsl 0 0 Show the SHDSL port configuration and sta-
tus.
Description:
Loopback: none
BERT: false
Service Mode: 8-wire
Encapsulation: EFM
Mode: CO
Annex (AF/BG): B-G
Payload Rate: adaptive
Signal Margin: 6 dB
SNEXT Margin: OFF
TCPAM: auto(16/32)
Emergency Freeze: Disabled
Tx Power Increase: 0.0 dB
Tx Power G.hs: 0
Tx Power Data Mode: 0
Rx Sensitivity: 0
NFC Forwarding: Disabled
FCS: Enabled
Suspect Mode: Disabled
Administrative State: Up
Bound Bridge : LAN
Pair Link Detailed Line Annex TCPAM SNR Loop Power LOSWS CV ES SES UAS BERT
Status State Rate Margin Attenuation Back-Off Counter
(kbps) (dB) (dB) (dB)
----------------------------------------------------------------------------------------------------------
--------
0/0 Up Data-Mode 5696 B-G 32 19 0 5 1 3 2 1 0 0
0/1 Down Training 0 A-F 16 0 0 0 0 0 0 0 0 0
0/2 Down Handshaking 0 A-F 16 0 0 0 0 0 0 0 0 0
0/3 Down Standby 0 A-F 16 0 0 0 0 0 0 0 0 0
Operational State: Up
Hardware Address: 00:a0:ba:0d:03:7f
Configured MTU: 1500
Actual MTU: 1500
ARP: enabled
Multicast: enabled
Rx Statistics: 107528 bytes in 854 packets
0 errors 0 drops, 0 overruns
0 multicast packets
Tx Statistics: 1271619 bytes in 17718 packets
0 errors 0 drops, 0 collisions 0 carrier errors
There are five detailed states, four of which can be seen above. In order of sequence from enabling the port to
linking up, the states are: Idle (the port is disabled and not trying to link), Standby (the port is a CO and is
waiting to detect handshaking tones from the CPE), Handshaking (the port is exchanging capabilities with the
far-end or performing a PMMS, or if the port is a CPE, the port may be sending handshaking tones), Training
(the port is optimizing its equalizer and echo canceller), and Data-Mode (the port is linked and ready to send
and receive data).
Everything to the right of Detailed State is only valid when Detailed State is Data-Mode.
It is not concerning to see non-zero values for the LOSWS, CV, ES, SES, and UAS counters during the first 5
to 10 seconds after the port enters Data-Mode, but after that the link should stabilize.
Monitors
The following commands may be used to monitor events related to the SHDSL ports as they happen.
Mode: operator
Step Command Purpose
1 device>debug dsl [{detail level|full detail}] Monitor SHDSL port events not covered by
the commands below.
In addition, the following command will cause the SHDSL chipset to forward more notifications to the
SHDSL driver, so debug dsl-api will produce more output about what is happening in the chipset internals.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#[no] nfc forwarding Bind the SHDSL port to IP interface if-name
found in IP context ctx-name. Use the no
form of the command to unbind it. (Default:
Unbound)
Firmware
Alternate firmware may be loaded on the SHDSL chip. There are two firmware images loaded into the chip,
the IDC firmware and the SHDSL firmware. Some features that are supported by the default firmware are not
supported by some of the alternate firmware, so this command should be used with care. The alternate firm-
ware is primarily supplied to support the TDR test mode.
This command is not supported on some products. Whether they are present or not depends on which
SHDSL chipset is used in the product and whether there are any alternate firmware images included in the
product's software build.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#firmware idc firmware Load the specified IDC firmware and SHDSL
shdsl-firmware firmware into the chip.
This command affects the whole slot. That is, if this command is executed for port 0/0, then the alternate firm-
ware is also used for ports 0/1, 0/2, and 0/3. It is a configuration command, which means 1) it will cause the
port (and the other ports on the same slot) to retrain if it is linked, and 2) if you save your configuration while
it is enabled, it will appear in the startup-config and be reapplied when the device reboots.
Test Modes
In order to characterize the cable conditions, the commands from the following subsections may be used.
These commands are not supported on some products. Whether they are present or not depends on which
SHDSL chipset is used in the product.
BERT. A BERT is integrated into the SHDSL chipset. When enabled, it generates a scrambled ones pattern,
and reports any non-one signal as an error. For a valid test, the BERT must be enabled on both the CO and the
CPE, or else the BERT must be enabled on the one and the near-end remote loopback must be enabled on the
other. While the BERT is enabled, the normal data flow is replaced by the scrambled ones pattern, so it is not
possible to ping across the SHDSL link, for example.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#[no] test bit error rate Enable or disable the BERT. (Default: Dis-
abled)
This command may be entered at any time, whether the link is up or down. It is a configuration command,
which means 1) it will cause the port to retrain if it is linked, and 2) if you save your configuration while it is
enabled, it will appear in the startup-config and be reapplied when the device reboots.
To see the results of the test, use the show port dsl 0 0 command and check the BERT Counter. It is not con-
cerning to see the BERT counter increment during the first 5 to 10 seconds after the port enters Data-Mode,
but after that the link should stabilize and if the BERT Counter increments, it indicates a real error
Near-end remote loopback. The SHDSL chipset supports a remote loopback, as shown in figure 31. The data
received on the Ethernet port that would usually be transmitted to the SHDSL line is replaced by the data
received from the SHDSL line. This loopback can be enabled on the device you are logged into, i.e. the near-
end device. This can be used in conjunction with a BERT on the far-end device.
This command may be entered at any time, whether the link is up or down. It is a configuration command,
which means 1) it will cause the port to retrain if it is linked, and 2) if you save your configuration while it is
enabled, it will appear in the startup-config and be reapplied when the device reboots.
Noise measurement. The noise measurement test measures the receive signal power. It may be used when the
far-end device is not connected or is shutdown to measure the idle noise on the cable, or it may be used to mea-
sure the power of a test signal such as a PSD (see section 1.2.4.4) or a sine tone (see section 1.2.4.5). The mea-
surement is done in the baseband up to the frequency used by the given baud rate.
PSD transmission. The PSD transmission test skips handshaking and training and transmits random data.
This can be used in conjunction with the noise measurement test (see section “Near-end remote loopback” on
page 280) on the far-end device to measure the receive signal power. This could then be compared to the idle
noise.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#test psd transmis- Start the PSD transmission test. The valid
sion payload rate kbps tcpam range for the payload rate is 64 kbps to
{4|8|16|32|64|128} annex type {a f|b g} power 15296 kbps in 64 kbps increments. Not all
backoff db TCPAMs are valid for all payload rates (see
table 19 on page 271). The annex type deter-
mines the PSD and nominal transmit power.
The power backoff should normally be 0 dB,
but a decrease of up to 31 dB is allowed.
This test may only be started when the port is disabled. In addition, it takes the SHDSL driver's state machines
a few seconds to stabilize after disabling, so you may see the message, "TEST CANNOT EXECUTE IN CUR-
RENT STATE." If you do, make sure you have disabled the port and wait a few seconds before trying again.
You will not be returned to the prompt, and the test will continue until you cancel it by pressing Ctrl-C.
Example:
This example shows how to measure the receive signal power between two devices.
First, start the PSD transmission on the first device so that it transmits random data on the cable:
device>enable
device#configure
device(cfg)#port dsl 0 0
device(prt-dsl)[0/0]#shutdown
device(prt-dsl)[0/0]#test psd-transmission payload-rate 5696 tcpam 32 annex-type
a-f power-backoff 0
device#configure
device(cfg)#port dsl 0 0
device(prt-dsl)[0/0]#shutdown
device(prt-dsl)[0/0]#test idle-noise-margin payload-rate 5696 tcpam 32
Pair Rx Energy
-------------------
0/0 12.625 dBm
0/1 12.8203 dBm
0/2 12.8203 dBm
0/3 12.625 dBm
device(prt-dsl)[0/0]#
Finally, stop the PSD transmission on the first device by pressing Ctrl-C.
Sine tone transmission. The sine tone transmission test transmits a sine tone at a given frequency. The trans-
mit power is 5 dBm @ 135 Ω. This can be used in conjunction with the noise measurement test on the far-end
device to measure the loop attenuation at a given frequency. The baud rate for the noise measurement must be
at least twice the sine tone frequency in order to meet the Nyquist criterion
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]#test sine tone fre- Start the sine tone transmission test. The
quency {800|800- power backoff should normally be 0 dB, but a
melt|1|50|100|150|200|250|300} power back- decrease of up to 31 dB is allowed.
off db
This test may only be started when the port is disabled. In addition, it takes the SHDSL driver's state machines
a few seconds to stabilize after disabling, so you may see the message, "TEST CANNOT EXECUTE IN CUR-
RENT STATE." If you do, make sure you have disabled the port and wait a few seconds before trying again.
You will not be returned to the prompt, and the test will continue until you cancel it by pressing Ctrl-C
Example:
This example shows how to measure the receive signal power between two devices.
First, start the sine tone transmission on the first device so that it transmits the sine tone on the cable:
device>enable
device#configure
device(cfg)#port dsl 0 0
device(prt-dsl)[0/0]#shutdown
device(prt-dsl)[0/0]#test sine-tone frequency 150 power-backoff 0
Finally, stop the sine tone transmission on the first device by pressing Ctrl-C.
Time domain reflectometry. TDR can be used for single ended line testing (SELT) tests to determine cable
properties such as length, type, opens, shorts, and bridge taps.
Mode: port dsl slot port
Step Command Purpose
1 device(prt dsl)[slot/port]# test time domain Start the time domain reflectometry test. The
reflectometry payload rate <64..15296> valid range for the payload rate is 64 kbps to
tcpam {4|8|16|32|64|128} annex type {a f|b g} 15296 kbps in 64 kbps increments. Not all
power backoff <0..31> TCPAMs are valid for all payload rates (see
Table 19 on page 271).
This test may only be started when the port is disabled. In addition, it takes the SHDSL driver's state machines
a few seconds to stabilize after disabling, so you may see the message, "TEST CANNOT EXECUTE IN CUR-
RENT STATE." If you do, make sure you have disabled the port and wait a few seconds before trying again.
The command will automatically print out the results after a few seconds. If you want to cancel the command
before it completes, you may press Ctrl-C.
See SHDSL_TDR_AppNote.docx (https://www.patton.com/support/kb_art.asp?art=480&p=0) for instructions
to interpret the results of this command.
Chapter contents
Introduction ........................................................................................................................................................286
Bridge group Configuration Task List .................................................................................................................286
285
Trinity Release 3.14.X Command Line Reference Guide 18 • Context Bridge
Introduction
This chapter outlines the Context Bridge. You will obtain a fundamental understanding of how to setup your
Patton Trinity Embedded device for bridge configurations. The Context Bridge in Trinity is a high level con-
ceptual entity that is responsible for the management of relaying and filtering of frames from at least two phys-
ical Ethernet ports found at the MAC layer of the OSI model.
Introduction 286
Trinity Release 3.14.X Command Line Reference Guide 18 • Context Bridge
All VLAN options are identical through VLAN configuration options for normal interfaces. See “VLAN
(802.1p/Q)” on page 227 for a detailed guide.
VLANs take one port and split it into several logical Ethernet port, therefore binding resources to a VLAN is
the same as binding a resource to an Ethernet Port. See “IP Context Overview” on page 305 for details.
Mode: administrator access
Chapter contents
Introduction ........................................................................................................................................................290
Spanning Tree Configuration Task List...............................................................................................................290
Configuring Global Spanning Tree Parameters .............................................................................................291
Configuring Per-tree Spanning Tree Parameters ...........................................................................................291
Configuring Per-port/Per-tree Spanning Tree Parameters .............................................................................292
Enabling Spanning Tree on a Port ................................................................................................................292
Debugging Spanning Tree ............................................................................................................................292
Spanning Tree Configuration Example .........................................................................................................293
289
Trinity Release 3.14.X Command Line Reference Guide 19 • Spanning Tree Configuration
Introduction
Devices that have Ethernet switch ports support the following spanning tree protocols:
• Classic spanning tree (STP)
• Rapid spanning tree (RSTP) as defined in IEEE 802.1w
• Multiple spanning tree (MSTP) as defined in IEEE 802.1s
Each of the spanning tree protocols is used to prevent loops in a layer 2 network. Loops must not be present in
a layer 2 network because broadcast packets will be continuously rebroadcast and use up all of the network's
bandwidth.
However, having multiple connections between switches is desirable because it allows for redundancy. If one of
its connections goes down, it may use one of its other connections to reach the other switch.
All of the spanning tree protocols allow for redundancy by allowing multiple connections between switches.
One of the connections is put in the forwarding state, while the others are put in the blocking state. If the con-
nection in the forwarding state goes down, one of the connections in the blocking state transitions to the for-
warding state. Rapid spanning tree protocol (RSTP) improves on classic spanning tree by transitioning faster to
the forwarding state, resulting in less downtime.
In addition, multiple spanning tree protocol (MSTP) allows for load balancing by mapping one set of VLANs
to one spanning tree instance, another set of VLANs to another spanning tree instance, and so on. Each of the
spanning tree instances may have different ports that are forwarding. So VLANs 100 and 101 may be for-
warded out of port 1, while VLANs 200 and 201 are forwarded out of port 2. This makes better use of the
available bandwidth. Then, if port 2 goes down, VLANs 200 and 201 will be forwarded out of port 1, in addi-
tion to VLANs 100 and 101.
Introduction 290
Trinity Release 3.14.X Command Line Reference Guide 19 • Spanning Tree Configuration
Additionally, the trace ethsw-stp command may be used to log information about the spanning tree protocol
operation.
Mode: Operator execution
VLAN 200T
VLAN 100T
Eth0/0
Fa0/1 e1
VLAN 200U
VLAN 100U
3088/I 3088/I
(1) (2)
192.168.100.2/24 192.168.200.2/24
In this network, there are three switches, the FF3310RC, the Cisco 3550, and the LinkSys SRW248G4. The
FF3310RC is the CIST root, the Cisco 3550 is the MSTI 1 root, and the LinkSys SRW248G4 is the MSTI 2
root. Any one of the three links may go down and the Linux PC will still be able to access both 3088/Is.
device(cfg)#switch spanning-tree
device(stp)#mst-config name REGION_A
device(stp)#tree cist
device(stp)[0]#priority 24576
device(stp)[0]#exit
device(stp)#tree msti 1
device(stp)[1]#vlan 100
device(stp)[1]#exit
device(stp)#tree msti 2
device(stp)[2]#priority 28672
device(stp)[2]#vlan 200
device(stp)[2]#exit
device(stp)#exit
device(cfg)#port ethernet 0 0
device(prt-eth)[0/0]#no shutdown
device(prt-eth)[0/0]#switch
device(switch-port-ethernet)[0/0]#vlan 100 tagged
device(switch-port-ethernet)[0/0]#vlan 200 tagged
device(switch-port-ethernet)[0/0]#exit
device(prt-eth)[0/0]#exit
device(cfg)#port ethernet 0 1
device(prt-eth)[0/1]#no shutdown
device(prt-eth)[0/1]#switch
device(switch-port-ethernet)[0/1]#vlan 100 tagged
device(switch-port-ethernet)[0/1]#vlan 200 tagged
device(switch-port-ethernet)[0/1]#exit
device(prt-eth)[0/1]#spanning-tree
device(prt-eth)[0/1]#exit
device(cfg)#port ethernet 0 2
device(prt-eth)[0/2]#no shutdown
device(prt-eth)[0/2]#switch
device(switch-port-ethernet)[0/1]#vlan 100 tagged
device(switch-port-ethernet)[0/1]#vlan 200 tagged
device(switch-port-ethernet)[0/1]#exit
device(prt-eth)[0/2]#spanning-tree
device(prt-eth)[0/2]#exit
device(cfg)#
Chapter contents
Introduction ........................................................................................................................................................296
PPP Configuration Task List ...............................................................................................................................297
Creating an IP Interface for PPP ...................................................................................................................297
Creating a PPP Session .................................................................................................................................298
Configuring a PPPoE Session ........................................................................................................................300
Creating a PPP Profile ..................................................................................................................................300
Displaying PPP Configuration Information ..................................................................................................302
Debugging PPP ............................................................................................................................................302
Sample Configurations ........................................................................................................................................303
PPP Over Ethernet (PPPoE) .........................................................................................................................303
Without authentication, encapsulation multi, with NAPT ......................................................................303
With authentication, encapsulation PPPoE .............................................................................................304
295
Trinity Release 3.14.X Command Line Reference Guide 20 • PPP Configuration
Introduction
This chapter describes how to configure the point-to-point protocol over different link layers.
The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over
point-to-point links as defined by the RFC1661 etc. Trinity offers PPP over the following link layers:
• PPP over Ethernet (PPPoE)
Figure 33 shows the elements involved in the configuration of PPP. The elements required to configure PPP
over the Ethernet are located in the upper left corner of the figure.
use
profile ppp Profile
PPPoE Session PPP
bind
Session subscriber
Subscriber
PPP
bind
interface
interface
pstn
bind port
<slot>
<port> *
port port
isdn isdn
multiple occurrencies
Since the purpose of PPP is providing IP connectivity over different types of link layers, all PPP configuration
elements connect to the IP context through an IP interface. This connection is relayed via PPP session.
For PPP over Ethernet, a PPPoE session must be configured on the respective Ethernet port. It is possible to
set-up several (limited by the available memory) PPPoE sessions on the same Ethernet port, each session with
its own IP interface. In addition to these PPPoE sessions, pure IP traffic can run concurrently over the same
Ethernet port. This is achieved by binding the Ethernet port directly to an IP interface.
Introduction 296
Trinity Release 3.14.X Command Line Reference Guide 20 • PPP Configuration
Mode: Configure
Mode: Configure
ppp JOE_EXAMPLE
===============================================
Administrative State : Up
Bound IP Interface : ROUTER.PPP_INTERFACE
IP Addresses : IPCP (IPCP): up
Requested: (none)
Operational: 10.67.15.1/32 peer 10.0.0.1
Bound Bridge : (none)
Operational State : Up
Hardware Address : 00:00:0c:16:3b:43
MTU :
ARP : enabled
Multicast : enabled
Rx Statistics : 1058 bytes in 16 packets
0 errors 0 drops, 0 overruns
0 multicast packets
Tx Statistics : 1058 bytes in 16 packets
0 errors 0 drops, 0 collisions 0 carrier errors
Debugging PPP
A set of commands is available to check the status of the PPP connection and the PPPoE session. Furthermore,
two debug monitors help to analyze the dynamic behavior. The commands are listed in the order which you
should follow in case you encounter problems with PPP. This procedure describes how to display PPP configu-
ration information:
Mode: Configure
Sample Configurations
context ip ROUTER
interface NORMAL_IP_INTERFACE
ipaddress 172.16.1.1 255.255.0.0
interface PPP_INTERFACE
ipaddress IPCP
use profile napt WAN
context ip ROUTER
routing-table DEFAULT
route 0.0.0.0 0.0.0.0 interface PPP INTERFACE metric 0
port ethernet 0 0
bind interface normal_ip_interface
no shutdown
interface PPP_INTERFACE
ipaddress IPCP
port ethernet 0 0
no shutdown
Chapter contents
Introduction ........................................................................................................................................................306
Packet Processing in the IP Context ....................................................................................................................307
Classifier .......................................................................................................................................................309
Network Address Port Translation (NAPT) ..................................................................................................309
Routing-table Selection .................................................................................................................................309
Access Control Lists (ACL) ...........................................................................................................................309
Routing .........................................................................................................................................................309
Packet Processing To/From Local Applications .............................................................................................310
IP Context Overview Configuration Task List.....................................................................................................310
Planning Your IP Configuration..........................................................................................................................311
IP Interface Related Information ...................................................................................................................311
QoS Related Information ........................................................................................................................311
Configuring Physical Ports ............................................................................................................................311
Creating and Configuring IP Interfaces .........................................................................................................312
Configuring Packet Classification .................................................................................................................312
Configuring Network Address Port Translation (NAPT) ..............................................................................312
Configuring Static IP Routing ......................................................................................................................312
Configuring Access Control Lists (ACL) .......................................................................................................313
Configuring Quality of Service (QoS) ...........................................................................................................313
305
Trinity Release 3.14.X Command Line Reference Guide 21 • IP Context Overview
Introduction
This chapter outlines the Trinity Internet protocol (IP) context and its related components. You will get the fun-
damental understanding on how to set up your Patton device to make use of IP related services.
The following sections describe the configuration steps necessary to put together certain IP services and the ref-
erences to the related chapters that explain the issue in more details.
Trinity also supports Fast-Path routing, which can be found in Chapter 31 on page 415.
To understand the information given in the following chapters, carefully read to the end of the current chapter.
Before proceeding, make sure that you feel comfortable with the underlying Trinity configuration concept by
reading Chapter 2, “Configuration Concepts” on page 59.
The IP context in Trinity is a high level, conceptual entity that is responsible for all IP-related protocols and
services for data and voice. The IP context performs much of the same functions as a standalone IP router, and
since every context is defined by a name, the IP context is named ROUTER by default.
In figure 34 below, the IP context with all its related elements is contained within the area on the left, which
has a gray fill (find a short description of those elements below). The right side displays the related CS context,
which communicates with the IP context via gateways. Since the CS context and its related components are not
the subject of this chapter, they are illustrated in figure 34 with gray lines instead of black ones.
Context
Gateway SIP-
Gateway
“SIP”
bind
use command
command bind
command
use command
use command
VoIP VoIP
Service Profile Profile
NAPT Context Context
Contexts Policy
Profile IP CS
Profile Tone- Tone-
“ROUTER” “SWITCH”
Interfaces Set Set
Profile Profile
ACL
Profile bind command
bind command
Context
Bridge Context bind command bind command
Bridge- Switch-
Contexts Group
Group
“BR” “SG”
Interfaces
VLAN Ethernet
Circuit
Telephone Port
Telephone Port
Ethernet
Ethernet
Ports
Introduction 306
Trinity Release 3.14.X Command Line Reference Guide 21 • IP Context Overview
Figure 35 shows the journey of a packet through the IP context and the order in which the attached profiles
process the packet.
Classifier
The classifier is the first profile that inspects an incoming packet. The classifier assigns a traffic class to each
packet. You can think of the traffic-class as if every packet in the router has a tag attached to it, on which the
classification can be noted. The traffic-class tags exist only inside the router, but layer 2 priority bits (802.1pq
class-of-service) and IP header type-of-service bits (TOS field) can be used to mark a specific packet type for
the other network devices. By default the traffic-class tag is DEFAULT.
A powerful packet-matching filter in the classifier profile lets you inspect any combination of IP, UDP, TCP or
ICMP header fields and assign a traffic-class to the matching packet flow. For example, you may configure to
tag all UDP packets to a destination port between 5000 and 8000, and shorter than 500 bytes with the traffic-
class VOICE. The traffic-class tag can later be used in other IP service profiles, e.g., to filter packets in the ACL
or to do policy routing by selecting a routing-table based on the traffic-class.
Routing-table Selection
You may configure policy routing by selecting a different routing table based on some header fields of the
incoming packet. You may also use the traffic-class (tagged before in the Classifier) to make a routing-table
decision. For example, you may direct all packets tagged with the VOICE traffic-class to a separate routing
table while processing the other traffic with the default routing table.
Routing
Once a packet traversed all ingress packet filters (controlled by the attached profiles), the router decides
whether the packet is destined to an application of the gateway itself or shall be routed to a remote host. For
this purpose it performs a best-prefix match on the destination IP address in the routing-table, which was pre-
viously selected. If no routing-table has been selected explicitly, the DEFAULT table is consulted.
If the packet is to be sent to a remote host, it traverses the egress filters of the IP interface (depicted in
figure 35), an egress ACL, another possibility to classify the packet, NAPT translations and finally, a service-
policy profile, which can be used to map an internal traffic-class to IP TOS field values.
interfaces and up to the services running on the device. Read through the tasks in order to learn a general
understanding of the whole network before moving onto more detailed instructions.
• Planning your IP configuration (see page 311)
• Configuring physical ports (see page 311)
• Creating and configuring IP interfaces (see page 312)
• Configuring packet classification (see page 312)
• Configuring Network Address Port Translation (NAPT) (see page 312)
• Configuring static IP routing (see page 312)
• Configuring Access Control Lists (ACL) (see page 313)
• Configuring quality of service (see page 313)
within the IP context configures the routing-table to consult for locally-generated traffic. Trinity tests packets
against the routing-table-selection rules one by one. The first match determines the routing-table to use.
Because Trinity stops testing rules after the first match, the order of the routing-selection rules is critical. If no
conditions match or if there is no route command in the interface, the software uses the DEFAULT routing
table.
For information and examples on how to configure static IP routing, refer to #< IP routing configuration>#. To
get a detailed understanding of how to build packet matching rules, consult #<Packet matcher overview>#.
Chapter contents
Introduction ........................................................................................................................................................315
IP Interface Configuration Task List ...................................................................................................................315
Creating an IP Interface ................................................................................................................................315
Deleting an IP Interface ................................................................................................................................316
Setting the Static IP Address and Network Mask ..........................................................................................317
Deleting an IP Address ..................................................................................................................................318
Displaying IP Interface Information .............................................................................................................319
Displaying Dynamic ARP Entries .................................................................................................................321
ARP Garbage-Collector ................................................................................................................................321
Gratuitous ARP ............................................................................................................................................321
Testing Connections with the Ping Command .............................................................................................322
Traceroute Command ...................................................................................................................................322
Debugging the IP Configuration ...................................................................................................................323
314
Trinity Release 3.14.X Command Line Reference Guide 22 • IP Interface Configuration
Introduction
This chapter provides a general overview of IP interfaces and describes the tasks involved in their configuration.
An interface is a logical entity that provides higher-layer protocol and service information, such as Layer 3
addressing. Interfaces are configured as part of a context and are independent of physical ports and circuits.
The separation of the interface from the physical layer allows for many advanced features. For higher layer pro-
tocols to become active, a physical port or circuit must be bound to an interface. IP interfaces can be bound
physically to Ethernet or DSL ports, or to VLANs, according to the appropriate transport network layer.
Creating an IP Interface
Interface names can be any arbitrary string. Use self-explanatory names for your interfaces, which reflect their usage,
e.g. LAN, WAN, DMZ.
Mode: configure
Introduction 315
Trinity Release 3.14.X Command Line Reference Guide 22 • IP Interface Configuration
device#configure
device(cfg)#context ip ROUTER
device(ctx-ip)[ROUTER]#interface WAN
device(if-ip)[ROUTER.WAN]#
Deleting an IP Interface
Almost every configuration command has a no form. In general, use the no form to disable a feature or func-
tion. Use the command without the no keyword to re-enable a disabled feature or to enable a feature that is
disabled by default.
Deleting an existing interface in the IP context is often necessary. You can only delete an IP interface if it is not
bound from a physical port or circuit. Go to the configuration mode of the physical port or circuit and unbind
the interface first before deleting it.
Mode: configure
List the interfaces again to check if the appropriate interface was deleted:
device(ctx-ip)[ROUTER]#interface <?>
<interface>New IP interface
LAN Existing IP interface: LAN
Parameter Explanation
label Name of the IP address. An IP interface may host more than one IP address. The label
identifies the address when changing or deleting it. The label must be unique within the
IP interface; you may reuse the same label in a different IP interface.
NoteThe label parameter is optional. If you don’t provide it, Trinity automatically
generates a default label, which is identical to the name of the IP interface.
If you specify DHCP as label, you create a DHCP address (see chapter 33,
“DHCP Configuration” on page 426).
address The network address and mask size in dotted-decimal format a.b.c.d/m for IPv4 or in the
colon format a:b:c::x/m for IPv6. Alternatively, you may enter the network address and full
network mask with two consecutive parameters, a.b.c.d e.f.g.h or a:b:c::x e:f:g::y, respec-
tively.
Mode: configure
Change the IP address MAIN to 192.168.1.4 and give it a network mask of 255.255.255.0, or a mask size of
24, respectively:
device(ip-if)[ROUTER.LAN]#ipaddress MAIN 192.168.1.4/24
Deleting an IP Address
Since an IP interface host multiple IP address, Trinity supports to delete them with the no ipaddress command,
specifying the address label as the only argument. After the IP address has been deleted, the device is no longer
reachable over that address.
Mode: configure
List the IP addresses again to check if the appropriate address was detected.
device(ip-if)[ROUTER.LAN]#ipaddress <?>
<label> Unique label of the address within the interface
ALT Existing IP address: 10.0.0.1/8
Parameter Explanation
context Name of the IP context. If the user neither specifies a context nor an interface, the com-
mand lists all interfaces in all contexts. If the user specifies a context but no interface, the
command lists all interfaces in the specified context.
interface Name of the IP interface. If the user specifies an interface, information for all interfaces in
the specified or default (ROUTER) context is displayed.
detail Level of detail of the output. If not specified, minimal information is printed in a compact
form. The detail levels 2 and 3 provide more information about the status of the IP inter-
face(s) addresses.
full-detail Prints the maximum amount of information for the IP interface(s) and addresses
(=detail level 3)
continuously Prints an update of the information every second. Press <ctrl><c> to abort the command.
Mode: any
Column Explanation
IP interface Name of the IP interface
Status State of the IP interface:
• unbound: No physical port or circuit is bound to the IP interface
• shutdown: The bound physical port or circuit is administratively shut down; use the no
shutdown command on the port/circuit to bring it up.
• down: The link of the bound physical port or circuit is down
• up: The link of the bound physical port or circuit is up; the IP interface is ready to send/
receive packets.
Address Label of an IP address on the IP interface
Type IP address type (static or DHCP)
Status State of the IP address:
• down: The IP interface is not ready, i.e., not in the up state
• FAILED: Requesting a dynamic address or applying a static address failed; execute the
command show ip interface full-detail to display the reason of the problem
• released: The DHCP address is waiting for a new lease from the DHCP server
• applying: The IP address is being applied to the system
• revoking: The IP address is being removed from the system, e.g., prior to applying a
newly configured address.
• up: The device is reachable via the IP address.
Configured The configured static IP address or requested DHCP address
Operational The active IP address of the device
Address: LAN
------------
Type: static
Status: up
Configured: 172.16.46.10/19
Operational: 172.16.46.10/19
Address: DHCP
-------------
Type: DHCP
Status: up
Configured: (none)
Operational: 172.16.60.4/19
In addition to the compact form, the detailed version shows the bound physical port or circuit as well as the
active (state=up) and total number of IP addresses on the interface.
ARP Garbage-Collector
The following command enables a garbage-collector that will remove ARP-table entries in a STALE state as
soon as possible.
Mode: configure
Gratuitous ARP
The following CLI commands have been added to enable sending and receiving of gratuitous ARP packets.
These commands are especially useful for backup nodes that share the same IP address with different MAC
addresses. When a node's IP address comes up, it will notify any neighbors of its IP/MAC address so they can
update their ARP tables. Similarly, nodes that are configured to receive gratuitous ARP packets will accept
these packets and update their local ARP table. Use caution when allowing a device to accept these packets
however, as any gratuitous ARP packets received will change the local ARP table..
Mode: configure
Mode: configure
When using ping for fault isolation, you should first run it on the respective local IP interface to verify that the
local LAN or WAN interface is up and running. Then, you should “ping” hosts and gateways farther away. The
command computes round-trip times and packet loss statistics when it terminates. If duplicate packets are
received, they are not included in the packet loss calculation, although the round-trip time of these packets is
used to calculate the minimum/average/maximum round-trip time numbers. When the command terminates,
a brief summary of the calculation is displayed.
Example: Testing connections with the ping command
The following example shows how to invoke the echo protocol to the destination host at IP address
172.16.1.10 by using the ping command from operator exec mode.
device>ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=45 time=15.019 ms
64 bytes from 8.8.8.8: seq=1 ttl=45 time=52.068 ms
64 bytes from 8.8.8.8: seq=2 ttl=45 time=83.353 ms
64 bytes from 8.8.8.8: seq=3 ttl=45 time=92.690 ms
64 bytes from 8.8.8.8: seq=4 ttl=45 time=32.056 ms
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 15.019/55.037/92.690 ms
Traceroute Command
The traceroute command allows you to determine the path a packet takes in order to get to a destination from a
given source by returning the sequence of hops the packet has traversed.
Mode: operator
Chapter contents
Introduction ........................................................................................................................................................326
Basic Routing ......................................................................................................................................................326
Static Routes .................................................................................................................................................326
Configuring static routes .........................................................................................................................326
Adding Source IP Address .......................................................................................................................326
Adding Source IP Address .............................................................................................................................327
System Routes ...............................................................................................................................................328
Dynamic Routes ...........................................................................................................................................328
Show Routes .................................................................................................................................................328
Basic Static Routing Example ........................................................................................................................329
Policy Routing.....................................................................................................................................................330
Routing Tables .............................................................................................................................................331
Creating a table .......................................................................................................................................331
Configuring static routes .........................................................................................................................331
Show routes ............................................................................................................................................331
Traffic Assignment ........................................................................................................................................331
Assign an IP Interface ..............................................................................................................................332
Assignment by Rules .....................................................................................................................................333
Assignment by Traffic-Class ..........................................................................................................................335
325
Trinity Release 3.14.X Command Line Reference Guide 23 • IP Routing
Introduction
The Trinity IP Routing facility consists of the two major functionalities Basic Routing and Policy Routing.
Basic Routing
Under Basic Routing is to be understood the destination IP address based next-hop determination. The next-
hop or gateway selection is done by matching a set of routing rules entered by the user (static-route), received
through a routing-protocol (dynamic-route) or added by the system (system-route). Routing entries which
specify a gateway as next-hop are also called gateway-routes. Networks that are directly reachable through a
device's network-port are specified through interface-routes. Instead of a gateway they specify an outgoing
interface.
In the context ip configuration mode exists a system pre-created routing-table called DEFAULT. This table con-
tains all Basic Routing information and cannot be deleted by the user. Actually it is possible to created addi-
tional routing-tables with a user defined name but such user-created tables are part of the Policy Routing and do
not have any use in Basic Routing.
All Basic Routing features are available for IPv4 as well as for IPv6.
Static Routes
These are user managed gateway and interface routes and are getting exported in the running-config. In the
output of the show route command they are flagged with an 'R'. Another flag 'U' indicates if the route is up or
not. A static gateway-route is becoming active (up) if the gateway is reachable. For this we need the following
conditions:
• At least one IP address in the gateway's network has to be configured.
• The IP interface which owns the IP address has to be bound from a network-port.
• The network-port's link state has to be up.
A static interface-route is becoming active (up) if:
• The specified outgoing interface is bound from a network-port.
• The specified outgoing interface has at least one IP address configured.
• The network-port's link state has to be up.
Introduction 326
Trinity Release 3.14.X Command Line Reference Guide 23 • IP Routing
If configured, packets that match this route that do not already have a source IP address will be assigned the
configured address. Packets that already have a source IP address will not be affected.
A packet will have a source IP address if it was received from the network or if it was locally generated from a
service that was bound to an IP address, such as, a SIP gateway interface. A packet will not have a source IP
address if it was locally generated from a service that is not bound to an IP address, such as the DNS client.
Mode: configure
OR
Syntax:
Parameter Explanation
network The destination network address in the dot-format a.b.c.d for IPv4 and in the
colon-format a:b:c::x for IPv6.
mask-size Number of mask-bits defining the destination network.
mask The destination network mask in the dot-format a.b.c.d for IPv4 and in the
colon-format a:b:c::x for IPv6.
default Short form for defining a default IPv4 route.
It configures network/mask-size with 0.0.0.0/0.
default-v6 Short form for defining a default IPv6 route.
It configures network/mask-size with ::/0.
gw-address The address of the next-hop router that can access the destination network. In
the dot-format a.b.c.d for IPv4 and in the colon-format a:b:c::x for IPv6.
interface The name of the outgoing interface to be used for reaching the destination net-
work.
metric Metric value of the route.
Default: 0
A packet will have a source IP address if it was received from the network or if it was locally generated from a
service that was bound to an IP address, such as, a SIP gateway interface. A packet will not have a source IP
address if it was locally generated from a service that is not bound to an IP address, such as the DNS client.
Mode: context ip <ctx-name> / routing-table <tbl-name>
System Routes
For each assigned IP address the system automatically creates route entries for the belonging network into the
DEFAULT routing-table. That means, all directly available networks are known by the system and don't have
to be configured. The system-routes are of type interface-route means, only the outgoing interface is specified
and do not have the gateway parameter. In the output of the show route command they are flagged with an 'S'.
Dynamic Routes
This kind of routes is assigned to the system either by a routing-protocol (RIP, BGP …) or through a device
configuration protocol (DHCP, PPP …). In the output of the show route command they are flagged with a 'D'.
A dynamic-route is active under the same condition as a static-route.
Show Routes
Execution of show running-config command only displays the static-routes which have been added to the sys-
tem. Neither dynamic-routes nor system-routes are shown there. To get an overview of all routes actually
known by the system the show route command has to be executed.
Mode: Operator execution
Output:
Routing Tables
===============================================
Flags: C - dhCp, D - Dynamic, G - use Gateway, H - target is a host
R - useR, U - route is Up, S - System
All packets for the Workstation with IP address 10.1.5.10 shall be forwarded to the next-hop router Calvin. All
packets for network 10.2.5.0/16 shall be forwarded to the next-hop router Hobbes.
Example Configuration:
context ip ROUTER
routing-table DEFAULT
route 10.1.5.10/32 gateway 172.16.40.2 metric 0
route 10.2.0.0/16 gateway 172.17.100.2 metric 0
Policy Routing
IP routing makes decisions based on IP addresses. Policy Routing allows the user to configure IP routing based
on more criteria than only the destination IP address.
The heart of the Trinity policy-routing is the ability of traffic assignment to different routing-tables based on
packet-matching at two different observation points. By making use of Trinity's Packet Matcher functionality it
is possible to select traffic by more than 20 different criteria in an 'and' conjunction and to assign it to one of
up to 251 user defined routing-tables. Several matching rules can be added in a prioritized order.
User defined routing-tables have the same routing features as the system created DEFAULT table has. Forward-
ing is done by destination IP address based next-hop determination (See “Basic Routing” on page 326). No
additional functionality is needed due to assumption the traffic has been separated through packet-matching
before it reaches the routing-table.
Observation points for Policy Routing's packet-matching are the IP interfaces and the local pseudo interface in
context IP.
Figure 37 on page 330 shows an example of a context IP configuration with the Observation Points at which
traffic from local applications and from LAN is dispatched to different routing-tables. Each routing-table is
then forwarding the packets according to its routing-entries.
• local: Pseudo interface in context IP where local application traffic can be matched.
• LAN: IP interface bound to LAN's network port.
• WAN, VLAN1, VLAN2: IP interfaces bound to the WAN's network and VLAN ports.
• DEFAULT: System created routing-table forwards all unspecified traffic.
• TRAFFIC_1, TRAFFIC_2: User-Created routing-tables forwarding a given kind of traffic.
Routing Tables
Besides the system-created DEFAULT routing-table it is possible to create up to 251 additional tables. Each
user created routing-table has the same possibilities and behavior as the DEFAULT table (see also “Basic Rout-
ing” on page 326). The difference is their responsibility. User-Created tables are not involved in the routing
process as long as there is not explicit traffic assigned to them (see “Traffic Assignment” on page 331). On the
other hand the DEFAULT table is responsible for all traffic that is not explicitly assigned to another routing-
table.
On creation of a new routing-table all system-routes (see “System Routes” on page 328) of all available IP
addresses and all dynamic-routes (see “Dynamic Routes” on page 328) are automatically assigned to the table.
Also upcoming system- and dynamic-routes are replicated to already existing routing-tables. Therefore, user-
created tables know the same base networks as the DEFAULT table.
Creating a table
Mode: configure
Show routes
Because the syntax to display all available routes and the output is the same as for the DEFAULT table, please
take a look at Show routes.
Traffic Assignment
As mentioned in the introduction, there exists two observation points for assigning traffic to a routing-table.
Each IP interface of context IP and the local pseudo interface can be configured to route traffic according to
specified criteria to a specific routing table.
All unmatched traffic is automatically sent to the routing-table DEFAULT. This is also the default behavior if
the user doesn't care about Policy Routing.
In the interface ip or the local configuration mode explicit rules can be defined to route a specific type of traffic
to a routing-table.
Assign an IP Interface
This is the simplest form for assigning traffic to a specific routing-table. All traffic received from an ip interface
is sent to a configured routing-table. As visible in figure 38 such a configuration makes sense if the traffic on an
interface is just of one category and is accessing always the same domain.
Configuration Syntax
Mode: configure
OR
Example Configuration:
context ip ROUTER
local
route 1 dest-table MGMT
interface LAN
ipaddress LAN 10.10.10.1/24
route 1 dest-table PUBLIC
interface VLAN1
ipaddress VLAN1 192.168.100.1/24
interface VLAN2
ipaddress VLAN2 192.168.200.1/24
routing-table DEFAULT
routing-table PUBLIC
route 0.0.0.0/0 gateway 192.168.100.2 metric 0
routing-table MGMT
route 0.0.0.0/0 gateway 192.168.200.2 metric 0
Assignment by Rules
With Trinity's Packet-Matcher functionality it is possible to create user-defined rules to define which traffic has
to be sent to which routing-table. The entered rules have a prioritized order where lower order means higher
priority. Actually the rules are applied from top to down as they are listed in show running-config.
If a packet doesn't match a rule's criteria the next rule is applied to the packet. If a rule matches the packet it is
sent to the specified routing-table and the matching process stops. If a packet doesn't match any rule it is for-
warded to the DEFAULT table.
In figure 39 on page 334 a scenario is shown where traffic is separated into three different categories. All VoIP
packets (SIP, RTP) either coming from LAN clients or generated locally have to be handled by routing-table
VOICE. For managing the device itself a further separation is done through the MGMT table. Finally, all traffic
from the LAN that doesn't belong to the VoIP category is assumed to access the public internet and is sent to
the PUBLIC table. Take a look at Example Configuration which is also referring to figure 39.
Configuration Syntax
For all packet-matcher-options please consult chapter 42, “Packet Matching” on page 504.
Mode: configure
OR
Example Configuration
The configuration below is referring to figure 39 on page 334. In the local configuration SIP signaling origi-
nated with UDP or TCP is sent to the VOICE table. Local generated RTP traffic is expected from the source
ports 4864 to 5375 and is also sent to table VOICE. All traffic from the WEB server (Port 80) and the Telnet
server (Port 23) is sent to table MGMT.
SIP traffic generated on LAN is expected to be handled the same as local generated SIP traffic. Therefore also
SIP signaling (Port 5060) is sent to VOICE. On LAN the RTP packets are expected in the UDP source port
range of 4000 to 4099. The last rule in the interface LAN configuration forces all traffic that didn't match any
rules before to be sent to PUBLIC table.
context ip ROUTER
local
route 1 protocol udp src-port 5060 dest-table VOICE
route 2 protocol tcp src-port 5060 dest-table VOICE
route 3 protocol udp src-port 4864..5375 dest-table VOICE
route 4 protocol tcp src-port 80 dest-table MGMT
route 5 protocol tcp src-port 23 dest-table MGMT
interface LAN
ipaddress LAN 10.10.10.1/24
route 1 protocol udp src-port 5060 dest-table VOICE
route 2 protocol tcp src-port 5060 dest-table VOICE
route 3 protocol udp src-port 4000..4099 dest-table VOICE
route 4 dest-table PUBLIC
interface VLAN1
ipaddress VLAN1 192.168.100.1/24
interface VLAN2
ipaddress VLAN2 192.168.200.1/24
interface VLAN3
ipaddress VLAN3 192.168.220.1/24
routing-table DEFAULT
routing-table PUBLIC
route 0.0.0.0/0 gateway 192.168.100.2 metric 0
routing-table MGMT
route 0.0.0.0/0 gateway 192.168.200.2 metric 0
routing-table VOICE
route 0.0.0.0/0 gateway 192.168.220.2 metric 0
Assignment by Traffic-Class
In section “Assignment by Rules” on page 333 is explained how to categorize traffic in ip interface or in local for
sending it to a specific routing-table. There the categorization is explicitly done for policy-routing. Because
other services probably are also assigned to a specific type of traffic it makes sense to categorize traffic only once
and all service can operate on that classification. Trinity provides that feature in framework of chapter 41,
“Classifier Configuration” on page 496. With the Classifier it is possible to tag packets with a traffic-class in an
early stage of the system's packet receive path. Tagging the packets is done through chapter 42, “Packet Match-
ing” on page 504 rules which are configured in a Classifier Profile.
The system knows three pre-created and assigned traffic-classes which can directly be used in the IP interface
and local route rules.
• local-voice: All locally generated real-time traffic (RTP, SRTP, T.38 etc.)
• local-default: All locally generated application traffic (WEB, SIP, Telnet etc.)
• default: All other traffic (Routed traffic, System messages like ICMP-Redirect etc.)
To enable classifier profile it has to be attached to the interfaces (IP & local) where the packets to be marked are
entering or leaving the system. Attaching the profile is done through the use profile classifier command. This
command has a direction attribute which can be set to in or out. To use a classifier profile for policy-routing
only one direction makes sense. Dependent on the use location it is different:
• IP interface: in
• Local: out
In figure 40 the classifier directions are shown with the in/out labeled arrows. Because local applications are
part of the device, their generated traffic is sent out and needs to be marked in direction out for policy-routing.
On the ip interface the traffic that is coming in the device has to be marked for policy-routing.
Configuration Syntax
For the configuration syntax of a classifier profile, see chapter 41, “Classifier Configuration” on page 496.
Mode: configure
OR
Example Configuration
The following example is referring to scenario figure 39 on page 334. In difference to the previous Example
Configuration the same scenario is implemented with the system's known traffic-classes and with classifier pro-
file that is tagging another traffic-class.
One special thing is the processing of the SIP messages. Per default all traffic from local applications is tagged
with local-default. But because we want to send that kind of traffic to the VOICE routing-table it is re-tagged as
sip-sig through the used classifier profile. The same classifier profile is the re-usable in local as well as in LAN
interface.
profile classifier CL_MGMT
match 1 protocol tcp src-port 80 set traffic-class TC_MGMT
match 2 protocol tcp src-port 23 set traffic-class TC_MGMT
context ip ROUTER
local
use profile classifier out 1 CL_SIP_SIG
use profile classifier out 2 CL_MGMT
route 1 traffic-class local-voice dest-table VOICE
route 2 traffic-class TC_SIP_SIG dest-table VOICE
route 3 traffic-class TC_MGMT dest-table MGMT
interface LAN
ipaddress LAN 10.10.10.1/24
use profile classifier in 1 CL_SIP_SIG
route 1 traffic-class TC_SIP_SIG dest-table VOICE
route 2 protocol udp src-port 4000..4099 dest-table VOICE
route 3 dest-table PUBLIC
interface VLAN1
interface VLAN2
ipaddress VLAN2 192.168.200.1/24
interface VLAN3
ipaddress VLAN3 192.168.220.1/24
routing-table DEFAULT
routing-table PUBLIC
route 0.0.0.0/0 gateway 192.168.100.2 metric 0
routing-table MGMT
route 0.0.0.0/0 gateway 192.168.200.2 metric 0
routing-table VOICE
route 0.0.0.0/0 gateway 192.168.220.2 metric 0
Chapter contents
Introduction ........................................................................................................................................................341
About IPsec .........................................................................................................................................................341
IPsec configuration task list .................................................................................................................................341
Install license .......................................................................................................................................................342
Configure Time...................................................................................................................................................342
Configure Public-Key Infrastructure (PKI)..........................................................................................................342
Configure IPsec profile ........................................................................................................................................343
Creating an IPsec profile and entering configuration mode ...........................................................................343
Entering the Phase 1 configuration mode ......................................................................................................344
Configuring the Phase 1 ................................................................................................................................344
Entering the Phase 2 configuration mode ......................................................................................................344
Configuring the Phase 2 ................................................................................................................................345
Configure IPsec tunnel ........................................................................................................................................345
Local .............................................................................................................................................................345
Remote .........................................................................................................................................................345
Bind ..............................................................................................................................................................345
Authentication method .................................................................................................................................345
Pre-shared key .........................................................................................................................................345
Public key ...............................................................................................................................................346
Local identity ................................................................................................................................................346
Remote identity ............................................................................................................................................347
IPsec profile ..................................................................................................................................................347
Match ...........................................................................................................................................................347
..................................................................................................................................................... MOBIKE 347
Creating an IPsec tunnel and entering configuration mode ...........................................................................348
Configuring the IPsec tunnel ........................................................................................................................348
Entering the authentication configuration mode ...........................................................................................348
Configuring the authentication .....................................................................................................................349
Configure traffic selectors ....................................................................................................................................350
Entering configuration mode ........................................................................................................................350
Configuring the traffic selectors ....................................................................................................................350
Configure road warrior vs. site-to-site VPN .........................................................................................................350
Examples .............................................................................................................................................................351
IPsec profile configuration ............................................................................................................................352
IP interface configuration ..............................................................................................................................352
IPsec tunnel configuration ............................................................................................................................352
Troubleshooting ..................................................................................................................................................353
Diffie-Hellman groups and encryption/integrity algorithms ................................................................................353
339
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
340
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
Introduction
This chapter gives an overview of the Internet Protocol Security (IPsec), and describes how to use IPsec com-
mands to configure Trinity.
About IPsec
IPsec (see RFC4301) is one of the various technologies available to establish virtual private networks (VPN). A
VPN is a private data network that uses the public telecommunications infrastructure, maintaining confidenti-
ality with the use of a tunneling protocol. IPsec is a network protocol suite which provides the following fea-
tures.
• data origin authentication—Ensures that the peer is who he or she claims to be
• data integrity—Ensures that data is not tampered with while in transit
• data confidentiality—Protects the data against eavesdropping and unauthorized access
The IPsec network protocol suite includes several protocols:
• IKE:
‣ The first of two phases of the VPN establishment
‣ Performs the secure communication establishment of a channel to negotiate other parameters needed for
the establishment of child security associations using AH or ESP
‣ Two versions, IKEv1 and IKEv2
• Data transport:
‣ The second of two phases of the VPN establishment
‣ Only one of the following protocols is used, AH or ESP
‣ Authentication Header (AH):
◦ Performs data integrity only, no encryption
◦ Does not work well when a NAT is present
◦ AH is almost never used anymore
‣ Encapsulating Security Protocol (ESP)
◦ Performs data integrity and confidentiality
◦ Works when a NAT is present
◦ ESP is almost always used
The IPsec protocol supports two modes of operation, transport mode and tunnel mode. Trinity is currently
limited to the tunnel mode and to being client-side only.
Introduction 341
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
Install license
The VPN support is a licensed option for Patton devices. You need to have a “VPN” license installed on your
device before you can configure and use IPsec. You may check if the “VPN” license is installed with the show
system licenses command. Refer to chapter 8, “System Licensing” on page 100 to learn how to obtain and
install a license
Configure Time
The system time must be configured before you can work with certificates, and enabling PKI and IPsec. It is
also very important to set the correct offset of the local time with respect to the UTC time, due to the validity
of certificates expressed in UTC time. The configuration option that works best is to update the UTC time
from a configured SNTP server and to derive the local time by configuring the static offset of the local time
zone with respect to UTC. If a SNTP server is not available, you should first configure the offset of the local
time zone and afterwards set the local time with clock set command.
Errors in the form of “THE OWN CERTIFICATE ‘pki:certificate/own-certificate.cert.pem’ HAS NO
ISSUER WITHIN THE OWN CERTIFICATES” when trying to establish an IPsec tunnel are often due to
the wrong time being configured.
Note It is important to also correctly configure the time of remote devices, which
are accepting connections from our device.
IMPORTANT
Local
The IP address from which the tunnel will be established.
Remote
The IP address to which the tunnel will be established.
Bind
The local IP interface that will be associated with the IPsec tunnel.
Authentication method
This is the authentication method that will be used to authenticate the server. There are two methods: pre-
shared-key (based on a shared secret) and public-key (based on the public key infrastructure). Default method
is pre-shared key.
Each authentication method has different parameters. Only the parameters associated with the configured
authentication method must be configured.
Pre-shared key
A pre-shared key is a secret key that is known only to both the client and the server.
When the authentication method is pre-shared key the following must also be configured:
• The local identity may be anything but it must be the same on both the client and the server.
• The remote identity may be anything but it must be the same for both the client and the server.
Public key
Based on public key infrastructure (PKI).
When the authentication method is public-key the following must also be configured:
• The certificate chain of the client. It is composed of the client own-certificate, zero or more intermediate
certificates and zero or one root certificate. When more than one certificate is present, the chain of trust
must be valid. This means that every certificate except the highest one must be signed by an authority
described by another certificate in the chain. The root certificate is optional because the server needs to
already have it in its configuration as a trusted certificate.
• The private key associated with the own-certificate of the client.
• The trusted certificates. You can directly specify one or more specific trusted certificates or you can indicate
one of the following subsets to simplify the configuration. Default is all-stored.
‣ build-in-default: all trusted certificates that came with the device.
‣ user-stored: all trusted certificates that were installed by the user.
‣ all-stored: all trusted certificates stored on the device.
• The local identity will be the common name or the subject alternate name of the client own certificate.
• The remote identity will the common name or the subject alternate name of the server own certificate.
IMPORTANT
Local identity
Identifies the client. Used by the server during the authentication of the client.
• Set:
‣ Authentication method is Pre-shared key
◦ the local identity must be the IP address of the client.
‣ Authentication method is Public key
◦ "the local identity must exactly match the subjectDistinguishedName or the a subjectAltName
within the configured own-certificate.
◦ "Example: O=Patton Electronics, CN=*.patton.com
• Not set:
‣ Authentication method is Pre-shared key
◦ the local IP address will be automatically used.
Remote identity
Identifies the server. Used by the client during the authentication of the server.
• Set:
‣ Authentication method is Pre-shared key
◦ the remote identity must be the IP address of the server.
‣ Authentication method is Public key
◦ the remote identity must exactly match the subject distinguished name or a subject alternative name
in the server certificate. Uses of wildcards for subject distinguished name fields is also possible.
◦ Example: O=Microsoft Corporation, CN=www.microsoft.com
O=Microsoft Corporation, CN=*
• Not set:
‣ Authentication method is Pre-shared key
◦ the server IP address will be automatically used.
‣ Authentication method is Public key
◦ the trusted certificate information will be automatically used which is usually not what someone
wants.
IPsec profile
The IPsec profile that must be used for the tunnel establishment.
Match
• Indicates which packets will be allowed to go through the tunnel. You may specify local and remote traffic
selectors (subnets).
• Local traffic selector indicates a subnet located on this side of the tunnel. Only packets from/to an IP
address within this subnet may be sent/received on the tunnel.
• Remote traffic selector indicates a subnet located on the other side of the tunnel. Only packets from/to an
IP address within this subnet will be sent/receive on the tunnel.
• Default for local and remote traffic selector is the any address. You might need to specify more specific traf-
fic selectors depending of the server configuration.
• IKEv1 support one local and one remote traffic selector.
• IKEv2 has no such limitation.
MOBIKE
• A runtime NAT discovery process is performed during the IPsec tunnel establishment for both IKEv1 and
IKEv2. IPsec tunnel packets are first sent from UDP port 500. If a NAT is discovered, both sides will switch
to use UDP port 4500 instead and continue the tunnel establishment. This is necessary for IPsec to work
correctly behind a NAT. IKEv2 Mobility and Multihoming Protocol (MOBIKE) is an IKEv2 extension that
allows IPsec to deal with a change of local IP address while an IPsec tunnel is established. When enabled,
MOBIKE forces IKEv2 to automatically switch to UDP port 4500 even when no NAT is detected. This
sometime creates interoperability problems. If this is the case, you must disable MOBIKE. When disabled,
UDP port 4500 will only be used if a NAT is detected.
If the authentication method is pre-shared key, the pre-shared key must also be configured.
Mode: authentication
If the authentication method is public-key, the PKI parameters must also be configured.
Mode: authentication
Site-to-site deployments are used to establish a secure communication channel between subnets located in dif-
ferent geographical locations and that need to be tied together via the internet. It does not require any other
configuration than what has been described in the previous chapter.
Road warriors are remote devices that need secure access to an organization infrastructure. An example would
be an employee who is at home and needs to access a document on his employer’s server. When deploying a
road warrior, a new IP address of type “ipsec” must be added to the IP interface bound to it by the IPsec tunnel.
The client requests an IP address but in the end, it is the server who decides and allocates the final IP address.
There is no guarantee that the requested IP address will be granted.
The presence or the absence of an IP address of type “ipsec” is the only determining factor that indicates if we
are in the presence of a Site-to-site or a Road warriors deployment.
Figure 41 on page 351 shows a site-to-site IPsec tunnel being established between a branch office and the main
office. Additionally depicted is a road warrior (mobile user) connecting to the main office using an IPsec tun-
nel. Users Alice, Bob, and Road warrior have access to the main office servers as if they were all on-site.
Figure 41. Site-to-site IPsec tunnel being established between a branch office and the main office
Examples
This series of examples taken together allow the establishment of an IP tunnel. Section “IP interface configura-
tion” and section “IPsec tunnel configuration” each propose two options. Only one of the options must be
selected.
Examples 351
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
IP interface configuration
Site-to-site:
context ip
interface interface-ipsec-example
OR
Road warrior:
context ip
interface interface-ipsec-example
ipaddress ipaddress-ipsec-example ipsec request 10.10.10.10
OR
Public key authentication:
tunnel ipsec tunnel-ipsec-example
local ROUTER WAN WAN
remote 192.168.1.145
bind interface ROUTER interface-ipsec-example
Examples 352
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
Troubleshooting
The following commands are useful to examine the configuration and the status of IPsec.
Mode: operator
Diffie-Hellman groups
• ecp-192, ecp-224, ecp-256, ecp-384
• modp-768, modp-1024, modp-1536, modp-2048, modp-3072, modp-4096, modp-6144 and modp-8192.
‣ Any modp group under 2048 is considered insecure.
Encryption algorithms
• 3des, aes-128, aes-192 and aes-256.
• 3des is now considered insecure.
Troubleshooting 353
Trinity Release 3.14.X Command Line Reference Guide 24 • Internet Protocol Security (IPsec) Configuration
Integrity algorithms
• md5-128, md5-128-96, sha1-160, sha1-160-96, sha2-256, sha2-384 and sha2-512.
• md5 and sha1 algorithms are considered insecure.
• There is some limitation concerning the usage of some of the integrity algorithms
‣ md5-128 and sha1-160 are not supported in phase 1.
‣ md5-128 and sha1-160 are not supported in phase 2 if the key exchange protocol is “ikev1”
Chapter contents
Introduction ........................................................................................................................................................357
About L2TP ........................................................................................................................................................357
L2TP configuration task list ................................................................................................................................357
Install license .......................................................................................................................................................358
Configure Time...................................................................................................................................................358
Configure Public-Key Infrastructure (PKI)..........................................................................................................358
Configure IPsec profile ........................................................................................................................................358
Configure PPP profile .........................................................................................................................................358
Configure L2TP tunnel .......................................................................................................................................359
Local .............................................................................................................................................................359
Remote .........................................................................................................................................................359
Bind ..............................................................................................................................................................359
Outbound Identification ...............................................................................................................................359
Authentication method .................................................................................................................................359
Creating an IP address of type L2TP .............................................................................................................361
Creating a L2TP tunnel and entering configuration mode ............................................................................361
Configuring the L2TP tunnel .......................................................................................................................361
Entering the authentication configuration mode ...........................................................................................362
Configuring the authentication .....................................................................................................................362
Examples .............................................................................................................................................................363
IPsec profile configuration ............................................................................................................................363
IP interface configuration ..............................................................................................................................364
L2TP tunnel configuration ...........................................................................................................................364
Troubleshooting ..................................................................................................................................................365
Diffie-Hellman groups and encryption/integrity algorithms ................................................................................365
Diffie-Hellman groups ..................................................................................................................................365
Encryption algorithms ..................................................................................................................................365
Integrity algorithms ......................................................................................................................................365
Introduction ........................................................................................................................................................367
OpenVPN Configuration Task List (Quick Start) ...............................................................................................368
Configuring NTP .........................................................................................................................................368
Configuring OpenVPN Tunnel ....................................................................................................................368
OpenVPN Configuration Task List (Full Reference)...........................................................................................369
Configuring NTP¶ .......................................................................................................................................369
Creating a Public-Key Infrastructure (PKI)¶ .................................................................................................369
Creating a Certificate Authority (CA) (Server Only) ...............................................................................370
Obtaining the Keys and Certificates (Server) ...........................................................................................370
Obtaining the Keys and Certificates (Client) ...........................................................................................370
355
Trinity Release 3.14.X Command Line Reference Guide 25 • Layer 2 Transport Protocol (L2TP) Configuration
356
Trinity Release 3.14.X Command Line Reference Guide 25 • Layer 2 Transport Protocol (L2TP) Configuration
Introduction
This chapter gives an overview of the Layer 2 Transport Protocol (IPsec), and describes how to use L2TP com-
mands to configure Trinity.
About L2TP
L2TP (see RFC3931) is one of the various technologies available to establish virtual private networks (VPN). A
VPN is a private data network that uses the public telecommunications infrastructure, maintaining confidenti-
ality with the use of a tunneling protocol. Trinity supports L2TP over IPsec.
L2TP provides the following features:
• Data origin authentication—Ensures that the peer is who he claims to be
• Data integrity—Ensures that data is not tempered with while in transit
• Data confidentiality—Protect the data against eavesdropping and unauthorized access
• User authentication
Here is an overview of L2TP tunnel establishment:
1. IPsec phase 1 is established in transport mode with the L2TP server.
2. IPsec phase2 is established to the L2TP server to secure communication to UDP port 1701.
3. L2TP handshake is performed over the IPsec secured link to the L2TP server UDP port 1701.
4. PPP session is brought up encapsulated within the L2TP session.
Introduction 357
Trinity Release 3.14.X Command Line Reference Guide 25 • Layer 2 Transport Protocol (L2TP) Configuration
Install license
The VPN support is a licensed option for Patton devices. You need to have a “VPN” license installed on your
device before you can configure and use IPsec. You may check if the “VPN” license is installed with the show
system licenses command. Refer to chapter 8, “System Licensing” on page 100 to learn how to obtain and
install a license.
Configure Time
The system time must be configured before you can work with certificates, and enabling PKI and IPsec. It is
also very important to set the correct offset of the local time with respect to the UTC time, due to the validity
of certificates expressed in UTC time. The configuration option that works best is to update the UTC time
from a configured SNTP server and to derive the local time by configuring the static offset of the local time
zone with respect to UTC. If a SNTP server is not available, you should first configure the offset of the local
time zone and afterwards set the local time with clock set command.
Errors in the form of "THE OWN CERTIFICATE 'pki:certificate/own-certificate.cert.pem' HAS NO
ISSUER WITHIN THE OWN CERTIFICATES" when trying to establish an IPsec tunnel are often due to
the wrong time being configured.
Note It is important to also correctly configure the time of remote devices, which
are accepting connections from our device.
IMPORTANT
Local
The IP address from which the tunnel will be established.
Remote
The IP address to which the tunnel will be established.
Bind
The local IP interface that will be associated with the IPsec tunnel.
Outbound Identification
The username and password to use during the CHAP, MS-CHAP, MSCHAPv2 or PAP authentication chal-
lenge.
Authentication method
• This is the authentication method that will be used to authenticate the server. There are two methods, pre-
shared-key (based on a shared secret) and public-key (based on the public key infrastructure. Default
method is pre-shared key.
• Each authentication method has different parameters. Only the parameters associated with the configured
authentication method must be configured.
• Pre-shared key
‣ A pre-shared key is a secret key that is known only to both the client and the server.
‣ When the authentication method is pre-shared key the following must also be configured.
◦ The local identity may be anything but it must be the same on both the client and the server.
◦ The remote identity may be anything but it must be the same by both the client and the
server.
• Public key
‣ Based on public key infrastructure (PKI).
‣ When the authentication method is public-key the following must also be configured.
◦ The certificate chain of the client. It is composed of the client own-certificate, zero or more interme-
diate certificates and zero or one root certificate. When more than one certificate is present, the chain
of trust must be valid. This means that every certificate except the highest one must signed by an
authority described by another certificate in the chain. The root certificate is optional because the
server needs to already have it in its configuration as a trusted certificate.
IMPORTANT
• Local identity
‣ Identifies the client. Used by the server during the authentication of the client.
‣ Set:
◦ Authentication method is Pre-shared key—The local identity must be the IP address of the client.
◦ Authentication method is Public key
– The local identity must exactly match the subjectDistinguishedName or the a subjectAltName
within the configured own-certificate.
– Example: O=Patton Electronics, CN=*.patton.com
‣ Not set
◦ Authentication method is Pre-shared key—The local IP address will be automatically used.
◦ Authentication method is Public key—The own certificate information will be automatically used.
• Remote identity
‣ Identifies the server. Used by the client during the authentication of the server.
‣ Set:
◦ Authentication method is Pre-shared key—The remote identity must be the IP address of the server.
◦ Authentication method is Public key—The remote identity must exactly match the subject distin-
guished name or a subject alternative name in the server certificate. Uses of wildcards for subject dis-
tinguished name fields is also possible.
◦ Example: O=Microsoft Corporation, CN=www.microsoft.com
O=Microsoft Corporation, CN=*
‣ Not set:
If the authentication method is pre-shared key, the pre-shared key must also be configured.
Mode: authentication
If the authentication method is public-key, the PKI parameters must also be configured.
Mode: authentication
Examples
This series of examples taken together allow the establishment of an IP tunnel. Sections 2 and 3 each proposes
two options. Only one of the options must be selected.
Examples 363
Trinity Release 3.14.X Command Line Reference Guide 25 • Layer 2 Transport Protocol (L2TP) Configuration
phase-2-ipsec
diffie-hellman-group none
encryption-algorithm aes-128
integrity-algorithm sha1-160-96
key-lifetime 600 seconds
key-lifetime 1024 kilobytes
key-lifetime 1000 packets
IP interface configuration
context ip
interface interface-l2tp-example
ipaddress ipaddress-ipsec-example l2tp
OR
Public key authentication:
tunnel l2tp tunnel-l2tp-example
local ROUTER WAN WAN
remote 192.168.1.145
bind interface ROUTER interface-l2tp-example
use profile ipsec profile-ipsec-example
identification outbound my-username my-password
authentication
local-id cn=client.com
remote-id cn=server.com
method public-key
own-certificate pki:certificate/client.cert.pem
own-certificate pki:certificate/client-ca.cert.pem
own-certificate pki:certificate/root.cert.pem
private-key pki:private-key/client.key.pem
trusted-certificate pki:trusted-certificate/root.cert.pem
no shutdown
Examples 364
Trinity Release 3.14.X Command Line Reference Guide 25 • Layer 2 Transport Protocol (L2TP) Configuration
Troubleshooting
The following commands are useful to examine the configuration and the status of IPsec.
Mode: operator
Diffie-Hellman groups
• ecp-192, ecp-224, ecp-256, ecp-384
• modp-768, modp-1024, modp-1536, modp-2048, modp-3072, modp-4096, modp-6144 and modp-8192.
‣ Any modp group under 2048 is considered insecure.
Encryption algorithms
• 3des, aes-128, aes-192 and aes-256.
• 3des is now considered insecure.
Integrity algorithms
• md5-128, md5-128-96, sha1-160, sha1-160-96, sha2-256, sha2-384 and sha2-512.
• md5 and sha1 algorithms are considered insecure.
• There is some limitation concerning the usage of some of the integrity algorithms
‣ md5-128 and sha1-160 are not supported in phase 1.
‣ md5-128 and sha1-160 are not supported in phase 2 if the key exchange protocol is “ikev1”
Troubleshooting 365
Chapter 26 OpenVPN Configuration
Chapter contents
Introduction ........................................................................................................................................................367
OpenVPN Configuration Task List (Quick Start) ...............................................................................................368
Configuring NTP .........................................................................................................................................368
Configuring OpenVPN Tunnel ....................................................................................................................368
OpenVPN Configuration Task List (Full Reference)...........................................................................................369
Configuring NTP¶ .......................................................................................................................................369
Creating a Public-Key Infrastructure (PKI)¶ .................................................................................................369
Creating a Certificate Authority (CA) (Server Only) ...............................................................................370
Obtaining the Keys and Certificates (Server) ...........................................................................................370
Obtaining the Keys and Certificates (Client) ...........................................................................................370
Configuring the TLS Profile .........................................................................................................................371
Configuring OpenVPN Tunnel ..........................................................................................................................372
Debugging OpenVPN.........................................................................................................................................373
Sample Configurations ........................................................................................................................................375
Common Configuration ...............................................................................................................................375
Application 1: Point-to-point ........................................................................................................................376
Application 2: Point-to-multipoint ...............................................................................................................376
366
Trinity Release 3.14.X Command Line Reference Guide 26 • OpenVPN Configuration
Introduction
This chapter describes how to configure an OpenVPN tunnel in Trinity 3. This may be used to implement a
virtual private network between two Trinity 3 devices, or between a Trinity 3 device and PC running Windows,
MAC OS, or Linux.
A virtual private network (VPN) is a private data network that uses the public telecommunications infrastruc-
ture, maintaining privacy through the use of a tunneling protocol and security procedures.
OpenVPN may be used in one of two modes, point-to-point (see figure 42) or point-to-multipoint (see
figure 43).
Introduction 367
Trinity Release 3.14.X Command Line Reference Guide 26 • OpenVPN Configuration
The difference is that in point-to-point mode, the server only allows a single client to connect, and specifies the
IP address from which that client may connect; whereas in point-to-multipoint mode the server allows multi-
ple clients to connect.
Note In point-to-multipoint mode, the clients may communicate with each other,
but all their communication is through the server.
The following section describes the tasks involved in configuring an OpenVPN tunnel.
Note These steps involve the OpenVPN server generating each of the clients' pri-
vate keys, which are then imported into the client. As its name implies, the
private key must remain private, or the tunnel's security will be compro-
mised, so be sure to only transmit the key using secure means. For even more
security, you may follow the instructions in “OpenVPN Configuration Task
List (Full Reference)” on page 369 instead, in which case the clients generate
their own private keys, and so the private keys are never transmitted over the
network.
Configuring NTP
Part of certificate verification is checking the certificate's validity dates which requires the device to have rea-
sonably accurate time. See chapter 35, “SNTP Client Configuration” on page 436 for details.
Configuring NTP¶
Part of certificate verification is checking the certificate's validity dates which requires the device to have rea-
sonably accurate time. See chapter 35, “SNTP Client Configuration” on page 436 for details.
Step Command
1 generate pki:certificate-authority/VPN country US state Maryland locality Gaithers-
burg organization "Patton Electronics Company" organization-unit "Software Engi-
neering" common-name "VPN Certificate Authority"
Step Command
1 generate pki:certificate/VPN certificate-request pki:certificate-request/VPN certifi-
cate-authority pki:certificate-authority/VPN certificate-type server
Import the CA's public certificate and our signed certificate (on the OpenVPN client):
Debugging OpenVPN
Common problems that result in a failure to connect are:
• Incorrect time: If the time is wrong, the certificate verification may fail when the certficate's validity date is
checked.
• The local IP address is not up: If the OpenVPN tunnel is bound to a local IP address, then it cannot start
until that address comes up.
The following commands may be used to debug OpenVPN:
Mode: Operator exec
Note Verify that the Local IP address is up, and that there are two connections.
This is sample output from trace openvpn debug detail 0 while the OpenVPN process initializes.
16:54:40.000 OPENVPN # [VPN] Process: OpenVPN 2.3.8 arm-buildroot-linux-gnueabi
[SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Oct 30 2015
16:54:40.000 OPENVPN # [VPN] Process: library versions: OpenSSL 1.0.1l 15 Jan
2015, LZO 2.06
16:54:40.000 OPENVPN # [VPN] Process: NOTE: the current --script-security setting
may allow this configuration to call user-defined scripts
16:54:40.000 OPENVPN # [VPN] Process: Diffie-Hellman initialized with 2048 bit
key
16:54:40.000 OPENVPN # [VPN] Process: WARNING: file '/flash/pki/private-key/
DEFAULT' is group or others accessible
16:54:40.000 OPENVPN # [VPN] Process: Socket Buffers: R=[163840->131072]
S=[163840->131072]
16:54:40.000 OPENVPN # [VPN] Process: TUN/TAP device openvpn0 opened
16:54:40.000 OPENVPN # [VPN] Process: TUN/TAP TX queue length set to 100
16:54:40.000 OPENVPN # [VPN] Process: UDPv4 link local (bound):
[AF_INET]10.0.1.2:1194
16:54:40.000 OPENVPN # [VPN] Process: UDPv4 link remote: [undef]
16:54:40.000 OPENVPN # [VPN] Process: MULTI: multi_init called, r=256 v=256
16:54:40.000 OPENVPN # [VPN] Process: Initialization Sequence Completed
This is sample output from trace openvpn debug detail 0 while a client connects.
16:54:40.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 TLS: Initial packet from
[AF_INET]10.0.2.2:1194, sid=645bd9d0 7dae962e
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 VERIFY OK: depth=1, C=US,
ST=Maryland, L=Gaithersburg, O=Patton Electronics Company, OU=Software Engineering,
CN=CA, emailAddress=stochs@patton.com
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 VERIFY OK: depth=0, C=US,
ST=Maryland, O=Patton Electronics Company, OU=Software Engineering, CN=Client1,
emailAddress=stochs@patton.com
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 Data Channel Encrypt: Cipher
'BF-CBC' initialized with 128 bit key
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 Data Channel Encrypt: Using
160 bit message hash 'SHA1' for HMAC authentication
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 Data Channel Decrypt: Cipher
'BF-CBC' initialized with 128 bit key
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 Data Channel Decrypt: Using
160 bit message hash 'SHA1' for HMAC authentication
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 Control Channel: TLSv1,
cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
16:54:41.000 OPENVPN # [VPN] Process: 10.0.2.2:1194 [Client1] Peer Connection
Initiated with [AF_INET]10.0.2.2:1194
16:54:41.000 OPENVPN # [VPN] Process: Client1/10.0.2.2:1194 OPTIONS IMPORT: read-
ing client specific options from: /tmp/openvpn_c-
c_0c9fe0f2eda9c4b4c46cdac8e184e4a4.tmp
16:54:41.000 OPENVPN # [VPN] Process: Client1/10.0.2.2:1194 MULTI: no dynamic or
static remote --ifconfig address is available for Client1/10.0.2.2:1194
16:54:41.000 OPENVPN # [VPN] Connected to Client1 at 10.0.2.2:1194
16:54:41.000 EVENT # Link vpn openvpn VPN up
Sample Configurations
Common Configuration
All devices in all the applications below have the following common configuration:
# Enable NTP, because we need the correct time to verify certificates.
ntp
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org
no shutdown
interface WAN
ipaddress WAN <wan-ip>/<mask>
routing-table DEFAULT
route default gateway <gateway-ip>
context bridge
bridge-group VPN
no shutdown
# Ethernet 0/1 is connected to the LAN. All traffic from the VPN is bridged
# onto the LAN, and vice versa.
port ethernet 0 1
bind bridge-group VPN
no shutdown
Application 1: Point-to-point
This configures the application shown in figure 42 on page 367.
In addition to the common configuration above, add the following configuration for the Server:
# The <wan-ip> from the common configuration above must be a public IP address,
# so that the client can connect to it.
Application 2: Point-to-multipoint
This configures the application shown in figure 43 on page 367.
In addition to the common configuration above, add the following configuration for the Server:
# The <wan-ip> from the common configuration above must be a public IP address,
# so that the clients can connect to it.
Chapter contents
Introduction ........................................................................................................................................................378
GRE Configuration Task List..............................................................................................................................378
Configuring GRE Tunnel .............................................................................................................................378
Debugging GRE Tunnel ...............................................................................................................................379
Sample Configurations ........................................................................................................................................380
Common Configuration ...............................................................................................................................380
377
Trinity Release 3.14.X Command Line Reference Guide 27 • Generic Routing Encapsulation (GRE) Configuration
Introduction
This chapter describes how to configure generic routing encapsulation (a GRE tunnel) in Trinity 3. GRE is a
method of encapsulating one protocol within another protocol. This implementation only supports encapsu-
lating IPv4 in IPv4, which may be used to implement a virtual private network between two Trinity 3 devices,
or between a Trinity 3 device and a Cisco device. However, it is important to note that the data is not
encrypted, so it should not be sent across the Internet.
The GRE tunnel is set up between two devices, as shown in figure 44:
Both devices must be set up to enable the GRE tunnel. When configured correctly, traffic sent from a device on
LAN A to a device on LAN B will reach its destination (and vice-versa), and is encapsulated with GRE protocol
while traversing the WAN. Trinity 3 devices encapsulate as data enters the WAN, and unencapsulate as data
exits the WAN.
Note GRE is a peer to peer protocol; there is no client or server in this configura-
tion.
The following sections describe the tasks involved in configuring a GRE tunnel.
Mode: configure
Introduction 378
Trinity Release 3.14.X Command Line Reference Guide 27 • Generic Routing Encapsulation (GRE) Configuration
MTU : 1500
ARP : enabled
Multicast : enabled
Rx Statistics : 780 bytes in 10 packets
0 errors 0 drops, 0 overruns
0 multicast packets
Tx Statistics : 685 bytes in 8 packets
0 errors 0 drops, 0 collisions 0 carrier errors
Sample Configurations
Common Configuration
These configurations create a GRE Tunnel between two Trinity 3 devices across a WAN, where Device A is on
LAN A, and Device B is on LAN B. See figure 45 on page 381, the diagram of this sample configuration.
Trinity 3 Device A, on LAN A:
context ip ROUTER
interface LAN
ipaddress LAN 172.16.1.1/24
interface WAN
ipaddress WAN 1.1.1.1/30
# Note that the VPN interface and routing-table compliment Device B's:
# Device B's routing-table gateway is this VPN interface.
# Device B's VPN interface is this routing-table's gateway.
interface VPN
ipaddress VPN 10.0.0.1/30
x
routing-table DEFAULT
route 172.16.2.0/24 gateway 10.0.0.2
port ethernet 0 0
bind interface ROUTER LAN
no shutdown
port ethernet 0 1
bind interface ROUTER WAN
no shutdown
interface LAN
ipaddress LAN 172.16.2.1/24
interface WAN
ipaddress WAN 1.1.1.2/30
interface VPN
ipaddress VPN 10.0.0.2/30
routing-table DEFAULT
route 172.16.1.0/24 gateway 10.0.0.1
port ethernet 0 0
bind interface ROUTER LAN
no shutdown
port ethernet 0 1
bind interface ROUTER WAN
no shutdown
Chapter contents
Introduction ........................................................................................................................................................383
About Border Gateway Protocol (BGP)...............................................................................................................383
BGP configuration task list..................................................................................................................................383
Starting BGP .......................................................................................................................................................383
Configure BGP general behavior .........................................................................................................................384
Always compare MED ..................................................................................................................................384
Deterministic MED .....................................................................................................................................384
Log neighbor changes ...................................................................................................................................385
Graceful restart .............................................................................................................................................385
Timers ..........................................................................................................................................................385
Distance ........................................................................................................................................................386
Redistribute ..................................................................................................................................................386
Configure BGP Networks ...................................................................................................................................386
Configure BGP Neighbors ..................................................................................................................................387
Configure BGP neighbor behavior ......................................................................................................................387
Configure BGP neighbor route-mappings ...........................................................................................................388
Configure route-map profile................................................................................................................................388
Match rules .........................................................................................................................................................389
Set rules...............................................................................................................................................................390
Examples .............................................................................................................................................................391
Troubleshooting ..................................................................................................................................................392
382
Trinity Release 3.14.X Command Line Reference Guide 28 • Border Gateway Protocol (BGP) Configuration
Introduction
This chapter gives an overview of the Border Gateway Protocol (BGP), and describes how to use BGP com-
mands to configure Trinity. Trinity supports Border Gateway Protocol version 4 (BGP-4).
Starting BGP
To configure BGP, the Patton device needs to know the autonomous system (AS) where it is part of and the
router ID to identify itself within the AS. The router ID must be the highest public IP-address of the Device.
Mode: context ip
Introduction 383
Trinity Release 3.14.X Command Line Reference Guide 28 • Border Gateway Protocol (BGP) Configuration
Deterministic MED
The MED is one of the parameters which can be used to select the best path among different paths available.
This command specifies if the MED is considered for path selection among routes originating from different
peers from within the same AS.
Mode: context ip/bgp
Graceful restart
RFC 4724 specifies a graceful restart procedure to minimize the negative impact when a BGP speaker restarts.
It applies for both sides, the restarting device and the devices having a BGP connection to the restarting device.
When a BGP speaker restarts, all routes originating from that speaker are preserved for a certain time. This
gives the restarting router time to establish the connections to its peers again and updating the route informa-
tion before these are considered invalid.
Trinity communicates a restart-time of 120 seconds, which cannot be changed.
Mode: context ip/bgp
Timers
The timers are used to configure the keepalive mechanism for the connections between BGP peers. The hold
time is negotiated between the peers and the lower value of them is used. If one BGP speaker does not receive a
message from the peer for the duration of the hold time, that connection is considered broken and will be ter-
minated. The BGP speaker sends a keepalive message after the keepalive time, which is not allowed to be bigger
than a third of the hold time.
This global timer values can be overwritten for each neighbor specifically. If there is no timer configured in the
neighbor, this global timer values are used.
Mode: context ip/bgp
Distance
Configures the distance for routes within the routing information base, based according the origin of the route:
• External: routes originating from peers belonging to another AS.
• Internal: routes originating from peers within the AS of the BGP speaker.
• Local: routes originating from this BGP speaker itself.
Mode: context ip/bgp
Redistribute
Configures which sources should be considered for routes to be announced to peers. Routes which are added to
BGP via a redistribute stay alive even if the route disappeared from the source. This is to prevent route flapping
through whole BGP networks.
Mode: context ip/bgp
A route-map profile consists of a sequence of route-mappings, which are passed in the indexed order in the pro-
file. The first route-mapping whose match rules match to the processed route, is then executed for that route.
The action of the route-mapping can be:
• Permit: the route is permitted and all the according set statements of the route-mapping are executed on the
route. In the outgoing direction it is then sent to the peer or in incoming direction the route is then
accepted into the routing information base.
• Deny: the route is ignored: in outgoing direction it is not send to the peer and in incoming direction it is
not accepted and dropped.
When a route does not match the match rules of a route-mapping, no actions of that route-mapping are exe-
cuted, specifically no properties are set, and the route is compared against the next route-mapping. If there is
no further route-mapping or not a route-mapping to begin with the route is denied.
The name of a route-mapping is for description purposes and does not affect the functionality of the route-
mapping itself. There can be even mappings with the same name if need be.
Mode: profile route-map
Match rules
When there is a route-mapping with no specified match-rule, it matches to all routes and the according action
is executed. If there are multiple match-rules within the same route-mapping it depends on the type of match-
rules: match-rules of the same type, more specifically multiple match ip-address rules, are a logically OR. This
means only one of them must match to fulfill the match requirement. But match rules of a different type are
logically AND. This means of each match-rule type at least one of these must match to fulfill the match
requirement of the route-mapping.
The match ip-address command is the only match command where multiple possible matches can be specified,
with multiple commands. There are three variants for matching a route with the match ip-address command:
• all-subnets: This is matched if the network is of the same size or smaller than the network specified by the
rule and the network matches the network part from the rule which is not masked.
• only-this-subnet: This is matched if the network is of the exact same size as the network specified by the
rule and the network matches the network part from the rule which is not masked.
• subnet-range: This is matched if the network is within the exact range of mask specified by the rule and the
network matches the network part from the rule which is not masked.
- ge: the size of the route mask must be smaller or the same size as specified.
- le: the size of the route mask must be bigger or the same size as specified.
Note These options need to respect the condition net mask <= ge <= le to work
properly.
It is not allowed have match ip-address all-subnets mixed with only-this-subnet or subnet-range commands
together in the same route mapping.
Mode: profile route-map / route-map
It is allowed have the following match commands together with the match ip-address commands. In that case
at least one match rule of each type must match to fulfill the match requirements of the route-mapping.
Mode: profile route-map / route-map
Set rules
The set rules are only relevant within a route-mapping with a permit rule. Because they are only executed when
the route matched the route-mapping and the route-mapping allows to forward the route. If a route is permit-
ted, then all the parameters specified from the set statements of the according route mapping are set on that
route.
Mode: profile route-map / route-map
Examples
This is an example of the BGP and route-mapping part of a configuration. It is showing how the route-map-
ping can be used in incoming direction for prioritizing routes from one neighbor over the routes received from
the other neighbor.
profile route-map PREF_800
route-map 1 permit ALL
set local-preference 800
context ip ROUTER
bgp
router-id 10.172.40.9
as-identifier 100
timers keepalive 10 holdtime 30
no shutdown
network 10.178.32.0/24
neighbor 10.175.50.8
remote-as 200
use profile route-map PREF_800 in
no shutdown
neighbor 10.177.144.70
remote-as 300
ebgp-multihop 5
use profile route-map PREF_900 in
no shutdown
The second example shows how the route-mappings are used to filter routes in outgoing direction. Here we
have three networks to announce over BGP:
• 78.144.16.5 exclusive for one neighbor
Examples 391
Trinity Release 3.14.X Command Line Reference Guide 28 • Border Gateway Protocol (BGP) Configuration
context ip ROUTER
bgp
router-id 10.172.40.9
as-identifier 100
timers keepalive 10 holdtime 30
network 55.55.0.0/16
network 78.144.16.5/32
network 78.144.18.7/32
no shutdown
neighbor 10.175.50.8
remote-as 200
use profile route-map MAP_VOICE out
no shutdown
neighbor 10.177.144.70
remote-as 300
use profile route-map MAP_DATA out
no shutdown
Troubleshooting
The following commands are useful to examine the configuration and the status of BGP.
Mode: operator
Command Purpose
node # show bgp route Shows all the routes BGP is see-
ing and which would be distributed
to peers when not filtered out.
node # show bgp scan Shows the result of BGP scanning
for routes.
node # show bgp summary Shows the neighbors and the con-
nection status between this router
and the neighbor.
Troubleshooting 392
Trinity Release 3.14.X Command Line Reference Guide 28 • Border Gateway Protocol (BGP) Configuration
Command Purpose
node # show bgp neighbor [<peer>] Shows detailed information about
the neighbors.
node # restart bgp neighbor [<peer>] Triggers an immediate exchange of
all routes between this router and
the neighbor. To make sure a route
exchange happens after a change
in route mappings for example.
node # restart bgp router Resets the complete router. To get
rid of not actual routes originated
from this router and to make sure
all recent configuration changes
are applied on the connections
between this router and its neigh-
bors.
Command Purpose
node # [no] trace bgp-mgmt Traces configuration changes and
supervision of bgp daemon.
node # [no] trace bgp-event Traces bgp daemon interactions
with system and neighbors.
node # [no] trace all-bgp A collection of bgp-mgmt and bgp-
event.
Troubleshooting 393
Chapter 29 Virtual Router Redundancy Protocol
(VRRP) Configuration
Chapter contents
Introduction ........................................................................................................................................................395
About Virtual Router Redundancy Protocol (VRRP) ..........................................................................................395
Definitions ....................................................................................................................................................396
VRRP configuration task list ...............................................................................................................................396
Create a Virtual Router Instance..........................................................................................................................396
Set the Virtual Router Identifier ..........................................................................................................................396
Add at least one Virtual IP Address......................................................................................................................397
Bind an IP interface.............................................................................................................................................397
Configure OWNER or BACKUP node type .......................................................................................................398
Configure BACKUP Node..................................................................................................................................398
Set the VRRP priority ...................................................................................................................................399
Configure VRRP preemption .......................................................................................................................399
Configure VRRP connection handling ..........................................................................................................399
Adjust the VRRP advertisement delay .................................................................................................................399
Enable the Virtual Router Instance......................................................................................................................400
Final notes on VRRP...........................................................................................................................................400
Sample configuration of VRRP nodes..................................................................................................................400
1. OWNER node (172.16.0.10) ...................................................................................................................401
2. BACKUP node configuration ...................................................................................................................401
Troubleshooting ..................................................................................................................................................402
394
Trinity Release 3.14.X Command Line Reference Guide 29 • Virtual Router Redundancy Protocol (VRRP) Configu-
Introduction
This chapter gives an overview of the Virtual Router Redundancy Protocol (VRRP) feature and describes how
to use VRRP commands to configure Trinity.
The basic virtual router setup consists of one node as the virtual IP address owner and a second node as the
backup for the owner. The owner node is always elected as to the VRRP master role when it is up and running.
The owner node will preempt any backup node that is currently the acting master. The acting master node
sends VRRP advertisement messages to the VRRP multicast IP address, where all other VRRP nodes listen.
When backup nodes do not receive advertisement messages from the acting master for a number of consecutive
advertisement intervals specified by the protocol, a new master is elected amongst the available backup nodes
using VRRP messages.
When a node becomes the acting master node, it sends gratuitous ARP messages and takes over the duties of
the virtual router. Virtual router duties include answering ARP requests for the virtual router IP address and
forwarding IP packets with the next hop destination of the virtual router. IP packets with the destination IP
address of the virtual router are always accepted and processed on the owner node, and only accepted and pro-
cessed on backup nodes when enabled by configuration. VRRP protocol specifies that backup nodes should
not handle packets with the virtual IP address as a destination, it is therefore the default behaviour of backup
nodes to ignore those packets.
Introduction 395
Trinity Release 3.14.X Command Line Reference Guide 29 • Virtual Router Redundancy Protocol (VRRP) Configu-
Definitions
OWNER node—Refers to the owner of a VRRP virtual IP address. It is the node with VRRP priority 255.
MASTER node—Refers to a BACKUP node that was elected as the acting MASTER through the VRRP pro-
tocol election process or to the OWNER node when it is up and running
BACKUP node—Refers to a VRRP node that can act as a backup for an OWNER node and provide network
services while the OWNER node is unavailable by being elected as the acting MASTER through the VRRP
protocol.
node(vrrp)[name]#
node(vrrp)[name]#
Bind an IP interface
VRRP protocol uses IP multicast to perform master node election. As such, a VRRP virtual router instance
must be bound to a specific network interface. The virtual router instance can be bound to any IP interface
available in the ROUTER ip context of Trinity. However, for the virtual router instance to be brought online,
the following must be true regarding the bound IP interface.
• The IP interface must be bound to an Ethernet port. Any other type of binding will result in an inoperant
virtual router instance.
• The IP interface must be up and running.
context ip ROUTER
interface WAN
ipaddress WAN dhcp
use profile napt NAPT_WAN WAN
interface LAN
ipaddress 172.16.0.10/24
vrrp VR1-LAN
virtual-router-id 1
virtual-ip-address 172.16.0.1
bind interface ROUTER LAN
virtual-ip-owner
no shutdown
context ip ROUTER
use profile dhcp-server DHCPS_LAN
port ethernet 0 0
bind interface ROUTER WAN
no shutdown
port ethernet 0 1
bind interface ROUTER LAN
no shutdown
context ip ROUTER
interface WAN
interface LAN
ipaddress 172.16.0.11/24
vrrp VR1-LAN
virtual-router-id 1
virtual-ip-address 172.16.0.1
bind interface ROUTER LAN
no shutdown
port ethernet 0 0
bind interface ROUTER WAN
no shutdown
port ethernet 0 1
bind interface ROUTER LAN
no shutdown
Troubleshooting
The following commands are useful to examine the configuration and the status of VRRP.
Mode: operator
Troubleshooting 402
Chapter 30 Load Balancing and Failover
Configuration
Chapter contents
Introduction ........................................................................................................................................................404
Policy Routing ..............................................................................................................................................405
Heartbeat Profile ...........................................................................................................................................405
Load Balancing Service .................................................................................................................................405
Load Balancing and Failover Configuration Task List .........................................................................................405
Create a Heartbeat Profile (Optional) ...........................................................................................................406
Start a Heartbeat (Optional) .........................................................................................................................407
Configure the Routing Table(s) for the DHCP or Cell-modem Default Route (Optional) ...........................407
Create a Load Balancer Service ......................................................................................................................407
Assign Traffic to a Load Balancer Service ......................................................................................................409
Display the Heartbeat Status (Optional) .......................................................................................................410
Display the Load Balancer Service Status (Optional) .....................................................................................410
Examples .............................................................................................................................................................411
Load Balancing and Failover Example ...........................................................................................................411
Troubleshooting ..................................................................................................................................................413
I lose management connectivity to my device when all my WAN links are down ..........................................413
After all my WAN links go down, they never come back up .........................................................................413
403
Trinity Release 3.14.X Command Line Reference Guide 30 • Load Balancing and Failover Configuration
Introduction
Load balancing means distributing network traffic across multiple interfaces. Failover means detecting when an
interface's path is down and redirecting traffic to the remaining interfaces. Consider the following scenario in
which we would want to use the load balancing and failover feature:
Suppose we have three paths to the Internet:
• A DSL provider who provides us 23 Mbps upstream
• A cable provider who provides us 10 Mbps upstream
• A cell-modem provider
Suppose the cell-modem provider charges us more depending on how much data we send, so we only want to
use it if the DSL and cable providers are both down. We want to load balance over the DSL and cable provid-
ers, and if they both go down, we fallback to the cell-modem provider (see figure 47 on page 404).
In this scenario, if both the DSL and cable providers are up, we have a total aggregate bandwidth of 23 + 10 =
33 Mbps.
Introduction 404
Trinity Release 3.14.X Command Line Reference Guide 30 • Load Balancing and Failover Configuration
Policy Routing
The first element in load balancing and failover is policy routing. We need multiple routing tables, each with a
different path to the WAN. That is, each routing table has a default route that directs traffic out a different
physical interface.
Heartbeat Profile
The second element in load balancing and failover is the heartbeat. A heartbeat consists of periodically pinging
hosts on the WAN. It routes those pings using a given routing table. That routing table will route those pings
out its default route. If the path to the hosts is down, whether it a cable is not plugged into the device, or
whether it is an issue further away in the network, the host will fail to reply to the ping, and the heartbeat will
detect that the route is down.
Configure the Routing Table(s) for the DHCP or Cell-modem Default Route (Optional)
By default, the device adds the default route obtained by a DHCP or cell-modem IP address to all routing
tables. However, the load balancer service works by assigning connections to different routing tables, each of
which has a different route to the WAN. Therefore, we want to control which table(s) the device adds the
default route to.
This step is only required if your WAN IP address is a DHCP or a cell-modem address. It is not required for
static or IPCP addresses, because they do not obtain a default route.
Mode: IP Interface
In addition, the load balancer service may have a fallback routing table which will be used to route all traffic
when all of the rules are deactivated. If no fallback table is configured, it will drop all traffic when all of the
rules are deactivated.
Mode: IP Interface
Now suppose the heartbeat for WAN2 and the heartbeat for WAN3 detect that the table's route to the WAN is
down and deactivate these rules. Now the total weight is 9 + 1 = 10, and the percentage of connections assigned
to each routing table is:
• WAN1: (9 / 10) * 100 = 90%
• WAN2: deactivated, 0%
• WAN3: deactivated, 0%
• WAN4: (1 / 10) * 100 = 10%
Hosts
-----
www.patton.com
www.google.com
www.yahoo.com
Interval: 10 seconds
Failure Count: 3
Response Timeout: 2 seconds
Require: all hosts
Examples
context ip ROUTER
Examples 411
Trinity Release 3.14.X Command Line Reference Guide 30 • Load Balancing and Failover Configuration
# Load balance traffic routed through this device from the LAN to the WAN.
interface IF_LAN
ipaddress IF_LAN 192.168.1.1/24
route 1 dest-service SVC_WAN
# The DSL, cable, and cell-modem providers all supply us with a DHCP address
# and a default route. We add the default route that each one supplies to a
# different table. Any traffic destined for the WAN that the load balancer
# assigns to one of these tables will be forwarded out the appropriate
# interface. Each of the providers expect us to NAT all traffic we send to
# them.
interface IF_DSL
ipaddress ADDR_DSL dhcp
no accept hostname
accept default-route routing-table RT_DSL
use profile napt MASQ ADDR_DSL
interface IF_CABLE
ipaddress ADDR_CABLE dhcp
no accept hostname
accept default-route routing-table RT_CABLE
use profile napt MASQ ADDR_CABLE
interface IF_CELL-MODEM
ipaddress ADDR_CELL-MODEM cellmodem
no accept hostname
accept default-route routing-table RT_CELL-MODEM
use profile napt MASQ ADDR_CELL-MODEM
Examples 412
Trinity Release 3.14.X Command Line Reference Guide 30 • Load Balancing and Failover Configuration
apn fast.t-mobile.com
bind interface ROUTER IF_CELL-MODEM
no shutdown
Troubleshooting
I lose management connectivity to my device when all my WAN links are down
If your load balancer service does not have a fallback route configured, it is possible to lose management con-
nectivity to your device, even if you are managing it from the LAN.
You may have a configuration similar to the following:
profile heartbeat HB_WAN
www.patton.com
context ip ROUTER
local
# route dest-ip 192.168.1.0/24 dest-table DEFAULT
route dest-service SVC_WAN
interface LAN
ipaddress LAN 192.168.1.1/24
# route dest-ip 192.168.1.1 dest-table DEFAULT
route dest-service SVC_WAN
In this case, when both the WAN links are down, the load balancer service drops all packets that are sent to it
because it has no fallback route. This means that when your management traffic (e.g. SSH or web traffic to the
device itself ) enters the LAN interface and is sent to the load balancer service, it is dropped. Likewise, when the
device responds to you with locally generated management traffic, it is sent to the load balancer service and
dropped.
To prevent yourself from losing management connectivity to your device from the LAN, add the two lines that
are commented out in the configuration above.
Troubleshooting 413
Trinity Release 3.14.X Command Line Reference Guide 30 • Load Balancing and Failover Configuration
Figure 48. After all my WAN links go down, they never come back up
In this case, what happens when the heartbeat for both WAN1 and WAN2 is down is:
1. The Trinity device's heartbeat continues to attempt to ping the hosts (e.g. www.patton.com, www.goo-
gle.com, and www.yahoo.com) to detect when WAN1 and WAN2 come up.
2. To do so, the Trinity Device queries the DNS server for their IP addresses.
3. The DNS server will cache those addresses for a period of time, but after that time expires, it will request
the IP addresses from an upstream DNS server on the Internet.
4. The Trinity Device will drop the DNS server's request to the upstream server because the heartbeat has
detected that neither WAN1 nor WAN2 is up.
5. The DNS server will respond to the Trinity Device that it does not know the IP addresses for the hosts.
6. The Trinity Device will not be able to ping the hosts because it does not know their IP addresses, so the
heartbeat will remain down.
These steps will repeat indefinitely.
Troubleshooting 414
Chapter 31 Fast-Path
Chapter contents
Introduction ........................................................................................................................................................416
Fast-Path Configuration ......................................................................................................................................416
415
Trinity Release 3.14.X Command Line Reference Guide 31 • Fast-Path
Introduction
Fast Path is a new feature to speed-up the routing performance of Trinity devices. Fast Path only routes the first
packet of a UDP/TCP flow and learns to which interface it is routed and what packet header manipulations are
being performed (e.g. by ACL, NAT, etc.). All subsequent packets of the same layer 4 flow bypass the router
and take the fast path.
This is currently an experimental feature and therefore, the routing fast path is disabled by default. If you expe-
rience routing performance limitations you can switch it on with the CLI commands described below.
Note Currently, the fast path feature only works for UDP and TCP flows over
IPv4. All other protocols (IPv6 or other transport protocols) always take the
(slower) routing path.
Fast-Path Configuration
To enable/disable the routing fast path, enter the following command(s):
Mode: configure
Optionally—usually only when requested by our technical supporters—you may tweak the routing fast path
by entering one or multiple of the following commands:
Mode: configure
Introduction 416
Trinity Release 3.14.X Command Line Reference Guide 31 • Fast-Path
Chapter contents
Introduction ........................................................................................................................................................419
Dynamic NAPT ...........................................................................................................................................419
Static NAPT .................................................................................................................................................420
Dynamic NAT ..............................................................................................................................................421
Static NAT ...................................................................................................................................................421
NAPT traversal .............................................................................................................................................422
NAT/NAPT Configuration Task List..................................................................................................................422
Creating a NAPT Profile ...............................................................................................................................422
Configuring a NAPT DMZ host ............................................................................................................423
Activate NAT/NAPT ....................................................................................................................................424
Displaying NAT/NAPT Configuration Information ....................................................................................424
418
Trinity Release 3.14.X Command Line Reference Guide 32 • NAT/NAPT Configuration
Introduction
This chapter provides a general overview of Network Address (Port) Translation and describes the tasks
involved in its configuration.
For further information about the functionality of Network Address Translation (NAT) and Network Address
Port Translation (NAPT), consult the RFCs 1631 and 3022. This chapter applies the terminology defined in
RFC 2663.
Trinity provides four types of NAT/NAPT:
• Dynamic NAPT (Cisco terminology: NAT Overload)
• Static NAPT (Cisco terminology: Port Static NAT)
• Dynamic NAT
• Static NAT
You can combine these types of NAT/NAPT without any restriction. One type of profile, the ‘NAPT Profile’,
holds the configuration information for all four types where configuration is required. The remainder of this
Section shortly explains the behavior of the different NAT/NAPT types.
Dynamic NAPT
Dynamic NAPT is the default behavior of the NAT/NAPT component. It allows hosts on the local network to
access any host on the global network by using the global interface address as source address. It modifies not
only the source address, but also the source port, so that it can tell different connections apart (NAPT source
ports are in the range 8,000 to 16,000). UDP and TCP connections from the local to the global network trig-
ger the creation of a dynamic NAPT entry for the reverse path. If a connection is idle for some time (UDP: 2
minutes, TCP: 12 hours) or gets closed (only TCP), the dynamic NAPT entry is removed.
An enhancement of the Dynamic NAPT allows to define subsets of hosts on the local network that shall use
different global addresses. Up to 20 subsets with their respective global addresses are possible. Such a global
NAPT address can be any IP address as long as the global network routes the traffic to the global interface of
the NAT/NAPT component.
Introduction 419
Trinity Release 3.14.X Command Line Reference Guide 32 • NAT/NAPT Configuration
Figure 49 illustrates the basic and enhanced behavior of the Dynamic NAPT. The big arrows indicate the direc-
tion of the connection establishment. Although only a local host can establish a connection, traffic always flows
in both directions.
Static NAPT
Static NAPT makes selected services (i.e. ports) of local hosts globally accessible. Static NAPT entries map
global addresses/ports to local addresses/ports. The global address can either be the address of the global inter-
face or a configured global NAPT address. Usually, the local and the global port of a static NAPT entry are the
same; however, they may be different.
131.1.1.3:23 192.168.1.20:23
Destination Address modified
Note Be careful when mapping ports the Patton device uses itself (e.g. Telnet,
TFTP) because the device might become inaccessible.
Introduction 420
Trinity Release 3.14.X Command Line Reference Guide 32 • NAT/NAPT Configuration
Dynamic NAT
NAT only modifies addresses but not ports. Dynamic NAT assigns a global address from a global NAT address
pool each time a local host wants to access the global network. It creates a dynamic NAT entry for the reverse
path. If a connection is idle for some time (2 minutes), the dynamic NAT entry is removed. Should Dynamic
NAT run out of global addresses, it lets Dynamic NAPT handle the connection (which may lead to an unex-
pected behavior).
Dynamic NAT is particularly useful for protocols that do not build on UDP or TCP but directly on IP (e.g.
GRE, ESP). See also section “NAPT traversal” on page 422.
Static NAT
Static NAT makes local hosts globally accessible. Static NAT entries map global addresses to local addresses.
The global address must be a configured global NAT address. It cannot be the address of the global interface
since this would break connectivity to the Patton device itself.
Static NAT is particularly useful for protocols that do not build on UDP or TCP but directly on IP (e.g. GRE,
ESP). See also section “NAPT traversal” on page 422.
Introduction 421
Trinity Release 3.14.X Command Line Reference Guide 32 • NAT/NAPT Configuration
NAPT traversal
Protocols that do not build on UDP or TCP but directly on IP (e.g. GRE, ESP), and protocols that open addi-
tional connections unknown to the NAT/NAPT component (e.g. FTP, SIP), do not easily traverse a NAPT.
The Trinity NAPT can handle one GRE (Generic Routing Encapsulation) connection and one ESP (Encapsu-
lating Security Payload) connection at a time. It also routes ICMP messages back to the source of the con-
cerned connection or to the source of an ICMP Ping message.
To enable NAPT traversal of protocols that open additional connections, the NAPT component must analyze
these protocols at the Application Level in order to understand which NAPT entries for additional connections
it should create and which IP addresses/ports it must modify (e.g. for voice connections in addition to signaling
connections). It performs this task for the protocol FTP. Other protocols such as SIP cannot traverse the Trin-
ity NAPT.
Use no in front of the above commands to delete a specific entry or the whole profile.
Activate NAT/NAPT
To enable NAPT on a WAN port, the user has to "use" a NAPT profile on the corresponding IP interface. In
order to work, NAPT requires a global IP address. Since there now can be multiple IP addresses per IP inter-
face, the user has to specify which of the IP interface addresses shall be used as NAPT global address.
The <pfName> parameter specifies the NAPT profile to be used for this IP interface. The <label> parameter
specifies the name of the IP address on the same IP interface.
Note If the <label> parameter refers to a dynamic address (such as DHCP), the
global NAPT address changes automatically when we got a new DHCP
lease. If that DHCP address is released, all NAPT translations that require a
global interface address are not active while translation rules that explicitly
specify a global IP address still work.
Note You can use the same NAPT profile on multiple IP interfaces. In this case,
the linked IP interface address will be used as global IP address on the corre-
sponding port.
Example: Create an IP interface with one static an a DHCP address and bind the NAPT profile to the
dynamic DHCP address.
node>enable
node#configure
node(cfg)#profile napt DYNAMICNAPT
node(cfg)#context ip ROUTER
node(ctx-ip)[ROUTER]#ip interface WAN
node(ip-if)[ROUTER.WAN]#ipaddress STATIC 10.1.1.1/24
node(ip-if)[ROUTER.WAN]#ipaddress DHCP
node(ip-if)[ROUTER.WAN]#use profile napt DYNAMICNAPT DHCP
node(ip-if)[ROUTER.WAN)#port ethernet 0 0
node(prt-eth)[0/0]#bind interface ROUTER WAN
node(prt-eth)[0/0]#no shutdown
Mode: Configure
Chapter contents
Introduction ........................................................................................................................................................427
DHCP-client Configuration Tasks......................................................................................................................428
Configure an IP interface for DHCP ............................................................................................................428
Release or Renew a DHCP Lease Manually (advanced) ................................................................................429
Remove a DHCP address from an IP interface ..............................................................................................429
Capture Debug Output from DHCP-client ..................................................................................................429
426
Trinity Release 3.14.X Command Line Reference Guide 33 • DHCP Configuration
Introduction
This chapter provides an overview of the Dynamic Host Configuration Control Protocol (DHCP) and
describes the tasks involved in its configuration. This chapter includes the following sections:
• DHCP-client configuration tasks (see page 428)
The Dynamic Host Configuration Protocol (DHCP) automates the process of configuring new and existing
devices on TCP/IP networks. DHCP performs many of the same functions a network administrator carries out
when connecting a computer to a network. Replacing manual configuration by a program adds flexibility,
mobility, and control to networked computer configurations.
The tedious and time-consuming method of assigning IP addresses was replaced by automatic distributing IP
addresses. The days when a network administrator had to manually configure each new network device before
it could be used on the network are in the past.
In addition to distributing IP addresses, DHCP enables configuration information to be distributed in the
form of DHCP options. These options include, for example, the default router address, domain name server
addresses, the name of a boot file to load etc.
A new expression in DHCP is lease. Rather than simply assigning each DHCP-client an IP address to keep
until the client is done with it, the DHCP-server assigns the client an IP address with a lease; the client is
allowed to use the IP address only for the duration of that lease. When the lease expires, the client is forced to
stop using that IP address. To prevent a lease from expiring, which essentially shuts down all network access for
the client, the client must renew its lease on its IP address from time to time.
The DHCP-server and DHCP-client are illustrated in figure 53.
LAN
Node
Node
DHCP Server
LAN
Node
Node WAN
DHCP Client
s
DHCP Client
s
LAN Node
Node
DHCP Server
Introduction 427
Trinity Release 3.14.X Command Line Reference Guide 33 • DHCP Configuration
Note Next to a single DHCP address, an IP interface may foster an arbitrary num-
ber of static (manually-configured) IP addresses. The DHCP address distin-
guishes from the static addresses by its label set to DHCP.
To enable the DHCP-client on an IP Interface, configure the DHCP value with the option “ipaddress”’ by per-
forming the steps described below.
Mode: configure
Note If you are connected by Telnet or SSH over the IP interface on which you
release the DHCP lease, the connection is lost after entering the command
ipaddress DHCP release. You need another way (i.e. another static IP address or
another IP interface) to connect to the device again and to enter the com-
mand ipaddress DHCP renew.
Note If you are connected by Telnet or SSH over the IP address you delete, the
connection is lost after entering the command no ipaddress. You need
another way (e.g. another static IP address, another IP interface, or console
access) to connect to the device again.
host(if-ip)[ROUTER.LAN]#debug ip
Chapter contents
Introduction ........................................................................................................................................................433
DNS Configuration Task List .............................................................................................................................433
Enabling the DNS Resolver ..........................................................................................................................433
Enabling the DNS Relay ...............................................................................................................................434
432
Trinity Release 3.14.X Command Line Reference Guide 34 • DNS Configuration
Introduction
The domain name system (DNS) enables users to contact a remote host by using easily remembered text labels
(www.patton.com, for example) instead of having to use the host’s numeric address (209.45.110.15, for exam-
ple). When DNS names are entered as part of configuration commands or CLI exec mode commands in appli-
cations like Ping, Traceroute, or Tftp, the Patton device uses a DNS resolver component to convert the DNS
names into the numeric address.
The Patton device can be configured as a caching DNS relay server to speed data transfers, acting as the DNS
server for a private network. In this configuration, hosts in the network send their DNS queries to the Patton
device, which checks to see if the DNS name is in its DNS resolver cache. If it finds the name in cache, the
device uses the cached data to resolve the DNS name into a numeric IP address. If the name is not in cache, the
query is forwarded on to a DNS server. When the device receives the answer from the server, it adds the name
to the cache, and forwards it on to the host that originated the query. This process enables the Patton device to
provide answers more quickly to often-queried DNS names, reducing the number of DNS queries that must be
sent across the access link.
Introduction 433
Trinity Release 3.14.X Command Line Reference Guide 34 • DNS Configuration
Mode: dns-client
Remote Location
(somewhere on
UserÕs PC SmartNode the Internet)
IP IP IP
DNS query on
Localized DNS the WAN side
query traffic WAN
ETHERNET W WAN
NET
ETHERNET
Chapter contents
Introduction ........................................................................................................................................................437
NTP Client Configuration Task List...................................................................................................................437
Enabling/Disabling the NTP Management Component ...............................................................................437
Enabling NTP Options .................................................................................................................................437
Examples .............................................................................................................................................................438
Run the following to see the NTP configuration settings ..............................................................................438
Run the following to see the NTP status .......................................................................................................438
436
Trinity Release 3.14.X Command Line Reference Guide 35 • SNTP Client Configuration
Introduction
This chapter describes how to configure Network Time Protocol (NTP) client. The NTP Management com-
ponent enables users to setup an NTP time updating, given they are connected to the Internet. The NTP
allows you to set several NTP Servers to allow for precise time keeping on the device. The NTP also allows you
to listen to the NTP Broadcasts.
Mode: Configure
Introduction 437
Trinity Release 3.14.X Command Line Reference Guide 35 • SNTP Client Configuration
Examples
NTP Servers
===============================================
192.168.0.2 : Unicast
96.47.67.105 : Unicast
Examples 438
Chapter 36 SNMP Configuration
Chapter contents
Introduction ........................................................................................................................................................440
Simple Network Management Protocol (SNMP) ................................................................................................440
SNMP Basic Components ............................................................................................................................440
SNMP Basic Commands ..............................................................................................................................440
SNMP Management Information Base (MIB) ..............................................................................................441
Network Management Framework ...............................................................................................................441
Identification of a Patton device via SNMP .........................................................................................................442
SNMP Tools .......................................................................................................................................................442
SNMP Configuration Task List...........................................................................................................................442
Setting Basic System Information ........................................................................................................................442
Setting Access Community Information ..............................................................................................................445
Setting Allowed Host Information.......................................................................................................................446
Authentication and Encryption ...........................................................................................................................446
Specifying the Default SNMP Trap Target..........................................................................................................447
Displaying SNMP Related Information...............................................................................................................447
Using the ManageEngine SNMP Utilities ...........................................................................................................448
Using the MibBrowser ..................................................................................................................................448
Using the TrapViewer ...................................................................................................................................449
Standard SNMP Version 1 Traps ........................................................................................................................452
SNMP Interface Traps ........................................................................................................................................453
439
Trinity Release 3.14.X Command Line Reference Guide 36 • SNMP Configuration
Introduction
This chapter provides overview information about Simple Network Management Protocol (SNMP) and
describes the tasks used to configure those of its features supported.
Note SNMP v1/v2/v3 are supported in Trinity from version 3.7 onwards.
Introduction 440
Trinity Release 3.14.X Command Line Reference Guide 36 • SNMP Configuration
• Traversal operations are used by the NMS to determine which variables a managed device supports and to
sequentially gather information in variable tables, such as a routing table.
SNMP Tools
Patton recommends the ManageEngine.
Refer to section “Using the ManageEngine SNMP Utilities” on page 448 for more detailed information on
how to use these tools.
If any of the command options name, location, or hostname has to be formed out of more than one word, the
information is put in “double quotes”.
Note Enter an empty string “” to get rid of any of the system settings.
The MIB-II system group values are accessible for reading and writing via the following SNMP objects:
• .iso.org.dod.internet.mgmt.mib-2.system.sysContact
• .iso.org.dod.internet.mgmt.mib-2.system.sysName
• .iso.org.dod.internet.mgmt.mib-2.system.sysLocation
After setting these values according to 1 through 3 any SNMP MIB browser application should read the values
using a get or get-next command as shown in figure 55.
The procedure to use the SNMP MIB browser is:
• Enter the community string public into the Community field in the upper right corner of the window. For
safety reasons each entered character is displayed with a “*”.
• Access any of the supported MIB system group object by using the GetNext button from the button bar of
the window.
Figure 55. ManageEngine MibBrowser displaying some of the System Group objects
After entering a host name the prompt on the CLI no longer displays the IP address of the Ethernet port over
which the Telnet session is running but shows the newly entered host name.
Choosing community names is like choosing a password. Do not use easily guessed ones; do not use commonly
known words, mix letters and other characters, and so on. If you do not intend to allow anyone to use SNMP
write commands on your system, then you probably only need one community name.
This procedure describes how to define your own SNMP community.
Mode: Configure
Note If no community is set on your Patton device accessing any of the MIB
objects is not possible!
Note The community which is to be used as security name to access the MIB
objects has to be defined prior to the definition of allowed hosts.
This procedure describes adding a host that is allowed to access the MIB of this system.
Mode: Configure
This procedure describes adding an IP network that is allowed to access the MIB of this system.
Mode: Configure
Mode: snmp-server
Mode: configure
This procedure describes how to display information and configuration settings for SNMP.
Mode: Configure
Hosts:
172.16.224.44 security-name public
Targets:
172.16.224.44 security-name Not4evEryOne
Communities:
public access-right ro
Not4evEryOne access-right rw
The left frame holds the MIB tree. A MIB tree is a structure through which all the MIBs loaded can be viewed.
The MIB tree component enables us to traverse through the tree, view the loaded MIBs and learn the definition
for each SN. The ManageEngine MibBrowser allows loading additional MIB files in the text format (the “my” file
contains enterprise specific MIB definitions).
The right frame has labeled text fields to specify the basic parameters like host, community etc. and a Result
text area display to view the results.
There are three ways in which the primary window of the MibBrowser can be viewed. It can be viewed with the
result display, MIB description panel or multi-variable bind panel in the right frame. The view can be altered in
three ways.
• The desired view can be set by the options provided in the display menu item under the view menu.
(View Display ).
• The other way of altering the view is through the general settings panel in the settings menu item in the edit
menu. (Edit Settings)
• The same can be done through clicking the MibBrowser settings button on the toolbar. See figure 56.
By default the MIB description display and the result display are visible in the MibBrowser.
The TrapViewer has a table that displays the trap information, the common parameters text fields where neces-
sary information has to be entered and other options such as Start, Stop, Trap Details, Delete Trap and Parse-
rEditor.
Follow these steps to work on the Trap Viewer and to know more about the available options:
• By default the value in the Port text field is 162. Enter the desired port in the field on which the viewer will
listen.
• The default value in the Community text field is public. Set the community of the incoming traps as desired,
depending on the SNMP configuration.
• Click on Add button to add the port and community list on which the trap has to listen to. This is visible in
the TrapList combo box.
• The port and community list can be deleted by clicking on the Del button.
• When you need to load a trap parser file, click on the Load button, which will open up a dialog box, from
which you can load the parser file.
• In order to receive the traps now, click on the Start button. Upon clicking this button, TrapViewer begins to
receive traps according to the as-specified port and community.
• Once received, the traps are listed in the trap table of the TrapViewer. By default, the trap table has the fol-
lowing four columns:
- Class that defines the severity of the trap.
- Source that displays the IP address of the source from where the traps were sent.
- Date that shows the date and time when the trap was received.
- Message that by default has the object identifier format (sequence of numeric or textual labels on the SNs
along a path from the root to the object) of the trap if any, or it is blank.
• The details of the traps can be viewed by clicking the Trap Details button or right click the trap in the trap
table and select the option View Trap Details. figure 58 show the screen of such a trap details window.
The various details available in the Trap Details window are listed in table 27:
linkDown TRAP-TYPE
ENTERPRISE snmp
VARIABLES { ifIndex }
DESCRIPTION
"A linkDown trap signifies that the sending protocol entity recognizes a failure in
one of the communication links represented in the agent's configuration."
::= 2
Note The linkDown trap is not sent if any of the ISDN ports has gone down.
linkUp TRAP-TYPE
ENTERPRISE snmp
VARIABLES { ifIndex }
DESCRIPTION
"A linkUp trap signifies that the sending protocol entity recognizes that one of
the communication links represented in the agent's configuration has come up."
::= 3
Note The linkUp trap is not sent if any of the ISDN ports has come up.
authenticationFailure TRAP-TYPE
ENTERPRISE snmp
DESCRIPTION
"An authenticationFailure trap signifies that the sending protocol entity is the
addressee of a protocol message that is not properly authenticated. While implemen-
tations of the SNMP must be capable of generating this trap, they must also be capa-
ble of suppressing the emission of such traps via an implementation-specific
mechanism."
::= 4
Note The authenticationFailure trap is sent after trying to access any MIB object
with a SNMP community string, which does not correspond to the system
setting.
coldStart TRAP-TYPE
ENTERPRISE snmp
DESCRIPTION
"A coldStart trap signifies that the sending protocol entity is reinitializing
itself such that the agent's configuration or the protocol entity implementation
may be altered."
::= 0
Note The standard SNMP version 1 trap coldStart as listed below is not sup-
ported. After powering up, a warmStart trap message is sent if any trap target
host is defined.
...
2002-09-06T14:54:35 : LOGINFO : Link up on interface sip_60.
2002-09-06T14:54:35 : LOGINFO : Link up on interface sip_30.
2002-09-06T14:54:35 : LOGINFO : Link up on interface isdn20.
2002-09-06T14:54:38 : LOGINFO : Link up on interface ETH00.
2002-09-06T14:54:38 : LOGINFO : Link up on interface ETH01.
2002-09-06T14:54:39 : LOGINFO : Link up on interface eth00.
2002-09-06T14:54:39 : LOGINFO : Link up on interface eth01.
2002-09-06T14:56:02 : LOGINFO : Link up on interface SLOT2:00 ISDN D
2002-09-10T14:21:20 : LOGINFO : Link down on interface SLOT2:00 ISDN
...
Chapter contents
Introduction ........................................................................................................................................................455
Overview .............................................................................................................................................................455
Architecture ..................................................................................................................................................455
Symmetric encryption and the key-distribution problem .....................................................................................456
Asymmetric encryption .................................................................................................................................457
CA-signed certificate enrollment ...................................................................................................................458
Self-signed certificate enrollment ...................................................................................................................459
PKI-related commands ........................................................................................................................................460
Private-key handling .....................................................................................................................................460
Public-key handling ......................................................................................................................................461
Certificate-request handling ..........................................................................................................................461
Own-certificate handling ..............................................................................................................................464
Trusted-certificate handling ..........................................................................................................................466
Generated default files ...................................................................................................................................468
454
Trinity Release 3.14.X Command Line Reference Guide 37 • Public-Key Infrastructure (PKI)
Introduction
This chapter provides an overview on how to set up the public-key infrastructure on a Patton device. PKI deals
with the creation, management and deployment of keys and certificates, which is an intricate task. Therefore,
this chapter first gives an introduction on general PKI concepts, before it discusses in detail how to configure a
Patton device.
Overview
As business is moving forward, the expectation for secure communication over the public Internet is becoming
more and more important. There are three primary security vulnerabilities of communications over a publicly
accessible network:
• Eavesdropping: intruder captures the data transmission between two parties during communications.
• Identity theft: intruder gains illegal access by posing as an individual who actually can access secured
resources.
• Man-in-the-Middle: intruder interrupts a dialogue and modifies the data between the two parties. The
intruder could take over the entire session in the worst case.
Public Key Infrastructure (PKI) strongly reduces these risks. It provides a hierarchical framework for managing
the digital security attributes of entities that will engage in secured communications.
Architecture
A PKI consists of the following elements (see figure 59 on page 456):
• A Certificate Authority (CA) that both issues and verifies the digital certificates. The primary role of the CA
is to digitally sign and publish the public key bound to a given user. This is done using the CA’s own private
key, so that trust in the user’s key relies on one’s trust in the validity of the CA’s key.
• A Registration Authority (RA) which verifies the identity of users requesting information from the CA.
• Third-party Validation Authority (VA) which provides information on behalf of CA.
Introduction 455
Trinity Release 3.14.X Command Line Reference Guide 37 • Public-Key Infrastructure (PKI)
Asymmetric encryption
Compared to the symmetric way, asymmetric encryption imposes a high computational burden, and tends to
be much slower. This property makes this way of communication less efficient if the amount of data is huge
but definitely has one advantage: Its major strength is the ability to establish a secure channel over a non-secure
medium (for example, the Internet). Let’s assume that two participants have decided to talk to each other
securely. As a first step each of them must generate its private/public key pair (see figure 61).
The key generation program is fed by a large random number, which is different for each participant; therefore,
the public and private keys will also differ.
Refer to figure 62 for an illustration of the usage of public/private key pair in asymmetric cryptography. The
two parties will exchange their public keys (contained in the certificate), but will not disclose their private keys.
The sending party will use the public key of the receiving party to encrypt message data and forward the
encrypted data to the other party. The receiving party will then decrypt it with its private key. Data that is
encrypted with the public key can be decrypted with the corresponding private key, and vice versa. However,
data encrypted with the public key cannot be decrypted with the public key. This prevents someone from com-
promising the encrypted data after acquiring both public keys by sniffing on the certificate exchange.
If the secure channel is established it is possible to exchange a symmetric session key, which is used to actually
encrypt and decrypt data. This allows for a more efficient communication.
PKI-related commands
This section introduces and discusses all PKI-related commands in Trinity:
• Private-key handling (see page 460)
• Public-key handling (see page 461)
• Certificate-request handling (see page 461)
• Own-certificate handling (see page 464)
• Trusted-certificate handling (see page 466)
• Generated default files (see page 468)
Private-key handling
Asymmetric encryption requires a private and a public key for encryption and decryption. They can only be
generated and deleted together. With the generate command it is possible to generate an RSA key with a spec-
ified length. A longer modulus length corresponds to a higher level of security but requires more computational
resources for key generation and connection handshaking. Keys are mainly used to generate or sign certificate
requests.
In order to make the Private Key Infrastructure easier to use a couple of default files will be generated at the
first startup. One of them is a private key named DEFAULT with a modulus length of 512 bits. The file is gen-
erated only once, it is immutable and can be used for basic scenarios (see chapter 59, “Secure SIP Applications”
on page 786, for example).
Mode: Administrator exec
Public-key handling
Asymmetric encryption requires a private and a public key for encryption and decryption. They can only be
generated and deleted together with the generate command introduced above.
Mode: Administrator exec
Certificate-request handling
The key exchange happens via certificates. In order to create a certificate we have to generate a certificate
request. All the parameters of the generate command are mandatory and have the following meaning:
• private-key: The request has to store a key which will be sent to the peer, which is the public key that corre-
sponds to the specified private key. This public key will be the decryption key of the peer. If no private key
is specified, the DEFAULT private key will be used.
• country: The certificate issuer¡¦s country of residence. If nothing is set then empty string will be used.
• state: The certificate owner¡¦s state of residence. If nothing is set then empty string will be used.
• locality: The certificate issuer¡¦s locality. If nothing is set then empty string will be used.
• organization: The organization to which the certificate issuer belongs. If nothing is set then empty string
will be used.
• organization-unit: The name of the organizational unit to which the certificate issuer belongs. If nothing is
set then empty string will be used.
• common-name: The certificate owner¡¦s common name. This has to be the IP address or the fully qualified
DNS domain name (“im.example.org”, “mail.example.net”, and “www.example.com”, respectively) of the
local SIP gateway. The peer side can check whether these parameters match. If nothing was is then empty
string will be used.
Mode: Administrator exec
Own-certificate handling
A certificate chain is transmitted to a remote peer when this peer wants to authenticate the local user/device. A
certificate chain is formed from the following certificates:
• A personal certificate, which identifies the local user or device.
• Zero or more intermediate certificates, which are certificates that identify intermediary Certificate Authori-
ties between the root certificate and the personal certificate.
• Zero or one root certificate, provided by a trusted third-party Certificate Authority (CA).
The ordered list of certificates, starting from the personal certificate and ending at the root CA, usually denotes
a delegation of trust where the root CA trusts intermediate CA1, which in turns trusts intermediate CA2,
which in turns trusts intermediate CA3 and so on, up to the intermediate CA that has issued the personal cer-
tificate to the local user or device, which trusts the user's/device's identity. With the following commands only
single certificates can be handled; the chain of certificates must be formed later in the TLS profile.
Mode: Administrator exec
18:da:f6:33:65:65:ef:90:fb:29:03:3a:42:9b:1c:02:fd:84:
24:bd:f2:21:cc:05:bc:71:b5:e9:2d:7e:c8:fa:96:d0:21:88:
6b:37:90:5b:c8:b1:95:4e:4e:d6:5a:5c:38:da:39:ac:3f:ec:
d9:37:01:ea:a4:97:42:b1:de:24:c4:e1:66:35:62:01:65:26:
36:6f:4a:
Trusted-certificate handling
Root certificates are certificates that are trusted by the device. If the peer presents a certificate that does inherit
from one of them, the connection-handshaking is accepted.
Mode: Administrator exec
9d:3c:86:5d:b0:0b:21:70:bc:0f:ee:31:3d:6c:60:b5:92:76:
ef:68:07:32:07:a9:f5:06:dd:65:51:05:c3:a9:b1:74:1a:17:
1a:b8:41:0a:04:0d:ce:ec:8d:67:8d:6c:9e:79:b8:39:f2:3e:
62:2a:af:3d:14:60:9a:1f:5b:10:85:72:8e:cf:ad:40:f1:83:
e5:da:01:d8:41:cc:42:ad:95:fb:83:d6:90:f6:1c:02:73:63:
86:f8:c8:3e:87:8c:29:c5:b8:8e:a1:fd:aa:33:fd:e6:ba:4d:
45:19
node>enable node#configure
node(cfg)#erase pki:trusted-certificate/cert1
Chapter contents
Introduction ........................................................................................................................................................470
Applying Scheduling at the Bottleneck ..........................................................................................................470
Using Traffic Classes .....................................................................................................................................470
Patton DownStreamQoS™ ............................................................................................................................470
Introduction to Scheduling ...........................................................................................................................471
Priority ....................................................................................................................................................471
Weighted fair queuing (WFQ) ................................................................................................................471
Shaping ...................................................................................................................................................471
Handling of bursts ..................................................................................................................................471
Hierarchy ................................................................................................................................................472
Quick References.................................................................................................................................................472
Setting the Modem Rate ...............................................................................................................................472
Configure DownStreamQoS™ .......................................................................................................................473
Configuration Example: Common application case ......................................................................................474
Service-Policy configuration task list....................................................................................................................475
Creating a service-policy profile ....................................................................................................................475
Configure Link arbiter ..................................................................................................................................475
Rate limit ................................................................................................................................................476
Arbiter mode ...........................................................................................................................................476
Source traffic-class ...................................................................................................................................476
Hierarchical profile service-policy ............................................................................................................477
Share for weighted-fair-queuing ..............................................................................................................477
Bit-rate for shaper ...................................................................................................................................477
Assigning absolute priority ......................................................................................................................478
Real time traffic .......................................................................................................................................478
Queue length ..........................................................................................................................................478
Queue type .............................................................................................................................................478
Discarding excess load .............................................................................................................................479
Set QoS-related IP header field .....................................................................................................................479
Binding a classifier profile to the outbound traffic of an IP interface .............................................................480
Troubleshooting ..................................................................................................................................................481
469
Trinity Release 3.14.X Command Line Reference Guide 38 • Profile Service-Policy Configuration
Introduction
This chapter describes how to use and configure service-policy profiles. Service-policy profiles can be bound to
individual IP interfaces to map internal traffic classes to QoS-related IP header fields. For an overview of Trin-
ity's Quality-of-Service architecture and the meaning of traffic classes, refer to Chapter 39, "Quality of Service
(QoS) Overview" on page 482.
This chapter describes how to use and configure the Quality of Service (QoS) features. This chapter includes
the following sections:
• Quick references (see page 472)
• Assigning bandwidth to traffic classes (see section “Setting the Modem Rate” on page 472)
• Service Policy configuration task list (see page 475)
QoS in networking refers to the capability of the network to provide a better service to selected network traffic.
In the context of VoIP, the primary issue is to control the coexistence of voice and data packets such that voice
packets are delayed as little as possible. This chapter shows you how to configure Trinity to best use the access
link.
In many applications you can gain a lot by applying the minimal configuration found in the quick reference
section, but read sections “Applying Scheduling at the Bottleneck” and “Using Traffic Classes” first to under-
stand the paradox of why we apply a rate-limit to reduce delay and what a traffic-class means.
Patton DownStreamQoS™
For traffic flowing downstream from the Internet, traditional access routers cannot control the volume nor the
sending users. Although downstream traffic is usually requested and initiated by users on the local network
(LAN), controlling these upstream requests is not sufficient to limit the downstream traffic effectively because
one request may trigger a server to send an entire file over the downstream path. The ISP’s edge router com-
monly responds to a packet rate that exceeds the link bandwidth by discarding VoIP packets with the same
probability as any other packet type. These factors, or a combination of them, may degrade voice quality to a
Introduction 470
Trinity Release 3.14.X Command Line Reference Guide 38 • Profile Service-Policy Configuration
degree that users find objectionable. Unlike data traffic -which can be retransmitted- real-time voice traffic is
vulnerable to packet loss since it leads to audible interruption.
To resolve the problem of degraded voice quality for incoming traffic, Patton has devised a leading-edge tech-
nology called DownStreamQoS™. Within the Patton device deployed at the customer premise, Down-
StreamQoS dynamically creates a virtual bottleneck against the incoming packet stream. This bottleneck can
throttle non-real-time traffic, preventing the edge router from blocking or impeding voice traffic, to ensure
voice or other real-time packets are transmitted freely downstream. DownStreamQoS exploits flow-control
mechanisms within the TCP standard to create the bottleneck. Because 80% of Internet traffic is transported
via TCP, DownStreamQoS is especially effective. See section “Configure DownStreamQoS™” on page 473.
Introduction to Scheduling
Scheduling essentially means to determine the order in which packets of the different traffic-classes are served.
The following sections describe the ways this arbitration can be done.
Priority
One way of ordering packets is to give priority to one traffic-class and to serve the other traffic-classes when the
first has nothing to send. Trinity uses the priority scheme to make sure that voice packets generated by the Pat-
ton device will experience as little delay as possible. Voice packets can receive this treatment because they will
not use up the entire bandwidth.
Shaping
There is another commonly used way to assign bandwidth. It is called shaping and it makes sure that each traf-
fic-class will get just as much bandwidth as configured and not more. This is useful if you have subscribed to
aservice that is only available for a limited bandwidth e.g. low delay. When connecting the Patton device to a
Diff-Serv network shaping might be a required operation.
Handling of bursts
For shaping there is a variation of the scheduler that allows to specify if a traffic class may temporarily receive a
higher rate as long as the average stays below the limit. This burstiness measure allows the network to explicitly
assign buffers to bursty sources. When you use shaping on the access link the shaper sometimes has the prob-
lem that multiple sources are scheduled for the same time - and therefore some of them will be served too late.
If the rate of every source had to strictly obey its limit, all following packets would also have to be delayed by
the same amount, and further collisions would reduce the achieved rate even further. To avoid this effect, the
Trinity shaper assumes that the burstiness needed for sources to catch up after collisions is implicitly allowed.
Future versions of Trinity might allow setting the burst rate and bursting size if more control over its behavior
is considered necessary..
Introduction 471
Trinity Release 3.14.X Command Line Reference Guide 38 • Profile Service-Policy Configuration
Hierarchy
An arbiter can either use wfq or shaping to determine which source to serve next. If you want the scheduler to
follow a combination of decision criteria you can combine different schedulers in hierarchy to do a multi-level
arbitration. Hierarchical scheduling is supported in Trinity with service-policy profiles used inside service pol-
icy profiles. In figure 65 an example of hierarchical scheduling is illustrated. The 1st level arbiter Level_1 uses
weighted fair queuing to share the bandwidth among source classes VPN, Web and incorporates the traffic
from the 2nd level arbiter Low_Priority, which itself uses shaping to share the bandwidth among source classes
Mail and Default.
Mode
WFQ
priority
local voice
min. 30%
VPN
min. 40%
Level_1
Web
min. 30%
Low_Priority
Default
Mode
Shaper
Quick References
The following sections provide a minimal “standard” service-policy configuration for the case where voice and
data share a (DSL/cable) modem link.
priority
2. Apply the profile just created to the interface connected to the modem.
context ip
interface WAN
use profile service-policy MODEM-512 out
Some explanations:
• MODEM-512 is the title of the profile which is referred to when installing the scheduler
• rate-limit 512 allows no more than 512 kbit/sec to pass which avoids queuing in the modem.
• overhead 30 specifies how many framing bytes are added by the modem to "pack" the IP packet on the
link. The framing is taken into account by the rate limiter.
• atm tells the rate limiter that the access link is ATM based. This option includes the ATM overhead into the
rate limit calculation. Please add 8 bytes to the overhead for AAL5 in this case.
• source traffic-class enters a sub-mode where the specific handling for a traffic-class is described. The list of
sources in the service-policy profile tells the arbiter which "traffic sources" to serve.
• local-voice is the predefined traffic-class for locally terminated voice packet streams.
• priority means that packet of the source being described are always passed on immediately, packets of other
classes follow later if the rate limit permits.
Configure DownStreamQoS™
The Patton device can throttle downstream data traffic on the access link, minimizing the risk of lost or delayed
voice or other real-time packets coming from the Internet or WAN.
The example below defines a service-policy profile applied to incoming traffic on the WAN interface:
profile service-policy DOWN-LINK
rate-limit 768 voice-margin 200
Interface WAN
use profile service-policy in DOWN-LINK
ity. For best results, use a generous value for voice-margin to accommodate fluctuations in traffic flow. 33%
of the total bandwidth is recommended, up to a maximum of 200 kbit/sec (this default behavior can be eas-
ily configured with the voice-margin auto option).
• priority: Means that packet of the local-voice source are always passed on immediately, packets of other
classes follow later if the rate limit permits.
• real-time: If at least one of the listed traffic classes contains the real-time command the service policy filters-
out bursts in the data traffic to keep the delay of voice streams small and without fluctuations.
Note This command makes only sense if used along with the priority command.
• queue-limit: This setting defines how many packets are to be enqueued before dropping excess traffic (data
packets). A dropped packet wastes bandwidth but it also tells the sender to slow down (reduce its transmis-
sion rate) because the link is overloaded. The default queue size in Trinity is 16. By reducing the queue
limit, the Patton device throttles data more effectively, further improving voice quality.
• source traffic-class local-voice: Incoming and outgoing local RTP traffic is automatically tagged as local-
voice. This default traffic class can be used to prioritize local RTP traffic.
• source traffic-class voice: Incoming UDP traffic, that is not local with a length smaller than 200 Bytes and
with the first two payload bits equal to the RTP version 2, is tagged as voice. This default traffic class can be
used to prioritize incoming routed RTP traffic.
context ip ROUTER
interface LAN
use profile classifier in VOICE_CLASSIFIER
interface WAN
use profile classifier in VOICE_CLASSIFIER
use profile service-policy in WAN_SVC_POL
use profile service-policy out WAN_SVC_POL
The parameter pfname is the identifier by which the profile will be known. Entering this command puts you
into service-policy profile configuration mode where you can enter traffic-class-specific modes as shown in the
next section.
Use the no form of this command to delete a service-policy profile. You cannot delete a service-policy profile if
it is currently bound to an interface. When you modify a service-policy profile, the new settings immediately
become active.
Example: Create a service-policy profile
In the following example the service-policy profile named SP_WAN is created.
node>enable
node#configure
node(cfg)#profile service-policy SP_WAN
node(pf-svcpol)[SP_WAN]#
Rate limit
For QoS it is important to be at the bottleneck and control the queue of the bottleneck in order to control
which streams get which share and which packets needs to be dropped in the case of an overload of the link.
Therefore the rate-limit needs to be configured to a value slightly smaller than the actual available link.
Mode: Profile service-policy
Arbiter mode
The arbiter mode defines if the distribution of bandwidth to traffic-classes or hierarchical policies happens with
limiting to maximum values (shaper) or guaranteeing minimum values (wfq). For achieving a mixture of both
arbitration modes one needs to define a hierarchical service-policy profile and include that as source in another
service policy profile.
Mode: Profile service-policy
Source traffic-class
The main sources of packets for the arbiter are packets belonging to traffic-classes. The packets get the traffic-
class form the classifier. In the arbiter the share or bandwidth is assigned to traffic classes. Packets belonging to
a traffic-class not explicitly handled in the profile service-policy get only scheduled if there is enough left band-
width after handling all the other traffic-classes.
Mode: Profile service-policy
Note This command doesn't prioritize the traffic, use the priority command prior-
itization.
Queue length
The command queue-limit specifies the maximum number of packets queued for the class name. Excess pack-
ets are dropped. Used in “class” mode–queuing only happens at the leaf of the arbitration hierarchy tree. The
no form of this command reverts the queue-limit to the internal default value, which depends on your config-
uration.
Mode: Source traffic-class
Queue type
The type of queue defines the drop-behavior and/or has an influence to the fairness between streams of the
same traffic-class.
Note The TOS/precedence header fields use the same bits as the DSCP/ECN
fields. Thus you can either configure TOS and/or precedence values or
DSCP and/or ECN values. If you for example try to enter a DSCP value
after having configured a TOS value, the DSCP value is not accepted and
you will be presented with an error message.
Note The profile must be bound to an IP interface in order to get activated (see
section below).
Parameter Explanation
ifname Name of the IP interface to which a service-policy profile gets bound.
pfname The name of a service-policy profile that has already been created using the profile ser-
vice-policy command. This argument must be omitted in the no form.
in Specifies that the service-policy profile applies to packets received over this interface. This
currently is of limited use as packet tagging should always happen at an egress point of the
device to match the QoS-field semantics of the target network.
out Specifies that the service-policy profile applies to packets sent over this interface.
The no form of the use commandis used to unbind a service-policy profile from an IP interface. When using
this form, you don’t have to specify the profile name.
Mode: IP Interface
Parameter Explanation
ifname Name of the IP interface on which a service-policy profile gets unbound.
in Specifies that the service-policy profile applies to packets received over this interface.
out Specifies that the service-policy profile applies to packets sent over this interface.
Unbind the SP_WAN service-policy profile from outgoing traffic on interface WAN:
Troubleshooting
In the case of an Issue with the service-policy profile the first thing to check is if the profile could be applied to
the system successfully. Execute on a newly booted device:
• Show log boot
• Show log error
If there are errors logged for service-policy then you should open an incident at your Patton support represen-
tative with the log files and your startup-configuration. For the meantime a nearing approach can be tried:
• Make sure the underlying transport (in most cases Ethernet) is up and running.
• Make sure the underlying transport (in most cases Ethernet) is bound to the ip interface.
• Unbind the failing profile service-policy from the ip interface.
• Create a new and empty profile service-policy.
• Bind the new profile service-policy to the ip interface.
• Enter the new profile service-policy and execute one command at once until it is rejected with an error or
the final desired configuration is reached.
• When there is a command rejected due to failure, you may try to change parameters, use alternative com-
mands or omit the command for going forward.
Troubleshooting 481
Chapter 39 Quality of Service (QoS) Overview
Chapter contents
Introduction ........................................................................................................................................................483
Packet Classification ............................................................................................................................................483
Type-of-Service (TOS)/Class-of-Service (CoS) Mapping.....................................................................................484
482
Trinity Release 3.14.X Command Line Reference Guide 39 • Quality of Service (QoS) Overview
Introduction
This chapter provides an overview of the core principles of Patton’s Quality-of-Service architecture. This chap-
ter includes the following sections:
• “Packet Classification” on page 483
• “Type-of-Service (TOS)/Class-of-Service (CoS) Mapping” on page 484
QoS in networking refers to the capability of the network to provide a better service to selected network traffic.
In the context of VoIP, the primary issue is to control the coexistence of voice and data packets such that voice
packets are delayed as little as possible.
Currently, Patton devices do not provide a means of scheduling voice packets differently within Trinity. How-
ever, Trinity is able to convert external QoS-tags (IP TOS header or 802.1pq CoS header fields) between net-
works of different QoS realms. (Those tags may have a different meaning in different QoS realms.)
Packet Classification
Several Trinity services, such as access control lists and policy routing, need to distinguish between different
types of packets. We refer to those types as “traffic classes”. You can think of the traffic-class as if every packet in
the Trinity device has a tag attached to it on which the classification can be noted. Trinity’s classifier can be used
to apply such a traffic-class tag to some types of packets based on their protocol headers (e.g. source/destination
address and port, packet length, IP TOS field etc.). Thus conceptually, as depicted in figure 66, the classifier
groups packet flows from different originating hosts but of the same service (e.g. data, voice, etc.) into virtual
traffic class flows.
Figure 66. Conceptual view on the classifier; it groups packet flows of the same service
If not configured otherwise, the traffic-class tag is set to DEFAULT for all received packets. In contrast, locally-
generated voice and data packets are tagged with the traffic class LOCAL-VOICE and LOCAL-DEFAULT,
respectively.
Introduction 483
Trinity Release 3.14.X Command Line Reference Guide 39 • Quality of Service (QoS) Overview
1. The map command on a VLAN port can be used to map an 802.1pq class-of-service value (CoS field) to
an internal traffic class. This command is explained in more detail in Section “Configuring a VLAN” on
page 210 in Chapter 14, “Ethernet Port Configuration” on page 206.
2. The bind command on a VLAN port determines over which IP interface a packet reaches Trinity’s IP
router. The classifier that is attached to an IP interface can be used to map an IP type-of-service value
(TOS field) to an internal traffic class. Note that this traffic class overwrites the traffic-class set on the
VLAN port (if any). Consult Chapter 41, “Classifier Configuration” on page 496 for more information
about how to set up a classifier.
3. Several network services such as Access Control Lists (ACL) or policy routing may use the internal traffic-
class tag to treat packets of different services differently. The ACL, for example, may drop all packets
belonging to a certain traffic class; the route command on an IP interface can be used to select a different
routing table for other traffic classes. See Chapter 40, “Access Control List Configuration” on page 486 or
Chapter 23, “IP Routing” on page 325 to learn how to configure these services.
4. After the router has found the IP interface over which the packet has to be sent, the packet traverses multi-
ple services that may again inspect and manipulate the packet (see Chapter 21, “IP Context Overview” on
page 305 for an overview). The service-policy profile is one of those services. It can be used to map an
internal traffic-class back to an IP type-of-service value (TOS field) (see 40, “Service Policy Configuration”
on page 458 for more details).
5. Finally, if the packet leaves the device over a VLAN port, the map command may be used to convert the
internal traffic class to a 802.1pg class-of-service value (CoS field) (see Chapter 14, “Ethernet Port Config-
uration” on page 206).
Chapter contents
Introduction ........................................................................................................................................................487
About Access Control Lists (ACLs)......................................................................................................................487
What Access Lists Do ....................................................................................................................................487
Why You Should Configure Access Lists .......................................................................................................488
When to Configure Access Lists ....................................................................................................................488
Features of Access Control Lists ....................................................................................................................489
Access Control List Configuration Task List........................................................................................................489
Mapping Out the Goals of the Access Control List .......................................................................................489
Creating an Access Control List Profile and Enter Configuration Mode .......................................................490
Adding and Deleting a Filter Rule to the Current Access Control List Profile ...............................................490
Binding and Unbinding an Access Control List Profile to an IP Interface .....................................................491
Displaying an Access Control List Profile ......................................................................................................493
Examples .............................................................................................................................................................494
Denying a Specific Subnet ............................................................................................................................494
Denying Traffic Between Two Interfaces ......................................................................................................495
Permit Only Traffic Generated From LAN ...................................................................................................495
486
Trinity Release 3.14.X Command Line Reference Guide 40 • Access Control List Configuration
Introduction
This chapter provides an overview of IP Access Control Lists (ACLs) and describes the tasks involved in config-
uring them.
This chapter includes the following sections:
• About ACLs
• ACL configuration task list (see page 489)
• Examples (see page 494)
Introduction 487
Trinity Release 3.14.X Command Line Reference Guide 40 • Access Control List Configuration
Note Sophisticated users can sometimes successfully evade or fool basic access lists
because no authentication is required.
Host A
Node
Node
Host B
Human Research &
Resource Development
Network Network
Figure 68. Using traffic filters to prevent traffic from being routed to a network
You can also use access lists to decide which types of traffic are forwarded or blocked at the device interfaces.
For example, you can permit e-mail traffic to be forwarded but at the same time block all Telnet traffic.
On these routers, you should configure ACLs for each network protocol configured on the router interfaces. You
can configure ACLs so that inbound traffic or outbound traffic or both are filtered on an interface.
Note Two or more administrators should not simultaneously edit the configura-
tion file. This is especially the case with access lists. Doing this can have
unpredictable results.
Once in access control list configuration mode, each command creates a statement in the access control list.
When the access control list is applied, the action performed by each statement is one of the following:
• permit statement causes any packet matching the criteria to be accepted.
• deny statement causes any packet matching the criteria to be dropped.
Note A single ACL can have multiple rules, but editing those rules online can be
tedious. Therefore, we recommend editing complex ACLs offline within a
configuration file and downloading the configuration file later via TFTP to
your device.
The ACL profile will be known by name. Entering this command puts you into ACL configuration mode where
you can enter the individual statements that will make up the ACL rules.
Use the no form of this command to delete an ACL profile. You cannot delete an ACL profile if it is currently
bound to an interface.
Example: Create an ACL profile
In the following example, the ACL profile named WAN_RX is created and the shell of the ACL configuration
mode is activated.
device>enable
device#configure
device(cfg)#profile acl WAN_RX
device(pf-acl)[WAN_RX]#
Adding and Deleting a Filter Rule to the Current Access Control List Profile
The commands permit or deny are used to define an ACL rule. This procedure describes how to create an
ACL rule.
Mode: ACL configuration
Keyword Meaning
permit Forward any packet matching the match criteria.
deny Drop any packet matching the match criteria.
match See Chapter 42, “Packet Matching” on page 504.
If no match is specified, the rule will match all packets, so if you place the rule deny at the top of an access con-
trol list profile, no packets will pass regardless of the other rules you defined.
The no form of the permit or deny command is used to delete an ACL rule. This procedure describes how to
delete an ACL rule.
Mode: ACL Configuration
Mode: Interface
This procedure describes how to bind an ACL profile to all outgoing packets on an IP interface.
Mode: Interface
Keyword Meaning
if-name The name of the IP interface to which an ACL profile is bound.
name The name of an ACL profile that has already been created using the pro-
file acl command.
local (Optional) If specified, the binding only applies to packets destined to the
router itself.
dest-if-name (Optional) If specified, the binding only applies to packets destined to be
routed out of the IP interface by this name.
The no form of the use command is used to unbind an ACL profile from an IP interface. This procedure
describes how to unbind an ACL profile from an IP interface.
Mode: Interface
Keyword Meaning
if-name The name of the IP interface from which the ACL profile is unbound.
Keyword Meaning
in Unbind the profile from incoming packets.
out Unbind the profile from outgoing packets.
index The index of the access control list which is unbound.
Bind ACL profile WAN_RX from incoming packets on the interface WAN in the IP router context.
device(cfg)#context ip ROUTER
device(cfg-ip)[ROUTER]#interface WAN
device(cfg-if)[WAN]#no use profile acl in 1
Examples
172.16.1.0 172.16.2.0
secure Ian
Node
Node
172.16.1.1/24 172.16.2.1/24
Host
Server
172.16.2.13/24
Examples 494
Trinity Release 3.14.X Command Line Reference Guide 40 • Access Control List Configuration
Examples 495
Chapter 41 Classifier Configuration
Chapter contents
Introduction ........................................................................................................................................................497
About the Classifier .............................................................................................................................................497
What the Classifier Does ...............................................................................................................................497
How the Classifier Works .............................................................................................................................497
Classifier Configuration Task List .......................................................................................................................498
Mapping the Goals of the Classifier ..............................................................................................................498
Creating a Classifier Profile and Enter Configuration Mode .........................................................................498
Adding a Rule to the Current Classifier Profile .............................................................................................499
Binding and Unbinding a Classifier Profile To/From an IP Interface to Tag Incoming/Outgoing Packets ....499
Binding and Unbinding a Classifier Profile to Tag Locally-generated Packets ...............................................501
Displaying a Classifier Profile ........................................................................................................................502
496
Trinity Release 3.14.X Command Line Reference Guide 41 • Classifier Configuration
Introduction
This chapter provides an overview of Trinity’s packet classifier and describes the tasks involved in its configura-
tion.
Introduction 497
Trinity Release 3.14.X Command Line Reference Guide 41 • Classifier Configuration
which each packet traverses the classifier and other packet-processing services.
Figure 71. Locations in the routing path where packets may be classified
Note The access control list (ACL) may rely on traffic-class tags to accept or reject
packets. Thus editing a (bound) classifier profile is dangerous as you could
potentially lock yourself out forever. Therefore, we recommend editing com-
plex QoS scenarios offline within a configuration file and downloading the
configuration file later via TFTP to our Trinity device.
The parameter <profile-name> is the identifier by which the profile will be known. Submitting this command
enters into the classifier profile configuration mode, where you can enter the individual classifier rules to set the
traffic-class of packets based on filtering conditions.
Use the no form of this command to delete a classifier profile. You cannot delete a classifier profile if it is cur-
rently bound to an interface or to the local pseudo-interface. When you modify a classifier profile, the new set-
tings immediately become active.
Example: Create a classifier profile
In the following example, the classifier profile name WAN_RX is created.
device>enable
device#configure
device(cfg)#profile classifier WAN_RX
device (pf-cls)[WAN_RX]#
Example: Set the traffic class to MGMT for packets (UDP or TCP) sent to destination port 23 (Telnet) or 80
(HTTP).
device(cfg)#profile classifier WAN_RX
device(pf-cls)[WAN_RX]#match protocol udp dest-port 23,80 set traffic-class MGMT
device(pf-cls)[WAN_RX]#match protocol tcp dest-port 23,80 set traffic-class MGMT
Mode: IP interface
Parameter Explanation
ifname Name of the IP interface to which a classifier profile gets bound.
<profile-name> The name of a classifier profile that has already been created using the profile
classifier command. This argument must be omitted in the no form.
in Specifies that the classifier applies to packets received over this interface.
out Specifies that the classifier applies to packets sent over this interface.
The no form of the use command is used to unbind a classifier profile from an IP interface. When using this
form, instead of specifying the name of the profile to unbind, you have to give the numeric index of the respec-
tive use command as it can be found in the current running-config.
Mode: IP interface
Parameter Explanation
ifname Name of the IP interface to which a classifier profile gets bound.
index Numeric index of the bind command (type show running-config current-mode to
retrieve the index).
in Specifies that the classifier applies to packets received over this interface.
out Specifies that the classifier applies to packets sent over this interface.
Unbind the WAN_RX classifier profile from incoming traffic on interface WAN:
device(ip-if)[ROUTER.WAN]#no use profile classifier in 1
Parameter Explanation
<profile-name> The name of the classifier profile that has already been created using the profile
classifier command. This argument must be omitted in the no form.
out Specifies that the classifier applies to locally-generated packets.
The no form of the use command is used to unbind a classifier profile from the local pseudo-interface. When
using this form, instead of specifying the name of the profile to unbind, you have to give the numeric index of
the respective use command as it can be found in the current running-config.
Mode: Context IP
Parameter Explanation
index Numeric index of the bind command (type show running-config current-mode to
retrieve the index).
out Specifies that the classifier applies to packets sent over this interface.
Rules
-----
match protocol udp dest-port 23,80 set traffic-class MGMT
match protocol tcp dest-port 23,80 set traffic-class MGMT
References: 1
-------------
IP Interface(s) (inbound): WAN (ROUTER)
Chapter contents
Introduction ........................................................................................................................................................505
Criteria ................................................................................................................................................................505
Connection State ..........................................................................................................................................505
Traffic Class ..................................................................................................................................................505
Source MAC Address ....................................................................................................................................505
Ethernet Packet Type ....................................................................................................................................505
ToS ...............................................................................................................................................................505
Precedence ....................................................................................................................................................506
DSCP ...........................................................................................................................................................506
ECN .............................................................................................................................................................506
Length ..........................................................................................................................................................506
TTL ..............................................................................................................................................................506
Protocol ........................................................................................................................................................506
Source IP Address .........................................................................................................................................506
Destination IP Address .................................................................................................................................506
ICMP Type/Code .........................................................................................................................................506
Source Port ...................................................................................................................................................506
Destination Port ...........................................................................................................................................506
TCP Flags .....................................................................................................................................................506
TCP Option .................................................................................................................................................506
TCP MSS .....................................................................................................................................................506
Command Line Syntax........................................................................................................................................507
Examples .............................................................................................................................................................509
504
Trinity Release 3.14.X Command Line Reference Guide 42 • Packet Matching
Introduction
Several features perform operations on packets based upon certain criteria, such as, their headers. For example,
the Classifier feature assigns packets to different traffic classes, the Policy Routing feature routes packets accord-
ing to different tables and the ACL feature permits or denies packets, depending on the same criteria. All of
these features use the same command line syntax to specify which packets match. This chapter lists the criteria
that may be used to match packets and specifies the command line syntax.
Criteria
This section lists the criteria that may be used to match packets.
Connection State
This matches packets based on the connection state, which include the following:
• New—This matches the first packet the router has received for a given connection. For example, the first
packet in an FTP connection is a TCP SYN packet sent from the client to the server. This packet is new.
• Established—This matches replies to new packets, and all subsequent packets in the given connection. For
example, when an FTP server responds to a client with a TCP SYN/ACK packet, this packet is established.
• Related—This matches packets from a connection initiated by another established connection. For example,
the packets belonging to an FTP-data connection are related to the FTP-control connection.
• Invalid—This usually indicates a system error, such as being out of memory.
An ACL rule may be added to match packets in established and related connections in order to implement a
stateful firewall.
Traffic Class
This matches packets that have been assigned to a given traffic class by a Classifier rule.
Note This is only valid for packets received by the router and not for packets gen-
erated by the router itself.
ToS
This matches packets based on the ToS bits in the IPv4 ToS field.
Note This only applies to IPv4 packets and not IPv6 packets.
Introduction 505
Trinity Release 3.14.X Command Line Reference Guide 42 • Packet Matching
Precedence
This matches packets based on the precedence bits in the IPv4 ToS field.
Note This only applies to IPv4 packets and not IPv6 packets.
DSCP
This matches packets based on the DSCP bits int he IP DiffServ field.
ECN
This matches packets based on the ECN bits int he IP DiffServ field.
Length
This matches packets based on the IP payload length.
TTL
This matches packets based on the IPv4 Tim-To-Live or IPv6 Hop Count field.
Protocol
This matches packets based on the IP protocol, for example, ICMP, ICMPv6, TCP, or UDP.
Source IP Address
This matches packets based on the IP source address.
Destination IP Address
This matches packets based on the IP destination address.
ICMP Type/Code
This matches ICMP or ICMPv6 packets based on the ICMP type, and optionally the ICMP code.
Source Port
This matches TCP, UDP, and SCTP packets based on the source port.
Destination Port
This matches TCP, UDP, and SCTP packets based on the destination port.
TCP Flags
This matches TCP packets based on the TCP flags: SYN, ACK, FIN, RST, URG, and PSH.
TCP Option
This matches TCP packets based on whether or not a given TCP option is set.
TCP MSS
This matches TCP packets based on the maximum segment size (MSS).
Note This only applies to TCP SYN and SYN/ACK packets because the MSS is
only negotiated during the TCP handshake.
Criteria 506
Trinity Release 3.14.X Command Line Reference Guide 42 • Packet Matching
Note Multiple criteria may be specified in the same command, in which case, all of
the specified criteria must be met for a packet to be considered a match.
Examples
profile classifier CLASSIFIER_LAN
# Assign packets destined for an SSH, Telnet, or HTTP server to traffic class
# MGMT.
match protocol tcp dest-port 22,23,80 set traffic-class MGMT
# Assign packets destined for an FTP or TFTP server to traffic-class DATA.
match protocol tcp dest-port 20,21 set traffic-class DATA
match protocol udp dest-port 69 set traffic-class DATA
context ip
interface LAN
ipaddress 192.168.1.1/24
use profile classifier in 1 CLASSIFIER_LAN
# Route packets from 192.168.1.254 to the 172.16.2.0/24 subnet according to
# TABLE1.
route src-ip 192.168.1.254 dest-ip 172.16.2.0/24 dest-table TABLE1
# Route all other packets according to the DEFAULT routing table.
route dest-table DEFAULT
interface WAN
ipaddress 172.16.1.10/24
use profile acl in 1 ACL_WAN
route DEFAULT
route default gateway 172.16.1.1
route TABLE1
route default gateway 172.16.1.2
Examples 509
Chapter 43 SIP Profile Configuration
Chapter contents
Introduction ........................................................................................................................................................511
SIP Profile Configuration Task List.....................................................................................................................511
Entering the Configuration Mode for a SIP Profile .......................................................................................511
Mapping from a SIP Disconnect Cause ........................................................................................................511
Mapping to a SIP Cause ...............................................................................................................................512
Mapping from a SIP Redirection Reason ......................................................................................................512
Mapping to a SIP Redirection Code .............................................................................................................512
Autonomous Transitioning for SIP ...............................................................................................................512
510
Trinity Release 3.14.X Command Line Reference Guide 43 • SIP Profile Configuration
Introduction
The SIP profile specifies disconnect cause mappings from SIP codes to Q.931 causes, and vice versa. As for all
profiles, there is a default profile at system startup that can be modified. Only those causes that differ from the
default mapping have to be configured. If a new profile is created, all mappings are set to their default and are
only overwritten if configured. The default mapping in both directions is according to RFC3398 - ISUP to SIP
Mapping.
A SIP profile can either be attached to SIP interfaces or to identities. To see how to configure a SIP profile for
an interface, see chapter 55, “SIP Interface Configuration” on page 700. For information about SIP profile
configuration for identities, see chapter 51, “Location Service” on page 591.
Introduction 511
Trinity Release 3.14.X Command Line Reference Guide 43 • SIP Profile Configuration
Note This feature should not be enabled when the call is passing through NAT or
Firewall.
Chapter contents
Introduction ........................................................................................................................................................514
Intended Usage: X-Headers .................................................................................................................................514
Two Profiles per Message Flow............................................................................................................................514
Processing on the incoming Side .........................................................................................................................515
Processing on the outgoing Side ..........................................................................................................................515
Header Renaming................................................................................................................................................515
Practical examples of renaming .....................................................................................................................516
Commands..........................................................................................................................................................517
Excluded Headers................................................................................................................................................518
Caution for these headers ....................................................................................................................................519
513
Trinity Release 3.14.X Command Line Reference Guide 44 • SIP Tunneling Profile Configuration
Introduction
The profile sip-tunneling allows tunneling of SIP headers from SIP to SIP calls. Each profile defines a set of
SIP headers and a set of SIP messages where the tunneling should be active.
Introduction 514
Trinity Release 3.14.X Command Line Reference Guide 44 • SIP Tunneling Profile Configuration
When the contents of these involved profiles would be the same, they can be used for “both” directions and the
same profile can be bound on multiple SIP interfaces at the same time.
Header Renaming
It is possible to tunnel a SIP header and insert it on the peer side with a different name. The renaming can be
applied on the incoming SIP interface or on the outgoing SIP interface. It is even possible to rename it on both
sides.
Example
Figure 73 on page 516 illustrates how renaming works and where it can be applied.
The corresponding configuration snippet, only showing the commands relevant for the example:
profile sip-tunneling PBX-IN
header User-Agent rename-to BB-User-Agent
context switch CS
context switch CS
The same example again, but this time the renaming happens on the incoming side. It is important to note that
on the outgoing side there is still a profile needed to get the renamed header added to the outgoing SIP mes-
sages.
profile sip-tunneling PBX-IN
header User-Agent rename-to X-User-Agent
context switch CS
Commands
Mode: configure
Commands 517
Trinity Release 3.14.X Command Line Reference Guide 44 • SIP Tunneling Profile Configuration
Excluded Headers
The following headers cannot be tunneled and inserted on the outgoing side because it would destroy the call-
flow of the sip calls:
• Authorization
• Call-ID
• Contact
• Content-Description
• Content-Disposition
• Content-Encoding
• Content-ID
• Content-Language
• Content-Length
• Content-Transfer-Encoding
• Content-Type
• CSeq
• From
• Max-Forwards
• MIME-Version
• Proxy-Authenticate
• Proxy-Authorization
• RAck
• Record-Route
• Require
• Retry-After
• Route
• RSeq
• To
• Via
• WWW-Authenticate
• Unsupported
• User-Agent
Chapter contents
Introduction ........................................................................................................................................................522
VoIP Profile Configuration Task List ..................................................................................................................523
Creating a VoIP Profile .................................................................................................................................523
Configure Codecs .........................................................................................................................................524
Configuring the Transparent-clearmode codec ..............................................................................................526
Configuring the Cisco Versions of the G.726 Codecs ...................................................................................526
Configuring the AAL2-G.726-32k Codec .....................................................................................................527
SDP ptime Attribute .....................................................................................................................................527
Configuring DTMF Relay ............................................................................................................................527
Configuring RTP Payload Types ..................................................................................................................528
Configuring RTP Payload Type for Transparent ..........................................................................................529
Configuring RTP Payload Type for Transparent-cisco ..................................................................................529
Configuring RTP Payload Type for Transparent-clearmode .........................................................................529
Configuring RTP Payload Types for the g726-32k and g726-32k-cisco Coders ............................................529
Configuring RTP Payload Type for Cisco NSE ............................................................................................530
Configuring Cisco NSE for Fax ....................................................................................................................530
Configuring the Dejitter Buffer (advanced) ...................................................................................................530
Enabling/Disabling Filters (advanced) ...........................................................................................................532
Configuring Fax Transmission ......................................................................................................................533
T.38 CED Retransmission ............................................................................................................................536
T.38 No-Signal Retransmission ....................................................................................................................536
Fax Bypass Method .......................................................................................................................................536
Configuring Fax Failover ..............................................................................................................................537
Configuring Modem Transmission ...............................................................................................................537
Modem Bypass Method ................................................................................................................................538
Configuring Packet Side Modem/Fax Answer Tone Detection .....................................................................538
Disabling Fax/Modem Detection for Voice Calls ..........................................................................................538
Media Processing ..........................................................................................................................................539
Configuring IP-IP Codec Negotiation ..........................................................................................................539
Configuring the Preferred Codec for Responses ............................................................................................539
RTP Statistics ...............................................................................................................................................540
Examples .............................................................................................................................................................540
Home Office in an Enterprise Network ........................................................................................................540
Home Office with Fax ..................................................................................................................................542
Soft Phone Client Gateway ...........................................................................................................................544
521
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
Introduction
This chapter gives an overview of VoIP profiles, and describes how they are used and the tasks involved in VoIP
profile configuration.
A VoIP profile is a container for all datapath-related settings on VoIP connections. The profile settings apply to
all calls going through the interface. A VoIP profile can be assigned to VoIP gateways and VoIP interfaces in
context CS. If no profile is specified for a particular interface, a profile from the gateway the interface binds to
is used instead. figure 74 illustrates the relations between VoIP profiles, gateways and CS interfaces. The fol-
lowing components are configurable:
• Codecs and codec parameters (such as silence suppression, RTP payload type, and audio filters)
• DTMF relay
• Dejitter buffer
• Fax transmission
• Modem transmission
VoIP
Profile
A
VoIP
Profile
SIP GW B
Context IP ContextCS
router switch
Introduction 522
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
Note The VoIP profile named default always exists in the system. It is used by all
interface components if there is no other VoIP profile available. If VoIP
parameters are the same throughout all interfaces, you can simply change the
profile default instead of creating a new profile.
Procedure: Create a VoIP profile and enter the VoIP profile configuration mode
Mode: Configure
Configure Codecs
The VoIP profile contains a list of codecs the forms the set of allowed codecs that can be used to set up a VoIP
connection. The list is assembled in order of priority (i.e. the first entered codec is the most preferred one). For
each codec in the list, a set of parameters can be configured.
Signaling protocols have a codec negotiation mechanism, it is
not guaranteed that the first codec in the list is used to set up
the connection. Each codec in the list may be used. To make
IMPORTANT sure that only one codec is possible, configure this codec
alone. See how to display the currently configured codecs in a
VoIP profile on page 537.
Procedure: Add a codec to the list (this procedure is valid for all other codecs as well).
Note If you press the <tab> key after entering a few letters of a configuration com-
mand, the full command name will display or a listing of commands that
begin with those letters will display. Press the <enter> key to select the
desired command.
The next table indicates the method of configuring a Cisco-variant codec as the most preferred codec. This
example sets the ‘transparent-cisco’ as number 1, the most preferred.
Mode: VoIP name
It is recommended to specify a custom payload type for the newly introduced AAL2-G726-32k codec (current
value is 2).
Mode: profile voip
payload
encoder decoder
• flash-hook-relay dtmf: flash-hook signals are relayed with the same method as all other DTMF keys. This
is the default behavior
• rtp: flash-hook signals are sent as rfc2833 RTP events
• signaling: flash-hook signals are sent as standard SIP Info messages
• signaling broadsoft: flash-hook signals are sent as Broadsoft SIP Info messages
Restrictions:
Since inband-transmission and rfc2833 do not work concurrently, flash-hook-signaling method rtp is not sup-
ported when dtmf-relay is disabled or dtmf-relay method is inband. All other combinations work.
Configuring RTP Payload Types for the g726-32k and g726-32k-cisco Coders
The following command specifies the RTP payload types for the g726-32k and the g726-32k-cisco coders to
be used. It allows changing the payload types to a value in the range of 96 to 127 whereas the default value is 2
for both. Once a payload type has been changed, the ‘no’ form of the command must be used to go back to the
default value.
Voice Packets
Node
Node Network Node
Node
x x + dx
Buffe r
Voice
Decoder
x
The dejitter buffer delays incoming packets so it can present them to the decompression algorithm at fixed
intervals. It will also fix any out-of-order packets by looking at the sequence number in the RTP packets. Such
buffering has the effect of smoothing packet flow, and increasing the resiliency of the codec to packet loss,
delayed packets, and other transmission effects. The negative side of dejitter buffering is that it can add signifi-
cant delay. The dejitter buffer size is configurable and can be optimized for given network conditions.
The operating modes for the dejitter buffer are illustrated in figure 77:
• Adaptive—The adaptive buffer automatically adapts to variations in the network’s delay characteristics and
in general yields the best results for voice conversations.
In the adaptive dejitter buffer there are parameters that can be
configured (such as shrink-speed, grow-step, etc.) that should
not be changed unless it is necessary to do so. An incorrect
IMPORTANT configuration can lead to interoperability problems and loss of
service. Therefore, it is strongly recommended that only
experienced users change these parameters.
• Static—The static buffer is useful for voice conversations if you have specific information about your net-
work’s delay characteristics (such as jitter period, etc.), so it should only be used by experienced users.
• Static-data—The static-data mode if you want to create a profile for fax or modem transmission without
using the T.38 or fax bypass features described later in this chapter
AAAAAAAA AAAAA
max delay => max fill level max delay => buffersize
ISDN
Node
Node Node
Node PSTN Node
Node Node
Node
ISDN VoIP VoIP
FAX Bypass
generated tones transported
in RTP payload
Node
Node Node
Node
RTP Stream
Node
Node Node
Node
Fax transmission modes are organized the same way codecs are: there is an ordered list of fax transmission
modes; the most preferred fax transmission mode is the first one in the list.
Procedure: Configure fax bypass
Mode: Profile VoIP
2 device(pf-voip)device#fax dejitter-max- Sets the size of the dejitter buffer during fax trans-
(optional) delay buffer-size missions. The operating mode of the dejitter buffer
is automatically set to fax optimized static-data
mode.
Patton recommends that you keep the size for fax
transmissions higher than that used for voice,
since fax is less sensitive to delay than packet
loss.
The default value is 200ms which should be nom-
inal for almost any transmission network. In
exceptional cases it may be necessary to
increase this value (maximum 400ms).
part. It signals the remote device of the new media transmission. If the command option ‘default’ is selected,
the system behavior is the same as before.
For a fax transmission over a VoIP (SIP) network, the Cisco NSE standard uses events defined by RFC2833.
These events are used for the setup of the fax transmission starting between the calling- and called-peer. Upon
detecting a fax transmission, the called-peer issues NSE Event 192. NSE Event 192 indicates the data stream is
via a voice band, and it forces the calling-peer to do two things—deactivate voice activity detection and recon-
figure the de-jitter buffer for data reception. The option ‘nse’ enables this fax transmission standard.
Mode: profile voip
Note The first codec must always be T.38, while the second one must be a high-
rate codec such as G.711, which supports fax transmission.
from a voice call, media detection is enabled for the specified time period. If after that time no fax or modem is
detected, the detection feature will disable to prevent wrong detections that can disturb the call.
Mode: Profile VoIP
Media Processing
In some cases, it may be desired to detect fax or modem calls on the Smartnode. However, for SIP to SIP sce-
narios, this was not possible when the Smartnode was not actively transcoding. If both call-ends used the same
codec, the Smartnode would release the DSP resources to optimize performance but disabling the possibility to
detect fax or modem (media) during the call. A new command has been added to make this performance opti-
mization configurable, so that fax and modem can be detected even when not transcoding..
Disabled “codec negotiation” honors the codec lists from each call leg independently, formed out of the remote
and local capabilities. The DSP is inserted into the RTP path to make sure each side can use its codec. The
DSP is transcoding between the codecs of the two RTP streams. Enabled “codec negotiation” will keep the
DSP out of the picture for IP-IP calls and tries to negotiate a common codec for both call legs.
ton device can be forced to respond with the preferred codec only in the SDP answer. If the preferred codec is
contained in the suggested codecs of the incoming SDP offer, it is going to be the only codec that is supported
in the current call independently of its priority order in the suggested codecs list.
• Only a codec that has been configured can be selected as preferred codec for the response.
• A codec that has been selected as the preferred codec for the response cannot be removed in the configured
codecs list.
• The codec preference feature is taken into account only if the peer on the other side of the call control does
not support the IP-IP codec negotiation.
RTP Statistics
The following command allows getting call quality information for SIP - SIP calls where no DSP is involved.
The DSP is skipped if both SIP parties agree on the same coder.
If the RTP Statistics feature is enabled, the Patton device monitors the RTP/RTCP streams and provides statis-
tics like Packet Count, Byte Count, Packet Loss, Jitter and Round Trip Time to the SIP application. From that
information also the MOS values for the two media-streams are calculated.
For SIP calls where a DSP channel is involved, RTP Statistics are always available.
Mode: profile voip <name>
Examples
Different applications require different VoIP profiles. This section includes a variety of applications and show
how the VoIP profile for these applications would be configured.
Examples 540
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
PBX
ISDN Phone
IP
Node
Node Node
Node PSTN
Network
PC LAN
First, configure the required CS interfaces (see chapter 48, “CS Interface Configuration” on page 572) and call
routing (see chapter 52, “Call Router Configuration” on page 612).
Next, configure the voice over IP settings as needed based on the previous description. First we create the VoIP
profile with the needed configurations.
1 device>enable
2 device#configure
3 device(cfg)#profile voip Wire128kbit
4 device(pf-voip)[Wire128~]#no codec g711aLaw64k
5 device(pf-voip)[Wire128~]#no codec g711uLaw64k
6 device(pf-voip)[Wire128~]#codec g723-6k3 tx-length 30 rx-length 30 silence-sup-
pression
7 device(pf-voip)[Wire128~]#dejitter-max-delay 100
8 device(pf-voip)[Wire128~]]#show profile voip Wire128kbit
VoIP Profile: Wire128kbit
=========================
Used: by 0 module(s)
Codecs
------
Fax Transmission
Modem Transmission
Dejitter
--------
Mode: Adaptive
Max. Delay: 100ms
Max. Packet Loss: 4/1000
Shrink Speed: 1
Examples 541
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
Grow Step: 1
Grow Attenuation: 1
High Pass Filter: enabled
Post Filter: enabled
Fax
---
Modem
-----
DTMF
----
Relay: enabled
Mute Encoder: enabled
RTP
---
Description:
3. Create VoIP profile and give it a name. All settings have default values
4., 5. Remove the default codecs G.711alaw and G.711uLaw
6. Add codec g723-6k3 with silence-suppression enabled
7. Allow the dejitter buffer to compensate 100 milliseconds of network jitter.
8. Show the configured profile.
Examples 542
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
Used: by 0 module(s)
Codecs
------
G.729A: rxlen=20;txlen=20;ss
T.38 UDP
Fax Transmission
----------------
T.38 UDP
Modem Transmission
Dejitter
--------
Mode: Adaptive
Max. Delay: 100ms
Max. Packet Loss: 4/1000
Shrink Speed: 1
Grow Step: 1
Grow Attenuation: 1
High Pass Filter: enabled
Post Filter: enabled
Fax
---
Modem
-----
Examples 543
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
DTMF
----
Relay: enabled
Mute Encoder: enabled
RTP
---
Description:
3. Create VoIP profile and give it a name. All settings have default values
4., 5. Remove the default codecs G.711alaw and G.711uLaw
6. Add codec g729 with silence-suppression enabled
7. Allow the dejitter buffer to compensate 100 milliseconds of network jitter.
8. Enable fax relay over T.38 protocol
9. Limit the maximum bit rate the fax devices can communicate with each other to 9600 kbps
10. Show the configured profile.
Used: by 0 module(s)
Codecs
------
Fax Transmission
Modem Transmission
Dejitter
--------
Examples 544
Trinity Release 3.14.X Command Line Reference Guide 45 • VoIP Profile Configuration
Mode: Adaptive
Max. Delay: 60ms
Max. Packet Loss: 4/1000
Shrink Speed: 1
Grow Step: 1
Grow Attenuation: 1
High Pass Filter: enabled
Post Filter: enabled
Fax
---
Modem
-----
DTMF
----
Relay: disabled
Mute Encoder: disabled
RTP
---
Examples 545
Chapter 46 PSTN Profile Configuration
Chapter contents
Introduction ........................................................................................................................................................547
PSTN Profile Configuration Task List ................................................................................................................547
Creating a PSTN Profile ...............................................................................................................................547
Configuring the Echo Canceller ....................................................................................................................548
Configuring Output Gain .............................................................................................................................548
Configuring Input Gain ................................................................................................................................549
546
Trinity Release 3.14.X Command Line Reference Guide 46 • PSTN Profile Configuration
Introduction
This chapter gives an overview of PSTN profiles, and describes how they are used and the tasks involved in
PSTN profile configuration.
A PSTN profile is a container for all datapath-related settings on PSTN connections. It can be assigned to
PSTN interfaces in context CS. If no profile is specified in a particular interface, the profile default is used. The
settings apply to all calls crossing the interface. figure 81 illustrates the relationship between PSTN profiles and
CS interfaces. The following components are configurable:
• Echo canceller
• Output gain
• Input gain
Note The PSTN profile named default always exists in the system. It is used by all
interface components if there is no other PSTN profile available. If PSTN
parameters are the same throughout all interfaces, you can simply change the
profile default instead of creating a new profile.
Introduction 547
Trinity Release 3.14.X Command Line Reference Guide 46 • PSTN Profile Configuration
Procedure: Create a PSTN Profile and enter the PSTN profile configuration mode.
Mode: Configure
Node
Node
Echo Echo cancelle r
Figure 82. Echo Cancellation
voice volume: 10 d
Context CS
“SWITCH” PSTN
Profile
Outgoing voice is amplified by B
“output gain”
PSTN interface
voice volume: 10 dB
Context CS
“SWITCH” PSTN
Profile
Ingoing voice is amplified by B
“input gain”
PSTN interface
Chapter contents
Introduction ........................................................................................................................................................551
CS Context Configuration Task List ...................................................................................................................552
Planning the CS Configuration ...........................................................................................................................552
Configuring General CS Settings.........................................................................................................................554
Configuring the clock source ...................................................................................................................554
Debugging the clock source .....................................................................................................................555
Selecting PCM law compression ..............................................................................................................556
Configuring Call Routing....................................................................................................................................556
Creating and Configuring CS Interfaces ..............................................................................................................557
Specify Call Routing .....................................................................................................................................557
Configuring Dial Tones ......................................................................................................................................557
Configuring Voice Over IP Parameters................................................................................................................557
Configuring ISDN Ports .....................................................................................................................................558
Configuring FXS Ports ........................................................................................................................................558
Configuring FXO Ports .......................................................................................................................................558
Configuring a SIP VoIP Connection ...................................................................................................................558
Activating CS Context Configuration..................................................................................................................559
Planning the CS Context ..............................................................................................................................562
Configuring General CS Settings ..................................................................................................................563
Configuring Call Routing .............................................................................................................................563
Configuring VoIP Settings ............................................................................................................................565
Configuring BRI Ports ..................................................................................................................................565
Configuring an SIP VoIP Connection ..........................................................................................................566
Activating the CS Context Configuration .....................................................................................................566
Showing the Running Configuration ............................................................................................................567
550
Trinity Release 3.14.X Command Line Reference Guide 47 • CS Context Overview
Introduction
This chapter gives an overview of the circuit-switching (CS) context and associated components and describes
the tasks involved in its configuration. It describes the steps needed to configure voice connectivity and refers to
other chapters where a configuration topic is explained in more detail. Before reviewing the content in this
chapter, read the configuration concepts as described in Chapter 2, “Configuration Concepts” on page 59.
The CS context is a high level conceptual entity that is responsible for all aspects of circuit signaling, switching,
and emulation. Besides the context switch itself, the CS entity consists of the following (indicated by the
shaded area enclosed by a dashed line in figure 85):
• The CS interfaces
• ISDN
• Tone-set profiles
• Context SIP gateways
• VoIP profiles
The CS Context is enabled by default.
use commands
Gateway
bind commands
bind command
SIP GW
VoIP VoIP
Profile use Profile
NAPT commands use
commands
Profile Tone-
QoS Tone-
set Context set
Context use command Profile Profile Profile
CS
switch
use command Tone- Tone-
Interfaces set
set
Profile Profile
bind command
bind command bind command bind command
Circuit
Ports
Ethernet
ISDN
Introduction 551
Trinity Release 3.14.X Command Line Reference Guide 47 • CS Context Overview
The CS context and its associated components route and establish voice calls. For example, the signaling for
dial-up circuits is routed and the corresponding voice call circuits are switched between PSTN interfaces and
via VoIP interfaces to the Context SIP gateways and the IP context (see section “Configuring Call Routing” on
page 556 for more details).
Figure 86 Shows a typical application with a remote office in an enterprise network. This example focuses on the
Patton device in the remote office. There is an ISDN phone, a personal computer, a connection to the public
ISDN network, and a connection to the IP backbone. The VoIP protocol used is SIP with a codec G.711. A call
can be routed to the IP backbone and the public ISDN network depending on its prefix and number length.
pri
pri
PBX
An application like that shown in figure 86 would require the following CS configuration:
• Since the remote office is connected to the public switched telephone network, the clock-source comes from
the corresponding ISDN port. (Described in section “Configuring General CS Settings” on page 554).
Note Be careful when choosing where you get your clock source, if the clock used
for packaging the ISDN voice frames is not synchronized with the remote
ISDN clock, bit errors may result (such synchronization problems would
probably cause a fax transmission to fail).
• Two PRI ports will be needed, the first port for the ISDN PRI PBX and the second for the public ISDN
network (see section “Configuring ISDN Ports” on page 558).
• Two ISDN interfaces will be needed, each bound to a BRI port (see section “Configuring Call Routing” on
page 556)
• The call router routing tables, and the SIP and ISDN interfaces will have to be configure to support call
routing (see section “Configuring Call Routing” on page 556).
Calls are routed from an ISDN PBX with a number in the range of 1xx–5xx to the main office with a fall-
back to the PSTN. All other calls are routed from the ISDN PBX to the PSTN and from the PSTN or main
office to the ISDN phone behind the PBX.
• The Context SIP gateway must be configured to use the G.711 codec (see section, “Configuring Voice Over
IP Parameters” on page 557 )
• Two Ethernet ports and their corresponding IP interfaces will be needed.
You must not start to configure the CS context and its components until you have finished planning your voice
environment. The following chapters explain how to convert the planned voice environment into the Trinity
CS configuration. The IP configuration is not a topic in this example. For more information on IP configura-
tion refer to Chapter 21, “IP Context Overview” on page 305.
Mode: System
device#show clock-source
internal
Default: alaw
Figure 87. Direct call routing from one Patton device to another
Figure 87 shows a call set up from the A-party on the left to the B-party on the right. The call is routed from
the phone on the left-hand side over the ISDN interface directly to an SIP interface. Once it has passed the IP
context and the IP network, the other device—from the SIP interface to the ISDN interface and then over the
BRI port to the B-party phone—routes the call.
Note Because call routing occurs only in the CS context, in future figures the con-
text IP is omitted. For configuring call routing you have to create the CS
interfaces and the call router tables as described in the chapters below. For
simple call routing directly from one interface to another you can even omit
router tables.
• Codecs
• Fax transmission
• Filters
• DTMF relay
• Echo canceller
• Silence compression
• Voice volume
• Dejitter buffer
Refer to Chapter 45, “VoIP Profile Configuration” on page 521 to configure general VoIP parameters. Some
settings can adversely affect the voice quality perceived by the user and the bandwidth requirements of VoIP
connections, so be sure you understand the meaning of the commands before changing any settings. Most of
the default values of these parameters are adequate, so you generally do not need to perform these configura-
tion tasks.
If no VoIP profile is specified for use on an interface, a default VoIP profile is used. In most cases, the default
profile can be used so you just need to change the default VoIP profile.
You have several options on how to build a destination URI (To-URI) of an outgoing SIP call. You can use the
called party number in conjunction with the specified domain name or you can set a specific URI by the call
router, based on other call properties. For examples and information on how to configure the Context SIP gate-
way, refer to Chapter 62, “Context SIP Gateway Overview” on page 807. For more on SIP interface configura-
tion, refer to Chapter 55, “SIP Interface Configuration” on page 700.
Note The difference between VoIP and PSTN interfaces is that VoIP interfaces are
bound to a Context SIP gateway while PSTN ports are bound to a CS inter-
face. After binding, the BRI, E1, or T2 ports must be enabled to become
active.
To bind an ISDN port to an ISDN interface, refer to Chapter 65, “ISDN Interface Configuration” on
page 837. To bind an FXS port to an FXS interface, refer to chapter 70, “FXS Port Configuration” on page
921. To bind an FXO port to an FXO interface, refer to chapter 71, “FXO Port Configuration” on page 942.
Likewise, the Context SIP gateway must be enabled. Additionally, the Context SIP gateway must be bound to
a specific IP interface. For more information, refer to Chapter 62, “Context SIP Gateway Overview” on
page 807.
In order to become active, the CS context must be enabled. When recovering from the shutdown status, the CS
context and call router configuration is checked and possible errors are indicated. The call router debug moni-
tor can be enabled to show the loading of the CS context and call router configuration. Trinity offers a number
of possibilities to monitor and debug the CS context and call router configurations. For example, the call router
debug monitor enables you to follow the sequence of tables and functions examined by the call router for each
call setup. Refer to Chapter 73, “Debug and Monitoring” on page 961 for an introduction to the configuration
debugging possibilities in Trinity.
Note You can modify the configuration at runtime; changes will be active after 3
seconds. It is not necessary to shut down the CS context before making con-
figuration changes, a newly created or changed configuration is automati-
cally loaded as long as the context CS is not shut down. All active calls are
not affected by this reload.
There are several possibilities to show the actual CS context configuration. For more information on the show
command, refer to the respective configuration Chapters or to the Chapter 48, “CS Interface Configuration”
on page 572” and Chapter 52, “Call Router Configuration” on page 612.
Procedure: Show the CS context configuration, enable the call router debug monitor and activate them in the
CS context
Mode: Context CS
Table switch/TAB-DEST-A:
Key Value Function Dest-Type Dest-Name
called-e164 -
-------------------------------------------------------------------------------
0 - MAP-CAC-ORANGE dest-interface IF-LOCAL-BA
00 - MAP-CLI-MELON dest-interface IF-NODE-C
07[4-6] - MAP-CAC-APPLE dest-interface IF-LOCAL-BA
0336652... - - dest-interface IF-NODE-B
default - - dest-interface IF-LOCAL-BA
Table switch/CAC-APPLE:
Key Value Function Dest-Type Dest-Name
called-e164 called-e164
-------------------------------------------------------------------------------
(.%) 1055\1 - - -
...
device(cfg)#debug cr
device(cfg)#context cs
device(ctx-cs)[SWITCH]#no shutdown
In addition, we create the two SIP interfaces and configure call routing, as well as the IP address of the remote
SIP terminal, which is the IP address of the device in office A or office B, respectively.
device(ctx-cs)[switch]#interface sip IF-COMPOFF-A
device(if-sip)[IF-COMP~]#route call dest-table TAB-CALLED-NUMBER
device(if-sip)[IF-COMP~]#remoteip 146.86.130.11
device(if-sip)[IF-COMP~]#bind context sip-gateway SIP_GATEWAY
device(if-sip)[IF-COMP~]#exit
Finally, we configure the call router. Here we create a routing table that examines the called party number of a
call and routes numbers starting with a 1 and containing at least 3 digits to the hunt group that tries to reach
company office A over VoIP and falls back to the PSTN. We route numbers starting with 2 and containing at
least 3 digits to the hunt group that tries to reach company office B over VoIP and falls back to the PSTN. Calls
with a prefix of 5 and at least 3 digits are routed to the hunt group that selects a free BRI to the PBX and all
other calls are routed to the hunt group that selects a free BRI to the PSTN:
device(ctx-cs)[switch]#routing-table called-e164 TAB-CALLED-NUMBER
device(rt-tab)[TAB-CAL~]#route 1.. dest-service HUNT-COMPOFF-A
device(rt-tab)[TAB-CAL~]#route 2.. dest-service HUNT-COMPOFF-B
device(rt-tab)[TAB-CAL~]#route 5.. dest-service HUNT-PBX
device(rt-tab)[TAB-CAL~]#route default dest-service HUNT-PUBLIC-PSTN
device(rt-tab)[TAB-CAL~]#show call-router config
Table switch/TAB-CALLED-NUMBER:
Key Value Function Dest-Type Dest-Name
called-e164 -
-------------------------------------------------------------------------------
1.. - - dest-service HUNT-COMPOFF-A
2.. - - dest-service HUNT-COMPOFF-B
5.. - - dest-service HUNT-PBX
default - - dest-service HUNT-PUBLIC-PSTN
device(rt-tab)[TAB-CAL~]#exit
device(ctx-cs)[switch]#
The hunt group HUNT-COMPOFF-A tries to reach the company office A routing the call directly to the SIP
interface IF-COMPOFF-A. When this call fails (e.g. because the data network is broken), we route the call to
the PSTN hunt group. Likewise, hunt group HUNT-COMPOFF-B works, but tries to route the call to the
SIP interface IF-COMPOFF-B first.
device(ctx-cs)[switch]#service hunt-group HUNT-COMPOFF-A
device(rt-tab)[HUNT-CO~]#no cyclic
device(rt-tab)[HUNT-CO~]#timeout 5
device(rt-tab)[HUNT-CO~]#route call 1 dest-interface IF-COMPOFF-A
device(rt-tab)[HUNT-CO~]#route call 2 dest-service HUNT-PUBLIC-PSTN
device(rt-tab)[HUNT-CO~]#exit
device(ctx-cs)[switch]#service hunt-group HUNT-COMPOFF-B
device(rt-tab)[HUNT-CO~]#no cyclic
device(rt-tab)[HUNT-CO~]#timeout 5
device(rt-tab)[HUNT-CO~]#route call 1 dest-interface IF-COMPOFF-B
device(rt-tab)[HUNT-CO~]#route call 2 dest-service HUNT-PUBLIC-PSTN
device(rt-tab)[HUNT-CO~]#exit
device(ctx-cs)[switch]#
The hunt group HUNT-PBX routes the call either to the interface IF-PBX1 or IF-PBX2, depending on which
interface there is a free B channel. Likewise the hunt group HUNT-PUBLIC-PSTN works on the PSTN inter-
faces.
device(ctx-cs)[switch]#service hunt-group HUNT-PBX
device(rt-tab)[HUNT-PB~]#cyclic
device(rt-tab)[HUNT-PB~]#route call 1 dest-interface IF-PBX1
device(rt-tab)[HUNT-PB~]#route call 2 dest-interface IF-PBX2
device(rt-tab)[HUNT-PB~]#exit
device(ctx-cs)[switch]#service hunt-group HUNT-PUBLIC-PSTN
device(rt-tab)[HUNT-PU~]#cyclic
device(rt-tab)[HUNT-PU~]#route call 1 dest-interface IF-PUBLIC-PSTN1
device(rt-tab)[HUNT-PU~]#route call 2 dest-interface IF-PUBLIC-PSTN2
device(rt-tab)[HUNT-PU~]#exit
device(ctx-cs)[switch]#exit
device(cfg)#
device(q931)[2/3]#uni-side user
device(q931)[2/3]#bind interface IF-PBX1
device(q931)[2/3]#exit
device(q921)[2/3]#exit
device(prt-bri)[2/3]#no shutdown
Table switch/IF-PBX2-precall-service:
Key Value Function Dest-Type Dest-Name
- -
-------------------------------------------------------------------------------
- - - dest-table TAB-CALLED-NUMBER
Table switch/IF-PUBLIC-PSTN1-precall-service:
Key Value Function Dest-Type Dest-Name
- -
-------------------------------------------------------------------------------
- - - dest-table TAB-CALLED-NUMBER
Table switch/IF-PUBLIC-PSTN2-precall-service:
Key Value Function Dest-Type Dest-Name
- -
-------------------------------------------------------------------------------
- - - dest-table TAB-CALLED-NUMBER
Table switch/IF-COMPOFF-A-precall-service:
Key Value Function Dest-Type Dest-Name
- -
-------------------------------------------------------------------------------
- - - dest-table TAB-CALLED-NUMBER
Table switch/IF-COMPOFF-B-precall-service:
Key Value Function Dest-Type Dest-Name
- -
-------------------------------------------------------------------------------
- - - dest-table TAB-CALLED-NUMBER
Table switch/TAB-CALLED-NUMBER:
Key Value Function Dest-Type Dest-Name
called-e164 -
-------------------------------------------------------------------------------
1.. - - dest-service HUNT-COMPOFF-A
2.. - - dest-service HUNT-COMPOFF-B
5.. - - dest-service HUNT-PBX
default - - dest-service HUNT-PUBLIC-PSTN
device(cfg)#
device(gw-sip)[gw_name]#exit
device(cfg)#debug cr full-detail
device(cfg)#context cs
device(ctx-cs)[switch]#no shutdown
02:30:26 CR > Updating tables in 3 seconds...
02:30:28 CR > [switch] Reloading tables now
02:30:28 CR > [switch] Flushing all tables
02:30:28 CR > [switch] Loading table 'IF-PBX1-precall-service'
02:30:28 CR > [switch] Loading table 'IF-PBX2-precall-service'
02:30:28 CR > [switch] Loading table 'IF-PUBLIC-PSTN1-precall-service'
02:30:28 CR > [switch] Loading table 'IF-PUBLIC-PSTN2-precall-service'
02:30:28 CR > [switch] Loading table 'IF-COMPOFF-A-precall-service'
02:30:28 CR > [switch] Loading table 'IF-COMPOFF-B-precall-service'
02:30:28 CR > [switch] Loading table 'TAB-CALLED-NUMBER'
device(ctx-cs)[switch]#
system
clock-source 2 3
context ip router
interface eth0
ipaddress 147.86.130.1 255.255.225.0
mtu 1500
interface eth1
ipaddress 10.0.0.1 255.255.225.0
mtu 1500
context cs switch
context cs switch
no shutdown
port ethernet 0 0
medium 10 half
encapsulation ip
bind interface eth0 router
no shutdown
port ethernet 0 1
medium 10 half
encapsulation ip
bind interface eth1 router
shutdown
port bri 2 0
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
q931
protocol dss1
uni-side net
bind interface IF-PBX1
port bri 2 0
no shutdown
port bri 2 1
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
q931
protocol dss1
uni-side net
bind interface IF-PBX2
port bri 2 1
no shutdown
port bri 2 2
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
q931
protocol dss1
uni-side user
bind interface IF-PUBLIC-PSTN1
port bri 2 2
no shutdown
port bri 2 3
clock auto
encapsulation q921
q921
protocol pp
uni-side auto
q931
protocol dss1
uni-side user
bind interface IF-PUBLIC-PSTN2
port bri 2 3
no shutdown
Chapter contents
Introduction ........................................................................................................................................................573
CS Interface Configuration Task List ..................................................................................................................573
Creating and Configuring CS Interfaces ..............................................................................................................574
Configuring Call Routing....................................................................................................................................575
Configuring the Interface Mapping Tables ..........................................................................................................576
Configuring the Precall Service Tables.................................................................................................................579
572
Trinity Release 3.14.X Command Line Reference Guide 48 • CS Interface Configuration
Introduction
This chapter provides an overview of interfaces in the CS context and describes the tasks involved in their con-
figuration. Within the CS context, an interface is a logical entity providing call signaling for incoming and out-
going calls to and from telephony ports and voice over IP gateways. It represents logical connections to other
equipment or networks. CS interfaces are used as source and destination in the call router and are bound to
physical ports or logical gateways.
Interface names can be any arbitrary string with a maximum of 25 characters. For ease of identification, the
interface type can be a part of the name. Figure 90 illustrates the function of the CS interfaces. The types of CS
interfaces:
• PSTN interfaces telephony. Binding is done from a port to an interface.
• VoIP interface provide voice over IP settings in addition to the general CS interface parameters. These inter-
faces must be explicitly bound to an existing VoIP gateway.
Interfaces can use mapping tables and precall service tables to manipulate call properties before the call is being
offered to the call router.
Introduction 573
Trinity Release 3.14.X Command Line Reference Guide 48 • CS Interface Configuration
Binding: (none)
Protocol: (unknown)
DTMF Dialing: disabled
Tone-Set Profile: (none)
PSTN Profile: default
Routing Destination: router (IF-PBX1-precall-service)
Active Endpoints: 0
Suspended endpoints: 0
node(if-pstn)[IF-PBX1]#exit
node(ctx-cs)[switch]#show call-control provider
Call Control: switch
====================
Providers
---------
local
router
sn43
IF-PBX1
IF-PBX2
IF-PUBLIC-PSTN1
IF-PUBLIC-PSTN2
IF-COMPOFF-A
HUNT-COMPOFF-A
HUNT-PBX
HUNT-PUBLIC-PSTN
node(ctx-cs)[switch]#no interface isdn IF-PBX1
node(ctx-cs)[switch]#
Mode: Context CS
You can chose different mapping tables for filtering parameters in each direction, input and output. While an
input mapping table is applied to all properties that are received by the port or gateway that is bound to the
interface before sending them to the peer interface in the CS context, an output mapping table is applied to all
properties before sending them to the bound port or gateway.
Refer to the Chapter 52, “Call Router Configuration” on page 612 for more information about how to create
and configure mapping tables.
Procedure: To use mapping tables to filter properties on an CS interface
Mode: Context CS
Figure 91 shows two incoming calls arriving to the ISDN interface IF-PHONES. The calling and called party
numbers are private numbers containing only two digits. Before accessing the call router, those numbers can be
transformed into the global numbering plan. This is why the interface was configured to use mapping table
PRIV-TO-GLOB on all incoming call properties.
Incoming call #1 originally has a calling party number of 20 and a called party number of 21. Before offering
this call to the call router, mapping table PRIV-TO-GLOB is applied to the called party number and the call-
ing party number. The mapping table adds a prefix of 00419988825 to the called and calling party number.
Incoming call #2 originally has a calling party number of 20 but already a called party number of the global
numbering plan. Again, the mapping table is applied to both number, but only the calling party number of 20
is translated into 0041998882520. The called party number does not match an entry in the mapping table, so
it is not changed.
Incoming Cal l
Incoming Cal l
Callin g
E.164 20 Callin g
E.164 0041998882520
Calle d
E.164 21 Calle d
E.164 0041998882521
Routing -Table: TAB-CALLED-NUMBER
Outgoing Cal l Outgoing Cal l
Callin g Callin g
E.164 20 E.164 0041998882520
Calle d Calle d
E.164 21 E.164 0041998882521
Let’s assume we manipulate an incoming ISDN call using the PRIV-TO-GLOB mapping table as in the previ-
ous example. Figure 92 shows this situation again. Let’s further assume the call router routes back the call to the
interface IF-PHONES. In that case, the output mapping table used on this interface is applied to all call
parameters. The calling and called party number is transformed form the global to the private numbering plan
before the call is offered to the remote ISDN terminal.
Note For interface mapping you can use only mapping tables that examine general
call parameters. For example, you cannot use a called-e164 to called-e164
mapping table, use a e164 to e164 mapping table instead.
• interrogate-cw: Detects whether or not the call-waiting supplementary service is active on the interface that
uses the precall service table.
Procedure: To create a precall service table
Mode: Context CS
Command Purpose
node(if-fxs)[ctx-name.if-name]# [no] use map- Uses the precall service table table-name on the
ping-table precall-service table-name FXS interface if-name. That is, if the phone con-
nected to the bound port dials a special number
as configured in the used precall service table,
the corresponding service is activated, deacti-
vated, or interrogated.
Note Currently you can only use precall service tables on FXS interfaces
Chapter contents
Introduction ........................................................................................................................................................582
Tone-set Profiles..................................................................................................................................................582
Tone Configuration Task List .............................................................................................................................583
Configuring Call-Progress-Tone Profiles .......................................................................................................583
Configure Tone-Set Profiles ..........................................................................................................................584
Enable Tone-Set Profile ................................................................................................................................585
Show Call-Progress-Tone and Tone-Set Profiles ...........................................................................................586
581
Trinity Release 3.14.X Command Line Reference Guide 49 • Tone Configuration
Introduction
This chapter gives an overview of call-progress-tone profiles and tone-set profiles, and describes the tasks
involved in their configuration.
In-band tones keep the user informed about the state of his call or additional services such as call-waiting, hold
etc. Other tones can be assigned to any event that occurs during a call, a call waiting tone, for example. The in-
band tones are referred to as call-progress-tones.
Tone-set Profiles
In traditional PSTN networks the in-band tones (dial tone, alerting tone, busy tone etc.) are generated by the
network, i.e. the Central Office switch or a similar device, and are relayed transparently by the Patton device. In
voice over IP networks however this model of a network side providing services including in-band tones is not
given in all situations. For example, two Patton devices may be connected directly to each other over the access
network without the intervention of a traditional Central Office switch. This imposes the need to generate the
local in-band tones directly on the gateways since none of the attached ISDN devices (PBXs, phones) will do so
itself (ISDN USR side). The in-band tones that can be generated by the Patton device are the following:
• Busy tone—Tone you hear when you try to reach a remote extension but it is busy.
• Confirmation tone—Tone you hear when you enable a supplementary service and the system has accepted
and activated it (for future use).
• Congestion tone—Tone you hear when you try to reach a remote extension but the network is busy or out
of order (for future use).
• Dial tone—Tone you hear when you lift the handset and the network is ready to accept the dialed digits of
the called party number.
• Hold tone—Tone you hear when you are in an active connection and the remote extension sets you ‘On
Hold’ to reach a third party extension.
• Release tone—Tone you hear when you are in an active connection and the remote extension terminates the
call.
• Ringback tone—Tone you hear when the called party number is complete and the remote extension is ring-
ing.
• Special dial tone—Tone you hear when you lift the handset and the network is ready to accept the dialed
digits of the called party number, but on your system is still an activated supplementary service (for future
use).
• Special Information tone—Tone you hear when you try to reach a nonexistent remote extension (for future
use).
• Waiting tone—Tone you hear when you already have an active connection and a second new extension tries
to reach you.
All call-progress-tones are collected in a tone-set profile. A tone-set profile collects typically all required tones
for one country. The tone-set profile is assigned to the PSTN interface (ISDN, FXS, FXO) or if it is required to
have different tones for individual PSTN interfaces it’s possible to assign for each PSTN interface its own tone-
set profile. If no tone-set is assigned to a PSTN interface, the default tone-set is taken. Figure 93 on page 583
illustrates the relation ship between call-progress-tone profiles, tone-set profiles and PSTN interfaces.
Introduction 582
Trinity Release 3.14.X Command Line Reference Guide 49 • Tone Configuration
call-progress-tone profiles
Call Setup A
Dial-A Ring-A Busy-A
tone-set
Profile Tone Play-Out Ring -A
A ISDN
ISDN Interface 10
ISDN Interface 11
call-progress-tone profiles
ISDN tone-set
Profile
Tone Play-Out Ring -B B
Note There is a default tone-set named default, which maps the three Swiss stan-
dard in-band tones. Create a tone-set profile only if this default profile corre-
sponds not with your country.
Tones and pauses can be arbitrarily sequenced up to a number of 10 elements per call-progress-tone. The
default call-progress-tone is an empty tone. The total number of different play elements across all configured
call-progress-tones must not exceed 15 (an error is thrown if it does). If the call-progress-tone consists of only
one element, this element has infinite duration. The duration parameter is ignored in this case.
belgianSpec:
Play 330ms (950Hz at -4dB)
Play 330ms (1400Hz at -4dB)
Play 330ms (1800Hz at -4dB)
Pause 100ms
Used: by 0 module(s)
DTMF Duration: 80ms
DTMF Interspace: 80ms
Tones
-----
dial-tone: belgianSpec
ringback-tone: defaultAlertingtone
hold-tone: defaultHoldtone
waiting-tone: defaultWaitingtone
confirmation-tone: defaultConftone
busy-tone: defaultBusytone
congestion-tone: defaultCongestiontone
release-tone: defaultReleasetone
special-information-tone: defaultSItone
special-dial-tone: defaultSDtone
Example: The following example shows how to configure a tone-set profile for UK and apply it to the isdn
interface bri0.
Create the call-progress-tone profiles:
node(cfg)#profile call-progress-tone dial-UK
node(pf-callp)[dial-UK]#play 5000 350 0 440 0
node(cfg)#profile tone-set UK
node(pf-tones)[UK]#map call_progress_tone dialtone dial-UK
node(pf-tones)[UK]#map call_progress_tone alertingtone alerting-UK
node(pf-tones)[UK]#map call_progress_tone busytone busy-UK
node(pf-tones)[UK]#exit
node(cfg)#context cs
node(ctx-cs)[switch]#interface isdn bri0
node(if-isdn)[bri0]#use profile tone-set UK
Chapter contents
Introduction ........................................................................................................................................................589
Authentication Service Configuration Task List ..................................................................................................589
Creating an Authentication Service ...............................................................................................................589
Configuring a Realm .....................................................................................................................................590
Configuring the Authentication Protocol ......................................................................................................590
Creating Credentials .....................................................................................................................................590
Configuration Examples ......................................................................................................................................590
588
Trinity Release 3.14.X Command Line Reference Guide 50 • Authentication Service
Introduction
This chapter describes how to configure authentication services in Trinity. The Authentication Service is a data
base that manages Authentication Credentials of one or more Realm. A Realm is an Authentication Zone or
Authentication Domain that defines the authentication responsibility in a network. Each Authentication Creden-
tial created in an Authentication Service belongs to the defined Realm and exists on a User Name and an
optional Password. It is also possible to create an Authentication Service without specifying a Realm, which
represents the default realm. Whenever authentication is required and the provided Realm doesn't exist in an
Authentication Service, this default realm will be considered to find the right Authentication Credentials.
Introduction 589
Trinity Release 3.14.X Command Line Reference Guide 50 • Authentication Service
Configuring a Realm
The following commands add a new Realm to the authentication service. If more than one Realm has to be
entered, the order of the list can be modified by using the index and/or before and after keywords. The no form
of the command removes an existing Realm from the list.
Mode: Authentication Service
Creating Credentials
The following command creates Authentication Credentials identified by the entered username. The no form
of the command removes an existing Credential. It is possible to enter this command without a password.
Mode: Authentication Service
Configuration Examples
authentication-service AUTH_SRV
realm 1 voip-public
realm 2 voip-intranet
realm 3 ms-exchange
username 433 password fK+bfnzL45Goh/VdjrWxAA== encrypted
username john.doe password D60t7CBZ58k7JK2jxdlw4w== encrypted
Chapter contents
Introduction ........................................................................................................................................................592
Location Service Configuration Task List ............................................................................................................592
Creating a Location Service ...........................................................................................................................592
Adding a Domain .........................................................................................................................................592
Configuring Default Responsibility ...............................................................................................................593
Creating an Identity ......................................................................................................................................593
Authentication outbound face .................................................................................................................595
Authentication inbound face ...................................................................................................................596
Registration outbound face .....................................................................................................................597
Registration Priority .......................................................................................................................... 599
DNS Security Check ......................................................................................................................... 599
Support broken SIP proxy ................................................................................................................. 600
NAT-traversal 'flows' ..............................................................................................................................600
SIP B2BUA Dynamic Registration ..........................................................................................................601
Registration inbound face ........................................................................................................................601
Call outbound face ..................................................................................................................................602
Configuring the Dynamic Registrar Use............................................................................................ 603
Support broken SIP proxy ................................................................................................................. 604
Call inbound face ....................................................................................................................................605
Configuring SIP Transaction Timeout and Penalty Box ...............................................................................605
Creating an Identity Group ..........................................................................................................................606
Inheriting from an Identity Group to an Identity ..........................................................................................606
Configuring the Message Waiting Indication Feature for SIP .......................................................................607
Subscription ............................................................................................................................................607
Notification ............................................................................................................................................608
Configuration .........................................................................................................................................608
Message Waiting Indication through Call-Control .......................................................................................610
Show Location-Service ..................................................................................................................................610
Configuration Examples ......................................................................................................................................610
591
Trinity Release 3.14.X Command Line Reference Guide 51 • Location Service
Introduction
This chapter describes how to configure location services in Trinity.
Adding a Domain
The domain command specifies the domains that the location service is responsible for. If the application
needs information from the location service, it performs a lookup with the Host Part of the Request-URI or the
From-URI to find the right instance. The header selection from which the URI will be taken depends on the
call direction (Outgoing/Incoming SIP-Call) and the requested information. The SIP environment determines
which format the Domain has; it can either be a Domain-Name, a Host-Name or a Host-Address. If all com-
ponents of the SIP environment are set up to operate in one specified domain, Domain is a Domain-Name. If
point-to-point routing is used, Domain is either a Host-Name or a Host-Address. In this case, Host-Name is a
FQDN (Full Qualified Domain Name).
Domain Examples:
Domain-Name: biloxy.com
Host-Name: sip-ua.biloxy.com or sip-server.biloxy.com
Host-Address: 192.168.10.1 or 10.10.10.1
In case of point-to-point routing, local host-addresses may not be added to the domain list of a location service;
these addresses are known by the application. But, if an identity exists in two different location services and the
Introduction 592
Trinity Release 3.14.X Command Line Reference Guide 51 • Location Service
Context SIP Gateway has more than one transport binding, it is recommended to add the local host addresses
as Domain to the appropriated location services.
Mode: Location Service
Creating an Identity
An identity represents one of multiple possible addresses over which a user is reachable (e.g. sip:john@pat-
ton.com). This leads to a huge range of configuration possibilities in the identity.
According to the relationship between an identity and user, there can be many different aspects configured. If
you are the user agent for a certain identity, use the outbound faces to specify the behavior when sending
requests. If you are not the user agent of an identity but know this identity, then use the inbound faces to con-
figure the behavior when this identity sends requests.
When creating an identity, it is important to consider that the name of the identity is always used as user-part
when building a sip-uri. The name of the identity is also used when comparing to or matching with a sip-uri.
Mode: Location Service
Mode: Identity
Mode: Identity
An alias is an alternative way to express the user-part of an identity. An alias is never used to build a sip-uri and
will never be used in communication with another device. The alias is used for comparing or matching the
identity with a sip-uri received from an external device.
Mode: Identity
RFC3261 defines a user-param for SIP URIs. The value of this parameter can be configured for identities in
the location service. The configured value will then be applied to any SIP URI for which the user part matches
the identity.
• phone: This identity represents a telephone number. This is typically used when a phone-context has been
configured.
• dialstring: This identity represents a dialstring.
• ip: This identity represents an ordinary SIP user. This is the default value assumed by SIP also if no user-
param is specified. Thus it usually does not make any difference whether “user ip” or “no user” is specified
even though the generated SIP URIs will be different.
Mode: Identify
The huge amount of possible configuration parameters has been separated into different configuration entities
called the faces. The faces refer to authentication, registration and call. Each face works in two directions:
inbound and outbound. Outbound faces refer to requests originating from your identity. Inbound faces refer to
requests destined to your identity.
• Authentication outbound face (see page 595)
• Authentication inbound face (see page 596)
• Registration outbound face (see page 597)
• Registration inbound face (see page 601)
• Call outbound face (see page 602)
• Call inbound face (see page 604)
An authentication entry establishes a link between an identity and exactly one pair of credentials in an authen-
tication-service. To link multiple credentials to an identity, there must be one authentication entry in the
authentication outbound face for each pair of credentials to link. The parameter username selects the entry in
the authentication-service to use. The parameter username can be omitted if and only if the name of the iden-
tity matches exactly the username in the authentication-service.
Registration Priority. The q parameter is a value between 0 and 1 and specifies the weight of a REGISTER
message. It is mainly used to control the call handling priority and sequence in forking applications with sup-
port for multiple registrations of the same user.
The default value of 1 means that the q value will not be added to the contact header. By default, the q value is
disabled.
Mode: Registration outbound
DNS Security Check. Upon receipt of a redirection response (a 300, 301 or 302 SIP response), the SIP User
Agent formulates a new REGISTER request based on the request specified in the Contact field. It is possible to
configure to register using the contact only if it matches one of the addresses previously received from the DNS
resolution.
identity 100
registration outbound
check-dns-addresses
register auto
Support broken SIP proxy. To direct SIP requests to outbound proxies without having a proxy header in the
message a new command is introduced. This command specifies a destination host (with optional port) to
which SIP messages will be sent regardless of domain, proxies and registrar.
Note This feature breaks RFC 3261! Use this feature only if you are certain that
the addressed behaves as expected and is able to process such messages.
NAT-traversal 'flows'
In the SIP location service, the NAT-traversal 'flows' feature was not supported. Now, according to RFC5626,
it is possible to configure NAT-traversal flows in the registration outbound mode within a location-service.
This allows the device to receive incoming calls on the same flow (UDP, TCP, or TLS connection) used for out-
bound registration. This feature is helpful to overcome NAT gateways: If the Patton device is located in a pri-
vate network and registers to a public SIP registrar/switch, the calls from the switch to the device will re-use the
established registration connection that passed through the NAT gateway already. Optionally, outbound calls
can also be sent through the registration flow, which has to be configured in the 'call outbound' mode.
In addition, a new command 'nat-traversal minimal' has been added and the existing command 'nat-traversal
keep-alive' has been modified to have the possibility to choose between the keep alive methods 'options' or
'ping'.
Mode: location-service
Configuring the Dynamic Registrar Use. Upon receipt of a redirection response (a 300, 301 or 302 SIP
response), the SIP User Agent formulates a new REGISTER request based on the request specified in the Con-
tact field. It is possible to configure that all the subsequent SIP requests be directly sent to the redirected regis-
trar if the REGISTER succeeded.
identity 100
call outbound
request-uri dynamic-registrar
Support broken SIP proxy. To direct SIP requests to outbound proxies without having a proxy header in the
message a new command is introduced. This command specifies a destination host (with optional port) to
which SIP messages will be sent regardless of domain, proxies and registrar.
Note This feature breaks RFC 3261! Use this feature only if you are certain that
the addressed behaves as expected and is able to process such messages.
Calls using flows. The concept of flows can be used for calls as well. When flows are opened by registrations,
these are reused for outgoing calls, but only if the target resolution procedures for calls results in an IP address
for which a flow already exists. Otherwise, a new flow is created for the duration of the call.
This does not affect incoming calls. Incoming calls are accepted through flows or outside of flows in the same
way.
Mode: Call outbound
The SIP part of Trinity receives message waiting information according to the subscribe notify mechanism
described in RFC 3265 and RFC 3842. It is possible to choose between explicit and implicit subscription. In
explicit subscription, Trinity establishes the subscription by sending SUBSCRIBE messages to a configured
message server. In implicit subscription, the message server gets the subscriber information due to configura-
tion or another mechanism like registration. In any case, Trinity accepts and processes NOTIFY messages with
message waiting information, which is then forwarded to the according destination.
Subscription
If an identity is added to a location-service which is bound to a context sip-gateway, the following procedure
takes place:
1. Determine if identity should be subscribed.
– The location-service containing the identity must have at least one domain configured.
– The identity must have a message inbound face configured or inherited.
– The subscription command must be set to “explicit”.
2. Build the address to subscribe. The name of the identity builds the user-part. The first domain configured
in the location-service builds the host-part.
3. Build the address of the message server. The message server configured in the message inbound face is
taken as request-uri. If no message server is configured the first domain configured in the location-service
builds the request-uri.
4. Build expire header. If a lifetime is configured in the message inbound face the expire header is set to
desired lifetime else the lifetime is set to 3600 seconds.
5. Build contact address. The spoofed-contact parameter of the sip-interface in the context sip gateway,
through which the SUBSCRIBE request is sent, is set as contact address. If no spoofed-contact is config-
ured the ip-address and port of the sip-interface in the context sip-gateway through which the SUB-
SCRIBE request is sent builds the contact address.
6. Send the SUBSCRIBE request.
If one of these steps has no result and fails, the subscription fails. After a certain timeout (which is configurable
in the registration outbound face), the request is re-issued.
Outgoing SUBSCRIBE requests can provide authentication credentials.
Notification
If the gateway receives an incoming NOTIFY request, the following procedure takes place:
1. Determine to which sip interface in the context cs the request should be forwarded. This happens accord-
ing the same rules as an incoming INVITE is forwarded.
2. Get Identity. All location services bound to the context sip-gateway are searched for the identity:
– the identity matching the to-uri
– the identity matching request-uri
– the identity-group default
3. Get message inbound face. The identity found must have a message inbound face configured.
4. Check subscription. The option “subscription” must be set to “implicit” or “explicit”. In the case of explicit
subscription the real state of the subscription is not examined. According to RFC 3265 NOTIFY requests
must be handled even before subscription is completed.
5. Check event header. The event-header of the NOTIFY request must be set to “message-summary”.
6. Check content header. If present, the content header must be set to “application/simple-message-sum-
mary”
7. Forward message waiting information. Forward content of NOTIFY message through call-control accord-
ing normal call routing to the destination provider.
8. Return 200 OK if all of these steps are successful.
If one of these steps fails the notification fails and an according message is sent.
Incoming NOTIFY requests can be challenged to provide authentication credentials.
Configuration
The message inbound face is used to subscribe an identity on a message server and enables the reception of
NOTIFY messages with message waiting information.
Mode: Identity
Show Location-Service
This command displays the location-service information of all the configured location-services and their iden-
tities. It is possible to specify the name of which location-service you want to display and also a specific iden-
tity.
Mode: Interface SIP
Configuration Examples
In this configuration example, inheritance is used.
Example:
location-service PATTON
domain patton.com
identity-group REGISTER
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username john
registration outbound
registrar sip.domain.com
lifetime 600
register auto
Exactly the same can be configured without inheritance. All inherited parameters can be configured in the
identity itself. Inheritance is useful if multiple identities share the same configuration.
Example:
location-service PATTON
domain patton.com
identity 300
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username john
registration outbound
registrar sip.domain.com
lifetime 600
register auto
identity 400
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username john
registration outbound
registrar sip.domain.com
lifetime 600
register auto
Chapter contents
Introduction ........................................................................................................................................................614
Call Router Configuration Task List ...................................................................................................................616
Map the Goals for the Call Router ................................................................................................................616
Enable Advanced Call Routing on Circuit Interfaces ....................................................................................617
Configure General Call Router Behavior .......................................................................................................617
Configure address completion timeout ....................................................................................................617
Configure default digit collection timeout and terminating character ......................................................618
Configure Number Prefix for ISDN Number Types .....................................................................................619
Configure Call Routing Tables .....................................................................................................................619
Create a routing table ..............................................................................................................................620
Called Party Number Routing Table ............................................................................................................623
Regular expressions .................................................................................................................................623
Digit collection .......................................................................................................................................624
Digit collection variants ..........................................................................................................................625
Calling party number routing table .........................................................................................................628
Number Type Routing Table .......................................................................................................................628
Numbering Plan Routing Table ....................................................................................................................629
Name Routing Table ....................................................................................................................................630
IP Address Routing Table .............................................................................................................................630
URI Routing Table .......................................................................................................................................631
Presentation Indicator Routing Table ...........................................................................................................631
Screening Indicator Routing Table ...............................................................................................................632
Information Transfer Capability Routing Table ............................................................................................633
Call-router Support for Redirecting Number and Redirect Reason ...............................................................634
Time of Day Routing Table ..........................................................................................................................634
Day of Week Routing Table .........................................................................................................................635
Date Routing Table ......................................................................................................................................635
Deleting Routing Tables ...............................................................................................................................635
Configure Routing Tables Dial Plan .............................................................................................................636
Format ....................................................................................................................................................637
Configuration .........................................................................................................................................637
Debugging ..............................................................................................................................................638
Status ......................................................................................................................................................638
Configure Mapping Tables ...........................................................................................................................639
E.164 to E.164 Mapping Tables ...................................................................................................................644
Custom SIP URIs from Called-/Calling-e164 Properties ..............................................................................647
Other Mapping Tables ..................................................................................................................................647
Deleting Mapping Tables ..............................................................................................................................648
Creating Complex Functions ........................................................................................................................649
612
Trinity Release 3.14.X Command Line Reference Guide 52 • Call Router Configuration
613
Trinity Release 3.14.X Command Line Reference Guide 52 • Call Router Configuration
Introduction
This chapter provides an overview of call router tables, mapping tables and call services and describes the tasks
involved in configuring the call router in Trinity. This chapter includes the following sections:
• Call router configuration task list
• Call router configuration tasks
• Examples
There are two options for deciding where an incoming call on a CS interface is forwarded to:
• Basic interface call routing: Basic interface routing can be configured directly on the CS interfaces. It’s also
called direct call routing.
• Advanced call routing: More complex call forwarding decisions can be configured in the call router.
The call router is a very efficient and flexible tool for routing calls between CS interfaces. Based on a set of
routing criteria, the call router determines the destination (interface) for every incoming call. The forwarding
decisions and features are based on a set of routing tables, mapping-tables and call services.
Each routing table is responsible for a specific routing criterion such as the called party number or the bearer
capability of the call. Multiple tables can be linked together to form a decision tree. The mapping tables can be
used to modify call properties like the calling and called party numbers according to the network requirements.
Call services can be used in the routing path to observe the call state and spawn other calls. The hunt-group
service is an example for a call service. Figure 94 illustrates direct call and advanced call routing. In this chapter,
advanced call routing is explained. For configuring direct call routing refer to chapter 52, “Call Router Config-
uration” on page 612.
Introduction 614
Trinity Release 3.14.X Command Line Reference Guide 52 • Call Router Configuration
Advanced call
routing through
Call Router Context
Direct call routing
interface interface
Call Router
Due to the tree search algorithm implemented in the call router very large routing tables can be scanned very
quickly with minimal impact on the call setup delay. The Trinity call router supports the following routing cri-
teria:
• Calling party number (calling-e164); also called source-Nr, A-Nr, MSN, DDI, or CLIP
• Called party number (called-e164); also called destination-Nr or B-Nr
• Calling and called party number type
• Calling and called party number plan
• Calling and called party name, the display name
• Calling and called party IP address (for VoIP calls)
• Calling and called party URIs (for SIP calls)
• Presentation indicator; whether the number shall be presented to the other party
• Screening indicator; whether the number has been screened
• Information transfer capability; also called ISDN bearer capability or ISDN service
• Day of week; Monday–Sunday
• Time of day; hour:minute:second
• Date; day.month.year
Introduction 615
Trinity Release 3.14.X Command Line Reference Guide 52 • Call Router Configuration
The call router allows you to solve practically any call routing
and call property manipulation requirement that you may have.
The call router is very flexible in allowing the construction of
IMPORTANT decision trees based on linked routing tables. However you
should take care not to use too many tables and an over-elabo-
rate structure. The configuration may become large and difficult
to manage. For complex configurations we recommend offline
editing and configuration downloads.
In order to keep this configuration compact we recommend that you first define the routing requirements and
restrictions that apply to your installation. Then define the routing and mapping tables and the call services
that you need to fulfill these requirements. Finally define the decision tree (i.e. the sequence in which the tables
are linked together). In this step you may realize that you need multiple tables of the same type to achieve your
goals. On the other hand an alternative sequence may help you to reduce the number of tables or the size of
each table while still achieving the set goal. Only when you are happy with the planned tables, functions and
sequence should you start configuration.
Note The address completion timeout is active when the call router waits for manda-
tory digits before being able to complete call routing. Contrary to this, the
digit collection timeout, described below, waits for additional optional digits.
Mode: Context CS
Configures the address completion timeout to 20 seconds. A call with an incomplete called party number is
dropped 20 seconds after receiving the last called party address update (overlap dialed digit).
Note The digit completion timeout is active when the call router waits for
optional digits of a called party number before placing the call to the selected
destination. Contrary to this, the address completion timeout, described
above, waits for mandatory digits.
node[switch]#digit-collection terminating-char *
Configures the digit collection timeout to 3s. The digit-collection timeout can be stopped by the user entering
the asterisk (*) character.
The missing prefix in the national and international number types can complicate the call router configuration,
so Trinity offers the possibility to expand these numbers before entering the first call router table.
Note The configured prefix is not removed at the exit of the call router (i.e. when a
destination interface is found), but the number has the number type
unknown.
node[switch]#international-prefix 00
Call router tables are created by entering the routing-table command, which also brings you into the routing
table configuration mode. There you can add, modify or delete entries of the routing tables. Refer to the indi-
vidual table types detailed below on how to configure table entries.
Note The sequence of the lines is not important. The call router creates a search
tree out of the table lines to ensure optimal search speed.
Note To remove a specific entry of a table, enter the table configuration mode and
use the no-form on a previously entered entry. To remove a whole table, use
the no form of the table mode command.
Each table contains a header and one or more entries. The header declares the type of the routing table as well
as its name.
The name of the routing table is unique inside the context and serves as identifier for referencing the table from
other tables or interfaces. The routing table type specifies which call property the table shall examine. Table 30
lists the call properties that can be used as a routing table type.
Besides the header (name and type) a routing table contains multiple entries. Each entry specifies a specific
value of the routing table type and a destination interface and an optional function. When a call arrives at a
routing table, the following procedure is applied:
1. Examine the call property as specified with the routing table type.
2. Select the best matching entry. This means that the key of each of the entries is compared to the call prop-
erty and the entry that matches best is chosen.
3. Execute the entry. This means executing the referenced function of the entry if specified, and routing the
call to the specified destination interface, table or service.
Procedure: To create a routing table and add entries
Mode: Context CS
Regular expressions
The key of an entry can be either a complete number or a partial number with wildcard digits, represented by a
period (.) character. Each (.) represents a wildcard for an individual digit. For example, if the key is defined as
888 . . . ., then any called party number beginning with 888, plus at least four additional digits matches this
entry.
In addition to the period (.), there are several other symbols that can be used as wildcard characters in the key.
These symbols provide additional flexibility in designing call routing and decrease the need for multiple entries
in configuring number ranges.
The following table shows the wildcard characters that are supported:
Table 31. Wildcard symbols used as keys in E.164 tables (calling-e164, called-e164)
Symbol Description
. Indicates a single-digit placeholder. For example, 888 . . . . matches any dialed number begin-
ning with 888, plus at least four additional digits. Note that the key only specifies the prefix. Thus
the number may be longer, but also matches.
[] Indicates a range of digits. A consecutive range is indicated with a hyphen (-); e.g. [5-7]. A non-
consecutive range is indicated without a delimiter. For example, [58]. Both can be used in com-
bination; e.g. [5-79], which is the same as [5679]. A (^) symbol may be placed right after the
opening bracket to indicate that the specified range is an exclude list. For example, [^01] speci-
fies the same range as [2-9].
Note: Only single-digit ranges are supported. You cannot specify the range of numbers between
99 and 102 using [99-102].
() Indicates a pattern. For example, 888(2525). It is used in conjunction with the symbol (?), (%) or
(+) or when replacing a number in a mapping table.
? Indicates that the preceding digit or pattern occurred zero or one time. Enter Ctrl-V before enter-
ing (?) from your keyboard, since the CLI normally uses the question mark to display help texts.
% Indicates that the preceding digit or pattern occurred zero or more times. This functions the
same as the asterisk (*) used in regular expression. Here the percent (%) symbol is used to be
able to handle the asterisk (*) as part of a dialed number.
+ Indicates that the preceding digit or pattern occurred one or more times.
T Enables digit-collection for this entry. The call router pauses to collect additional dialed digits.
The default digit collection timeout is 5 seconds. The collection can be aborted pressing the
pound (#) key.
Note: The terminating character is used only to terminate the timeout and is therefore removed
from the dialed number.
Note: The timeout (T) symbol is only allowed for Called Party Number table entries, while all
other wildcards are also allowed for Calling Party Number tables.
The next table shows some examples of how these wildcard symbols are applied to the key of a table entry:
88825.+ 88825, followed by one or more wildcard digits. This expression implies that the number
must contain at least 6 digits starting with 88825; for example, 888251, 8882512 or
888251234567890
88825.% 88825, followed by zero or more wildcard digits. This expression implies that the string
must contain at least 88825; for example, 88825, 888256, 8882567.
Note: The “.%” expression postfix can be left away, because the expression is always com-
pared as prefix to the dialed number. Thus each expression automatically contains a “.%”
postfix.
88825+ 8882, followed by 5 repeated one ore more times; for example, 88825, 888255, or
8882555555555
888(25)+ 888, followed by 25 repeated one or more times; for example, 88825, 8882525 or
8882525252525
0?111 An optional 0, followed by 111; for example, 0111, 111, 11123456789
8882[56]… 8882 followed by 5 or 6, plus at least three more wildcard digits.
.%45$ Any number that has a postfix of 45; for example, 45, 045, 0041998882545.
Note: The dollar sign ($) at the end is used to disable prefix matching.
In addition to wildcard characters, the following characters can also be used in the key of the table entry:
• Asterisk (*) and pound sign (#) – These characters can be used anywhere in the key like other digits, for
example, they can be used as the leading character (e.g. *21), which is handled like normally dialed number.
• Dollar sign ($) – Disables prefix matching. Must be used at the end of the dial string.
Digit collection
Fixed-length dialing plans, in which all the numbers have fixed length, are sufficient for most voice networks,
because the telephone number strings are of known lengths. Some voice networks, however, require variable-
length dial plans, particularly for international calls, which use telephone numbers of different length. Further-
more some voice networks do not support overlap dialing. In this case the call-router must collect the digits
before placing a call to that network with the complete number.
If you enter the timeout T-indicator at the end of the key in a Called-Party Number table, the call router
accepts a fixed-length number and then waits for additional dialed digits. The timeout character must be an
uppercase T. The following example shows how the T-indicator is set to allow variable-length numbers:
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table called-e164 collect
node(rt-tab)[swtich.collect]#route 0041T dest-interface CHVoIP-A
In the example above, the call router accepts the digits 0041, and then waits for an unspecified number of addi-
tional digits as long as the interdigit timeout has not expired. When the interdigit timeout expires, the router
places the call.
The default value for the interdigit timeout is 5 seconds and can be configured using the digit-collection
timeout command in the context CS configuration mode. You may want to override this default timeout for a
specific entry. Just place the timeout in seconds after the T-indicator; e.g. T3 to set the inter digit timeout to 3
seconds for that entry.
The user may press the pound (#) as terminating character to immediately place the call. If the pound (#) char-
acter is entered while the router is waiting for additional digits, the pound (#) character is treated as a termina-
tor; it is not treated as part of the dialed number sent across the network. But if the pound (#) character is
entered before the router begins waiting for additional digits (meaning that the pound (#) is entered as part of
the fixed-length key), then the pound (#) character is treated as a dialed digit.
For example, if the key is configured as 888 . . . . T, then the entire dialed string of 888#2525 is collected, but
if the dialed string is 888#252#5, the #5 at the end of the dialed number is not collected, because the final
pound (#) character is treated as terminator. You can change the default terminating character using the digit-
collection terminating-char command in the context CS configuration mode. You may want to override this
default terminating character for a specific entry. Just place the character after the timeout and a comma; for
example, T3,* to set the terminating character to asterisk (*).
Now assume someone picks up a phone and dials a number using overlap dialing. After picking up the phone,
an empty called party number is offered to the routing tables. All three routing tables require the called party
number to contain at least the prefix 099. Thus the number is incomplete and the call router waits for addi-
tional digits being entered. Now the user presses the digit one (1). The resulting called party number is 0991.
The call router is again asked for routing the call to a destination. The TAB-PREFIX table performs a prefix
match with its only entry and finds out that the number is long enough, so TAB-PREFIX immediately routes
the call to the destination interface IF-OUT. Unlike the first table, TAB-COMPLETE needs at least three
more digits. Thus the address is not complete yet and the call router waits for more digits. TAB-COLLECT has
enough digits but uses the T-indicator to perform digit-collection. The call router waits for the digit-collection
timeout and then places the call to the destination interface IF-OUT.
Note There is a difference between the address completion and the digit collection
timeout. The address completion timeout is active when a route is incom-
plete, e.g. when the dialed number of 0991 is tried to match to the entry
099….. In this case, the call router cannot forward the call to the destination
unless the user enters three more digits. Thus the address completion time-
out is active when the call router waits for mandatory digits. The address
completion timeout can be configured using the address-completion
timeout command in the context CS mode. If the user does not enter more
digits, the address completion timeout elapses and the call is dropped. The
digit collection timeout is active when a route is complete but a T-indicator
is specified on the selected route, e.g. when the dialed number of 0991 is
tried to match the entry 099T. In this case the call router waits for some
period of time for the user to enter additional optional digits. The digit col-
lection timeout can be configured using the digit-collection timeout com-
mand in the context CS mode. If the user does not enter more digits, the
digit collection timeout elapses and the call is forwarded to the
destination interface.
Note The numbers that are normally dialed are longer than the prefixes listed in
the table test. For example, if the numbering plan is defined using five digits,
a user normally dials a number like 12345 to reach a destination. Anyway
the lookup result must be the same for en-bloc and for overlap dialing. This
example shows how the table is looked up after each overlap-dialed digit and
how a destination is finally found. This selected destination is the same as if
the user dialed the number en-bloc.
The following table contains a list of overlap-dialed number examples that use the routing table above for a lookup:
Dialed Selected
Description
Number Entry
empty — The number is incomplete for entries #1-#4, which all want at least
(after picking up the know whether the number starts with a 1. Thus no entry is selected
phone without dialing a and the call router waits for additional mandatory digits or drops the
number beforehand) call after 12 seconds (address-completion timeout).
1 — No entry is selected. Though the dialed number matches entry #1
there are other entries that are still incomplete (the entered number is
a prefix of the entry). In this state the call router waits for additional
mandatory digits or drops the call after 12 seconds (address-comple-
tion timeout).
2 #5 No entry matches, so the default entry is selected; the call is placed
immediately.
11 — No entry is selected. Though the dialed number completely matches
entry #1, #2 and #3, entry #4 is still incomplete. The call router waits for
additional mandatory digits or drops the call after 12 seconds (address-
completion timeout).
12 #2 Entry #1 and #2 match the dialed number of 12, but entry #2 matches
better because the expression is more precise (longer) than entry #1.
Thus the call is immediately routed to interface IF2.
19 #1 Entry #1 is the only that matches. The call is immediately placed.
111 #4 All entries match the dialed number of 111, but entry #4 matches best
because the expression is more precise (longer) than entry #1-#3.
Entry #4 is selected but the call is not placed immediately because
the entry contains the T-indicator. The router waits for additional digits
and then places call to interface IF4 when the digit-collection timeout
elapses.
Note: If the user enters an additional digit during digit-collection on a
T-indicator, the router must not change the destination entry anymore.
112 #3 Entry #1, #2 and #3 match the dialed number of 112. Entry #1 has
only an expression of one digit while entry #2 and #3 have an expres-
sion that specify two digits. Entry #3 matches better than entry #2
because entry #3 explicitly specifies the digits while entry #2 contains
a wildcard for the second digit. Thus entry #3 is selected and the call
is placed immediately to interface IF3.
121 #2 Entry #1 and #2 match the dialed number of 121, but entry #2
matches better. The call is immediately placed to IF2.
Dialed Selected
Description
Number Entry
191 #1 Only entry #1 matches the dialed number of 191. Thus the call is
routed immediately to interface IF1.
1111 #4 The lookup procedure is the same as for dialed number 111. The call
router waits for additional digits and places the call after the digit-col-
lection timeout to interface IF4.
1111# #4 Same as for 1111, but the pound (#) terminates the digit collection; the
call is immediately placed to interface IF4.
Note The T-indicator cannot be used in calling party number tables. (Overlap
dialing only makes sense for called party numbers).
Note This table does not contain a default entry. All calls where the calling party
number does not match to one of the entries are dropped.
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table calling-e164 EXTS
node(rt-tab)[switch.EXTS]#route .%52[35]$ dest-interface breakout
node(rt-tab)[switch.EXTS]#route .%572 dest-interface DefAcc
Note When you specified a national or international prefix using the commands
national-prefix or international-prefix respectively. in the context CS config-
uration mode, the calling or called party number is extended with the speci-
Note This property is only set by incoming ISDN calls. A call that arrives at the
call router from an FXS, FXO, or SIP interface has a number type of
Unknown as those interfaces do not support the number type property.
The call router can route calls according to the following number types. These values beside default can be used
for the key parameter to create a routing table entry:
• unknown—Unknown number type. This is the default value for calls that arrive through an interface that
does not support the number type property.
• international—International number; the number does not include prefix or escape digits.
• national—National number; the number does not include prefix or escape digits.
• network-specific—Network specific number, used to indicate administration or service number specific to
the serving network, e.g. used to access an operator.
• subscriber—Subscriber number; the number does not include prefix or escape digits.
• abbreviated—Abbreviated number.
Example: Calling type-of-number routing table
The following example routes calls with an international calling party number to the next table TAB-INCOM-
ING-INT, calls with a national calling party number to the next table TAB-INCOMING-NAT and all other
calls to the next table TAB-INCOMING-UNKNOWN.
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table calling-type-of-number TON
node(rt-tab)[TON]#route international dest-table TAB-INCOMING-INT
node(rt-tab)[TON]#route national dest-table TAB-INCOMING-NAT
node(rt-tab)[TON]#route default dest-table TAB-INCOMING-UNKNOWN
Note This call property is only set by incoming ISDN calls. A call that arrives the
call router from an FXS, FXO, or SIP interface has a numbering plan of
unknown.
The call router can route calls according to the following numbering plans. These values beside default can be
used for the key parameter to create a routing table entry:
• unknown—Unknown numbering plan. This is the default value for calls that arrive through an interface
that does not support the numbering plan property.
• isdn-telephony—ISDN/Telephony numbering plan according to CCITT Recommendation E.164/E.163).
Note Incoming SIP calls use this call property to store the display name part of the
SIP URI. Other interfaces set the display name to the empty string.
Note Incoming SIP calls use the calling party IP address property to store the IP
address of the remote SIP user agent, respectively. Other interfaces like
ISDN, FXS, of FXO set the IP address to 0.0.0.0.
Note Incoming ISDN calls set the presentation indicator according to the received
ISDN Setup message. SIP interfaces set the presentation indicator to
allowed.
The call router can route calls according to the following presentation indicators. These values beside default
can be used for the key parameter to create a routing table entry:
• allowed—Presentation of the calling party number is allowed. This is the default value for calls that arrive
through an interface that does not support presentation indicators.
Note Incoming ISDN calls set the screening indicator according to the received
ISDN Setup message. Other interfaces set the screening indicator to user-
not-screened.
The call router can route calls according to the following screening indicators. These values beside default can
be used for the key parameter to create a routing table entry:
• user-not-screened—The calling party number is provided by the user but not screened by the network.
Thus the calling party possibly send a number that is not owned by the calling party. (This is the default
value for calls that arrive through an interface that does not support presentation indicators).
• user-passed—The calling party number is provided by the user, screened by the network and really belongs
to the calling party.
• user-failed—The calling party number is provided by the user, screened by the network and does not belong
to the calling party.
• network—The calling party number, because it is provided by the network, can be trusted.
Note You possibly want to remove the calling party number when the calling party
number is not screened or screening failed. To achieve this, route these calls
to a mapping table that sets the calling-e164 to the empty string (“”). If you
want to drop calls when the calling party number is not screened or screen-
ing failed, use the routing destination none.
Note Terminals connected to analog extensions (e.g. of a PBX) do not supply infor-
mation transfer capability values in their call set-up, so it is up to the configura-
tion of the analog port on the Terminal Adapter, NT or PBX to insert this
value. The configuration of this value is however often omitted or wrong. The
ITC value may therefore not be a reliable indication to differentiate between
analogue speech, audio or Fax Group 3 connections. Also, calls from SIP, FXS,
and FXO interfaces do not differentiate between bearer capabilities. They
always set the information transfer capability property to 3.1kHz Audio.
The call router can route calls according to the following information transfer capabilities. These values beside
default can be used for the key parameter to create a routing table entry:
• speech—Voice terminals (Telephones)
• unrestricted-digital—Unrestricted digital information (64kBit/s)
• restricted-digital—Restricted digital information (64kBit/s)
• 3k1-audio—Transparent 3.1kHz audio channel. This is the default value set by interfaces that do not sup-
port the ITC property.
• 7k-audio—Transparent 7.1kHz audio channel
• video—Video conference terminals
Example: Information transfer capability routing table
The following example creates an itc routing table that routes all unrestricted digital calls to the interface IF-
ACCESS, all 7kHz audio calls to the interface IF-LOCAL-BREAKOUT, all video calls to the interface IF-
ACCESS and all other calls to the interface IF-VOIP-CARRIER-A.
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table itc ITC
node(rt-tab)[ITC]#route unrestricted-digital dest-interface IF-ACCESS
node(rt-tab)[ITC]#route 7k-audio dest-interface IF-LOCAL-BREAKOUT
node(rt-tab)[ITC]#route video dest-interface IF-ACCESS
node(rt-tab)[ITC]#route default dest-interface IF-VOIP-CARRIER-A
The following command creates a redirect-reason call-router routing-table. Possible reason values for routing
decisions are:
• cd: Call deflection
• cfb: Call forwarding on busy
• cfd: Call forwarding by called DTE
• cfnr: Call forwarding on no reply
• cfu: Call forwarding unconditional
• ooo: Called DTE out of order
• default: Any other unhandled case
Mode: context cs
Both the redirecting-number and the redirect-reason can also be used in any call-router mapping tables.
The full range must be specified. The range must not cross a day boundary at midnight.
Example: Time of day routing table
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table time WORKDAY
node(rt-tab)[switch.WORKDAY]#route 08:00:00-16:59:59 dest-table TAB-BEST-QUAL
node(rt-tab)[switch.WORKDAY]#route 17:00:00-20:59:59 dest-interface IF-VOIP-A
node(rt-tab)[switch.WORKDAY]#route 21:00:00-23:59:59 dest-interface IF-VOIP-B
node(rt-tab)[switch.WORKDAY]#route 00:00:00-07:59:59 dest-interface IF-VOIP-B
Mode: Context CS
To remove the first two entries from the table enter the following commands:
node(cfg)#context cs
node(ctx-cs)[switch]#routing-table MY-TABLE
node(rt-tab)[switch.MY-TABLE]#no route 10
node(rt-tab)[switch.MY-TABLE]#no route 11
Trinity's flash memory. Additionally, it is possible to provide the dial plan file with the Trinity's provisioning
feature.
Format
A dial plan file contains one or more lines of entries that are formatted like:
PATTERN;DESTINATION-TYPE;DESTINATION-NAME
PATTERN: is divided by a comma in a prefix and a length. The length specifies the total length of a phone
number that has to be dialed to match the prefix. If the length is 0, no more digits are expected after the prefix.
If the length is less or equal to the prefix length, then it's assumed you meant 0.
For example, the PATTERN: 12345,7 would match this number: 1234511
Three types of prefixes are possible:
• Plain number: 0123
• Number with range: 012[3-7] or 012[3-6][5-9]
• Big range: 1234-1300
DESTINATION-TYPE and DESTINATION-NAME: are not mandatory. If the two fields are missing, the
call will be routed to the default route or to the dialplan-match route. Entries without a specific destination
cannot be routed if the default route or dialplan-match route entries are missing.
• DESTINATION-TYPE: can be an interface, service or table.
• DESTINATION-NAME: is the configured name of the interface, service or table.
Some valid examples of dial plan entries include:
Command Purpose
114,5;interface;IF_BRI 114xx numbers match. Routed to call-control
interface IF_BRI
115,3;service;SRV_HUNTGROUP 115 only match. Routed the call-control service
SRV_HUNTGROUP
11601-11610,5;table;TBL_EXTERNAL All numbers from 11601 to 11610 will match.
Routed to call-control routing-table TBL_EX-
TERNAL
2515[5-9],9; Numbers from 25155xxxx to 25159xxxx will
match. Routed to dialplan-match route.
If no dialplan-match route is configured, the call
will be dropped.
Configuration
This section contains all commands for specifying the routing-table dial plan configuration.
Example
context cs SWITCH
Mode: Context CS
To download a dial plan file, you can use Trinity's copy command:
copy tftp://<server>/<dialplan-file-name> dialplan:tbl-dialplan
You can use Trinity's provisioning feature to provide periodically a dial plan file on your devices (see section
“Provisioning Profile” on page 195).
Debugging
When configuring a routing table dial plan it's a good idea to turn on the call-router debug:
debug cr
The log output will tell you if your dial plan contains invalid entries and on which line you can find them.
CR # [SWITCH] Reloading tables now
CR # [SWITCH] Flushing all tables
CR # [TBL_DIALPLAN] (23): Ambiguous(maybe duplicated) pattern: 116,3;
CR # [TBL_DIALPLAN] (65): Pattern contains invalid character: 1f3d,4;
CR # [TBL_DIALPLAN]: Added 121 entries, (Warnings: 0). Skipped: 2 erroneous
entries.
Status
If you don't want to enable debug output you can also check the call-routers state with the following command
that will print a report on the last call-router reload:
# show call-router SWITCH reload
[TBL_DIALPLAN] (2): Ambiguous(maybe duplicated) pattern: 116,3;
[TBL_DIALPLAN] (3): Pattern contains invalid character: 1f3d,4;
IF_ISDN_00-precall-service: OK
IF_SIP-precall-service: OK
To get information on a specific routing table dial plan, runs the show command:
# show call-router status TBL_DIALPLAN
Lookup Table: TBL_DIALPLAN
==========================
Default Element
---------------
Dialplan-match Element
----------------------
Key Valu e
Entries
restricted if USVOIP-A
Each table contains a header and one or more entries. The header declares the input and output-type of the
mapping table as well as its name.
Unlike a routing table, a call property pair characterizes a mapping table, the input and output-type. While the
input-type defines which call property is examined by the call router, the output-type defines which property is
modified once the best matching entry is found, for example, you may want to find a best matching entry in a
mapping table based on the presentation indicator and, once found, you want to manipulate the calling party
number of the call. In this case you chose an input-type of calling-pi and an output-type of calling-e164
There are three different kinds of call properties, calling party properties, called party properties and generic
properties. When a call setup is to be routed by the call router, most properties appear as calling and as called
party properties, for example, you have a calling party number and a called party number to examine. There are
other properties (e.g. the information transfer capability), which is a property of the whole call and not of
either party.
You can create a mapping table that examines and modifies a specific kind of property, e.g. the called party
number. In this case you have to specify an input-type of called-e164 and an output-type of called-164. If you
want to replace both, the called and the calling party property with the same mapping table, you can create a
mapping table with input-type e164 and output-type e164, i.e. without prefixing the input- and output-type
with “called-“.
The name of the mapping table is unique inside the context and serves as identifier for referencing the mapping
table from other routing tables. Almost every type explained with the routing table above can be used as input
and output-type of a mapping table.
Besides the header (name, input and output-type) a mapping table contains multiple entries. Each entry speci-
fies a specific value of the routing table input-type and a value that shall be applied to the call property specified
with the output-type of the table. When a call arrives a mapping table, the following procedure is applied:
1. Examine the call property as specified with the mapping table input-type.
2. Select the best matching entry. This means that the key of each of the entries is compared to the call prop-
erty and the entry that matches best is chosen.
3. Execute the entry. This means replacing the property specified with the output-type of the mapping table
with the value of the selected entry.
Let’s examine the mechanism of mapping tables in more detail. Figure 97 shows three mapping tables and a call
that is routed through this mapping table. The call contains various call properties that are examined and mod-
ified by the mapping tables:
Example #1: This example shows a mapping table that selects the best matching entry based on the called
party number of a call and, once found, sets the called party URI. In the example a call arrives to the mapping
table with a called party number of 201. The mapping table selects the first entry, which matches best, and sets
the called party URI of the call to sip:john.smith@nil.net.
Example #2: This example shows a mapping table that selects the best matching entry based on the presenta-
tion indicator and, once found, sets the called party number. In the example a call arrives to the mapping table
with a presentation indicator of restricted. The mapping table selects the only entry (which matches) and sets
the called party number to the empty string.
Example #3: This example shows a mapping table that selects the best matching entry based on the called
party number and, once found, changes the same property, the called party number. This is a very powerful
method to manipulate numbers using regular expressions. In this example a call arrives to the mapping table
with a called party number of 234. The mapping table selects the only entry (which matches) and adds a prefix
of 5551 to the called party number.
Example #4: This example shows the same input call properties as in example #3. The mapping table is also
almost the same, but unlike in the previous example, here we don’t look for a specific number type (e.g. called
party number, calling party number), but for any E.164 number property of the call. The output property is
also a generic number. In this case the mapping table replaces both, the calling and the called party number.
For example, the mapping table applies its algorithm to all E.164 numbers of the call.
Note Like a routing table, a mapping table selects the best matching entry based
on the input property type. This is done using the best matching prefix
method for E.164 numbers and string compare for other properties. Unless
you don’t have a default entry in a mapping table, no action is performed
when no match can be found and the call is not dropped. In the above exam-
ple #3, if a call arrives the mapping table with a called party number of 200,
which does not match the entry (1..), the called party number is not
changed.
Detailed Example: You have an internal dial plan that uses three digit numbers starting with a 2 (e.g. 200,
201, etc.). So when an internal subscriber makes a call, its calling party number contains three digits.
1. You want to route calls to the public switched telephone network (PSTN), that is reachable over and ISDN
interface. From the PSTN provider you have an assigned number range from 099-8882500 to 099-
8882599.
2. You want to pass the last two digits of your internal subscribers when they are making calls to the PSTN.
Thus subscriber 244 should make a call to the PSTN using a calling party number of 099-8882544.
To achieve this, create a mapping table that looks like the following:
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table calling-e164 to calling-e164 MAP-PSTN
node(rt-tab)[switch.MAP-PSTN]#map 2(..) to 09988825\1
When a call reaches this table with a calling party number of 244, this number is tried to match to the entries
of this table:
2(44) matches 2(. .)
Thus the only entry is selected and executed. This means setting the calling party number to 09988825\1. The
last part of the value (a backslash followed by a single digit number) is a placeholder and means that the first
pattern (expression in brackets) of the key shall be used instead.
Thus the called party number is replaced with the specified prefix 09988825 concatenated with the bracketed
pattern in the key (44). The result is 0998882544.
Like this you can use brackets around any party of the expression of the key and use the part that matches to
this bracket in the value you set.
Example: Mapping table to add a prefix to the called party number
Input:called-e164 = 0998882525
Output:called-e164 = *50998882525
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table called-e164 to called-e164 ADD-PFX
node(rt-tab)[switch.ADD-PFX]#map (.%) to *5\1
The input 0998882525 matches the expression (.%) – any character repeated zero or more times.
The first bracket encloses the whole number: (.%) == (0998882525) -> \1 = 0998882525
The output is built as concatenation of *5 and the first bracket \1.
The called party number is set to *50998882525
Example: Mapping table to remove a prefix from the called party number
Input:called-e164 = *50998882525
Output:called-e164 = 0998882525
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table called-e164 to called-e164 REM-PFX
node(rt-tab)[switch.REM-PFX]#map *5(.%) to \1
The input *50998882525 matches the expression *5(.%) – the prefix *5 followed by any character repeated
zero or more times.
The first bracket encloses the number after the prefix: *5(.%) == *5(0998882525) -> \1 = 0998882525
The output is built from the first bracket \1.
The called party number is set to 0998882525.
Example: Mapping table to truncate the called party number
Input:called-e164 = 0998882525
Output:called-e164 = 525
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table called-e164 to called-e164 TRUNC
node(rt-tab)[TRUNC]#map .%(...) to \1
The input 0998882525 matches the expression .%(…) – any character repeated zero or more times followed
by three mandatory digits.
The first bracket encloses the last three digits: .%(…) == 0998882(525) -> \1 = 525
The output is built from the first bracket \1.
The called party number is set to 525.
Example: Mapping table to remove the calling party number when restricted
Input:calling-e164 = 0998882525; calling-pi = restricted
Output:calling-e164 = “”; calling-pi = restricted
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table calling-pi to calling-e164 REM-CNPN
node(rt-tab)[switch.REM-CNPN]#map restricted to “”
The input called party number 0778881111 matches the expression (.%) – any character repeated zero or more
times.
The first bracket encloses the last whole called party number: (.%) == (0778881111) -> \1 = 0778881111
The output (calling party number) is built from the first bracket \1.
The calling party number is set to 0778881111.
Example 2: Use a mapping table to set the display name field of To-URIs for outgoing SIP calls from the
called-party number of an incoming call. The following example shows how to set the called-party name based
on the called-party number.
Mode: Context CS
Any called party number type matches the default entry. Note that the input-type of the table does not matter
when the mapping table contains only the default entry. Anyway an input-type must be specified when creating
the mapping table.
The output (called party number type) is international.
Note The translation table above can be reduced using regular expressions.
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table called-e164 to called-e164 TRANS
node(rt-tab)[switch.TRANS]#map 55(.) to 25\1
To remove the first two entries from the table enter the following commands:
node(cfg)#context cs
node(ctx-cs)[switch]#mapping-table MY-TABLE
node(map-tab)[switch.MY-TABLE]#no map 10
node(map-tab)[switch.MY-TABLE]#no map 11
To remove the first two entries from the complex function enter the following commands. Pay attention on the
index. When removing the first entry, the MAP2 function becomes entry with index 1. Thus you have to spec-
ify index 1 twice to remove the first two entries:
node(cfg)#context cs
node(ctx-cs)[switch]#complext-function MY-FUNC
node(func)[switch.MY-FUNC]#no execute 1
node(func)[switch.MY-FUNC]#no execute 1
Mode: Context CS
Ingress interface
On the ingress interface (ISDN or SIP) the address-complete-indication accept <type> command configures
how to map the address-complete indication of the signaling-protocol to the internal call-control. There the
indication can be used for call-routing (see below) or mapped again to an address-complete indication on an
egress interface (see below).
The possible values for the type argument are:
• transparent: Transparently passes an address-complete indication (e.g. ISDN Sending Complete Informa-
tion Element) to the call-control.
• set: Always sets the address-complete indication flag towards the call-control even when no such indication
is received from the calling party. This configuration can be used to disable overlap-sending on an interface.
• clear: Never signals the address-complete indication towards the call-control even when the indication is
received from the calling party. This configuration may be used in rare cases to solve interoperability prob-
lems with attached PBXs.
Some interface types do not support all of the mentioned arguments. The following table shows the supported
address-complete indication conversion types and the default setting for each interface type:
Call-router
The call-router is extended to be able to set the address-complete indication or append a terminating-character
in some circumstances. This includes:
• Setting the address-complete indication when the digit-collection timeout elapses
• Appending the terminating-character when the digit-collection timeout elapses
• Filtering-out the terminating-character and optionally set the address-complete indication
• Setting the address-complete indication when a called-party number matches a fully specified call-router
rule ($-terminated entry).
• Appending the terminating-character when the called-party number matches a fully specified call-router
rule ($-terminated entry).
The command digit-collection timeout <secs> has been extended with two optional arguments that specify
whether a terminating-character is appended or the address-complete indication set when the digit-timeout
elapses. The command syntax is
[no] digit-collection timeout <secs> [append-terminating-char] [set-address-complete-indication]
The extensions configure the action(s) to be performed when the digit-collection timeout elapses. The digit-
collection timeout runs when a call is routed to a called-e164 routing-table of which a T-terminated rule is
selected. Two actions are available; both can be enabled independently. The append-terminating-char action
appends the configured terminating-character when the timeout elapses. The set-address-complete-indica-
tion action sets the address-complete indication. Whether or not the egress interface propagates the address-
complete indication depends on the interface configuration (see below).
The following table shows the different digit-collection timeout configurations and their effect on a T-termi-
nated route when the digit-collection timeout elapses. Important settings are marked bold.
The command digit-collection terminating-char <char> has been extended with two optional arguments
that specify whether the terminating-character is re-appended or the address-complete indication is set when a
digit-collection timeout is stopped by the user sending the terminating-character. The new command syntax is:
[no] digit-collection terminating-char <char> [append-terminating-char] [set-address-complete-indica-
tion]
The extensions configure what action(s) shall be performed when the digit-collection timeout is stopped by the
reception of a terminating-character. Normally, without specifying an action, the received terminating-charac-
ter is removed from the called-party number. The append-terminating-char action re-appends the terminat-
ing-character. The set-address-complete-indication action sets the address-complete indication. Whether or
not the exit interface propagates the address-complete indication depends on the interface configuration
(see below).
The next table shows the different digit-collection terminating-character configurations and their effect on a T-
terminated route when the terminating-character is received.
The command digit-collection full-match has been introduced. The syntax is:
digit-collection full-match [append-terminating-char] [set-address-complete-indication]
This command configures what action(s) shall be performed when a dollar-($)-terminated rule is selected in a
called-e164 routing-table. We call such an entry a fully specified number entry. The append-terminating-char
action appends the terminating-character; while the set-address-complete-indication action sets the address-
complete indication. Whether or not the egress interface propagates the address-complete indication depends
on the interface configuration (see below).
Egress interface
On the egress interface (ISDN) the address-complete-indication emit <type> command configures how the
internal representation of the address-complete indication shall be mapped to the representation of the signal-
ing-protocol.
The following procedure demonstrates how to disable overlap-sending for incoming SIP calls. SIP does not
provide an overlap-dialing procedure; so for most applications, address-complete indications should be cleared.
Mode: context cs / interface sip
The following procedure demonstrates how to create a routing-table that allows overlap dialing. When the tim-
eout elapses or when the terminating-character is received, the address-complete indication shall be set toward
the egress interface.
Mode: context cs
interfaces IF-BRI0 up to IF-BRI3. All four ISDN interfaces lead to the same provider. Since the call router
does not know the load on the BRIs, it has to be able to try BRI0 and, if BRI0 already serves two calls, use
BRI1, and so on.
Context
Call Router
The hunt group service accepts a call routed to it by a routing table or directly from an interface and creates
another call that is offered to one of the configured destination interfaces.
The interface tried first (IF-BRI0) may drop the call telling the service that the interface has no resources to
handle the call (e.g. no circuit channel available). Note that only the call between the hunt group and the desti-
nation interface is dropped, while the original call between the SIP interface and the hunt group service
remains connected.
The hunt group then decides to try the next destination (IF-BRI1), which in turn also drops the call due to
unavailable resources. In our example the hunt group then tries the third and eventually the fourth destination.
When an interface accepts a call, the interface hunting is complete and the hunt group service merges the orig-
inal with the new call to the interface that accepted the call.
You can influence the algorithm of the hunt group by several configuration commands. You can specify
whether the hunt group shall always start with the same destination interface or whether it shall immediately
try the next one in a round-robin fashion. This is called cyclic operation mode.
You can specify a timeout after which the next destination interface is tried when there is no answer at all from
the destination interface.
You can specify drop causes that trigger hunting for the next destination. All other causes (e.g. user busy) will
drop the original call.
Note You can hunt a call over different interface types, not only over ISDN inter-
faces. You can, e.g. create a hunt group to try to call over a SIP interface and,
if this call fails, do a fallback to an ISDN interface.
When a destination interface drops the call, the hunt group service has to decide whether this is because the
interface is not able to handle the call (e.g. no bearer channel available) or whether the destination user does
not want or is not able to communicate (e.g. user busy). In the first case, the hunt group service hunts for the
next destination interface, while in the second case the original call is dropped with the same cause.
The following table lists all drop causes and specifies whether the cause is used for hunting the next destination
or dropping the original call. The behavior can be configured for each hunt group individually for each cause
using the drop-cause command in the hunt group service mode.
Normal Event unallocated-number Drop original call The number is sent in the correct for-
mat. However, the number is not
assigned to the destination equipment.
no-route-to-network Drop original call The destination is asked to route the call
through an unrecognized network. This
cause indicates that the equipment
sending this cause has received a
request to route the call through a par-
ticular transit network, which it does not
recognize. The equipment sending this
cause does not recognize the transit
network either because the transit net-
work does not exist or because that par-
ticular network, while it does exist, does
not serve the equipment that is sending
this cause.
no-route-to-destination Drop original call The call routes through an intermediate
network that does not serve the destina-
tion address. The called user cannot be
reached because the network through
which the call has been routed does not
serve the destination desired.
channel-unacceptable Drop original call The service quality of the specified
channel is insufficient to accept the con-
nection. The call attempt failed because
the channel cannot be used.
call-awarded Drop original call The user assigns an incoming call that
is connecting to an already established
call channel.
normal-call-clearing Drop original call Normal call clearing occurs. This cause
indicates that the call is being cleared
because one of the users involved in the
call has requested that the call be
cleared. Under normal situations, the
source of this cause is not the network.
user-busy Drop original call The called system acknowledges the
connection request but cannot accept
the call because all channels are in use.
It is noted that the user equipment is
compatible with the call.
Normal Event no-user-responding Drop original call The connection fails because the desti-
(Cont.) nation does not respond to the call. This
cause is used when a user does not
respond to a call establishment mes-
sage with either an alerting or a connect
indication with the prescribed period of
time allocated.
no-answer-from-user Drop original call The destination responds to the connec-
tion request but fails to complete the
connection within the prescribed time.
This cause is used when the user has
provided an alerting indication but has
not provided a connect indication within
a prescribed period of time.
subscriber-absent Drop original call The remote device you attempted to
reach is unavailable and has discon-
nected from the network.
call-rejected Drop original call The destination can accept the call but
rejects it for an unknown reason. This
cause indicates that the equipment
sending this cause does not wish to
accept this call, although it could have
accepted the call because the equip-
ment sending this cause is neither busy
nor incompatible.
number-changed Drop original call The number used to set up the call is
not assigned to a system. This cause is
returned to a calling user when the
called party number indicated by the
calling user is no longer assigned.
non-selected-user- Drop original call The destination can accept the call but
clearing rejects it because it is not assigned to
the user.
destination-out-of- Drop original call The destination cannot be reached
order because of an interface malfunction,
and a signaling message cannot be
delivered. This can be a temporary con-
dition, but it could last for an extended
period.
invalid-number-format Drop original call The connection fails because the desti-
nation address is presented in an
unrecognizable format, or the destina-
tion address is incomplete.
facility-rejected Drop original call The network cannot provide the facility
requested by the user.
Call Router Configuration Task List 660
Trinity Release 3.14.X Command Line Reference Guide 52 • Call Router Configuration
Normal Event response-to-status- Drop original call The status message is generated in
(Cont.) inquiry direct response to receiving a status
inquiry message.
normal-unspecified Drop original call Reports the occurrence of a normal
event when no standard cause applies.
Resource Unavai- no-circuit-channel- Hunt for next desti- The connection fails because no appro-
lable available nation priate channel is available to take the
call.
network-out-of-order Hunt for next desti- The destination cannot be reached
nation because of a network malfunction, and
the condition can last for an extended
period. An immediate reconnect attempt
will probably fail.
temporary-failure Hunt for next desti- An error occurs because of a network
nation malfunction. The problem will be
resolved shortly.
switching-equipment- hunt for next desti- The destination cannot be reached
congestion nation because the network switching equip-
ment is temporary overloaded.
access-info-discarded Hunt for next desti- The network cannot provide the
nation requested access information. This
cause indicates that the network could
not deliver access information to the
remote user as requested.
circuit-channel-not- Hunt for next desti- The equipment cannot provide the
available nation requested channel for an unknown rea-
son.
resources-unavailable Hunt for next desti- The requested channel or service is
nation unavailable for an unknown reason.
Service or Option qos-unavailable Drop original call The network cannot provide the
Not Available requested quality of service.
facility-not-subscribed Drop original call The remote equipment supports the
requested supplementary service by
subscription only. This cause indicates
that the network could not provide the
requested supplementary service
because the user has not completed the
necessary administrative arrangements
with its supporting networks.
bearer-capability-not- Drop original call The user requests a bearer capability
authorized the network provides, but the user is not
authorized to use it. This can be a sub-
scription problem.
Service or Option bearer-capability-not- Drop original call The network normally provides the
Not Available available requested bearer capability, but it is
(Cont.) unavailable at the present time. This can
be due to a temporary network problem
or subscription problem.
service-or-option-not- Drop original call The network or remote equipment can-
available not provide the requested service option
for an unspecified reason. This can be a
subscription problem.
Service or Option bearer-capability-not- Drop original call The network cannot provide the bearer
Not Implemented implemented capability requested by the user.
channel-type-not- Drop original call The network or the destination equip-
implemented ment does not support the requested
channel type.
facility-not-imple- Drop original call The remote equipment does not support
mented the requested supplementary service.
only-restricted-digital- Drop original call The network cannot provide unrestricted
available digital information bearer capability. This
cause indicates that a device has
requested an unrestricted bearer ser-
vice but the equipment sending this
cause only supports the restricted ver-
sion of the requested bearer capability.
service-or-option-not- Drop original call The network or remote equipment can-
implemented not provide the requested service option
for an unspecified reason. This can be a
subscription problem.
Invalid Message invalid-call-reference Drop original call The remote equipment receives a call
with a call reference value that is not
currently in use.
channel-does-not-exist Drop original call The receiving equipment is requested to
use a channel that is not activated on
the interface for calls. This cause indi-
cates that the equipment sending this
cause has received a request to use a
channel not activated on the interface
for a call.
call-identity-does-not- Drop original call This cause indicates that a call resume
exist has been attempted with a call identity,
which differs from that in use for any
presently suspended call.
Invalid Message call-identity-in-use Drop original call This cause indicates that the network
(Cont.) has received a call suspends request.
The call suspend request contained a
call identity which is already in use for a
suspended call within the domain of
interfaces over which the call might be
resumed.
no-call-suspended Drop original call The network receives a call resume
request when there is not a suspended
call pending. This can be a transient
error that will be resolved by successive
call retries.
call-has-been-cleared Drop original call The network receives a call resume
request. This call resume request con-
tains a call identity that once indicated a
suspended call. However, the sus-
pended call was cleared either by time-
out or by the remote user.
incompatible-destina- Drop original call Indicates that an attempt is made to
tion connect incompatible equipment.
invalid-transit-network Drop original call This cause indicates that a transit net-
work identification of an incorrect format
was received.
invalid-message Drop original call Received an invalid message with no
standard cause.
Protocol Error mandatory-ie-missing Drop original call The receiving equipment receives a
message that does not include one of
the mandatory information elements.
This cause indicates that the equipment
sending this cause has received a mes-
sage that is missing a call property that
must be present in the message before
that message can be processed.
message-type-not- Drop original call The receiving equipment receives an
implemented unrecognized message, because the
message type is invalid or the message
type is valid but not supported.
message-type-not- Drop original call The remote equipment receives an
state-compatible invalid message with no standard
cause. This cause indicates that the
equipment sending this cause has
received a message such that the pro-
cedures do not indicate that this is a per-
missible message to receive while in the
current call state.
Protocol Error ie-does-not-exist Drop original call The remote equipment receives a mes-
(Cont.) sage that includes information elements
or call properties that are not recog-
nized.
invalid-ie-contents Drop original call The remote equipment receives a mes-
sage that includes invalid information in
the information element or call property.
recovery-on-timer- Drop original call Your call was not completed, probably
expiry because an error occurred.
protocol-error Drop original call An unspecified protocol error with no
other standard cause occurred.
Interworking interworking Drop original call An event occurs, but the network does
not provide causes for the action it
takes. The precise problem is unknown.
Note This feature currently only works over SIP and only if the SIP peer UA sup-
ports replacing the media stream of the original call with that of the replace-
ment call using one of the methods described below:
We support two methods to tell the SIP peer UA that the INVITE message replaces another call:
• With a Replaces header: The replacement call contains a 'Replaces' header according to RFC 3891, which
contains the Call-ID, as well as the From and To header tags of the original call:
Replaces: cab569ce83a9026ab;from-tag=1854a30e67;to-tag=6b357f4fa3
• With Patton-specific headers: The replacement call contains two proprietary X-headers, one signalling the
handover condition and another one to provide the value of the Call-ID header of the original call.
X-Patton-Call-Failure: true
X-Patton-Call-ID: cab569ce83a9026ab
• No signaling: No specific information about the original call is added to the replacement call.
Note The users participating in the call do not hear each other between the RTP
connection being broken and the media of the replacement call being fully
connected; this usually takes a couple of seconds. Also note that the original
call with the broken media connection will be terminated a few seconds after
the replacement call is established.:
IMPORTANT
Context
Call Router
The distribution group service accepts a call routed to it by a routing table or directly from an interface and cre-
ates four other calls that are offered to each of the configured destination interfaces.
All phones connected to the ISDN interfaces (PHONE10–PHONE13) start ringing. Eventually one of the
phones (e.g. PHONE10) goes off-hook. The other three calls to interfaces PHONE11, PHONE12, and
PHONE13 are immediately dropped and the phones on these interfaces stop ringing. Now the distribution ser-
vice is no longer needed. Thus the service merges the original call to the accepted destination call to interface
PHONE10.
You can configure how the distribution algorithm works in many ways. You can specify the maximum number
of destination interfaces that are called at the same time. Then you can specify a timeout after which a next des-
tination is added to the destination calls. This makes it possible to configure a scenario where a call is offered to
two destinations, and (when no one answers) stop ringing the first phone but try another third destination.
- 4 call destinations
- No max. concurrent
4 picks up
- 4 call destinations
- max. concurrent = 2 after 5s after 10s 4 picks up
- timeout = 5
Note If you specified the maximum number of concurrent destinations and the
distribution group tried each destination, the final destinations ring until
someone picks up one of the phones.
Note It does not make sense to configure the maximum number of concurrent
destinations but no timeout, though the software does not prevent this con-
figuration.
Example: To configure a distribution group that first rings on the phone#1 and then, after 5 seconds, on
phone#1 and phone#2, enter the following commands:
node(svc-dist)[service-name]#min-concurrent 1
node(svc-dist)[service-name]#max-concurrent 2
node(svc-dist)[service-name]#timeout 3
node(svc-dist)[service-name]#route call dest-interface PHONE1
node(svc-dist)[service-name]#route call dest-interface PHONE2
context cs switch
interface isdn localexchange
route call dest-service mylimiter.inbound
interface isdn voicemail
interface sip sip
bind gateway sip
route call dest-service mylimiter.outbound
service limiter mylimiter
max-calls 20
port inbound
route call dest-interface sip
exceed max-calls route call dest-interface voicemail
port outbound
route call dest-interface localexchange
Similarly the call-setup-rate could be limited by using the ‘exceed max-call-rate’ instead of the ‘exceed max-calls’
command in the limiter-port configuration mode. There is no limitation on the number of ports a limiter can
have. You can create as many as you need for your application.
Priority Service
The service ‘priority’ can automatically free resources if a high priority call needs to be established while no
resources are available. The service ‘priority’ can have multiple ports. You can assign a priority level for each
port. This priority level defines the priority level of each call, which is received through the port. If a call with
higher priority fails to be established, the service tries dropping lower priority calls to free resources for the
higher priority call. Subsequently it tries to establish the higher priority call again. Figure 102 on page 670 is a
typical application for this service in which non-.emergency calls are dropped to free resources for emergency
calls.
service hunt-group
services priority (prio)
routing tabl e
priority: 2
route 911 dest-ser vice prio.high high FXO If1
route default dest-ser vice prio.low1
priority: 0
low1 FXO If2
priority: 0
SIP low2
By default, the service drops any lower priority calls if a higher priority call fails. However, you have the option
to limit the number of lower priority calls to be dropped if a higher priority call fails. It also blocks new lower
priority calls for a configurable time after a higher priority call failed.
The following procedure demonstrates how to configure a priority service.
Mode: context cs
Note Although this service improves the probability that higher priority calls can
be established successfully, there is no guarantee that a higher priority task
can be established successfully at any time.
and IP network operate transparently. See figure 103 to visualize the VoIP leased-line connection.
SIP SIP
Interface Interface
FXO Device, FXO Device,
always off-hook always off-hook
IP Connectivity
BRIDGE BRIDGE
Service Service
Node Node
ETH 0/0 ETH 0/0
FXO Device Ð always off-hook FXO Device Ð always off-hook
Now we will describe the technical details and logical structure to implement this application. From the per-
spective of just one Patton device, the device makes two independent calls. These two calls are made from a log-
ical structure, called a Bridge Service. The Bridge Service has two interfaces, the listener port and the dialer port
(see figure 104 on page 673). Each of these interfaces is responsible for one of the two independent calls. The
listener port terminates the “FXS call” and the dialer port terminates the “RTP call.”
Dialer Port Ð This port ÒdialsÓ to the Listener Port Ð This port listens for a call from the
Dialer Port on the other SmartNode to FXO device and connects immediately upon
create the ÒDialer ConnectionÓ detecting loop current. This is the ÒListener Connection.Ó
BRIDGE
Service
Context CS
FXS
Interfaces
FXO Device,
always off-hook
SIP
Interface Routing
Table
The listener port interface listens to the FXS interface of the device for an active FXS–FXO connection. It rec-
ognizes an active connection by detecting current in the FXS–FXO loop, and the FXS call is established. The
dialer port interface attempts to make and keep an RTP connection session or call with a dialer port in a remote
device. It is called an RTP call. This connection is over the IP network. The listener port and the dialer port
both try to keep their individual calls up and operating at all times. However if the listener port loses its con-
nection (that is, its call), the dialer port does not disconnect its RTP call but remains connected to the other
device’s dialer port. Similarly, if the local dialer port loses its connection with the remote device’s dialer port, the
device’s listener port does not disconnect its FXS call but remains connected to the FXO device. Though the
calls operate independently, they operate over a single data path from end-to-end.
The dialer port is bound to the Routing Table which is subsequently bound to either a SIP interface. The rout-
ing table makes the connection to the proper FXS interface.
Mode: Context CS
Configuration Example:
context cs switch
Caveat: For calls from the IP side, the service only works if the G711.alaw codec is chosen.
Mode: Context CS
Mode: Context CS
Note It is not necessary to shutdown the CS context prior to making any configu-
ration changes.
Note You must explicitly enter the no shutdown command to activate the call
router.
Note You must activate the call router using the no shutdown command first.
Property Containers
-------------------
Properties
Properties
E164-Number: 123 (String)<-- CdPN after lookup/change
Properties
Carrie r Carrie r
Appl e Orange
Site A Site B
TA
ISDN
PBX PBX
Node A IP Node B
WAN
LAN LAN
Node C
Carrier
Melon
Note The Patton devices in this Network may be owned and operated by the
Company or by a Service Provider.
The goal of this scenario is to connect the two PBX of sites A and B. The two sites are connected to a broad-
band IP provider. The IP network is used to exchange data and voice calls between the two sites. On the IP net-
work there is also a PSTN gateway (Node C) to an alternative voice carrier Melon that shall be used for most
call destinations.
Sites A and B also have connections to the local ISDN network. This is called the local breakout connection.
The local breakout is to be used as a fallback for ISDN data connections.
We assume the following:
• The number block for site A is 022 782 55 00 to 99
• The number block for site B is 033 665 2 000 to 999
• The Carrier Access Code (CAC) for Apple is 1055
• The Carrier Access Code (CAC) for Orange is 1066
• Carriers Apple, Orange and Melon do not support ISDN data calls (PC with ISDN Terminal Adapter
behind PBX A)
• When calling through carrier Melon the CLI (calling party number) must not use the public number blocks
of Site A and B
• Carrier Orange is to be used for national calls
• Carrier Apple is to be used for calls to mobile
The requirements for the call router can be summarized as:
1. Route ISDN data calls to the local breakout.
2. Route inter-site calls to the opposite Patton device (node A to node B and vice versa).
3. Route international calls to carrier Melon.
4. Provide a fallback for all VoIP calls on the local breakout.
5. Route local calls to the local breakout.
6. Route national calls to carrier Orange.
7. Route mobile calls to carrier Apple.
8. Calls from the PSTN, nodes B and C are forwarded directly to the PBX.
The remainder of this example will focus on the configuration for Node A. The configuration for Node B can
be built accordingly. Node C has an even simpler configuration.
It is a good idea to specify the required call router elements and names before starting the configuration. A
sketch may be helpful:
• Bearer capability table named TAB-ISDN-SERVICE, needed for requirement 1.
• Called party number table named TAB-DEST-A, needed for requirements 2, 3, 6 and 7
• CAC insertion for Apple MAP-CAC-APPLE, needed to add a carrier access code for Apple
• CAC insertion for Orange MAP-CAC-ORANGE, needed to add carrier access code for Orange
• CLI replacement for Melon MAP-CLI-MELON, needed to add carrier access code for Melon
• PSTN interfaces IF-PBX-A and IF-LOCAL-BREAKOUT, needed for requirements 4, 5 and 8.
• SIP interface IF-NODE-C, needed for requirement 3.
Figure 106 shows the corresponding CS Context and call router elements in node A:
We assume that the CS interfaces have already been created and configured. So we can start directly with the
call router elements.
Since the command sequence is quite long it is useful to create the configuration offline and download it using
TFTP.
Note In the following lines the prompt is omitted as in a configuration file and for
better readability.
#-------------------------------------------------------------
# Call Router Config File
#-------------------------------------------------------------
context cs switch
#
# Hunt-group service "SVC-FALLBACK" to catch VoIP network errors
#
#
# Bearer capability routing table “TAB-ISDN-SERVICE”
#
#
# Called party number routing table “TAB-DEST-A”
#
#
# Number manipulation “CAC-APPLE”; add prefix 1055
#
#
# Number manipulation “CAC-ORANGE”; add prefix 1066
#
#
# Number manipulation “CLI-MELON”
# Truncate CLI to last 2 digits and add 08004455 prefix in front
#
Prior to downloading this file you should make sure there are no other tables and functions in the call router.
node(ctx-cs)[switch]#copy tftp://172.16.36.20/configs/SRconf.cfg running-config
Download...100%
Now we have to enable advanced call routing for outgoing calls and basic interface routing for incoming calls:
Calls arriving on the interface from the PBX are routed to the SVC-FALLBACK service while incoming calls
from the other interfaces are routed directly to the IF-PBX-A interface.
node(ctx-cs)[switch]#interface isdn IF-PBX-A
node(if-pstn)[IF-PBX-A]#route dest-service SVC-FALLBACK
node(if-pstn)[IF-PBX-A]#exit
node(ctx-cs)[switch]#interface isdn IF-LOCAL-BREAKOUT
node(if-isdn)[IF-LOCA~]#route dest-interface IF-PBX-A
node(if-isdn)[IF-LOCA~]#exit
The configuration is now complete. Prior to activating the configuration enable the call router debug monitor
to check the loading of the call router elements.
node(cfg)#debug call-router
node(cfg)#context cs
node(ctx-cs)[switch]#no shutdown
02:14:30 CR > Updating tables in 3 seconds...
02:14:33 CR > [switch] Reloading tables now
02:14:33 CR > [switch] Flushing all tables
02:14:33 CR > [switch] Loading table 'TAB-ISDN-SERVICE'
02:14:33 CR > [switch] Loading table 'TAB-DEST-A'
02:14:33 CR > [switch] Loading table 'CAC-APPLE'
02:14:33 CR > [switch] Loading table 'CAC-ORANGE'
02:14:33 CR > [switch] Loading table 'CLI-MELON'
02:14:33 CR > [switch] Loading table 'MAP-CAC-APPLE'
02:14:33 CR > [switch] Loading table 'MAP-CAC-ORANGE'
02:14:33 CR > [switch] Loading table 'MAP-CLI-MELON'
02:14:33 CR > [switch] Loading table 'IF-LOCAL-BREAKOUT-precall-service'
02:14:33 CR > [switch] Loading table 'IF-PBX-A-precall-service'
02:14:33 CR > [switch] Loading table 'IF-NODE-B-precall-service'
02:14:33 CR > [switch] Loading table 'IF-NODE-C-precall-service'
node(ctx-cs)[switch]#
Call reroute
The call-reroute commands enable acceptation and emission of rerouting requests.
Enable rerouting requests on ISDN. If a reroute is accepted, the participant who sends the reroute request is
disconnected and the call is established from the Patton device to the new destination.
Enable emission of rerouting requests on ISDN. To reroute a call, you must enter and leave the device
through the same ISDN interface and every service invoked must allow push-back.
Mode: context cs/interface isdn
Enable sending of “302 moved temporary” message on SIP. To reroute a call, you must enter and leave the
device through the same SIP gateway and every service invoked must allow push-back.
Mode: context cs/interface sip
Allow push-back
The push-back command allows or forbids rerouting of a call, if the service is invoked.
Chapter contents
Introduction ........................................................................................................................................................688
Enabling SIP Client ‘rport’ Support ....................................................................................................................688
Configuring the SIP User-Agent Header .............................................................................................................688
Configuring SIP Peer Flood Blocking..................................................................................................................688
Limit Packets to Prevent SIP Overload Condition...............................................................................................689
Locking DNS Records for SIP Requests ..............................................................................................................689
SIP Request URI Length Limitation....................................................................................................................690
687
Trinity Release 3.14.X Command Line Reference Guide 53 • Global SIP Configuration
Introduction
This chapter describes Trinity commands available under the global SIP configuration mode.
Introduction 688
Trinity Release 3.14.X Command Line Reference Guide 53 • Global SIP Configuration
limit and a timeout. If, for any given peer, the number of packets received during the defined time window
exceeds the limit, all further packets from that peer will be disregarded for the duration of the defined timeout.
The default parameters are dependent on the Patton device model, mostly on the CPU model and clock speed.
Mode: sip
Configuration:
• A SIP request (INVITE, REGISTER, SUBSCRIBE) is sent to a SIP server which requires authentication.
The next SIP request containing authentication credentials is potentially sent to another server based the
new DNS record list.
• A re-INVITE can also be sent to another server than the first INVITE.
In situations where this behavior is undesired, Trinity provides a global configuration option to lock the DNS
record list. This option is enabled by default and affects all relevant SIP requests: INVITE, REGISTER and
SUBSCRIBE.
Mode: sip
Chapter contents
Introduction ........................................................................................................................................................692
System Overview .................................................................................................................................................692
Default Behavior ...........................................................................................................................................693
Mode of operation ........................................................................................................................................693
SIP overload configuration task list......................................................................................................................695
Disable SIP message rejection ..............................................................................................................................695
Change the list of SIP messages rejected in an overload situation.........................................................................696
Reset the SIP overload behavior to the system defaults ........................................................................................696
Display the behavior of SIP in an overload situation............................................................................................697
Debug the behavior of SIP in an overload situation .............................................................................................699
691
Trinity Release 3.14.X Command Line Reference Guide 54 • SIP Overload Configuration
Introduction
This chapter describes how to configure the device's behavior in case of an overload situation, in particular,
how SIP calls shall be treated if the device is operated outside its nominal specification. In short, if the CPU
load rises above a critical margin, new SIP calls are rejected. The same happens if the available RAM drops
below a critical baseline.
Note The device automatically blocks new SIP calls in an overload situation by
default and is pre-configured with optimal margins that define when the
device is overloaded. Only experts should change this configuration. If you
are unsure about whether or how to configure the SIP overload feature,
please contact Patton's support team.
System Overview
As depicted in figure 107, the behavior of SIP in an overload condition depends on a state profile, which itself
is based on system variables and custom event expressions (see Chapter 11, “Programmable System-Event Con-
figuration” on page 158).
Figure 107. The SIP overload behavior uses the OVERLOAD state profile
From bottom to top these three blocks offer the following services:
• Programmable System Events: Trinity exposes many subsystem states as system variables (e.g. the link state
of IP interfaces (ip.ctx:ctx-name.if:if-name.up), whether the time has been synchronized over NTP
(ntp.sync), whether the system is up (sys.up), the available RAM (sys.ram.avail), etc.). The user may cre-
ate custom expressions that combine system variables and other expressions with the expression command,
e.g. expression UPNSYNC "sys.up && ntp.sync". Whenever a system variable or custom expression changes
its value a notification event is sent to all interesting applications, e.g. to the state profiles.
• State Profile: A state profile builds a simple state machine from system variables and custom expressions.
Change-notification events from those variables are used to describe the transitions between its states. The
device contains a built-in state profile called OVERLOAD. This overload state machine is in state NORMAL
if the device operates according its nominal specification. The state machine transitions to the WARNING
state if the CPU utilization was pretty high for a minute (default 80%)The state machine further transi-
tions to the CRIT- ICAL state if the CPU utilization was almost 100% for a minute (default 95%).
Introduction 692
Trinity Release 3.14.X Command Line Reference Guide 54 • SIP Overload Configuration
• SIP Overload Behavior: On top of these two components the SIP overload behavior links to a state profile
(to the OVERLOAD profile by default) and defines the behavior of the SIP user agent in each state (NOR-
MAL, WARNING, and CRITICAL). By default new SIP calls are rejected in the WARNING state whereas
most SIP requests are rejected in the CRITICAL state. Only requests to close a call are passed in the latter
state. See table 35 for more details.
This chapter explains how to configure the SIP overload behavior based on an existing state profile. See Chap-
ter 54, “SIP Overload Configuration” on page 691 for information on how to change the conditions for the
state transitions or how to create a new state profile.
Default Behavior
The following table lists the default behavior of the SIP user agent in any of the overload states:
CRITICAL The Patton device rejects all incoming SIP requests. Only requests required to
drop a call are passed: ACK, BYE, CANCEL. The Patton device rejects all
incoming SIP responses. Only incoming responses to the following requests are
still passed to the user agent application: ACK, BYE, CANCEL.
As in the WARNING state the Patton device does not place outgoing SIP calls
anymore.
If the default configuration does not suit your needs please follow the procedure outlined in the next section to
change the overload behavior.
Rejecting SIP messages might look strange. In an overload situation however, if the device is operated outside
its nominal specification, rejecting SIP messages makes sure that the following properties are retained:
To reject calls if the CPU load is too high allows the operator to still re-configure and monitor the device if
the entire CPU capacity is used for other tasks (e.g. handling SIP calls). Each SIP message requires some CPU
power to be processes. If the rate of processed SIP request becomes too high, the SIP user agent would consume
all CPU power and the user interfaces (CLI, WebUI) would be slowed down drastically. By rejecting SIP calls if
the CPU utilization is too high the device stays responsive to management operations.
Mode of operation
There are two hooks in the SIP user agent that filter all incoming messages and outgoing calls (see figure 108
on page 694). All incoming SIP messages have to pass the inbound SIP message filter before they reach the SIP
gateway (user agent). All outbound SIP calls routed by the call-router to a SIP interface have to pass the out-
bound SIP call filter. Whether or not those two filters permit or deny the message/call to pass is configured in
the sip / overload CLI configuration mode. If you deny INVITE requests, incoming INVITE messages as well
as outgoing calls are rejected. If you deny SIP requests other than INVITE, only those received requests are
affected (no outbound message filter is in place).
Figure 109 on page 695 depicts in detail what happens to an incoming SIP request or an outgoing SIP call
when it reaches the inbound or outbound SIP message or call filter, respectively. The SIP overload configura-
tion consists of a set of Access Control Lists (ACL) for SIP methods (INVITE, BYE, etc.). There is a separate
SIP ACL for every state of the used state profile. Thus if you are using the default OVERLOAD state profile
there are separate SIP ACLs for the three states NORMAL, WARNING, and CRITICAL. A SIP ACL consists of
a set of rules each describing whether a set of SIP methods shall be permitted (passed) or denied (rejected).
A SIP message is handed over to the ACL that corresponds to the current state of the used state profile. For
example if the device is in WARNING state, the first rule rejects the message if it is an INVITE, OPTION,
PING, REGISTER, or SUBSCRIBE request or a response to such a request. Since this is the only rule in the
WARNING-ACL the message is permitted (passed to the user agent). Actually, all message not explicitly men-
tioned in the SIP ACL are permitted. If you want to deny all un-mentioned messages in a state you have to
explicitly permit some messages and append a deny-all rule at the end (see the SIP ACL for the CRITICAL
state).
Note The SIP ACL works in a similar way than the Access Control List for data
packets (see Chapter 40, “Access Control List Configuration” on page 486)
but solely operates on incoming SIP packets after they have passed the data
ACL.
The use [no] profile state command enables or disables the SIP overload feature; there is no explicit shutdown
command.
Mode: Configure
Example: Reset both the default OVERLOAD state profile and the SIP overload behavior to the system-
default configuration.
node>enable
node#configure
node(cfg)#reset profile state OVERLOAD
node(cfg)#sip
node(sip)#reset overload
Behavior
--------
State: CRITICAL
---------------
Configured Rules
----------------
permit: ACK, BYE, CANCEL
deny: ACK, BYE, CANCEL, INFO, INVITE, MESSAGE, NOTIFY,
OPTIONS, PING, PRACK, PUBLISH, REFER, REGISTER,
SERVICE, SUBSCRIBE, UPDATE
---------------------
ACK: permit
BYE: permit
CANCEL: permit
INFO: deny
INVITE: deny
MESSAGE: deny
NOTIFY: deny
OPTIONS: deny
PING: deny
PRACK: deny
PUBLISH: deny
REFER: deny
REGISTER: deny
SERVICE: deny
SUBSCRIBE: deny
UPDATE: deny
State: WARNING
--------------
Configured Rules
----------------
deny: INVITE, OPTIONS, PING, REGISTER, SUBSCRIBE
Statistics
----------
The first section shows the linked State Profile and the Current State of the linked state machine.
The second section lists all states mentioned in the SIP overload configuration. For each state the configured
SIP ACL rules are printed. In addition the show command displays the compiled message table that assigns
each SIP request an action (permit or deny).
Finally, the third section displays statistics about how many messages have been received and how many of
those have been permitted or denied. Incoming SIP Requests refer to request messages filtered at the inbound
SIP message filter hook (see figure 109 on page 695) whereas Incoming SIP Responses are responses received at
the same hook. Outgoing SIP Requests refer to outbound SIP calls received from the call-router that are handled
on the outbound SIP call filter.
Note If the SIP overload feature is disabled (no profile state command has been
entered) the SIP packets are not counted anymore.
Example: Observe how an incoming SIP call is rejected in an overload situation (state CRITICAL).
node>debug call-signaling detail 3
18:47:00.000 SIP-SIG # [Overload] Received INVITE request in state CRITICAL
18:47:00.000 SIP-SIG # [Overload] deny SIP packet
18:47:00.000 SIP-SIG # [Overload] Received ACK request in state CRITICAL
18:47:00.000 SIP-SIG # [Overload] permit SIP packet
18:47:00.000 SIP-SIG # [STACK] UNMATCHED ACK REQUEST
Note The UNMATCHED ACK REQUEST message indicates that the SIP stack
received an ACK message without receiving an INVITE message before.
This is because we denied INVITE requests but permitted ACK requests, a
behavior required for properly terminating calls in an overload situation.
Chapter contents
Introduction ........................................................................................................................................................701
SIP Interface Configuration Task List .................................................................................................................702
Binding the Interface to a SIP Gateway .........................................................................................................702
Configuring a Remote Host ..........................................................................................................................703
Managing trusted hosts ...........................................................................................................................703
Configuring a Local Host (Optional) ............................................................................................................703
Using an Alternate VoIP Profile (Optional) ..................................................................................................704
Using an Alternate SIP Profile (Optional) .....................................................................................................704
Using an Alternate Tone-Set Profile (Optional) ............................................................................................705
Configuring Early Call Connect/Disconnect (Optional) ...............................................................................705
Enable/Disable Early-proceeding on SIP Interface ........................................................................................706
Early Media Behavior ....................................................................................................................................706
Configuring Address Translation (Optional) .................................................................................................706
Mapping call-control properties in SIP headers .......................................................................................706
Mapping SIP headers to call-control properties .......................................................................................707
Configuring ISDN redirecting number tunneling over SIP .....................................................................707
Updating caller address parameters ..........................................................................................................708
SIP diversion header ................................................................................................................................709
Transmit Direction ........................................................................................................................... 709
Receive Direction .............................................................................................................................. 710
SIP Calling Party Number Handling ............................................................................................................710
Enabling SIP RFC Privacy, Asserted-identity and Preferred-Identity headers (RFC3323/RFC3325) ......710
SIP REFER Transmission (& ISDN Explicit Call Transfer support) ............................................................713
AOC Over SIP (Optional) ............................................................................................................................714
Enabling the Session Timer (Optional) .........................................................................................................715
Enabling the SIP Penalty-box Feature (Optional) .........................................................................................715
Initiating a New SIP Session for Redirected SIP Calls (Optional) .................................................................716
Rerouting Calls from SIP (Optional) ............................................................................................................716
Configuring the SIP Hold Method (Optional) .............................................................................................717
Configuring SIP Overlap Dialing (Optional) ................................................................................................717
Configuring PRACK for Reliable Provisional Responses (optional) ..............................................................718
Configuring History-Info in SIP ...................................................................................................................719
Enabling NAT Traversal for SIP INVITE Messages .....................................................................................719
Accepting Re-invite After Reboot ..................................................................................................................719
700
Trinity Release 3.14.X Command Line Reference Guide 55 • SIP Interface Configuration
Introduction
This chapter provides an overview of SIP interfaces used by context SIP gateways and describes the specific
tasks involved in their configuration. This chapter does not explain the basic configuration steps required for all
CS interfaces. See Chapter 48, “CS Interface Configuration” on page 572 for information about configuring
basic CS interfaces.
Within the CS context, a SIP interface is a special type of CS interface providing call routing for incoming and
outgoing calls to and from the context SIP gateway (see figure 110).
A SIP interface is a CS interface type that is responsible for the address translation between the SIP environ-
ment and the call control. It provides configurable translation rules that define which parameter of which SIP
header has to be translated to call control properties and vice versa. In addition, it offers VoIP settings and the
possibility to configure SIP supplementary services like Call Transfer, Call Reroute or Session Timer. All SIP
interfaces must be explicitly bound to a context SIP gateway. Calls that are routed from the Context CS to one
of the SIP interfaces will be forwarded for call establishment to the context SIP gateway to which the SIP inter-
face is bound. All of the parameters configured in the SIP interface will be applied to the forwarded call.
Introduction 701
Trinity Release 3.14.X Command Line Reference Guide 55 • SIP Interface Configuration
in a SIP network setup where no DNS names are involved and only IP addresses applied. If no local host name
has been specified, the IP address of the outgoing IP interface will be taken as host part of the From-Header-
URI.
There are some exceptions where a local host name must be entered. One exception is if the bound gateway has
two transport interfaces and the From-Header-URI call outbound properties have been configured. Such a call
outbound property is the outbound proxy. To find the right identity in the location service, the From-Header-
URI must exist. But, if there is more than one transport interface, it is not clear which one will be used to send
the request because the proxy influences the routing. In such a case, it is recommended that the user configures
the local host name and knows which IP interface the request should be sent over.
The SIP server expects its own IP address in the From-Header-URI because of security or routing reasons. This
can be solved by manually entering a local host name.
Mode: Interface SIP
When a profile has been specified on the interface, it is possible to provide a special one for specific identities or
group of identities. It can be configured in location service identities for call inbound and call outbound. See
Chapter 51, “Location Service” on page 591 for details about identities and SIP profile configurations. The
identity lookup to find a possible configured SIP profile will always be applied to the remote SIP URI. For out-
going calls, the SIP Request-URI will be taken. For incoming calls, the SIP From-URI will be taken.
Mode: Interface SIP
Note The SIP interface of the call-router must be configured to take the caller
addresses parameters for incoming calls from the P-Asserted-Identity header.
See “Enabling SIP RFC Privacy, Asserted-identity and Preferred-Identity
headers (RFC3323/RFC3325)” on page 710 for more information.
Receive Direction. For receiving of the Diversion Header, an incoming address translation expression must be
configured on the sip interface. Because several methods for transmitting redirecting information are available,
this expression specifies that they must be taken from the Diversion Header when providing them to the call
control.
Mode: Interface SIP
• fix: Sets a preconfigured static number as a first calling party number. The second calling party number is
going to be empty.
• from-header: Takes the first calling party number from “From” header and the second from Identity
header.
• identity-header: Takes both calling party numbers from Identity headers. If they do not exist then the fall-
back algorithm will take the first calling party number from the “From” header.
• single-primary: Sends only the first number, if it exists.
• single-secondary: Sends only the second number, if it exists. Otherwise, only the first number is sent, if it
exists.
• single-user: Sends only the first user provided number, if it exists. If neither users are provided then the first
is sent, if it exists.
• single-network: Sends only the first network provided number, if it exists. If neither users are provided then
the first is sent, it if exists.
• double-primary-first: Sends both numbers, if they exist. The order remains the same (transparent).
• double-secondary-first: Sends both numbers, if they exist. The order is reversed.
• double-user-first: Sends both numbers, if they exist. The first number is going to be the first user provided.
If neither users are provided then it will use the natural order.
• double-network-first: Sends both numbers, if they exist. The first number is going to be the first user pro-
vided. If neither networks are provided then it will use the natural order.
The following procedure disables the push-back mechanism on a SIP interface. No REFER message is sent
when a call is detected that is looped internally.
The following commands have to be used to receive and send Advice Of Charge in ASN1 or XML format.
Please note that ASN1 format is only supported during a call.
Mode: Interface SIP
Now two new Action Script events are also generated with the penalty box feature:
• OPTIONS_TARGET_REACHABLE
• OPTIONS_TARGET_NOT_REACHABLE
OPTIONS_TARGET_REACHABLE will be triggered when the Patton device receives an answer to the SIP
OPTIONS sent to the remote for the first time. The OPTIONS_TARGET_NOT_REACHABLE event is trig-
gered when the first event has already been triggered and no answer is received by the SIP OPTIONS.
These two new Action Script events can be used to change the configuration dynamically according to the
reachability of SIP remotes.
1. Configure the penalty-box
Mode: context cs <cs-name>
2. Configure the Action Script (see section “SIP Interface Events” on page 83.
UAC Side:
Remote Peer
no reliability supported required
Remote Peer
no prack accept non-reliable non-reliable failure
Local prack accept supported non-reliable non-reliable reliable
configuration prack accept preferred non-reliable reliable reliable
prack accept required failure reliable reliable
Limitations:
The following scenarios are not supported:
• Reliable Provisional Responses and PRACK are not supported for any re-INVITE scenarios.
• If an INVITE request is sent to a stateless proxy who forks the request to several UAS, then the SIP protocol
on the device cannot correctly handle all Reliable Provisional Responses it receives from all the UAS. Hence,
such a scenario will not work.
Mode: SIP
Chapter contents
Introduction ........................................................................................................................................................722
Background ..................................................................................................................................................722
Operation Principle ......................................................................................................................................722
SIP-Survivability Configuration Tasks.................................................................................................................724
Set up an Ethernet bridge ....................................................................................................................................725
Create a Location Service.....................................................................................................................................725
Create a SIP Gateway ..........................................................................................................................................726
Configure Call-Routing.......................................................................................................................................726
Configure the SIP-Survivability Service ...............................................................................................................727
Configure the SIP-Survivability Agent.................................................................................................................727
Essential Configuration .................................................................................................................................728
Optional commands for tuning the observation of SIP messages .........................................................................728
Optional commands for tuning the observation of DNS messages ................................................................730
Inspect the SIP-Survivability Status ...............................................................................................................733
Debugging the SIP Survivability Agent .........................................................................................................736
721
Trinity Release 3.14.X Command Line Reference Guide 56 • SIP Survivability
Introduction
This chapter describes how to set up the SIP survivability agent that is built into the Patton device. The surviv-
ability agent passively monitors ongoing SIP transactions between a local (enterprise) network and a remote
(hosted) SIP service on an Ethernet bridge and learns the contact addresses of registering SIP phones and the
registered-to SIP services. When a remote SIP service becomes unreachable, the survivability agent takes over
the responsibility of the service and connects the SIP sessions locally, allowing station-to-station, emergency,
and external breakout calls.
Background
A recent trend for enterprises is to out-source their SIP-based Private Branch Exchange (SIP-PBX) into the
cloud. VoIP providers have started to offer hosted PBX and UC services where internal and external phone calls
are switched in the provider's datacenter. However, the advantage of delegating the operation of an enterprise
PBX to a professional service provider comes with a down-side: A hosted service running in a remote datacen-
ter is naturally susceptible to outages of the enterprise's WAN link to the Internet. This leads to the following
negative consequences: First, station-to-station calls within the company are no longer possible during a WAN-
link outage. Second, and more importantly, emergency E911 calls are not delivered any longer if the WAN-link
is down or if the hosted PBX service is unreachable for another reason.
Several survivability solutions have yet been proposed to mitigate this problem: One approach is to set up a
backup WAN link that becomes active if the primary link goes down. This approach provides a redundant path
on the network layer (IP). However, such a layer-three redundancy solution is not able to prioritize emergency
VoIP calls over data traffic, for example. Since the redundant link often exhibits a lower bandwidth than the
primary link it is of utter importance to prioritize important traffic such as emergency calls.
Another, typical solution suggests installing a Session-Border Controller (SBC) at the edge of the enterprise
network. The SBC either acts as an application-level gateway (e.g. SIP back-to-back User Agent (B2B-UA)) or
as a SIP application proxy. By recognizing SIP signaling flows, an SBC is able to detect that a remote SIP ser-
vice is no longer reachable and switch the SIP sessions over an alternate route, e.g. over a backup WAN link or
via a telephony gateway to the PSTN network. This is a reliable way of granting that emergency calls are still
possible. The problem with this approach is that all participating endpoints within the enterprise have to route
the SIP sessions over that SBC. That is, SIP phones must be re-configured to connect to the SBC instead of the
hosted SIP service or use the SBC as an outbound proxy. Experience showed that many enterprises first deploy
a hosted telephony service and take care of redundancy only later, such that potentially thousands of phones
must be reconfigured.
What is required by many enterprises is a network function that can be looped in between the enterprise LAN
and the Internet access router and observes the SIP traffic between the local SIP endpoints (e.g. phones) and
the remote SIP servers in a non-intrusive way, i.e. by not modifying any of the passing SIP messages. The
device should automatically learn the addresses of the SIP services as well as the contact addresses of the local
endpoints in the LAN. It should continuously probe whether the detected SIP services are reachable or not.
Only in the event of an unreachable SIP service should the device interact with the SIP endpoints in order to
connect local station-to-station calls (from LAN endpoint to LAN endpoint) and provide an alternative route
for emergency and other external calls (e.g. over a PSTN breakout gateway).
Operation Principle
The SIP survivability agent is a software component built into the Trinity software. As depicted in figure 113
on page 723, it is connected to an Ethernet bridge that is looped-in between the enterprise LAN and the Inter-
net Access Device (IAD) or enterprise edge router. Looped in between the enterprise LAN and the IAD, the
Introduction 722
Trinity Release 3.14.X Command Line Reference Guide 56 • SIP Survivability
agent observes SIP traffic, detects if a SIP service becomes unreachable, and in this case, takes over all SIP calls,
connects them locally or places outbound calls over an alternative network (e.g. PSTN).
Figure 113. The Patton device contains a survivability agent software component.
The Patton device containing the Survivability Agent supports the following features:
• The Patton device transparently passes all traffic, including all SIP packets, from the enterprise LAN to the
Internet and vice versa through an Ethernet bridge. In normal mode (if the SIP service is reachable), the Pat-
ton device does not modify any of the bridged packets to achieve full service transparency.
• The Patton device sends a duplicate of all forwarded SIP packets internally to the Survivability Agent mod-
ule.
• The Survivability Agent learns from the observed REGISTER requests
- The set of all SIP services1 in the Internet from the Request-URI, and
- The set of all SIP clients in the enterprise LAN from the Contact-header.
• The Survivability Agent continuously checks the reachability of the learned SIP services by sending
OPTIONS pings and updates a local database. Reachability states: unknown, up, down.
• The Survivability Agent maintains a registration database of all learned SIP clients that acts as backup regis-
trar.
1. Note that we are making a distinction between a "SIP service" and a "SIP server". We use the term "SIP
server" for a physical or virtual machine running the SIP protocol, acting as call switch or PBX. A SIP server
typically is addressed by a unique IP address or hostname (e.g. sip1.example.com). A "SIP service" on the
other hand is offered at a Fully-Qualified Domain Name (FQDN), typically resolved with a DNS service
record (e.g. example.com). Requests to a SIP service may be distributed to multiple servers for redundancy
and load-balancing reasons. The SIP Survivability feature checks the reachability of the "SIP service", i.e.
checks whether OPTIONS requests sent to the service URI are answered by the service. Hence, even if a SIP
server is down, the service may still be available if there is a redundant server.
Introduction 723
Trinity Release 3.14.X Command Line Reference Guide 56 • SIP Survivability
• If a SIP request (e.g. INVITE) is observed for a SIP service that is reachable, the Survivability Agent does
not interfere at all.
• Otherwise, if a SIP request is observed for a SIP service that is unreachable, the Survivability Agent responds
appropriately:
- REGISTER requests are answered with "200 OK" (no authentication required).
- CANCEL requests are answered with "200 OK".
- ACK requests are ignored.
- INVITE requests are answered with "302 Temporarily Moved", redirecting the call to the local SIP UA.
This redirected call ends up in the Trinity Call-Router (see chapter 52, “Call Router Configuration” on
page 612, which can be configured to lookup the backup registration database to connect local station-to-
station calls or to send a call to an alternative network such as POTS, ISDN, another SIP trunk, etc.
• The Survivability Agent also sends a duplicate of all forwarded DNS responses to the Survivability Agent
module.
• The Survivability Agent learns from the observed DNS responses
- The set of all name servers in the Internet
- The resource records resolved by any of the clients in the LAN
• The Survivability Agent matches the learned DNS resource records with the observed SIP services to reduce
the set of cached DNS records and archives them to persistent memory. This allows the Patton device to act
as a DNS caching server in case of a WAN link outage even if after a reboot the WAN link is still down.
Note In contrast to other SIP survivability solutions, our solution neither is a B2B-
UA nor a SIP proxy. That is, if a SIP service is reachable, the Patton devices
does not modify passing SIP packets in any way. The advantage of this
approach is that the Patton device does not have to understand any SIP
extension (e.g. proprietary X-headers). Any proprietary SIP header or non-
standard message-exchange behavior is supported. Only in the event of an
unreachable SIP service does the Trinity device interfere with the SIP end-
points, and provides the service of connecting local calls and placing emer-
gency and other outbound calls over an alternative telephony network.
All but the last task are configuring non-survivability components that are documented in other chapters of
this document. However, we provide a complete example here to help for a quick deployment.
interface LAN
ipaddress LAN dhcp
context bridge
bridge-group BRIDGE
no shutdown
bind interface ROUTER LAN
port ethernet 0 0
bind bridge-group BRIDGE
no shutdown
port ethernet 0 1
bind bridge-group BRIDGE
no shutdown
Note This example uses DHCP to allocate an IP address from the LAN DHCP
server. This should also provide the Patton device with a default route and a
list of name-servers to use. If DHCP is not enabled in your LAN you should
configure a static IP address; but don't forget to also configure a default
route and a list of reachable name-servers manually.
identity-group DEFAULT
registration inbound
We are not restricting the domain name ('match-any-domain') such that registrations to all SIP servers can be
cached locally. Like this the Survivability Agent is able to track registrations for multiple SIP domains at the
same time. If you want to restrict the registered phones, please configure the domain-name accordingly.
interface IF
transport-protocol udp+tcp 5060
no transport-protocol tls
bind ipaddress ROUTER LAN LAN # created in step 1
Configure Call-Routing
If a call reaches the SIP Gateway configured above, we are in fallback mode. With the call-router you can spec-
ify how to handle such a call. You have to create one SIP interface (e.g. IF_SIP_SURV) that is bound to the SIP
Gateway (SIP_GW_SURV from step 3) over which fallback calls are received. Typically, we want to route those
calls to a hunt-group that first checks in the local backup registrar (LS_SURV from step 2) for the destination
address of the call. If a phone has been registered to the call's destination number it will be routed back to the
incoming interface. Otherwise, we may treat the call as external call and route it to a breakout interface
(IF_ISDN_BREAKOUT), for example.
context cs SWITCH
no shutdown
port bri 0 0
q921
protocol pmp
uni-side auto
q931
uni-side user
bind interface SWITCH IF_ISDN_BREAKOUT
port bri 0 0
shutdown
These two are the only essential commands you have to configure in the 'sip-survivability' mode. However,
there are more commands in this mode that can be used to tune the Survivability Agent's functionality. Those
commands are discussed in detail in the next section.
Essential Configuration
This procedure describes how to Bind to an existing SIP Gateway and enable the survivability service.
Mode: Configure
Command Purpose
node(cfg)# sip-survivability Enters the survivability configuration mode. All com-
mands related to the Survivability Agent are located in
this mode.
node(sip-surv) # [reset|no] bind context sip- Binds to an existing SIP gateway called gw-name. The
gateway gw-name gateway must fulfill the following requirements:
• The bound SIP gateway must be bound to a Loca-
tion Service
• There must exist one gateway interface that is bound
to an IP interface address.
• An Ethernet bridge-group must bind to that IP inter-
face.
• There must exist at least one SIP interface in context
cs that is bound to the SIP gateway.
• The bound SIP gateway must be enabled ('no shut-
down')
node(sip-surv) # [reset|no] shutdown Starts or stops the SIP Survivability Agent.
Command Purpose
node(sip-surv) # sip-service Enters the configuration mode to configure SIP observa-
tion parameters.
node(ss-sip-service) # [reset] ports udp Configures a range of UDP ports on which the observed
(port-range | all) SIP services are listening for incoming SIP requests.
Most SIP services listen on UDP port 5060, which is why
this is the default configuration.
• port-range: Either a single port number (default:
5060) or a range of ports (e.g. 5060..5069)
• all: Listens on all UDP ports (1..65535) for SIP mes-
sages.
Warning: This leads to a severe performance degradation of
the Ethernet bridge and of the device in general. You may
want to use this setting initially to let the device learn all
SIP services on all UDP ports but you should restrict the
port range once you know the ports in use. (See the 'show
sip-survivability' command below to print a list of all
learned SIP services.)
node(ss-sip-service) # [reset|no] options- When this command is enabled (default), the Survivabil-
ping [interval interval] [request-timeout time- ity Agent periodically sends OPTIONS requests to all
out] learned SIP services to check whether they are reach-
able. This command configures the interval of those
pings and the time between sending an OPTIONS
request and expecting a response.
• interval: Interval in seconds of sending OPTIONS
ping requests to all learned SIP services (default:
30s)
• timeout: If after sending an OPTIONS request to a
SIP service the Patton device does not receive a
response within this timeout in seconds, the failure
counter is incremented (default: 10s). If the failure
counter reaches the value configured with the 'failure-
count' command (see below) the SIP service is con-
sidered unreachable and all INVITE messages to that
service will be redirected to the bound SIP gateway.
Command Purpose
node(ss-sip-service) # [reset] failure-count Configures after how many unanswered OPTIONS
count requests a SIP service is considered unreachable. The
default setting is 1, which means that the first OPTIONS
ping that remains unanswered will cause all INVITE
messages to that service to be redirected to the bound
SIP gateway.
Command Purpose
node(sip-surv) # name-server Enters the configuration mode to configure DNS-cache
parameters.
node(ss-name-server) # [reset] ports udp Configures a range of UDP ports on which the observed
(port-range | all) name servers are listening for incoming DNS queries.
Most DNS servers listen on UDP port 53, which is why
this is the default configuration.
• port-range: Either a single port number (e.g. 53) or a
range of ports (e.g. 53..55)
• all: Listens on all UDP ports (1..65535) for DNS mes-
sages.
Warning: This leads to a severe performance degradation of
the Ethernet bridge and of the device in general. You may
want to use this setting initially to let the device learn all
name servers on all UDP ports but you want to restrict the
port range once you know the ports. (See the 'show sip-sur-
vivability dns' command below to print a list of all learned
name servers.)
node(ss-sip-service) # [reset|no] passive Configures the timeout between a bridged DNS query
[request-timeout timeout] from the LAN and the observed DNS response from the
name server. If the name server does not respond within
the specified timeout, the failure counter is incremented.
If the failure counter reaches the value configured with
the 'failure-count' command (see below) the DNS server
is considered unreachable and all DNS queries from the
LAN are answered with entries from the local DNS
cache.
To disable the DNS cache, use the inverted form of the
command ('no passive').
Command Purpose
node(ss-name-server) #[reset|no] query-ping When this command is enabled (default), the Survivabil-
[interval interval] ity Agent periodically sends DNS dummy queries to all
learned name servers to check whether they are reach-
[request-timeout timeout]
able. This command configures the interval of those
[forced] pings and the time between sending an DNS query and
expecting a response.
• interval: Interval in seconds of sending DNS ping
queries to all learned SIP services (default: 30s)
• timeout: If after sending a DNS query to a name
server the Patton device does not receive a response
within this timeout in seconds, the failure counter is
incremented (default: 10s). If the failure counter
reaches the value configured with the 'failure-count'
command (see below) the name server is considered
unreachable and all DNS queries from the LAN to
that name server will be answered from the local
DNS cache.
• forced: If this option is specified, DNS ping queries
are always sent after the specified interval. If this
option is not specified, the pings are only sent if no
device in the LAN was sending a query to the same
name server within the configured interval (default:
disabled)
node(ss-name-server) # [reset] failure-count Configures after how many unanswered DNS queries a
count name server is considered unreachable. The default set-
ting is 1, which means that the first query ping that
remains unanswered will cause all future queries to that
name server to be answered from the local DNS cache.
node(ss-name-server) # [reset|no] per- Configures which resource records are stored per-
sistent-cache [sip-related|all] sistently to survive a device reboot.
• disabled: If the inverted form of the command is
entered ('no persistent-cache') the DNS cache is not
stored to persistent memory. After a reboot, the Pat-
ton device will not be able to respond to DNS queries
from the LAN.
• all: All resource records are stored to persistent
memory. This setting is not recommended as it could
fill the persistent memory of the device quickly.
• sip-related: Only stores resource records that are
related to SIP services to persistent memory
(default).
Command Purpose
> show sip-survivability [detail detail-level] Displays the status of the SIP-Survivability Agent, which
[continuously] includes a list of observed SIP services and a list of reg-
istered SIP endpoints.
• detail-level: Determines how much information
details are printed (default: 1)
1: Tabular output of SIP services and registered SIP
endpoints
2: More information about the configuration of the
feature and status of the SIP services
3: Full status information
• full-detail: Short hand for 'detail 3'
• continuously: Reprints the output every second until
Ctrl-C is pressed
Local Registrations
===================
Example: Use the show command to see whether the required license is installed.
> show sip-survivability
SIP Survivability
=================
Command Purpose
> show sip-survivability dns [detail detail- Displays the status of the DNS-Survivability Agent,
level] [continuously] which includes a list of observed name servers.
• detail-level: Determines how much information
details are printed (default: 1)
1: Tabular output of name servers and whether they
are reachable
2: More information about the configuration of the
feature and status of the name servers
3: Full status information
• full-detail: Short hand for 'detail 3'
• continuously: Reprints the output every second until
Ctrl-C is pressed
Command Purpose
> show sip-survivability dns cache [continu- Displays the DNS cache and whether the cached
ously] resource records are archived to persistent memory or
not.
• continuously: Reprints the output every second until
Ctrl-C is pressed
Server: 172.16.30.10:53
-----------------------
Server: 172.16.30.20:53
-----------------------
Server: 8.8.8.8:53
------------------
PATTON.IO. A IN
PATTON.IO. AAAA IN
Procedure: Flush the SIP-Survivability cache (SIP services, SIP registrations and DNS cache)
Mode: Operator Exec
Command Purpose
> erase sip-survivability (sip | dns | all) Flushes the SIP-survivability cache.
• sip: Clears the list of observed SIP services and reg-
istered SIP endpoints. If the SIP-survivability feature
is still enabled, the cache will soon be populated
again with the learned SIP services.
• dns: Clears the list of observed name servers and
flushes the local DNS cache. IF the SIP-survivability
feature is still enabled, the cache will soon be popu-
lated again with the learned name servers and stored
resource records.
• all: Clears both, the SIP and the DNS lists and
caches.
Command Purpose
> [no] debug sip-survivability (detail detail- Enables/Disables the print-out of debug messages
level | full-detail) related to the SIP-Survivability Agent, both SIP- and
DNS-related.
• detail-level:
1: New SIP services and new name servers
observed, changes of the reachability state of the
services and servers, archived DNS cache entries.
2: Additionally, state-machine events and actions
3: Additionally, one-line messages of received and
sent messages and how they are processed.
Note Observed SIP messages are printed only with the 'sip-transport' debug mon-
itor, which however is included in the 'essential-voip' debug monitor as well.
Chapter contents
Introduction ........................................................................................................................................................740
Transport Layer Security (TLS) ...........................................................................................................................740
TLS configuration task list ............................................................................................................................740
Install license .................................................................................................................................................740
Configure URI scheme .................................................................................................................................741
URI Scheme for Calls ..............................................................................................................................741
SIP .................................................................................................................................................... 741
SIPS .................................................................................................................................................. 741
Transparent....................................................................................................................................... 741
URI Scheme for Registration ..................................................................................................................742
SIP .................................................................................................................................................... 742
SIPS .................................................................................................................................................. 742
URI Scheme for Re-routed Calls .............................................................................................................742
Rerouted ........................................................................................................................................... 742
Original............................................................................................................................................. 742
URI Scheme for Transferred Calls ...........................................................................................................743
Configure Time ............................................................................................................................................743
Configure Public-Key Infrastructure (PKI) ...................................................................................................743
About TLS Profiles .......................................................................................................................................743
Basic Operation Principle of TLS .................................................................................................................744
TLS without authentication (default behavior) ........................................................................................744
TLS authentication with self-signed certificates .......................................................................................744
TLS Authentication with 3rd Party Signed Certificates ...........................................................................745
TLS Profile Default .................................................................................................................................745
Configure TLS Profile ..................................................................................................................................745
Creating a TLS profile and enter configuration mode .............................................................................745
Private key ...............................................................................................................................................746
Own-certificate chain ..............................................................................................................................746
Trusted Certificates .................................................................................................................................747
Authentication ........................................................................................................................................748
Cipher Suites ...........................................................................................................................................749
Compression ...........................................................................................................................................750
Protocol ..................................................................................................................................................750
Configure TLS profile usage .........................................................................................................................750
Configure TLS transport ...............................................................................................................................750
Configure transport enforcement or fallback .................................................................................................751
Configure Non-Default TLS Port Usage .......................................................................................................752
Configure SRTP .....................................................................................................................................754
Security consideration: Why you should use mutual TLS authentication ......................................................755
738
Trinity Release 3.14.X Command Line Reference Guide 57 • TLS Configuration for SIP
739
Trinity Release 3.14.X Command Line Reference Guide 57 • TLS Configuration for SIP
Introduction
This chapter provides overviews and describes the tasks involved in configuring the following;
• Trinity’s Transport Layer Security (TLS) capabilities for SIP (see section “Transport Layer Security (TLS)”).
• Trinity’s Secure Real-Time Prtotocol (SRTP) capabilities (see section “Secure Real-Time Protocol (SRTP)
Configuration” on page 764).
Install license
Voice security is a licensed option for Patton devices. You need to have a “sip-tls-srtp” license installed on your
device before you are able to configure and use SRTP and TLS.
Introduction 740
Trinity Release 3.14.X Command Line Reference Guide 57 • TLS Configuration for SIP
Note If you are using SRTP it is strongly recommended to signal calls over a secure
TLS connection by using the SIPs URI scheme. This is because the SRTP
session’s master key is exchanged in the SDP portion of SIP signaling mes-
sages. If an insecure transport is used for SIP signaling, an eavesdropper may
read the SRTP master key and listen to the exchanged RTP voice packets.
See “Configure SRTP” below for more information.
Note For registration, the transparent option is not available, because there isn’t
any incoming source for registrations.
• SIP
• SIPS
SIP. The SIP URI scheme defines an insecure SIP URI, for example “sip:200@patton.com”. The registration
messages and incoming calls to the registered contact may travel over any secure or non-secure transport.
SIPS. The SIPS URI scheme defines a secure SIP URI, for example “sips:200@patton.com”. The registration
messages and incoming calls to the registered contact must use the secure transport protocol TLS.
Mode: Registration outbound
Configure Time
The system time must be configured before you can work with certificates, and enabling the PKI and TLS. It is
also very important to set the correct offset of the local time with respect to the UTC time, due to the validity
of certificates expressed in UTC time. The configuration option that works best is to update the UTC time
from a configured SNTP server and to derive the local time by configuring the static offset of the local time
zone with respect to UTC. If a SNTP server is not available, you should first configure the offset of the local
time zone and afterwards set the local time with the et clock command.
Note It is important to also correctly configure the time of remote devices, which
are having TLS connections to our device.
your device has to use different PKI keys or certificates to talk to different SIP servers, you have to configure
multiple SIP gateway instances, each bound to its own TLS profile.
Note If such a TLS profile is bound to a SIP gateway, we send this self-signed cer-
tificate to identify ourselves. The remote TLS endpoints then are able to ver-
ify whether this device’s IP address or domain name matches the sent
certificate. In order for that to be secure, you also have to export the self-
signed certificate and import it to all remote devices as a trusted certificate.
If the device authenticates remote devices, it needs to import the certificates of all remote devices and list them
as trusted certificates in its TLS profile. In addition, it will switch-on incoming and outgoing authentication to
verify whether the remote certificate is derived from one of the trusted certificates listed in the TLS profile. The
outgoing authentication process verifies that the remote server endpoint’s IP address or domain name matches
the common name in the received certificate.
The parameter name is the identifier by which the profile will be known. Entering this command puts you into
the TLS profile configuration mode where you can enter the individual TLS configuration parameters.
Use the no form of this command to delete a TLS profile. You cannot delete a TLS profile if it is currently
bound to a SIP gateway.
To modify a TLS profile that is currently being used by one or more active SIP gateways, the gateways are
restarted gracefully; ongoing calls over a certain gateway still use the old TLS configuration until all calls over
that gateway have terminated. At that point in time the gateway restarts and all future calls will use the new
TLS configuration.
Example: Create a TLS profile
In the following example the TLS profile named Y_TLS has been created.
node>enable
node#configure
node(cfg)#profile tls MY_TLS
node(pf-tls)[MY_TLS]#
Private key
A private key file actually contains a private/public key pair. TLS requires them to secure its key exchange.
Thus, it is important to link a TLS profile to a valid private key, which is done by the following command:
Mode: Profile TLS
Example: Create a new private key and link it to a new TLS profile.
In the following example, we let Trinity generate a new private key. We then create a new TLS profile, called
Y_TLS and link it to the generated private key.
node>enable
node#generate pki:private-key/MY_PRIVATE_KEY
node#configurenode(cfg)#profile tls MY_TLS
node(pf-tls)[MY_TLS]#private-key pki:private-key/MY_PRIVATE_KEY
Own-certificate chain
Our own certificate is used to identify our device to others when making or accepting TLS connections. The
chain of own certificates consists of an order list of one of more links to stored certificates. The first certificate
in the list (index 1) is used to communicate our public key to remote TLS devices. It is required that the private
key linked by the TLS profile corresponds to the public key in this certificate. Therefore it is mandatory to con-
figure a link to a private key on the TLS profile.
If you want to use a self-signed certificate, the chain of own certificates only contains one entry – a link to that
certificate. Otherwise, if your certificate is signed by one or more levels of certification authorities, those inter-
mediate certificates have to follow in the chain. That is, the next entry with index 2 links to the certificate of
the certification authority that signed our own certificate at index 1. Then, the entry with index 3 links to the
certificate of the next higher-level certification authority, and so on. The certificate of the root certification
authority is not required and may be omitted or may be configured as the final entry in the list.
Mode: Profile tls
Trusted Certificates
A set of trusted certificates is required to express the trust relationship to other devices. When our device wants
to authenticate other devices our TLS profile must be configured with the certificates of all corresponding
trusted root certification authorities. In this case a set of one or more trusted certificates is needed. However,
when our device doesn’t need to authenticate other devices no trusted certificates are needed.
As a default behavior all imported trusted certificates are considered trusted when not configured otherwise in
the TLS profile. That is, trusted root certificates usually only have to be imported (e.g. with the own com-
mand) but must not be linked explicitly in the TLS profile.
In the case that you want to create different TLS profile where each of them links to a different set of trusted
certificates, you have to configure those links explicitly.
Authentication
TLS-licensed Patton devices can be configured whether or not to authenticate other devices when establishing
TLS connections. If TLS authentication is to be enabled, it is required to have at least one trusted certificate
installed on the device and to link the TLS profile to that certificate accordingly (see the description of the
trusted-certificate command above).
Note This device can only authenticate other devices, but it cannot force other
devices to authenticate us. Therefore mutual TLS authentication depends on
having each device configured to authenticate the other devices.
Although it is technically possible to authenticate only TLS connections where we are the server side or to
authenticate only TLS connections where we are the client side it is not recommended to do so, because in a
SIP call, the client and server role may change during a call. (For example, we are the client side for an outgoing
call, but the server side if the call is terminated by the remote party.)
Furthermore, having a different configuration for incoming and outgoing TLS connections opens the security
hole of abusing connection-reuse for getting or receiving calls to or from unauthenticated remote devices.
Mode: Profile TLS
Cipher Suites
TLS automatically negotiates to use the crypto algorithms that provide the strongest security, meaning that the
remote endpoint may lower the level of security by only providing a weaker crypto algorithm. In high-security
environments it may be desirable to restrict the set of offered crypto algorithms. This can be done with the
cipher-suites command.
Instead of listing each algorithm individually, Trinity offers a selection of pre-configured cipher-suites. Either
one or multiple suites can be selected. The suits themselves may overlap with other cipher-suites. The available
suites are:
• ALL All cipher suites except the eNULL cipher. This is the default setting.
• DEFAULT A pre-selected group of ciphers that offer medium to high level of security and at the same time
maximum interoperability in most scenarios.
• HIGH ciphers with a key-size of 128 bit or more.
• MEDIUM ciphers with a key-size of 128 bit.
• LOW ciphers with a key-size of 64 or 56 bit.
• SHA1 ciphers using SHA-1 as digest algorithm.
• MD5 ciphers using MD5 as digest algorithm.
• aRSA ciphers offering RSA authentication.
• kRSA ciphers offering RSA key exchange.
• eNULL ciphers offering no encryption. Not recommended, use only for debugging.
Mode: Profile tls
Compression
Compression has the benefit of reducing the size of the TLS packets and thus reducing the bandwidth needed
for signaling over TLS. But it could have a negative effect on the performance for encrypting and decrypting
the packet and therefore the load of SIP signaling traffic which can be handled on the device.
Mode: Profile TLS
Protocol
The Patton device supports SSL version 3 and its successor TLS versions 1.0, 1.1 and 1.2. The offering or
acceptance can be configured separately for both of them. At least one of the Protocols need to be enabled for
TLS operation.
Mode: Profile TLS
Note In order to use the SIPs URI scheme, TLS must be enabled on the transport
interface of the SIP gateway.
Note You are able to configure the device to only use SRTP when its session keys
can be exchanged over a secure signaling connection. Forcing TLS as trans-
port protocol here is not enough for SRTP to recognize a secure connection.
The only way to actually prove SRTP that it is using a secure connection is to
configure the SIPs URI scheme. By setting the URI scheme to SIPs, we also
force the transport protocol to be TLS, too, but in addition, the transport
protocol for SIP signaling messages is forced to be secure beyond the next-
hop device. The same applies for having TLS as the preferred transport pro-
tocol, where additionally a local fallback to an insecure transport protocol
could happen.
The command for selecting a preferred transport protocol allows you to select as a second choice the first fall-
back and as a third choice the second fallback protocol. As there is a maximum of three protocols the second
fallback is implicitly given by choosing the preferred and the first fallback.
Note Not specifying the fallback protocols doesn’t disable them, but the order is
derived from the internal default ordering. Specifying the transport protocols
here does not enable them if they are disabled on the gateway‘s transport
level. The preference of transport has no influence on calls with the URI
scheme SIPs. Such calls are always forced to be signaled over TLS. The
default ordering of preference is UDP, TCP, and TLS.
The same protocol selection can be configured for outbound registrations as well by enforcing or preferring the
transport protocol for REGISTER request. The same mechanism is applied for outbound registrations (REG-
ISTER requests) as for outbound calls (INVITE requests).
In addition, we are able to control the transport protocol of incoming calls by the outbound registration; the
registered contact address is stored on the server and remembers the transport protocol that was used to register
the address. The server then uses this transport protocol to make calls, which the device will receive incoming
calls for that registration with the transport protocol the registration was made with.
Mode: Registration outbound
For most of these commands the port can be omitted because the standard SIP UDP and TCP port 5060 is
used. For cases where the remote device does not use the standard port, the user must specify in the command.
Now with the addition of TLS and the possibility to have a transport protocol fallback from TLS to UDP or
TCP and vice versa, we need the ability to specify two ports: one for UDP and TCP and the other for TLS.
For all the following commands the same rule applies; the optional port parameter right after the ip-address
parameter specifies the port number for UDP and TCP. If not indicated, the port number defaults to 5060.
However, this first port parameter is never used for TLS, even if it is the only port specified explicitly, or if
UDP and TCP transports are not available.
An additional parameter optionally configures the TLS port. If not indicated, the port defaults to 5061. This
parameter is never used for UDP or TCP, even if it is the only port specified explicitly, or if the TLS transport
is not be available.
Mode: Interface SIP
Configure SRTP
After having configured a secure URI scheme and a secure transport protocols for SIP signaling, you should
consider securing the actual media-streams that carry voice or data by using SRTP. For more details, see “Secure
Real-Time Protocol (SRTP) Configuration” on page 764.
A. When the Patton device has to send a request such as a REGISTER, it may open a new TLS connection.
Acting as a TLS client in this scenario, the Patton device uses an ephemeral port (e.g. 16001) and makes a
connection to the default TLS port 5061 of the server (or any other port configured in the Request URI).
The server then sends back its certificate. The authentication outbound command in the TLS profile
decides whether or not our device verifies this certificate (i.e., whether or not it (i) compares the IP address
or hostname of the server to the canonical name field of the certificate and (ii) verifies that the TLS profile
lists in the list of trusted certificates the root CA of the received certificate of the server. Once the TLS
handshake completed successfully, the REGISTER request and the corresponding response are sent over
this established connection – no new TLS connection has to be opened for a response.
B. If the Patton device wants to send another request (such as an INVITE or re-REGISTER request) to the
same SIP server, it re-uses the TLS connection and therefore does not verify the server’s certificate again.
C. If the SIP server attempts to establish a call to the Patton device at a later point in time. The SIP server can-
not re-use the connection, because the Request URI of the INVITE request requires the call to be con-
nected to our local port 5061. Thus the SIP server creates a new TLS connection (blue). The Patton device
is the server side for this TLS connection and the authentication inbound command in the TLS profile
decides whether or not we request and verify the certificate of the TLS client (which is the SIP server in
this case). Note that such a new connection is not only opened for a new call, but also for a new request
during an existing call, such as a re-INVITE or a BYE request to renegotiate or drop the call, respectively.
- The local IP address of the connection is equal to the bound IP address of the gateway where the request
is to be sent.
Troubleshooting
Listed below are common problems that will require a troubleshooting procedure:
• check license
• check time
• check certificates
• check TLS profile status
Check License
In order to use TLS or SRTP for SIP a license has to be installed on the Patton device: “sip-tls-srtp”. This can
be verified by showing all currently installed licenses by executing show system licenses. Verify that “IP TLS
and SRTP” line is displayed.
node# show system licenses
Software Licenses
===============================================
SIP TLS and SRTP
Check time
The time settings can be verified by executing the command show clock It is important to have set the correct
time for using TLS. The interesting entry here is “UTC Time”, and the entry “Default Offset” must be set cor-
rectly.
Check Certificates
he validity period of certificates can be examined by show pki:certificates/<name> or how pki:trusted-certifi-
cates/<name>
In addition there is a line for each certificate with the status of the validity period, which should be shown as
“OK”. he system time is within the validity period of that certificates at showing time.
Execute a test-call to trace the sip-signaling and the server-name check during the TLS handshake. Keywords to
look for in the trace are:
• LS handshaking request arrived
• LS handshake approval for client connection
License
The usage of a Patton device for doing SRTP, URI scheme sips and TLS are licensed. It is a precondition to
have the license “sip-tls-srtp” installed on the Patton device before being able to perform all configuration steps.
Same or different
RTP Security on SIP RTP Security on SIP Used SDSP
codes on
session toward A session toward B Channels
sessions
Unsecure RTP Unsecured RTP same 0
Unsecure RTP Unsecure RTP different 2
Unsecure RTP SRTP same 2
Unsecure RTP SRTP different 2
Same or different
RTP Security on SIP RTP Security on SIP Used SDSP
codes on
session toward A session toward B Channels
sessions
SRTP SRTP same 2
SRTP SRTP different 2
Disabled: We don’t offer SRTP and force the remote device to do unprotected RTP. If we get an offer with only
SRTP it is rejected with a “488 not acceptable here” message.
Preferred: We offer both, SRTP and unprotected RTP in the same offering and let the remote device decide on
what to use. SRTP is the first in the ordering to indicate our preference for it. Incoming we accept any offer we
receive: Only with SRTP, Only with unprotected RTP or offers witch both. In the last case we select SRTP in
our answer to the remote device.
Mode: Profile voip
Enforced: We don’t offer unprotected RTP and force the remote device to do SRTP. If we get an offer with only
unprotected RTP it is rejected with a “488 not acceptable here” message.
Mode: Profile voip
Preferred only for secured call signaling. The behavior depends on the security of the call signaling. Intention is
to offer or accept SRTP only when the keys are protected through secure signaling. For secure calls the same
rules apply as when the option Preferred would be selected. For non-secure signaled calls the same rules apply
as when the option Disabled would be selected.
Mode: Profile voip
Enforced only for secured call signaling: The behavior depends on the security of the call signaling. Intention is
to enforce secure media when the keys are protected through secure signaling. For secure calls the same rules
apply as when the option Enforced would be selected. For non-secure signaled calls the same rules apply as
when the option Preferred would be selected.
Chapter contents
Introduction ........................................................................................................................................................770
Configuration options: mutual vs. server authentication ......................................................................................770
Task List..............................................................................................................................................................770
1. Prepare the Lync server....................................................................................................................................771
Option A: Prepare the Lync server for mutual authentication .......................................................................771
Lync CA: Create an authentication template for mutual authentication ..................................................772
Lync CA: Activate the new template on the Certification Authority (CA) ...............................................773
Lync: Issue a certificate for the Lync server with the mutual authentication template ..............................773
Lync: Configure the Lync server ..............................................................................................................773
Option B: Prepare the Lync server for server authentication only ..................................................................774
Lync: Issue a certificate for the Lync server with the server authentication template ................................774
Lync: Configure the Lync server ..............................................................................................................774
2. Configure basic settings on the Patton device running Trinity.........................................................................774
Trinity: Configure DNS ...............................................................................................................................775
Trinity: Configure time ................................................................................................................................775
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity ................................775
Option A: Export certificate request from Trinity .........................................................................................775
Trinity: Generate private key ...................................................................................................................776
Trinity: Generate certificate request ........................................................................................................776
Trinity: Export certificate request ............................................................................................................777
Lync CA: Sign certificate request .............................................................................................................777
Trinity: Import own certificate ................................................................................................................779
Trinity: Import trusted certificate ............................................................................................................779
Option B: External certificate administration ................................................................................................780
Lync CA: External certificate creation .....................................................................................................780
Trinity: Import private key ......................................................................................................................780
Trinity: Import own certificate ................................................................................................................781
Trinity: Import trusted certificate ............................................................................................................781
4. Configure TLS on the Patton device running Trinity ......................................................................................781
Configure Trinity TLS profile .......................................................................................................................781
Option A: Configure TLS profile with mutual authentication ......................................................................781
Option B: Configure TLS profile with server authentication .........................................................................782
Trinity: Configure SIP with TLS ............................................................................................................782
Final Configuration on Trinity device .................................................................................................................783
769
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
Introduction
This chapter explains how to integrate a Patton VoIP gateway to a Microsoft Lync network. This involves four
major steps: (1) Prepare the Lync server, (2) configure basic settings on the Patton device, (3) enroll certificates
on the Lync server and import them to the Patton device, and (4) configure Transport Layer Security (TLS) on
the Patton device.
Some steps may not be necessary in your set up. For example, step 1 is not required if you have already set up a
Lync template to enroll certificates for mutual authentication. Anyway, we discuss all steps in detail for your
reference.
Task List
Please follow the task lists in each of the four steps to integrate a Patton device into your Lync network:
1. Prepare the Lync server
Option A: Prepare the Lync server for mutual authentication
Lync CA: Create an authentication template for mutual authentication
Lync CA: Activate the new template on the Certification Authority (CA)
Lync: Issue a certificate for the Lync server with the mutual authentication template
Lync: Configure the Lync server
Introduction 770
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
authentication allows the Patton device to authenticate the Lync server in TLS connections no matter whether
the Patton device is TLS client (e.g. outgoing SIP call) or TLS server (e.g. incoming SIP call).
Lync CA: Activate the new template on the Certification Authority (CA)
The next step is to activate the created authentication template on Lync’s Certification Authority (CA). This
step is required in order to sign certificates for MTLS. To active the new authentication template, perform the
following steps on the Domain Controller:
• Install the certification authority snap-in,
• Choose Certificate Templates -> New -> Certificate Template to Issue, and
• Select the new Certificate template “TLS VoIP”
Lync: Issue a certificate for the Lync server with the mutual authentication template
With the newly created certificate template you are now able to create a certificate for the Lync server itself. Use
the Deployment wizard on the Lync server as follows:
• Open the Lync Server 2013 Deployment wizard
• Request, Install or Assign Certificates -> Run
• Select Default certificate and press Request
• Continue with the wizard until you have reached the step Specify Alternate Certificate Template
• Specify Alternate Certificate Template: enter the name of the new template “TLSVoIP”. Important note:
You have to enter the name without spaces as in the Template name and not as in the Template display
name.
• Continue with the wizard until you have reached the step SIP Domain setting on Subject Alternative Names
• SIP Domain setting on Subject Alternate Names: Select the configured SIP domains. One of these SIP
domains later has to be configured on the Trinity device. Alternatively, you can also configure the Trinity
device with one of the Subject Alternative Names in the next pane:
Configure Additional Subject Alternative Names.
• Continue with the wizard until you have reached the step Online Certificate Request Status
• Select Assign this certificate to Lync Server certificate usages
• Finish
• Execute the Certificate Assignment wizard
Note This procedure may be different for your application setup or require more
or other parameters to be set. The steps highlighted in bold however are cru-
cial to create a certificate with the MTLS template you have created before.
Lync: Issue a certificate for the Lync server with the server authentication template
We use the existing Web Server template to create a certificate for the Lync server itself. Use the Deployment
wizard on the Lync server as follows:
• Open the Lync Server 2013 Deployment wizard
• Request, Install or Assign Certificates -> Run
• Select Default certificate and press Request
• Continue with the wizard until you have reached the step Specify Alternate Certificate Template
• Specify Alternate Certificate Template: enter the name of the template “WebServer”.
Note You have to enter the name without spaces as in the Template name and not
as in the Template display name.
• Continue with the wizard until you have reached the step SIP Domain setting on Subject Alternative Names
• SIP Domain setting on Subject Alternate Names: Select the configured SIP domains. One of these SIP
domains later has to be configured on the Trinity device. Alternatively, you can also configure the Trinity
device with one of the Subject Alternative Names in the next pane:
Configure Additional Subject Alternative Names.
• Continue with the wizard until you have reached the step Online Certificate Request Status
• Select Assign this certificate to Lync Server certificate usages
• Finish
• Execute the Certificate Assignment wizard
Note This procedure may be different for your application setup or require more
or other parameters to be set. The steps highlighted in bold typeface however
are crucial to create a certificate with the Web Server template.
3. Issue a certificate on the Lync server and import it on the Patton device
running Trinity
The next step involves creating certificates for the Patton device on the Lync server. The guide splits again at
this point. There are two options how to bring certificates to the Patton device. Option A describes a method
where the Patton device creates a certificate request, which then has to be signed by the Lync CA. Option B on
the other hand describes a procedure where all files are generated on the Lync server and then imported to the
Patton device. Please follow the sub-sections for Option A or Option B, respectively. After having imported the
certificates on the Patton device, continue with step 4.
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 775
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
The generated key is stored in the persistent memory of the Patton device. That is, after a reboot, the key is still
available.
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 776
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
Note The common-name parameter at the end of the command must match the
DNS name or IP address of the Patton device. This must be the same name
the Lync server uses to reach the gateway.
Either copy the printout of the export command including the begin/end commands from the
terminal or execute the following command to upload the request to a TFTP server:
node(cfg)#copy pki:certificate-request/REQUEST1
tftp://<server>/REQUEST1.txt
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 777
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
• On the next page click Download certificate chain and save it.
• Open the saved p7b file with a double click (opens certmgr on Windows)
• Note that it is not possible to import whole certification chains to the Trinity device. You have to export
each certificate of the chain separately. Thus, for each certificate do the following tasks:
- Right click -> All Tasks -> Export
- Select Base64 encoded X.509
- Save in your TFTP-server folder
In this document, we assume that you give the certificates the following names:
• Name the issued certificate for the Patton device “cert.cer”.
• If they exist for you set up, name the intermediate-certification-authority certificates “ca1.cer”, “ca2.cer”,…
, and “caN.cer”. In this example, we assume that there are no intermediate CAs, i.e., that the device certifi-
cate is signed directly by the root CA.
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 778
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
If you have intermediate certificates, copy them as well with the following commands:
node(cfg)#copy tftp://<ip-address>/ca1.cer pki:own-certificate/CA1
node(cfg)#copy tftp://<ip-address>/ca2.cer pki:own-certificate/CA2
Note In step 4 you will have to configure which of the imported certificates to use
on a specific SIP gateway. This enables multi-homing solutions, where the
Patton device is able to participate in multiple SIP networks with different
certificates and trust relationships.
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 779
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
3. Issue a certificate on the Lync server and import it on the Patton device running Trinity 780
Trinity Release 3.14.X Command Line Reference Guide 58 • TLS Configuration for Lync
In addition, execute the following command to import the certificates of the optional intermediate CAs:
node(cfg)#copy tftp://<ip-address>/ca1.cer pki:own-certificate/CA1
node(cfg)#copy tftp://<ip-address>/ca2.cer pki:own-certificate/CA2
Configure the own-certification chain. If there are no intermediate certification authorities there is only one
certificate configured here – the certificate of the device itself.
node(pf-tls)[TLS_AUTH]#own-certificate 1 pki:own-certificate/CERT1
If your certificate has been signed by intermediate CAs, add them to the own-certificate list as well (in the order
of signature):
node(pf-tls)[TLS_AUTH]#own-certificate 2 pki:own-certificate/CA1
node(pf-tls)[TLS_AUTH]#own-certificate 3 pki:own-certificate/CA2
Configure the root CA’s the Patton device shall trust. When the Patton device receives a certificate from a peer
TLS endpoint, it only renders the certificate valid if it is signed by one of the listed root CAs:
node(pf-tls)[TLS_AUTH]#trusted-certificate pki:trusted-certificate/ROOT
Configure the own-certification chain. If there are no intermediate certification authorities there is only one
certificate configured here – the certificate of the device itself.
node(pf-tls)[TLS_AUTH]#own-certificate 1 pki:own-certificate/CERT1
If your certificate has been signed by intermediate CAs, add them to the own-certificate list as well (in the order
of signature):
node(pf-tls)[TLS_AUTH]#own-certificate 2 pki:own-certificate/CA1
node(pf-tls)[TLS_AUTH]#own-certificate 3 pki:own-certificate/CA2
Configure the root CA’s the Patton device shall trust. When the Patton device receives a certificate from a peer
TLS endpoint, it only renders the certificate valid if it is signed by one of the listed root CAs:
node(pf-tls)[TLS_AUTH]#trusted-certificate pki:trusted-certificate/ROOT
Create a new SIP interface in context cs, set the Lync server host name as remote address and bind the interface
to the created SIP gateway. Note that the remote name must be one of the DNS or Subject Alternate Names
configured in the Lync server certificate.
node(cfg)#context cs SWITCH
node(ctx-cs)[SWITCH]#interface sip IF_SIP_TLS
node(if-sip)[SWITCH.IF_SIP_TLS]#remote sip.new.lync2013.com tls-port 7777
node(if-sip)[SWITCH.IF_SIP_TLS]#bind context sip-gateway GW_SIP
node(if-sip)[SWITCH.IF_SIP_TLS]#route call dest-interface ISDN
ntp
server swisstime.ethz.ch
no shutdown
dns-server
name-server address 172.16.75.202
no shutdown
context ip ROUTER
interface LAN
ipaddress LAN2 172.16.44.111/19
ipaddress DHCP
routing-table DEFAULT
context cs SWITCH
no shutdown
interface IF_GW_SIP_TLS
no transport-protocol udp+tcp
transport-protocol tls 5067
bind ipaddress ROUTER LAN LAN2
port ethernet 0 0
bind interface ROUTER LAN
no shutdown
port ethernet 0 1
shutdown
port e1t1 0 0
port-type e1
clock slave
framing crc4
encapsulation q921
q921
uni-side auto
q931
protocol dss1
uni-side user
bind interface SWITCH IF_PRI0
port e1t1 0 0
no shutdown
port e1t1 0 1
port-type e1
clock master
framing crc4
shutdown
port e1t1 0 2
port-type e1
clock master
framing crc4
shutdown
port e1t1 0 3
port-type e1
clock master
framing crc4
shutdown
configure
clock local default-offset +02:00
Chapter contents
Introduction ........................................................................................................................................................787
TLS/SRTP encryption without TLS authentication ............................................................................................787
Configuration without TLS/SRTP ................................................................................................................787
Tasks to Configure TLS/SRTP............................................................................................................................789
Configure URI-scheme .................................................................................................................................789
Enable TLS on the SIP gateway ....................................................................................................................789
Enable SRTP on the VoIP profile .................................................................................................................790
Configuration with TLS/SRTP .....................................................................................................................790
TLS/SRTP encryption with mutual TLS authentication (MTLS) based on exchanged, locally-generated, self-
signed certificates ..........................................................................................................................................791
Tasks to create and exchange self-signed certificates.............................................................................................791
Generate private key .....................................................................................................................................792
Generate certificate request ...........................................................................................................................792
Self-sign the certificate request ......................................................................................................................792
Exchange certificates .....................................................................................................................................792
Configure the TLS profile .............................................................................................................................792
Configuration with TLS/SRTP and mutual TLS authentication ...................................................................793
TLS/SRTP encryption with mutual TLS authentication (MTLS) in a Microsoft Lync environment ...................794
786
Trinity Release 3.14.X Command Line Reference Guide 59 • Secure SIP Applications
Introduction
With Transport Layer Security (TLS) and Secure Real-Time Protocol (SRTP) Trinity devices are capable of
securing both signaling connections and voice streams of SIP calls. Both protocols have to operate in harmony
and work in a couple of different scenarios. Trinity, the software running on Patton devices offers a vast number
of configuration options, depending on whether you just want to use TLS/SRTP to encrypt your calls or
whether you would like to set up a proper trust relationship with certificates to be able to authenticate the SIP
peer.
This chapter discusses different scenarios and provides the configuration snippets to set up the Patton device
for them. In particular, this chapter covers the following scenarios:
• TLS/SRTP encryption without TLS authentication
• TLS/SRTP encryption with mutual TLS authentication (MTLS) based on mutually exchanged, locally-
generated, self-signed certificates
• TLS/SRTP encryption with mutual TLS authentication (MTLS) in a Microsoft Lync environment.
Introduction 787
Trinity Release 3.14.X Command Line Reference Guide 59 • Secure SIP Applications
SIP
SIP Phone
Phone
SIP Patton SIP/TLS Patton SIP
Node
Device Node
Device
Figure 115. Patton device secures a SIP connection between two SIP soft-phones.
The devices encapsulate the plain SIP messages into a TLS connection and at the same time secure the voice
streams using SRTP.
Let us assume that the two gateways are already configured to communicate via a non-secure SIP and RTP
connection. Please find the configuration of the Patton device 192.168.1.2 before enabling TLS/SRTP below.
Note that on first boot up the Patton device automatically created the DEFAULT private key, the DEFAULT
own-certificate, and the DEFAULT TLS profile. Refer to the section “Generated default files” in Chapter 37,
"Public-Key Infrastructure (PKI)" on page 454 for more information.
profile tls DEFAULT
no authentication incoming
no authentication outgoing
private-key pki:private-key/DEFAULT
own-certificate 1 pki:certificate/DEFAULT
context ip ROUTER
interface LAN
ipaddress LAN 192.168.1.2/24
context cs SWITCH
no shutdown
interface GW_SIP_IF
transport-protocol udp+tcp 5060
no transport-protocol tls
bind ipaddress ROUTER LAN LAN
port ethernet 0 0
bind interface ROUTER LAN
no shutdown
Configure URI-scheme
First, use the sips URI-scheme towards the peer Patton device. This makes sure that outbound requests are sent
with a sips URI, which forces the gateway to use a secure connection such as TLS:
node>enable
node#configure
node(cfg)#context cs SWITCH
node(ctx-cs)[SWITCH]#interface sip IF_SIP_TLS
node(if-sip)[SWITCH.IF_SIP_TLS]#uri-scheme sips
Make sure that the URI scheme towards the connected SIP soft-phone is still set to sip, because we don’t want
to secure the connection to the soft-phone:
node(cfg)#context cs SWITCH
node(ctx-cs)[SWITCH]#interface sip IF_SIP_PHONE
node(if-sip)[SWITCH.IF_SIP_TLS]#uri-scheme sip
The setting preferred means that we only use SRTP if the peer device supports it as well. This allows us to use
the same VoIP profile for the IF_SIP_TLS as well as for the IF_SIP_PHONE interface, assuming that the soft
phone just ignores the crypto attribute in the SDP part of the SIP message. If your soft-phone does not support
the crypto attribute at all, you will have to create a separate VoIP profile and use in on the interface
IF_SIP_PHONE.
Note You have to perform the same tasks on the other Patton device 192.168.1.3.
context ip ROUTER
interface LAN
ipaddress LAN 192.168.1.2/24
context cs SWITCH
no shutdown
interface GW_SIP_IF
transport-protocol udp+tcp 5060
transport-protocol tls 5061
bind ipaddress ROUTER LAN LAN
port ethernet 0 0
bind interface ROUTER LAN
no shutdown
TLS/SRTP encryption with mutual TLS authentication (MTLS) based on exchanged, locally-
generated, self-signed certificates
This scenario extends the previous one by mutual TLS authentication. Instead of using certificates that have
been signed by a proper Certification Authority (CA), we still use self-signed certificates here. For this purpose,
we let the two Patton devices exchange their self-signed, locally-generated certificates via a TFTP server (see
Figure 2). This is helpful if you want to avoid the complexity of a proper certification chain but still want to
make sure that the two Patton devices authenticate themselves over TLS
TFTP Server
Figure 116. Patton devices secures a SIP connection between two SIP soft-phones.
The Patton devices encapsulate the plain SIP messages into a TLS connection and at the same time secure the
voice streams using SRTP. The locally-generated, self-signed certificates are exchanged via a TFTP server prior
to making calls.
Note Note: The common-name at the end of the command must match the IP
address of the Patton device.
Exchange certificates
The next step is to deploy the certificate to the peer Patton device. Export the created owncertificate to your
TFTP server (e.g. at 192.168.1.10) and import it on the peer device as trusted certificate:
node(cfg)#copy tftp://192.168.1.10/CERT1_FROM_192.168.1.3 pki:trusted-certificate/
CERT1_FROM_192.168.1.3
If all the steps above were executed for the device 192.168.1.3 as well, you now are able to import the remote
certificate (stored as CERT1_FROM_192.168.1.3) from the TFTP server as trusted certificate:
node(cfg)#copy tftp://192.168.1.10/CERT1_FROM_192.168.1.3 pki:trustedcertificate/
CERT1_FROM_192.168.1.3
node(pf-tls)[TLS_AUTH]#own-certificate 1 pki:certificate/CERT1
context ip ROUTER
interface LAN
ipaddress LAN 192.168.1.2/24
context cs SWITCH
no shutdown
remote 192.168.1.3
no call-transfer accept
no call-transfer emit
uri-scheme sips
interface GW_SIP_IF
transport-protocol udp+tcp 5060
transport-protocol tls 5061
bind ipaddress ROUTER LAN WAN
port ethernet 0 0
bind interface ROUTER WAN
no shutdown
TLS/SRTP encryption with mutual TLS authentication (MTLS) in a Microsoft Lync environment 794
Chapter 60 Secure Real-Time Protocol (SRTP)
Configuration
Chapter contents
Introduction ........................................................................................................................................................796
About SRTP........................................................................................................................................................796
SRTP configuration task list ................................................................................................................................796
License ..........................................................................................................................................................796
Information about using DSP channels .........................................................................................................796
Configure secure call signaling ......................................................................................................................797
Configure RTP security ................................................................................................................................797
SRTP Master Key .........................................................................................................................................799
Protection against key compromising through forking ..................................................................................799
Protection against key compromising through call forward ...........................................................................800
795
Trinity Release 3.14.X Command Line Reference Guide 60 • Secure Real-Time Protocol (SRTP) Configuration
Introduction
This chapter provides an overview of Trinity’s SRTP capabilities and describes the tasks involved in configuring
it.
About SRTP
SRTP provides security, confidentiality, message authentication and replay protection for RTP and RTCP
packets. This is achieved by generating a master key for each RTP stream, which is used to encrypt and decrypt
the RTP packets. The keys are exchanged in the SDP content of the SIP signaling messages.
To protect the integrity of the SRTP master keys, securing the SIP signaling traffic is required too. This can be
achieved by using TLS. Although not recommended it is still possible to use SRTP without TLS.
License
The usage of a Patton device for doing SRTP, URI scheme sips and TLS are licensed. It is a precondition to
have the license “sip-tls-srtp” installed on the Patton device before being able to perform all configuration steps.
Introduction 796
Trinity Release 3.14.X Command Line Reference Guide 60 • Secure Real-Time Protocol (SRTP) Configuration
Same or different
RTP Security on SIP RTP Security on SIP Used SDSP
codes on
session toward A session toward B Channels
sessions
Unsecure RTP Unsecured RTP same 0
Unsecure RTP Unsecure RTP different 2
Unsecure RTP SRTP same 2
Unsecure RTP SRTP different 2
SRTP SRTP same 2
SRTP SRTP different 2
Disabled: We don’t offer SRTP and force the remote device to do unprotected RTP. If we get an offer with only
SRTP it is rejected with a “488 not acceptable here” message.
Mode: Profile voip
Preferred: We offer both, SRTP and unprotected RTP in the same offering and let the remote device decide on
what to use. SRTP is the first in the ordering to indicate our preference for it. Incoming we accept any offer we
receive: Only with SRTP, Only with unprotected RTP or offers witch both. In the last case we select SRTP in
our answer to the remote device.
Mode: Profile voip
Enforced: We don’t offer unprotected RTP and force the remote device to do SRTP. If we get an offer with only
unprotected RTP it is rejected with a “488 not acceptable here” message.
Mode: Profile voip
Preferred only for secured call signaling. The behavior depends on the security of the call signaling. Intention is
to offer or accept SRTP only when the keys are protected through secure signaling. For secure calls the same
rules apply as when the option Preferred would be selected. For non-secure signaled calls the same rules apply
as when the option Disabled would be selected.
Mode: Profile voip
Enforced only for secured call signaling: The behavior depends on the security of the call signaling. Intention is
to enforce secure media when the keys are protected through secure signaling. For secure calls the same rules
apply as when the option Enforced would be selected. For non-secure signaled calls the same rules apply as
when the option Preferred would be selected.
Chapter contents
Introduction ........................................................................................................................................................802
SIP Conference-service ........................................................................................................................................802
SIP Conference-service Configuration Task List ...........................................................................................802
Entering conference-service configuration mode .....................................................................................802
Configuring the call routing destination ..................................................................................................802
Configuring the conference server ...........................................................................................................803
SIP Location-service ............................................................................................................................................803
SIP Location-service Configuration Task List ...............................................................................................804
Entering SIP location-service configuration mode ...................................................................................804
Binding a location service ........................................................................................................................805
Configuring multi-contact behavior ........................................................................................................805
Configuring the hunt timeout .................................................................................................................805
801
Trinity Release 3.14.X Command Line Reference Guide 61 • SIP Call-router Services
Introduction
This chapter contains the description of all SIP specific call router services, which are only available if the soft-
ware includes the SIP component.
SIP Conference-service
RFC4240 describes how to address different services on a media server without additional SIP headers or
header parameters. This mechanism makes use of the fact media servers do not manage users, they manage
media services. For that reason RFC4240 defines how to use the user part of the Request-URI as a service indi-
cator. The conference-service provides the functionality described in RFC4240 as 'Conference Service'. It
builds the Request-URI to address a conference room instance on a media server according to this standard.
The user part of the Request URI will start with the service indicator 'conf=' followed by a unique conference
room identifier. All calls with the same conference room identifier will attend the same session. The host part
of the Request-URI that represents the media server host name has to be configured by the user. The confer-
ence room identifier and the called party number will be taken concatenated with the serial number of the
device.
This looks as follows: conf=<called-nbr><serial-nbr>@<media-server>
Introduction 802
Trinity Release 3.14.X Command Line Reference Guide 61 • SIP Call-router Services
SIP Location-service
Note To avoid possible name conflicts, two expressions will be declared here.
Location Service: Domain based identity data base.
Service Location-Service: A call-route service that accesses the Location Ser-
vice declared above.
This service is the main consumer of the address bindings (mapping of the users identity to a contact address)
deposited in the location service data base (see chapter 51, “Location Service” on page 591). Address bindings
have been entered to location service data base either by inbound registration or manually by the user. An
address binding is an entry that describes on which host a user is currently reachable. If a call is routed to this
service, it performs a lookup with the requested URI to find the right contact information.
If the call is originated by the PSTN network, then this URI does not yet exist and must be built first with a
mapping table. If this is not done, the lookup uses the called-e164 number and checks if a registered identity
matches this number. For more information about this process, see section, “B2B User Agent with Registered
Clients” on page 820.
It is also possible a user is registered with more than one contact. This can be if the user registers with its office
SIP phone and also with its SIP soft client. In this case, the location-service's behavior can be configured. On
the location-service, no routing command is available. The call will automatically be routed to that SIP inter-
face on which the register request has been received, therefore manually entered address bindings must be pro-
vided with a SIP interface as routing destination.
Lookup
Domain: biloxy .com
Identity: john.doe
Context CS Contact: 192.168.10.1:5060
Service
Location - Ser vice
Location Ser vice
Domain: biloxy .com
REGISTER biloxy.com
From: john.doe@biloxy .com
To: john.doe@biloxy .com
INVITE sip:john.doe@biloxy .com
Contact: 192.168.10.1:5060
INVITE sip:john.doe@192.168.10.1:5060
Chapter contents
Introduction ........................................................................................................................................................808
Context SIP Gateway Configuration Task List ....................................................................................................809
Creating a Context SIP Gateway ...................................................................................................................809
Creating a Transport Interface ......................................................................................................................809
Configuring the IP Binding ..........................................................................................................................810
Configuring a Spoofed Contact Address .......................................................................................................810
Contact-Header ......................................................................................................................................811
Via-Header ..............................................................................................................................................811
Nat-Address ............................................................................................................................................811
Binding Location Services .............................................................................................................................812
SIP Trusted Host Behavior ...........................................................................................................................812
Setting a Traffic Class ...................................................................................................................................812
Configuring Quality of Protection in SIP Authentication .............................................................................812
Enabling/Disabling the Context SIP Gateway ...............................................................................................813
SIP notify check-sync event ...........................................................................................................................813
Troubleshooting ..................................................................................................................................................814
Show Status Information ..............................................................................................................................814
Debug Commands ........................................................................................................................................814
Configuration Examples ......................................................................................................................................814
Example 1 .....................................................................................................................................................814
Example 2 .....................................................................................................................................................815
Example 3 .....................................................................................................................................................815
Applications ........................................................................................................................................................815
Outbound Authentication ............................................................................................................................815
Inbound Authentication ...............................................................................................................................817
Outbound Registration .................................................................................................................................818
Inbound Registration ....................................................................................................................................819
B2B User Agent with Registered Clients .......................................................................................................820
807
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
Introduction
This chapter provides an overview of the context SIP gateway. The main purpose of a context SIP gateway is
forwarding and reception of SIP packets according to a RFC 3261 User Agent. In Trinity, the context SIP gate-
way represents the interface between the Call-Router (Context CS) and the IP Router (Context IP). It is
responsible for dispatching incoming initial SIP requests to the right call control SIP interface and for the
determination of the right IP interface for outgoing SIP messages. This is also called SIP Transport Routing.
Figure 118 shows where the context SIP gateway is located in Trinity and how it interacts with other compo-
nents.
There is a relationship between the call control SIP interface and the context SIP gateway. Every call control
SIP interface must be bound to a context SIP gateway. One of the responsibilities of this interface is to build
Request-URI and to determine a possible outbound proxy. If a proxy is available, it represents the next SIP hop
and all outgoing messages will be sent to this host. If no proxy has been configured, the messages will be sent to
the Request-URI's host. Depending on these two SIP parameters, the context SIP gateway chooses the right
outgoing IP interface. The IP address of the outgoing IP interface will be placed in all SIP and SDP headers
that need a direct routable contact address (VIA, Contact).
In the other direction, the context SIP gateway dispatches incoming SIP requests according to the Request-
URI and the From-URI. The call control SIP interface has configuration parameters called “remote” and
“local” to build the Request-URI, the To-URI and the From-URI for outgoing requests. These parameters will
also used for identifying the best matching call control SIP interface for incoming requests according to the fol-
lowing rule:
Introduction 808
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
Contact-Header
Via-Header
Nat-Address
If the device is located behind a NAT, this command can be used to provide the Contact (SIP/SDP) and VIA
headers of outgoing requests with the public ip address. The IP address may either be specified directly or the
address of the NAT may be detected.The port parameter in the spoofed commands is optional. If not specified
in the spoofed command, the same port as configured in the context SIP gateway interface is taken. If no port
is specified in the interface either, then no port is explicitly signaled which should result in the use of the
default port.
Note The options contact-header and via-header can be used together, while the
option nat-address can only be used alone.
• auth: The quality of protection is set to “Authentication”. The request-digest is calculated according RFC
2617.
• auth-int: The quality of protection is set to “Authentication with integrity protection”. The request-digest is
calculated according RFC 2617 and the entire body of the message is part of the request-digest calculation.
• both: The quality of protection can be either “Authentication” or “Authentication with integrity protec-
tion”.
Mode: Context SIP Gateway
Mode: actions
Troubleshooting
Debug Commands
Mode: Administrator Execution
Configuration Examples
Example 1
This is the minimal configuration of a working context sip-gateway. It has one transport interface that is bound
to the ip address LAN. With this configuration, the context sip-gateway processes all SIP requests addressed to
port 5060.
context sip-gateway SIP-GW
Troubleshooting 814
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
interface lan
transport-protocol udp+tcp 5060
bind ipaddress ROUTER LAN LAN
context sip-gateway SIP-GW
no shutdown
Example 2
The following example shows a context sip-gateway that is explicitly bound to a LAN-Side and a WAN-Side ip
interface. This could be a Back-To-Back User Agent application that interconnects a private SIP environment
and a public SIP environment.
context sip-gateway SIP-GW
interface lan
transport-protocol udp+tcp 5060
bind ipaddress ROUTER LAN LAN
interface wan
transport-protocol udp+tcp 5060
bind ipaddress ROUTER WAN WAN
context sip-gateway SIP-GW
no shutdown
Example 3
If special features like Outbound Registration, Inbound Registration or Authentication is required, one or
more location services must be configured that enables theses capabilities in general, for a group of identities or
just for a single identity. These location services must be bound to the context sip-gateway that is responsible to
manage the location service's domains. For detailed description about location service configuration, see chap-
ter 50, “Authentication Service” on page 588.
Applications
Outbound Authentication
The back-to-back user agent can provide credentials for authentication on another sip user agent or proxy. The
username and password used for authentication must be configured in an authentication-service. If one or
more realms are configured in the authentication-service, the credentials are only provided to challenges con-
taining one of these realms. If no realm is configured, the credentials are provided to any realm.
In an authentication-service, there can be multiple usernames and passwords. An identity which should
authenticate can direct the authentication outbound face to a pair of credentials. There can be multiple identi-
Applications 815
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
ties using the same credentials. An identity can also point to multiple credentials, but each of these credentials
needs to be in another authentication-service with another realm. It is possible to authenticate to multiple
realms with multiple credentials at the same time.
If the gateway has to provide credentials for unknown identities or for any identity which belongs to a certain
domain, there can be a DEFAULT identity-group configured. The authentication credentials configured in the
identity-group DEFAULT are used for any identity in this location-service that is not explicitly configured.
authentication-service AUTH_PATTON
realm patton.com
username hermes password Wh6Xbk9G= encrypted
username john password Fa0Y9e4L= encrypted
authentication-service AUTH_ANY
username bob password Co7s3bUp= encrypted
location-service PATTON
domain voice-cloud.com
domain patton.com
identity-group default
authentication outbound
authenticate 1 authentication-service AUTH_ANY username bob
identity 400
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username hermes
authenticate 2 authentication-service AUTH_ANY username bob
identity 500
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username hermes
identity 600
authentication outbound
authenticate 1 authentication-service AUTH_PATTON username john
If the gateway needs to provide authentication credentials on a sip request, the following procedure takes place:
1. Determine the location-service which provides credentials. The domain of the location service must match
the host part of the from-uri and the location-service is bound to the context sip-gateway which sends the
request.
2. Determine the identity which provides credentials. The name or the alias of the identity must match the
user part of the from-uri. If there is no identity that matches and an identity-group with the name
DEFAULT is configured, the identity-group DEFAULT is taken.
3. Determine the authentication-service which provides credentials. The authentication entries of the taken
identity or identity-group are searched for an authentication-service that matches exactly the realm
requested in the answer to our request. Then this authentication service is taken. If no match was found,
an authentication service with no realm configured is taken.
Applications 816
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
4. Determine the authentication username which provides credentials. If the authentication entry of the iden-
tity which configures the taken authentication service has also configured a username this username is
taken. If there is no username configured the name of the identity is taken as username.
5. Take the credentials in the authentication service with the according username and provide username and
password for re-issuing the request.
If one of these steps has no result and fails, authentication is not possible for that request.
Inbound Authentication
The back-to-back user agent can challenge another sip user agent or proxy for authentication credentials. The
username and password used for challenges must be configured in an authentication-service. There must be at
least one realm configured in the authentication-service. The first realm configured is used for challenging
requests.
In an authentication-service, there can be multiple usernames and passwords. An identity which should be
challenged can direct the authentication inbound face to a pair of credentials. There can be multiple identities
using exactly the same credentials. An identity can also point to multiple credentials, but only the first entry is
used for challenging. If an identity points to multiple credentials, any of these credentials are accepted in the
answer as long as it is valid for the challenged realm.
If the gateway has to challenge credentials for unknown identities or for any identity which belongs to a certain
domain, there can be a DEFAULT identity-group. The challenging credentials configured in the identity-
group DEFAULT are used for any identity in this location-service that is not explicitly configured.
authentication-service AUTH_PATTON
realm patton.com
username kevin password Wh6Xbk9G= encrypted
username dirk password Fa0Y9e4L= encrypted
username boss password Q9Gns6Nd4= encrypted
location-service PATTON
domain patton.com
identity-group default
authentication inbound
authenticate 1 authentication-service AUTH_PATTON username kevin
identity 400
authentication inbound
authenticate 1 authentication-service AUTH_PATTON username kevin
authenticate 2 authentication-service AUTH_PATTON username dirk
identity 555
authentication inbound
authenticate 1 authentication-service AUTH_PATTON username boss
If the gateway receives an incoming request without credentials, the following procedure takes place:
1. Determine the location-service which challenges credentials. The domain of the location service must
match the host part of the request-uri and the location-service is bound to the context sip-gateway which
handles the request.
Applications 817
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
2. Determine the identity which challenges credentials. The name or the alias of the identity must match the
user part of the request-uri. If there is no identity that matches and an identity-group with the name
DEFAULT is configured, the identity-group DEFAULT is taken.
3. Determine the authentication-service which challenges credentials. The first authentication entry of the
taken identity or identity-group where a realm is configured is taken.
4. The first realm in the authentication-service is used for challenging the request. If no realm was found no
challenging is possible.
If one of these steps has no result and fails, challenging is not possible for that request and the request is
accepted.
If the gateway receives an incoming request with credentials, the following procedure takes place:
1. Determine the location-service which challenges credentials. The domain of the location service must
match the host part of the request-uri and the location-service is bound to the context sip-gateway which
handles the request.
2. Determine the identity which challenges credentials. The name or the alias of the identity must match the
user part of the request-uri. If there is no identity that matches and an identity-group with the name
DEFAULT is configured, the identity-group DEFAULT is taken.
3. Check credentials. All authentication entries of the taken identity or identity-group are compared with the
provided credentials. If one matches the request is accepted.
4. An authentication entry matches if the username and password matches with the configured credentials
and one realm in the authentication-service match exactly the realm challenged or the authentication-ser-
vice has no realm configured.
If one of these steps has no result and fails, the request is treated as a request without credentials.
Outbound Registration
The back-to-back user agent can register identities on a sip registrar. Therefore, a registration outbound face
with the register “auto” command is needed. The address of record is built with the domain of the location-ser-
vice and the name of the identity. The REGISTER request is sent to the configured registrar or, if missing, to
the domain configured in the location-service.
If the registration is successful, the registrar forwards requests that are destined to the address of record to the
back-to-back user agent.
location-service PATTON
domain patton.com
identity-group DEFAULT
registration outbound
register auto
identity 400
registration outbound
registrar sip.patton.com
register auto
Applications 818
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
sip-interface SIP_WAN
transport-protocol udp+tcp 5060
bind ipaddress ROUTER IF_WAN IF_WAN
If an identity is added to a location-service which is bound to a context sip-gateway, the following procedure
takes place:
1. Determine if identity should be registered.
• The location-service containing the identity must have at least one domain configured.
• The identity must have a registration outbound face configured or inherited.
• The register command must be set to “auto”.
2. Build the address of record to register. The name of the identity builds the user-part. The first domain con-
figured in the location-service builds the host-part.
3. Build the address of the registrar. The registrar configured in the registration outbound face is taken as
request-uri. If no registrar is configured the first domain configured in the location-service builds the
request-uri.
4. Build expire header. If a lifetime is configured in the registration outbound face an expire header with the
desired lifetime is added.
5. Build contact address to register. The spoofed-contact parameter of the sip-interface in the context sip-
gateway through which the REGISTER request is sent is set as contact address. If no spoofed-contact is
configured the ip-address and port of the sip-interface in the context sip-gateway through which the REG-
ISTER request is sent builds the contact address.
6. Send the REGISTER request.
If one of these steps has no result and fails, the registration fails. After a certain timeout (which is configurable
in the registration outbound face), the request is re-issued.
Inbound Registration
With the according license, the back-to-back user agent can allow registrations from other user agents. There-
fore, identities must be configured with a registration inbound face. Contacts to forward requests for this iden-
tity can be configured or added dynamically with REGISTER requests.
If the gateway has to accept register requests for unknown identities or for any identity that belongs to a certain
domain, there can be a DEFAULT identity-group configured. The configuration of the identity-group
DEFAULT with the registration inbound face allows registration for any identity in this location-service that is
not explicitly configured.
location-service PATTON
domain patton.com
identity-group DEFAULT
registration inbound
Applications 819
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
identity 400
registration inbound
lifetime default 4000 min 600 max 36000
contact 172.16.40.22 switch IF_SIP priority 500
sip-interface SIP_WAN
transport-protocol udp+tcp 5060
bind ipaddress ROUTER WAN WAN
If the gateway receives an incoming REGISTER request, the following procedure takes place:
1. Determine to which sip interface in the context cs the request should be forwarded. This happens accord-
ing the same rules as an incoming INVITE is forwarded. Outgoing calls to the registered contacts will pass
through the same sip interface as the incoming REGISTER request.
2. Check request-uri. The host part of the request-uri must match a domain of a location-service which has
configured imperative “authoritative” and is bound to the context sip-gateway which received the request.
3. Check to header. The host part of the to-uri must match the host part of the request-uri.
4. Check if registration is allowed. There must be an identity in the location-service that match with name or
alias the host part of the to-uri or a identity-group DEFAULT with a registration inbound face configured.
5. Create a dynamic identity if the identity to register does not already exist. This happens when the identity-
group DEFAULT is configured with a registration inbound face. The dynamic created identity inherits
from the identity-group DEFAULT.
6. Add all contacts with expires¦0 to the requested identity. The expiration time is taken out of the expire
parameter from the contact or from the expire header. This time is adjusted to fit into the configured life-
time boarder. If there is no expires parameter the default expired from the configured lifetime is taken.
7. Remove all contacts with expires=0 from the requested identity.
8. Remove a dynamic identity if the identity contains no more contacts.
9. Return 200 OK with all contacts registered or configured from the requested identity
If one of these steps fails the registration fails and an according message is sent. A registered contact is removed
out of the location-service after the expiration time has passed and the registration was not refreshed. The “SIP
Location-service Configuration Task List” (on page 804) in the context cs is able to forward calls to the regis-
tered contacts.
Applications 820
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
If calls from an ISDN, FXS or FXO interface are routed to the sip-location-service, it is necessary to bind a
location-service to the sip-location-service because the domain information is needed. An alternative way
would be to map a complete sip-uri to the call destination properties.
The mode command in the sip-location-service configures the behavior of the service when multiple contacts
are registered for one address of record. In “distribute” mode, the call is distributed to all contacts at the same
time. The first phone that picks up receives the call. In “hunt” mode, one contact after each other is called, and
the hunt-timeout parameter defines how long to wait until proceeding to the next contact. The contacts with
higher priority are hunted first. In “distribute-and-hunt” mode, all contacts with the same priority are distrib-
uted together and the hunt searches from the higher priority contacts to the lower priority contacts. If no hunt-
timeout is configured, there is no hunting.
context cs switch
interface sip IF_SIP
bind context sip-gateway GW_SIP
route call dest-service SERVICE_SIP
remote patton.com
local patton.com
location-service INALP
domain patton.com
identity-group DEFAULT
registration inbound
sip-interface SIP_WAN
transport-protocol udp+tcp 5060
bind ipaddress ROUTER WAN WAN
Applications 821
Trinity Release 3.14.X Command Line Reference Guide 62 • Context SIP Gateway Overview
3. Determine the location-service. The location-services are checked if one domain matches the requested
domain and if the imperative of the location-service is “authoritative”. If a location-service is bound and it
does not match for the requested domain the call is dropped.
4. Determine the identity. The location-service is searched for an identity where the name or an alias matches
the requested user.
5. Get the registered and configured contacts of that identity. The contacts are sorted according to the priori-
ties.
6. Distribute or Hunt the contacts according the configured mode.
If one of these steps fails, the call fails. It is recommended to configure a hunt-group in front of that service to
have a fall-back when the call fails because the requested identity is not registered.
Applications 822
Chapter 63 ISDN Overview
Chapter contents
Introduction ........................................................................................................................................................824
ISDN Reference Points .................................................................................................................................824
Possible Patton device Port Configurations ...................................................................................................825
ISDN UNI Signaling ....................................................................................................................................825
ISDN Configuration Concept .............................................................................................................................827
ISDN Layering .............................................................................................................................................827
823
Trinity Release 3.14.X Command Line Reference Guide 63 • ISDN Overview
Introduction
This chapter provides an overview of ISDN ports and describes the tasks involved in configuring ISDN ports
in Trinity.
ISDN ports are the physical ISDN connections on the Patton devices. There are two types of ISDN ports:
• The ISDN basic rate interface (BRI), and
• The ISDN primary rate interface (PRI).
A BRI port supports two 64kbit/s B-channels for switched voice or data connections, one 16kbit/s D-channel
for signaling and always-on data transfer. BRI ports are sometimes called S0 ports. The related PSTN access
service is also called Basic Rate Access (BRA).
The PRI port supports thirty 64kbit/s B-channels, one 64kbit/s D-channel and one synchronization timeslot
on a standard E1 (G.704) while supporting 23, 64kbit/s B-Channels and one 64kbit/s D-Channel on a stan-
dard T1 (G.703) physical layer.
Phone PBX
LE
Basic Rate Access point-to-multipoint (S-bus)
Local Exchange
TE TE
S/T U
NT1 LT ET
Phones
Phone PBX
Legend :
TE Terminal Equipment (Phone) LE Local Exchange
NT1 Network T ermination 1 (Modem) LT Line Termination
NT2 Network T ermination 2 (PBX) ET Exchange T ermination
Introduction 824
Trinity Release 3.14.X Command Line Reference Guide 63 • ISDN Overview
The S reference point is on the subscriber interface. This is the typical 4-wire connection between an ISDN
phone and an ISDN PBX. Be aware that many ISDN PBX vendors use non-standard proprietary 2-wire inter-
faces to connect the Terminals to the PBX.
The T reference point is on the trunk interface of a PBX. This is the standard 4-wire interface between the PBX
and the network termination unit (NTU) also known as NT1 in standard terminology. The ISDN layer 2 pro-
tocol at this point is in point-to-point mode between the NTU and the PBX.
The 4-wire layer 1 specification S and T interfaces is foreseen for in-house installations and carries a maximum
of 150 meters.
The S/T reference point is on a point-to-multipoint S-Bus. Here several terminals are connected directly to the
same BRI NTU. The S and T reference points are “collapsed”. The NT2 is not represented by any equipment
unit.
The U reference point is on the transmission side of the NTU designed to carry the ISDN line over the last
mile. For basic rate interfaces this is typically a DSL technology working on legacy copper pairs over a distance
up to 12 kilometers. For primary rate lines, DSL, coax and fiber transmission is in use. In most European
countries the U interface is not accessible to the subscriber, the operator always provides the NT1. In the US
and some other countries the NT1 can be integrated into the NT2, i.e. the PBX is connected directly to the U
interface.
The V reference point is typically a y-wire interface between the line card of the public switch and the 2 Mbps
transmission equipment which transports the PRI signal over copper (DSL), coax or fiber.
S T T U
TE NT2 USR NET Node USR NET NT1
Phone
PBX
Legend:
USR User Side Signaling IP Network
NET Network Side Signaling
Figure 120. ISDN signaling side
Introduction 825
Trinity Release 3.14.X Command Line Reference Guide 63 • ISDN Overview
S T T U
TE NT2 Nod e NT1 LT ET
Phone PBX
IP Network LE
Basic Rate Access point-to-multipoint (S-bus)
Local Exchange
TE TE
S/T S/T U
Nod e NT1 LT ET
Phones
IP Network
Primary Rate Access Line
S T V
TE NT2 Nod e IP Network Nod e ET
Phone PBX
Legend :
TE Terminal Equipment (Phone) LE Local Exchange
NT1 Network T ermination 1 (Modem ) LT Line Termination
NT2 Network T ermination 2 (PBX) ET Exchange T ermination
Introduction 826
Trinity Release 3.14.X Command Line Reference Guide 63 • ISDN Overview
ISDN Layering
ISDN consists of 3 layers. Each layer has its own parameters that need to be configured.
• Layer 1, often called the physical layer, is responsible to transport single bits between two systems. Layer 1
does not guarantee that a message can be transmitted without errors.
Parameters: Clock mode, line codes.
• Layer 2 allows a station to reliably send messages to another station using the D channel. Layer 2 imple-
ments flow control, error detection and correction (retransmission) as well as addressing mechanism to
direct messages to individual devices.
Parameters: point-to-point or point-to-multipoint mode, network/user side, permanent layer 2 enabled.
• Layer 3 does send and receive application level messages (i.e. call control). It cares for sending broadcast
messages and collecting the individual results of the attached devices. It also handles the assignment of the B
channels.
Parameters: network/user side, protocol (i.e. DSS1), maximum number of channels.
Call Control
Encapsulation: cc-
Bind: <call control inter
Layer 3 (Q.931)
Encapsulation: q931
Layer 2 (Q.921)
Encapsulation: q921
Layer 1
Phys. Port
Figure 122. ISDN layering model
The layered model of ISDN is reflected in the configuration by the use of different modes for each layer. The
layers are connected by using encapsulations and bindings. The encapsulation defines what the next higher
layer protocol will be. On the topmost layer, the binding finally selects a logical interface to connect the
port to. For more information how to configure and setup the physical ports for ISDN, please see Chapter 68,
“PRI Port Configuration” on page 909. Detailed information about Q.921 and Q.931 configuration are avail-
able in Chapter 64, “ISDN Configuration” on page 828.
Chapter contents
Introduction ........................................................................................................................................................829
ISDN Configuration Task List ............................................................................................................................829
Enter Q.921 Configuration Mode ................................................................................................................829
Configuring Q.921 Parameters .....................................................................................................................830
Configuring tei Assignment Procedure on ISDN ..........................................................................................830
Configuring Q.931 Encapsulation ................................................................................................................831
Enter Q.931 Configuration Mode ................................................................................................................831
Configuring Q.931 Parameters .....................................................................................................................831
Configuring a Channel Identifier on ISDN PRI ...........................................................................................833
Configuring Q.931 Application Protocol Encapsulation ...............................................................................833
ISDN Restart Message ..................................................................................................................................833
Debugging ISDN .........................................................................................................................................834
ISDN Configuration Examples .....................................................................................................................835
828
Trinity Release 3.14.X Command Line Reference Guide 64 • ISDN Configuration
Introduction
This chapter describes the configuration of the Q.921 and Q.931 protocol and how to bind the ISDN proto-
col to an application like the Call Control. To get an overview of the ISDN protocol and the layered configura-
tion model of Trinity, please see Chapter 63, “ISDN Overview” on page 823. In this chapter it is assumed, that
the lower layer on which ISDN will be setup is correctly configured. If ISDN has to run on a TDM port like
PRI, please see Chapter 68, “PRI Port Configuration” on page 909.
Introduction 829
Trinity Release 3.14.X Command Line Reference Guide 64 • ISDN Configuration
Note QSIG is an ISDN based protocol for signaling between nodes of a Private
Integrated Services Network. The formal name of the signaling system by
ISO / IEC is PSS1. Both names will co-exist and QSIG will continue to be
used as the marketing name.
Mode: q931
OR
device(q931)[e1t1-(slot/port)]# bchan-num-
ber-order descending-cyclic
up of the Patton device. The new e1t1 port command initial-link-cycle helps to recover from such conditions.
If enabled, an additional link up/down cycle is applied to the connected line after boot-up of the device.
On enabling an ISDN aware port (e1t1, bri), the SmartNode is sending an ISDN Restart message. That fea-
ture can now be disabled for ISDN Networks which do not expect a Restart message from a connected USER
device.
Mode: port e1t1 <slot> <port>
Mode: q931
Debugging ISDN
The debug isdn command may be used for investigating possible Q.921/Q.931 protocol problems or to get
call signaling information. The command can be applied to the port on which ISDN is configured and has a
further option to switch on or off a specific ISDN layer. Additionally, the ‘show port [e1t1 or bri]’ command
can be used to printout information about the current state and statistical information about received and
transmitted frames.
Mode: Operator execution
172.16.40.71(cfg)#port bri 0 1
172.16.40.71(prt-bri)[0/0]#q921
172.16.40.71(q921)[0/0]#q931
172.16.40.71(q931)[0/0]#uni-side net
172.16.40.71(q931)[0/0]#
172.16.40.71(q931)[0/0]#bind interface bri01
172.16.40.71(q931)[0/0]#exit
172.16.40.71(q921)[0/0]#exit
172.16.40.71(prt-bri)[0/0]#no shutdown
Example: PRI
Assume the scenario as illustrated in figure 123:
Node
Node
Configure PRI port 1/0 as clock master. From the Local Exchange timeslots 1 through 20 are available and the
total number of concurrent calls shall be limited to 10. Use down-cyclic channel numbering.
172.16.40.71(cfg)#port e1t1 1 0
172.16.40.71(prt-e1t1)[1/0]#q921
172.16.40.71(q921)[e1t1-1/0]#q931
172.16.40.71(q931)[e1t1-1/0]#uni-side net
172.16.40.71(q931)[e1t1-1/0]#max-channels 10
172.16.40.71(q931)[e1t1-1/0]#channel-range 1 20
172.16.40.71(q931)[e1t1-1/0]#bchan-number-order descending-cyclic
172.16.40.71(q931)[e1t1-1/0]#exit
172.16.40.71(q921)[e1t1-1/0]#exit
172.16.40.71(prt-e1)[e1t1-1/0]#no shutdown
Chapter contents
Introduction ........................................................................................................................................................838
ISDN Interface Configuration Task List .............................................................................................................838
Configuring DTMF Dialing (optional) .........................................................................................................839
Configuring an Alternate PSTN Profile (optional) ........................................................................................839
Configuring Ringback Tone on ISDN User-side Interfaces ..........................................................................840
Configuring Call Waiting (optional) .............................................................................................................840
Disabling Call Waiting on ISDN DSS1 Network Interfaces .........................................................................840
Configuring Call-Hold on ISDN Interfaces ..................................................................................................841
Enabling Display Information Elements on ISDN Ports ...............................................................................841
Configurable calling party or facility IE on ISDN .........................................................................................841
Configuring Date/Time Publishing to Terminals (optional) .........................................................................841
Sending the Connected Party Number (COLP) (optional) ...........................................................................842
Enabling Sending of Progress-indicator on ISDN (optional) .........................................................................842
Defining the ‘network-type’ in ISDN Interfaces ...........................................................................................842
ISDN Explicit Call Transfer Support (& SIP REFER Transmission) ............................................................843
ISDN Advice of Charge Support ..................................................................................................................845
ISDN DivertingLegInformation2 Facility .....................................................................................................848
Transmit direction ..................................................................................................................................848
Receive direction .....................................................................................................................................849
T1 Caller-Name Support ..............................................................................................................................849
Caller-Name Facility Format on QSIG .........................................................................................................851
Format Examples ....................................................................................................................................851
Tunneling of ISDN UUI1 Information Over SIP .........................................................................................851
Configuring the Message Waiting Indication Feature for ISDN ...................................................................852
Configuring the Release Tone on ISDN DSS1 Network Interfaces ...............................................................852
Configuring the ISDN User-side Timer T304 ..............................................................................................853
837
Trinity Release 3.14.X Command Line Reference Guide 65 • ISDN Interface Configuration
Introduction
This chapter provides an overview of ISDN interfaces, and the tasks involved in their configuration. This chap-
ter does not explain the basic configuration steps equal to all CS interfaces. Information about basic interface
configuration can be found in the general chapter about CS interface configuration (see Chapter 48, “CS Inter-
face Configuration” on page 572)
An ISDN interface represents the connection of an ISDN signaling channel to the call control. It encapsulates
the ISDN layer 3 protocol of an ISDN port’s D-channel, allows incoming and outgoing calls on this port, con-
trols its B-channels and provides a set of services.
There is a one-to-one relation between the port and the interface: Only one port can bind to an existing inter-
face, and there must be a port that binds to the interface for the interface to become functional (see figure 124).
An ISDN interface can encapsulate user and network side of the following protocols: DSS1, NI2, NTT. The
settings are automatically taken from the port that binds to the interface, and changes on the port are automat-
ically reflected on the interface.
ISDN Interfaces
Context CS
bind commands
ISDN ISDN
Port Port
Figure 124. ISDN interfaces on the CS context
Introduction 838
Trinity Release 3.14.X Command Line Reference Guide 65 • ISDN Interface Configuration
Date and time information can only be contained in the ISDN CONNECT message. This message is only
delivered to a terminal when a call from the terminal to the device is made and reaches connected state.
y
wa
ut
er G atev ic e
dia e
y Ro ic e Me s s D
wa e v IP e
D Vo A c c
SIP
G ate e s s
IP c 18 IP
Vo Ac 41 To
24 ra te d o de le
e 45In te g tN so
7
C on
od
0/
ar
(a)
6
le
IP so
Sm
0/
tN C on
5
To
ar
0/
4
Sm
0/
3
0/
2
rts
0/
3
Po
1
0/
0/
ice
0
Vo
0/
0/
1
0/
0
rts
ity
0/
Po
iv
ice
Vo
ct
0M
ity
A
10
tiv
k
0M
n
Ac
ity
Li
1
10
iv
et
nk
n
ct
M
En
Li
Li
0
A
0
IP
10
nk
et
nk
En
Vo
Li
Li
0
IP
Ru r
n
et
we
En
Vo
Po
r
un
e
ow
R
P
ECT
ay
ew
er
utte r G at v ic e
Ro dia e
ay R ouic ee Me s s D
ay e vv ic IP e
atew
ew s D De Vo A c c
SIP
G
G at e ss s
IP
IP c cc e 18 To
IP
Vo
Vo d AA c 41
24
24g ra te
te
d
o de le
e 45
45In te g ra tN so
7
C on
0/
te ar
o de IP
(b)
od
6
In le
so le
Sm
0/
tN IP C on
so
5
ar tN To To C on
0/
ar
4
m
Sm
0/
S
3
0/
2
rts
0/
Po
33
1
0/
0/
ice
0/
22
0
Vo
0/
0/
0/
11
0/
0/
00
rts
ity
0/
Po rts
ity
0/
Po
iviv
ice
ice
Vo
ct
0M
y
Vo
ct
0M
AA
it
10
tiv
nk
10
0M
nk
Ac
ity
Li
ity
Li
11
10
iviv
et
nk
n
ct
0M
En et
Li
ct
0M
Li
En
AA
IP
nk
10
et
nk
10
nk
nk
En
Vo
LiLi
Li
Li
00
Ru r
IP
n
et
IP
et
we
En
Vo
En
Vo
Po
RR r r
un
ee
un
owow
PP
DISCONNECT REFER
y
wa
uter
er G atev ic e
Rout e dia e
ay Rov ic e Me s s D
eway D ee v ic IP
Vo A c c
e
SIP
atew
G at ss D
IP G c e s s 18 IP
VoIP A cc c e
Vo 41 To
dA
24 ra te te d
o de
4524
e 45 g
te g ra tN so
le
7
C on
o dd e IP In
0/
In te ar
(c)
6
le
tN o To IP sole
Sm
0/
so
5
C on
artN To C on
0/
ar
4
m
SSm
0/
3
0/
2
rts
0/
33
Po
1
0/
0/
ice
0/
22
0
Vo
0/
0/
0/
11
0/
0/
00
rts
ity
0/
Ports
ity
0/
ice Po
iviv
Voice
ctct
0M
Vo
0M
ity
AA
10
tiv
nk
10
0M
nk
Ac
ity
LiLi
ity
10
iviv
et 1
nk
n
ctct
0M
Enet
Li
M
Li
En
AA
0
00
IP
110
nk
et
nk
nk
nk
En
Vo
LiLi
LiLi
Ru r
IP
n
et 0
IP
Enet
we
Vo
En
Vo
Po
RR r r
un
ee
un
owow
PP
BYE ECT
ay
ew
er
utte r G at v ic e
Roou ee dia e
ay R v icic Me s s D
ew ayD ee v IP
Vo A c c
e
SIP
atews ss D
GGat
IP es 18 IP
IP c cc e To
Vo
Vo d AA c 41
24
24 tete d o de
45 teteggrara
le
e 45 tN so
7
o dd e InIn C on
0/
ar
(d)
6
lele
tN o ToIPIP so
Sm
0/
so
5
CCon
ar tN To on
0/
m ar
4
SSm
0/
3
0/
2
rts
0/
33
Po
1
0/
0/
ice
0/
22
0
Vo
0/
0/
0/
11
0/
0/
00
rts
ity
rts
0/
ity
Po
0/
Po
iv
ice
iv
Vo ice
AA ct
0M
Vo
ct
0M
ity
10
tiv
10
nknk
0M
Ac
iv ity
Li
ity
Li
11
k
10
ct tiv
et
nk
n
et
0M
En
Li
AA c
0M
En
Li
0
IP
k
10
et
nk
10
nk
n
nk
En
Vo
Li
Li
Li
Li
00
IP
Ru r
n
et
IP
et
we
En
Vo
En
Vo
Po
ee r
unn
RR ur
PP ow
ow
DISCONNECT
Figure 125. Example SIP network connecting two device to give a home office access to the CO PBX
The phone in the home office has two active calls to other subscribers of the PBX in the central office. The user
wants to connect the other two participants and (a) sends an explicit call-transfer invocation to the device HO.
The device HO internally connects the two calls and sends a DISCONNECT message to the phone for both
calls. In a second step (b) the firmware on HO detects an internal loop. Both call legs are connected to the
same network. In this example, both call legs are handled by the same SIP gateway. The firmware on device
HO sends a REFER message to device CO, which connects the two call legs internally and sends a BYE mes-
sage to the device HO. (c) Again the firmware of CO detect an internal loop. This time the call legs are han-
dled by the same SIP interface, connected to the PBX. Since the ISDN port is a user port it sends an explicit
call-transfer invocation to the PBX (d), which connects the call and sends the device CO a DISCONNECT
message for both calls. During all these push back operations the datapath of the two participants
keeps connected.
The push back mechanism over ISDN (using ECT) and SIP (using REFER) works independently of the pro-
tocol that invoked the call-transfer.
The push-back mechanism can be configured on each interface separately. Per default push-back is enabled for
ISDN and SIP interfaces. You only have to change the configuration if you don’t want internally looped calls to
be pushed back to the network. The configuration command [no] call-transfer accept configures if an incom-
ing call-transfer request (e.g. ECT or REFER) shall be accepted. The configuration command [no] call-
transfer emit configures if a call reaching the device over this interface and leaving the device over this interface
shall be pushed back to the network, i.e. if a call-transfer request (ECT or REFER) shall be sent.
The following procedure disables the push-back mechanism on the ISDN interface connected to the PBX. No
ECT invocation is sent when a call is detected that is looped internally.
The following procedure disables the push-back mechanism on a SIP interface. No REFER message is sent
when a call is detected that is looped internally.
AOC is a network option that can be disable or set to be active for all calls or only on a per-call basis. If your
network provider offers AOC on a per-call basis the firmware needs to request AOC information on each out-
going call. The following procedure enables the reception of AOC messages on an ISDN user interface. Addi-
tionally the interface sends an AOC activation request for each outgoing call to the network.
In default, an ISDN network interface provides AOC information to the connected phones only if available,
i.e. only if the call is routed to an ISDN user interface that is connected to a network providing AOC informa-
tion. The following procedure enables the transmission of AOC message on an ISDN network interface even if
there is no AOC information from the network. In that case a message containing the value noChargeAvailable
is sent.
The following procedure enables the transmission of AOC message on a per-call basis. That is AOC messages
are sent by the connected phone only if configured for a per-call basis.
Transmit direction
Mode: interface isdn <interface>
Receive direction
Mode: interface isdn <interface>
T1 Caller-Name Support
The ISDN implementation now supports reception and transmission of the caller-name on T1 links as it is
used in NI2 networks according to Bellcore GR-1367-CORE. Transmission of the caller-name is part of the
Calling Name Delivery (CNAM) service.
In previous build series (R3.20), the caller-name was already supported for DSS-1 networks using User-User
information elements and for Q.SIG (PSS-1) networks using FACILITY messages. Now the caller-name is also
supported for NI2 networks following the Bellcore standard.
As a prerequisite, the caller-name feature must be enabled on each ISDN interface in the CS context separately.
This command now has additional arguments to configure the SETUP retention as follows:
In NI2 networks an incoming ISDN SETUP message may contain a NameInfomationFollowing indication
instead of the name. This means that the calling-party name is not available yet, but will be sent later, for exam-
ple, after the dictionary database lookup in progress succeeded. If such an incoming ISDN call is internally
routed to another network (e.g. to a SIP network or to a ISDN DSS-1 network), we must know the name
before sending the initial INVITE or SETUP message towards the destination network. Therefore we must
retain the SETUP message of the incoming ISDN call until the name is present. The caller-name command
now allows you to configure the behavior of this SETUP retention mechanism. There are three possible
options:
• caller-name ignore-absence <timeout>: This configuration command specifies the behavior for incoming
ISDN calls. When a NameInformationFollowing indication is received with the SETUP message, the call-
initiation is retained until the name is received or until this timeout elapses. After that, the call is forwarded
to the configured destination interface. When forwarding a call without a caller-name to a SIP network,
please note that there is no chance to send the caller-name later over SIP.
• caller-name early-alerting <timeout>: This configuration command specifies the behavior for incoming
ISDN calls. Some networks only deliver the name after an alerting indication. These networks simulate the
mid-ring name delivery feature of analog lines. If early alerting is enabled, we send back a faked ALERT-
ING message after a configurable timeout when we receive a NameInformationFollowing indication. This
command can be used together with the ignore-absence command. For example, you can configure an
interface to first generate an ALERTING message and later forward the call anyway. If used that way, the
early-alerting timeout should be smaller than the ignore-absence timeout.
• caller-name send-information-following: This configuration command specifies the behavior for outgo-
ing ISDN calls. If there is no name from the originating network, the ISDN interface configured with this
command sends a NameInformationFollowing indication to the remote side itself.
The following example enables and configures the caller-name feature on a T1 ISDN interface for incoming
calls. If no name is present in the SETUP message, but the SETUP message contains the NameInformationFol-
lowing indication, an ALERTING message is sent back after 500ms. If there is no name after additional 500ms
the call is routed to the destination network anyway.
The following example enables and configures the caller-name feature on a T1 ISDN interface for outgoing
calls. It enables the transmission of the NameInformationFollowing indication (encapsulated into sent SETUP
message) when no name is present from the originating network:
Mode: context cs / interface isdn
Format Examples
An example of the simple format:
Facility : Invoke : invokeid: 00000001
global operation
invoke {
present = 1
local = 0
argumentnamePresentationAllowedSimple = 'UserA'
}
An example of the extended format:
Facility : Invoke : invoked: 00000001
global operation
invoke {
present = 1
global = 1.3.12.9.0
argumentnamePresentationAllowedExtended {
nameData = 'UserA'
characterSet = 1
}
}
• purpose=isdn-uui
• content=isdn-uui
An example of such a User-to-User header when tunneling the IA5 character string "Hubert34" would look
like:
User-to-User: 044875626572743334;encoding=hex;purpose=isdn-uui;content=isdn-uui
In the case of interworking from SIP to SIP the exact content and parameters of the incoming User-to-User
header are forwarded.
Mode: interface isdn
The ISDN interface configuration mode enables notifications about new voice messages with a stuttered dial
tone. With the stuttered dial tone, if there is a new message/messages in the voice mailbox, for 3 seconds after
taking the phone off-hook the dial-tone will “stutter”, producing short delays between the dial-tone cadence.
You can enable the stutter dial tone feature with the message-waiting-indication command.
Chapter contents
Introduction ........................................................................................................................................................856
Configuring Conference Routing ........................................................................................................................860
Configuring the Ringing-Cadence .......................................................................................................................861
Creating a new Ringing-Cadence Profile .......................................................................................................862
Populating the Ringing-Cadence ..................................................................................................................862
Flushing the Ringing-Cadence ......................................................................................................................863
Displaying the Configuration of Ringing-Cadence Profiles ...........................................................................863
Using the Ringing-Cadence Profile on FXS interfaces ...................................................................................864
Configuring Distinctive-Ringing .........................................................................................................................864
Configuring the Message Waiting Indication Feature for FXS.............................................................................866
Configuration .........................................................................................................................................867
Configuring Supplementary Services ...................................................................................................................867
Configured Service Activation .......................................................................................................................868
Dynamic Service Activation/Deactivation/Interrogation ...............................................................................871
Service Invocation .........................................................................................................................................872
Creating a new FXS Supplementary-Services Profile .....................................................................................872
Using the FXS Supplementary-Services Profile on FXS interfaces .................................................................872
Configuring Flash-Hook Processing ..............................................................................................................873
Call Hold ......................................................................................................................................................875
Subscription/Activation ...........................................................................................................................875
Invocation (Mute) ...................................................................................................................................876
Invocation (Additional Call) ...................................................................................................................877
Call Waiting .................................................................................................................................................879
Subscription ............................................................................................................................................879
Activation ................................................................................................................................................880
Invocation ...............................................................................................................................................880
Call Waiting Reminder Ring ........................................................................................................................881
Subscription/Activation ...........................................................................................................................882
Invocation ...............................................................................................................................................882
Drop Passive Call ..........................................................................................................................................883
Subscription/Activation ...........................................................................................................................884
Invocation ...............................................................................................................................................884
Drop Active Call ...........................................................................................................................................886
Subscription/Activation ...........................................................................................................................886
Invocation ...............................................................................................................................................886
Call Toggle ...................................................................................................................................................888
Subscription/Activation ...........................................................................................................................888
Invocation ...............................................................................................................................................888
Call Transfer .................................................................................................................................................890
854
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
Subscription/Activation ...........................................................................................................................891
Invocation ...............................................................................................................................................891
Conference ....................................................................................................................................................893
Subscription/Activation ...........................................................................................................................893
Invocation ...............................................................................................................................................895
Call Park .......................................................................................................................................................897
Subscription/Activation ...........................................................................................................................897
Invocation ...............................................................................................................................................897
Advice-of-Charge (AOC) Tax-Pulses ............................................................................................................899
Converting AOC Information into Tax-Pulses ........................................................................................899
Local Tax-Pulse Generation ....................................................................................................................901
855
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
Introduction
This chapter provides an overview of FXS interfaces and the tasks involved in their configuration. This chapter
does not explain the basic configuration steps common to all CS interfaces. Information about basic interface
configuration can be found in the general chapter about CS interfaces (see chapter 48, “CS Interface Configu-
ration” on page 572).
An FXS interface represents a connection of an analog FXS port to the call control of Trinity. It provides the
signaling of the exchange side of an analog line, allows incoming and outgoing calls on this line, controls the
line events, tones and data path, and provides a set of supplementary services such as Call hold, Call Transfer,
etc. There is a one-to-one relation between an FXS port and an FXS interface. As shown in figure 126, each
FXS port must be bound to an interface to become functional. Please refer to chapter 70, “FXS Port Configu-
ration” on page 921 to find out how to configure an FXS port and bind it to an FXS interface.
Patton Device
PSTN signal-processing
Profile (gain, echo, etc.)
Tone-Set call-progress
Other Interfaces
Profile tones
Ring-Cadence ring-pattern
Session Profile
CS Contexts call
Router
routing
FXS call-hold,
Supplementary call-waiting,
FXS Interfaces
Services call-transfer,
use command
Profile etc.
bind command
characteristics
use command FXS of the connected
FXS 0/0
FXS 0/n
Profile phone(s)
FXS Ports …
Analog Phones
Introduction 856
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
The table below provides an overview of all configuration commands available to configure the FXS interface:
Introduction 857
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
Introduction 858
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
Example: Configuration of two FXS ports, each bound to an FXS interface, which routes the calls between the
two ports (subscriber numbers 100 and 101, respectively).
profile tone-set DEFAULT
profile pstn DEFAULT
profile ringing-cadence DEFAULT
context cs SWITCH
no shutdown
routing-table called-e164 RT-MAIN
route 100 dest-interface IF-FXS-00
route 101 dest-interface IF-FXS-01
interface fxs IF-FXS-00
route call dest-table RT-MAIN
interface fxs IF-FXS-01
route call dest-table RT-MAIN
port fxs 0 0
subscriber-number 100
Introduction 859
Trinity Release 3.14.X Command Line Reference Guide 66 • FXS Interface Configuration
a Enable the conference supplementary service and configure which key sequence invokes the confer-
ence (see section “Conference” on page 893)
b Set up a conference-routing path from the FXS interface to the sip-conference service (section “Con-
figuring Conference Routing”)
c Set up the sip-conference service in the Call Router (see section “SIP Conference-service” on
page 802).
d Set up a call-routing path from the sip-conference service to a SIP interface (see chapter 52, “Call
Router Configuration” on page 612).
3 The Nortel CS2K or RFC4240-compliant conference server must be set up to accept conference invoca-
tions from the Patton device.
Procedure: To route a conference invocation triggered by the phone to a conference service in the Call Router
(step 2b).
Mode: Port FXS
Command Purpose
node(if-fxs)[ctx-name.if-name]# [no] route con- Specifies a destination conference service that
ference dest-service service-name connects to an external conference server.
Optional: No default conference destination is
configured.
Example: Forward conference-invocation requests from an FXS phone to a Nortel CS2K soft switch.
the standard European ring cadence. Because most likely the same ringing-cadences are used on multiple FXS
interfaces the cadence itself is encapsulated into a ringing-cadence profile, which is used on the FXS interfaces.
Command Purpose
node(cfg) # [no] profile ringing-cadence Creates a ringing-cadence profile called profile-
profile-name name if it does not exist yet and enters its configu-
ration mode. There is a DEFAULT ringing-
cadence profile (ring 1s, pause 4s), which can be
modified. Since the DEFAULT profile is used on all
FXS interfaces by default, changing the DEFAULT
profile is the easiest way to change the ringing-
cadence for all FXS interfaces.
Note If you delete a ringing-cadence profile that is used by FXS interfaces those
interfaces will use the DEFAULT profile. The DEFAULT profile cannot be
deleted.
Command Purpose
node(pf-rc)[profile-name] # [no] (play|pause) If the index argument is missing, this commands
[index] duration appends a ring (play) or ring-pause (pause)
period to the ringing-cadence. Otherwise, if an
index of an existing element is given, that element
is overwritten. A ringing-cadence should at least
have a play and a pause element.
The duration argument specifies how long the
ring or ring-pause shall be applied in millisec-
onds. Enter a number within the range
[100…60000], i.e., between 100ms and 60s.
Note If a ringing-cadence profile only contains one play or pause element, the ele-
ment will be repeated forever, causing an endless ring or pause. An empty
ringing-cadence will lead to an endless pause.
Command Purpose
node(pf-rc)[profile-name] # flush-elements Resets the ringing-cadence, i.e., deletes all play
and pause elements within the profile.
Command Purpose
node> show profile ringing-cadence [name] Displays the configuration content of the ringing-
cadence profile name. If the name argument is
absent, displays a list of all ringing-cadence pro-
files.
Example:
node> show profile ringing-cadence
Ringing-Cadence Profiles:
=========================
DEFAULT
US-CODE1
US-CODE2
US-DISTINCTIVE
US-SPECIAL
node> show profile ringing-cadence US-SPECIAL
Ringing-Cadence Profile: US-SPECIAL
===================================
Used: by 4 module(s)
Ringing-cadence
---------------
Play: 500ms
Pause: 500ms
Play: 500ms
Pause: 500ms
Play: 1000ms
Pause: 3000ms
Command Purpose
node(if-fxs)[ctx-name.if-name]# [reset] use pro- Associates the ringing-cadence profile profile-
file ringing-cadence profile-name name with the current FXS interface if-name.
Optional: The default profile, DEFAULT, rings for
1 second, pauses for 4 seconds, then starts ring-
ing again.
Configuring Distinctive-Ringing
Distinctive-Ringing lets the local subscriber identify a caller based on the ring pattern. The Patton device is
able to play difference ring-patterns depending on the calling- or called-party number or explicitly through the
SIP Alert-Info header. For example, different ring-patterns may be played for internal and external callers.
Distinctive ringing uses the same ringing-cadence profiles as described in the previous section. The only differ-
ence is how they are used in the FXS interface. For each interface the administrator may configure a list of
(match, profile) pairs. The match-part defines in which circumstances the profile is used for ringing. The order
of those list entries is relevant, since they are processed in the configured order. If an entry matches, the corre-
sponding ringing cadence profile is used. If no entry matches, the ringing-cadence profile configured in the pre-
vious section is used (see section “Configuring the Ringing-Cadence” on page 861).
The match-part consists of a call-property type to examine and of a regular expression. You can use the follow-
ing call-properties:
• called-e164: Choose a ring-cadence profile based on the called-party number
• calling-e164: Choose a ring-cadence profile based on the calling-party number
• called-alert-info: Choose a ring-cadence profile based on the content of the SIP Alert-Info header (without
the angular brackets <>, e.g. use the regex-pattern http://127.0.0.1/Bellcore-dr5 to match the SIP Header
Alert-Info: <http://127.0.0.1/Bellcore-dr5>)
Procedure: To add/remove distinctive-ringing rules to an FXS interface.
Mode: Interface FXS
Command Purpose
node(if-fxs)[ctx-name.if-name]# [no] use pro- Uses the ringing-cadence profile profile-name for
file ringing-cadence profile-name distinctive calls where the called-e164 number, the calling-
[index] (called-e164|calling-e164|called-alert- e164 number, or the SIP Alert-Info header
info) regex-pattern matches the specified regular expression pattern.
Optional: No distinctive-ringing profiles are used
by default.
Example: Let the SIP switch define which of the standard Bell-Core ring-cadences to use.
profile ringing-cadence BELLCORE-RING-DEFAULT
play 1 2000
pause 2 4000
profile ringing-cadence BELLCORE-RING-2
play 1 800
pause 2 400
play 3 800
pause 4 4000
profile ringing-cadence BELLCORE-RING-3
play 1 400
pause 2 200
play 3 400
pause 4 200
play 5 800
pause 6 4000
profile ringing-cadence BELLCORE-RING-4
play 1 300
pause 2 200
play 3 1000
pause 4 200
play 5 300
pause 6 4000
profile ringing-cadence BELLCORE-RING-5
play 1 500
pause 2 60000
context cs SWITCH
FXS interface configuration mode allows a selection of the way in which notifications about new voice mes-
sages are performed. Supported modes are:
1. Stuttered dial tone (if there is a new message/messages in users voice mailbox, for 3 seconds after taking the
phone off-hook the dial-tone will “stutter”, producing short delays between the dial-tone cadence)
2. Visual Message Waiting Indication utilizing frequency shift keying signaling or line polarity reversal. Visual
MWI-enabled FXS phones have a LED on the case to represent a new voice message. This LED can be
turned on using one of the below configuration options.
- Frequency shift keying signaling. The led will blink (or will simply light up) when a new message arrives
to the voice mailbox.
- Line polarity reversal (battery-reversal). The polarity is normal when no messages are waiting. When mes-
sages are waiting the polarity is reversed back and forth with an interval of 500ms, which makes the lamp
on the phone blink with the same interval. As soon as the messages are cleared the battery-reversal stops
and the lamp stops blinking. When the lamp on the phone is permanently on, but with no messages wait-
ing, it could be an indication that the cable to connect the FXS port with the phone is crossed and should
be replaced with a straight cable.
3. Stuttered dial tone and Visual Message Waiting Indication.
Configuration
You can enable both stutter dial tone and visual message waiting indication at the same time issuing both mes-
sage-waiting-indication commands independently.
Mode: Interface FXS
Before a subscriber is able to invoke (trigger) a supplementary service, the service has to be activated (enabled).
Activation must happen in the device configuration. However, the subscriber may deactivate, re-activate, or
interrogate the state of a supplementary service through his phone.
Service Invocation
Invocation is the process of triggering the service, typically by pressing a keypad sequence on the subscriber’s
phone. Table 36 shows the default keypad sequences required to invoke the service provided by the Patton
device locally.
Command Purpose
node(cfg) # [no] profile fxs-supplementary- Associates the ringing-cadence profile profile-
services profile-name name with the current FXS interface if-name.
Optional: The default profile, DEFAULT, rings for
1 second, pauses for 4 seconds, then starts ring-
ing again.
Note If you delete a FXS supplementary-services profile that is used by FXS inter-
faces those interfaces will use the DEFAULT profile. The DEFAULT profile
cannot be deleted.
Command Purpose
node(if-fxs)[ctx-name.if-name]# [reset] use pro- Associates the FXS-supplementary-service pro-
file fxs-supplementary-service profile-name file profile-name with the current FXS interface if-
name. That is, the supplementary services config-
ured in the profile are enabled for the phone that
is connected to the FXS port, which is bound to
this FXS interface.
Optional: The default profile, DEFAULT, is used
by default. It has most of the available supple-
mentary services enabled.
Command Purpose
node(pf-fxs-ss)[profile-name]# [reset] flash- Configures whether or not the flash-hook signal
hook (handle-locally|relay) (on-hook for 80-750ms) is processed and how.
Typically, the flash-hook signal is generated on
the subscriber’s phone by pressing the Flash key
or by tapping the hook.
handle-locally: The initial flash-hook signal is
handled locally (default); it puts the ongoing call
on hold and optionally allows the subscriber to
make an additional consultation call (see Call
Hold service).
relay: The initial flash-hook signal is relayed to the
far end, to e.g. a SIP switch.
Optional: By default, the flash-hook is handled
locally.
Note To relay the flash-hook signal to a SIP switch (if the call is routed to/from a
SIP interface), you have to configure the flash-hook transmission method
(DTMF, RTP, SIP signaling) on the VoIP profile. See section “Configuring
Call Toggle,
Call Transfer, etc.
Call Hold
The Call-Hold service is used to set the far-end subscriber on hold. Depending on the configuration this just
mutes the local subscriber or offers him/her the possibility to set up a second consultation call.
If enabled, the subscriber invokes the Call Hold service by sending the flash-hook signal. Depending on the
configuration the flash-hook signal can be processed locally or forwarded to the far-end (e.g. to a SIP switch).
Subscription/Activation
The Call-Hold service can be activated in the FXS supplementary-services profile (it cannot be deactivated or
re-activated by the subscriber through a service-activation keypad sequence).
To activate/deactivate Call Hold change the profile configuration bound to the subscriber’s FXS interface as
follows:
Procedure: Enable/Disable the Call-Hold supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] call- Configures whether or not a call can be put on
hold (mute|additional-call) hold if the subscriber presses the Flash key. If
enabled the command also configures whether or
not the subscriber is able to make an additional
consultation call.
mute: The call is put on hold if the connected
phone sends an initial flash-hook signal; the far-
end hears the hold-tone; the subscriber is not
able to place a second call.
additional-call: The call is put on hold if the con-
nected phone sends an initial flash-hook signal;
the far-end hears the hold-tone; the subscriber
hears the dial-tone and is able to make an addi-
tional consultation call (default).
Optional: The call-hold service is enabled by
default, and the subscriber is able to make an
additional consultation call (additional-call).
Invocation (Mute)
Figure 128 on page 877 shows the call states and actions involved in invoking the Call Hold service if the fol-
lowing configuration has been applied:
• The flash-hook signal is handled locally
• The Call-Hold service has been activated with the mute option.
profile fxs-supplementary-services FXS-SS-HOLD-MUTE
flash-hook handle-locally
call-hold mute
Hold: If the local subscriber (A) is in an ongoing call with the far-end party (B), the subscriber invokes the
Call-Hold service by pressing the Flash key. This puts the active call on hold. The local subscriber (A) will hear
the hold tone. Whether B hears a hold tone, hold music, or another in-band message is under the responsibility
of the far-end telephony system (PBX, soft switch, etc.).
Resume: If the subscriber (A) presses the Flash key again while the call to B is on hold, the call to B is resumed
and A is able to talk to B again.
Drop: If the far-end party (B) drops the call while being on hold, the local subscriber (A) will hear the release
tone. If A goes on-hook while the call is on hold, the call to B is dropped as well (not shown in the picture).
connected
Patton Device
… …
A FXS Active Call B
held
Patton Device
disconnected
Patton Device
A FXS B
release-tone
Note Since the local subscriber is not allowed to place an additional call with the
mute option of the Call-Hold command, it is not possible to reach a two-call
state where other supplementary services such as Call Toggle, Call Transfer,
etc. can be invoked. If this is desired, use the additional-call option instead
(see section “Invocation (Additional Call)”).
connected
Patton Device
… …
A FXS Active Call B
held + dial-tone
Patton Device
1 B
Passive/Held Call
A FXS hold-tone
dial-tone
held + dialing
Patton Device
… Passive/Held Call B
A FXS hold-tone
Active/Consultation
Active/Consultation Call
Call C
held + consultation
Patton Device
B
… Passive/Held Call hold-tone
A FXS …
Active/Consultation Call C
hold-tone hold-tone
Hold: If the local subscriber (A) is in an ongoing call with the far-end party (B), the subscriber invokes the
Call-Hold service by pressing the Flash key. This puts the active call on hold. The local subscriber (A) will hear
the dial tone and is able to place an additional consultation call. Whether B hears a hold tone, hold music, or
another in-band message is under the responsibility of the far-end telephony system (PBX, soft switch, etc.).
Consultation Call: If the subscriber (A) hears the dial tone, he/she is able to dial the number of third party (C)
for consultation. Before C picks up the receiver the consultation call can be dropped and the held call resumed
by pressing the Flash button again. After C picks up, toggling between the calls can be achieved with the pat-
tern configured with the Call-Toggle service (see section “Call Toggle” on page 888).
Note The dial tone is only played for 12 seconds (or as configured with the address-com-
pletion timeout command in the CS context (see section “Configure General Call
Router Behavior” on page 617). After this timeout the consultation call is closed
and the hold tone is played.
Note Once the second call is connected, the supplementary services that involve two calls
can be invoked. Please refer to the corresponding sections below:
• Call Waiting Reminder Ring
• Drop Passive Call
• Drop Active Call
• Call Toggle
• Call Transfer
• Conference
Call Waiting
The Call-Waiting service allows an additional call to be placed to a busy local subscriber. The subscriber can
either accept or reject the call, or toggle between the active and the waiting call.
Subscription
The Call Waiting service can be activated in the FXS supplementary-services profile that is bound to the sub-
scriber’s FXS interface:
Procedure: Enable/Disable the Call-Waiting supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] call- Configures whether or not a second call can be
waiting accepted while the subscriber is involved in a first
call. The subscriber hears the call-waiting tone
and may invoke the Drop-Passive-Call (drops the
waiting call) or Drop-Active-Call or Call-Toggle
service to accept or reject the waiting call, respec-
tively. Those services must be enabled as well.
Optional: The Call-Waiting service is enabled by
default.
Activation
The Call-Waiting service is the only supplementary service that is not invoked by the subscriber but by the far-
end party. This is why the subscriber should be able to deactivate the service him-/herself without changing the
device configuration. For this purpose, the subscriber has to dial a special number.
However, you have to configure the Patton device to allow subscriber-based service activation. For this purpose,
you have to use a precall-service mapping-table on the subscriber’s FXS interface; the mapping-table defines
which keypad sequence triggers Call Waiting activation, deactivation, and interrogation (see section “Configur-
ing the Precall Service Tables” on page 579).
Example: Enables the Call Waiting service for the subscriber connected to FXS port 0/0. The subscriber is
allowed to deactivate/reactivate/interrogate the service from his/her phone with the keypad sequences *43#,
#43#, and *#43#, respectively.
profile fxs-supplementary-services FXS-SS-WAITING
flash-hook handled-locally # don’t relay the flash-hook
call-waiting # enable Call Waiting
context cs SWITCH
precall-service-table PST-WAITING
map *43# to activate-cw # activate Call Waiting
map #43# to deactivate-cw # deactivate Call Waiting
map *#43# to interrogate-cw # interrogate Call Waiting
interface fxs IF-PHONE
use profile fxs-supplementary-service FXS-SS-WAITING
use mapping-table precall-service PST-WAITING
• Activation: If the subscriber dials *43# the Call-Waiting service is (re-)activated. If the activation was suc-
cessful the subscriber hears the confirmation tone, otherwise the release tone.
• Deactivation: If the subscriber dials #43# the Call-Waiting service is deactivated. If the deactivation was
successful the subscriber hears the confirmation tone, otherwise the release tone.
• Interrogation: If the subscriber dials *#43# the Call-Waiting service is interrogated. If the service is active
the subscriber hears the confirmation tone, if the service is inactive he/she hears the release tone.
Invocation
Figure 130 on page 881 shows the call states and actions involved in invoking the Call Waiting service if the
following configuration has been applied:
• The Call-Waiting service has been activated.
• The subscriber has not deactivated the service.
profile fxs-supplementary-services FXS-SS-WAITING
call-waiting
If the local subscriber (A) is in an ongoing call with the far-end party (B), the Call-Waiting service is invoked by
an additional call to the subscriber (A). The new call to C is still passive, C hears the ringback tone whereas the
waiting tone is played towards the subscriber (A). The subscriber can then use one of the supplementary ser-
vices that involve two calls. Please refer to the corresponding sections below:
• Call Waiting Reminder Ring
• Drop Passive Call
• Drop Active Call
• Call Toggle
• Call Transfer
• Conference
connected
Patton Device
… …
A FXS Active Call B
connected + waiting …
Patton Device
… B
Active Call
A FXS
Passive/Waiting Call C
waiting-tone
ringback-tone
and the subscriber goes on hook he/she terminates the consultation call; as a consequence, the phone starts
to ring. When picking up the receiver he/she is connected to the original call. However, if the Call-Trans-
fer service is enabled, going on-hook connects the original to the consultation call (see section “Call Trans-
fer” on page 890).
• From Call Waiting: If a subscriber is engaged in an (active) call a new call may arrive. This new waiting call
is the passive call in this scenario. If the subscriber goes on hook he/she terminates the first call; the phone
starts to ring for the waiting call.
Subscription/Activation
The Call-Waiting-Reminder-Ring service is always active.
Invocation
Figure 131 on page 882 and figure 132 on page 883 show the call states and actions involved in invoking the
Call-Waiting-Reminder-Ring service. The service is invoked by the Patton device automatically if the Call-
Transfer service is disabled and the subscriber puts down the receiver while a passive call is still waiting.
held + consultation
Patton Device
… Passive/Held Call B
A FXS hold-tone
…
Active/Consultation Call C
A goes on-hook
reminder ring
Patton Device
Passive/Held Call B
A FXS hold-tone
A goes off-hook
connected
…
… Active/Original Call B
A FXS
Note If the Call-Transfer service is enabled when A puts down the receiver after
having made a consultation call, B is transferred to C. Thus the Call-Transfer
service, if enabled, has a higher priority (see section “Call Transfer” on
page 890).
connected + waiting
Patton Device …
…
B
Active/Original Call
A FXS
waiting-tone Passive/Waiting Call C
ringback-tone
A goes on-hook
reminder ring
Patton Device
A FXS
Passive/Waiting Call C
ringback-tone
A goes off-hook
connected
…
A FXS …
Active/Second Call
C
Note If A goes on hook with a waiting call, A’s phone always rings independent
whether the Call-Transfer service is enabled or not. This is because Call
Transfer is not allowed to connect a waiting to an active call (see section
“Call Transfer” on page 890).
This state is reached by either invoking the Call-Hold or the Call-Waiting service:
• From Call-Hold: Putting a call on hold makes it passive (no voice is passed between the parties). If allowed
by configuration the subscriber is then able to make a new consultation call, which is the active call. In this
scenario the Drop-Passive-Call service drops the first call and stays connected with the consultation call.
• From Call-Waiting: If a subscriber is engaged in an (active) call a new call may arrive. This new waiting call
is the passive call in this scenario. By invoking the Drop-Passive-Call service the subscriber rejects the wait-
ing call.
Subscription/Activation
The Drop-Passive-Call service can be activated in the FXS supplementary-services profile (it cannot be deacti-
vated or re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate
Drop Passive Call change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Drop-Passive-Call supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] drop- Configures whether or not the subscriber is able
passive-call [pattern pattern] to drop the passive call (e.g. the waiting or held
call). The pattern configures the keypad sequence
the subscriber has to enter to activate the service;
it usually starts with the ‘!’ (Flash) key.
Optional: The drop-passive-call service is
enabled by default; the default invocation pattern
is ‘!0’ (Flash+0)
Invocation
Figure 133 on page 885 and figure 134 on page 885 show the call states and actions involved in invoking the
Drop-Passive-Call service if the service has been activated. By pressing Flash+0 (or the pattern configured
above) the passive call is dropped; the active call stays connected.
held + consultation
Patton Device
B
… Passive/Held Call
A FXS hold-tone
…
Active Consultation Call C
connected
Patton Device
…
A FXS
…
Active Consultation Call C
connected + waiting
Patton Device …
… B
Active/First Call
A FXS
Passive/Waiting Call C
waiting-tone
ringback-tone
connected
Patton Device …
B
… Active/First Call
A FXS
Subscription/Activation
The Drop-Active-Call service can be activated in the FXS supplementary-services profile (it cannot be deacti-
vated or re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate
Drop Active Call change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Drop-Active-Call supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] drop- Configures whether or not the subscriber is able
active-call [pattern pattern] to drop the active and resume the passive call.
The pattern configures the keypad sequence the
subscriber has to enter to activate the service; it
usually starts with the ‘!’ (Flash) key.
Optional: The drop-active-call service s enabled
by default, the default invocation pattern is ‘!1’
(Flash+1)
Invocation
Figure 135 on page 887 and figure 136 on page 887 show the call states and actions involved in invoking the
Drop-Active-Call service if the service has been activated. By pressing Flash+1 (or the pattern configured
above) the active call is dropped and the passive call is (re-)activated.
held + consultation
Patton Device
… Passive/Held Call B
A FXS hold-tone
…
Active/Consultation Call C
connected
Patton Device …
… Active/Original Call B
A FXS
connected + waiting
Patton Device …
… B
Active/Original Call
A FXS
Passive/Waiting Call C
waiting-tone
ringback-tone
connected
Patton Device
…
A FXS
…
Active/Second Call C
Call Toggle
The Call-Toggle service can be used if the local subscriber is engaged in two calls, one active and one passive
call. It toggles between the calls, i.e. it deactivates the active call and (re-) activates the passive call.
This state is reached by either invoking the Call-Hold or the Call-Waiting service:
• From Call-Hold: Putting a call on hold makes it passive (no voice is passed between the parties). If allowed
by configuration the subscriber is then able to make a new consultation call, which is the active call. In this
scenario the Call-Toggle service returns to the first call and puts the consultation call on hold.
• From Call-Waiting: If a subscriber is engaged in an (active) call a new call may arrive. This new waiting call
is the passive call in this scenario. By invoking the Call-Toggle service the subscriber puts the first call on
hold and accepts the waiting call.
Subscription/Activation
The Call-Toggle service can be activated in the FXS supplementary-services profile (it cannot be deactivated or
re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate Call Toggle
change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Call-Toggle supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] call- Configures whether or not the subscriber is able
toggle [pattern pattern] to toggle between the active and passive call. The
pattern configures the keypad sequence the sub-
scriber has to enter to activate the service; it usu-
ally starts with the ‘!’ (Flash) key.
Optional: The call-toggle service is enabled by
default; the default invocation pattern is ‘!2’
(Flash+2)3
Invocation
Figure 137 on page 889 and figure 138 on page 890 show the call states and actions involved in invoking the
Call-Toggle service if the service has been activated. By pressing Flash+2 (or the pattern configured above) the
active call is deactivated and the passive call is (re-)activated.
held + consultation
Patton Device
… Passive/Held Call B
A FXS hold-tone
…
Active/Consultation Call C
connected + held
Patton Device …
… B
Active/First Call
A FXS
Passive/Consult. Call C
hold-tone
connected + waiting
Patton Device …
…
B
Active/First Call
A FXS
waiting-tone Passive/Waiting Call C
ringback-tone
Toggle: A presses 2
held + connected
Patton Device
… B
Passive/Held Call hold-tone
A FXS
…
Active/Second Call C
connected + held …
Patton Device
… B
Active/First Call
A FXS
Passive/Held Call C
hold-tone
Call Transfer
The Call-Transfer service can be used if the local subscriber is engaged in two calls, one passive/held and one
active consultation call. The service cannot be invoked if the second call arrived with the Call-Waiting service.
The Call-Transfer service is invoked if the subscriber goes on-hook, which causes the far-end parties of the held
and the consultation calls to be connected together.
Subscription/Activation
The Call-Transfer service can be activated in the FXS supplementary-services profile (it cannot be deactivated
or re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate Call
Transfer change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Call-Transfer supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] call- Configures whether or not the subscriber is able
transfer to connect the active to the passive call. No invo-
cation pattern has to be configured; the service is
invoked when the subscriber goes onhook. Invo-
cation is only possible if the second call was origi-
nated by the connected phone, i.e., you cannot
transfer if the second call was incoming (Call
Waiting), you must dial the second call.
Optional: The call-transfer service is enabled by
default.
Note You also have to enable the Call-Hold service with the additional-call option.
Otherwise the subscriber never reaches the state where he/she can transfer
two calls. Refer to section “Call Hold” on page 875.
Invocation
Figure 139 on page 892 shows the call states and actions involved in invoking the Call-Transfer service starting
from a held and a consultation call. By going on-hook the subscriber transfers the two far-end parties together,
i.e. connects the held call with the consultation call.
held + consultation
Patton Device
… B
Passive/Held Call
A FXS hold-tone
…
Active/Consultation Call C
transferred
Patton Device …
B
A FXS
…
C
Figure 140 on page 893 shows the call states and actions involved when the subscriber tries to invoke the Call-
Transfer service between a connected and a waiting call. This is not allowed since the subscriber could not yet
verify the identity of the new caller. Imagine the subscriber is connected to his wife when his girlfriend calls in.
If the subscriber goes off-hook he does not want his wife talking to his girlfriend.
Instead, if the subscriber goes on-hook in this scenario, it drops the active call and activates the Call-Waiting-
Reminder-Ring service (see section “Call Waiting Reminder Ring” on page 881), i.e. the phone rings for the
waiting call.
connected + waiting
Patton Device …
…
B
Active/First Call
A FXS
Passive/Waiting Call C
waiting-tone
ringback-tone
reminder ring
Patton Device
A FXS
Passive/Waiting Call C
ringback-tone
A goes off-hook
connected
…
A FXS
…
Active/Second Call C
Figure 140. Call-Transfer attempt from Call Waiting; triggers Call Waiting Reminder Ring
Conference
The Conference service can be used if the local subscriber is engaged in two calls, one passive/held and one
active consultation call. The service cannot be invoked if the second call arrived with the Call-Waiting service.
The Patton device does not join the three call-legs together itself but forwards the conference to an external
conference server (Nortel CS2K or RFC4240-compliant). Additional consultation calls can be added to an
ongoing conference.
Subscription/Activation
The Conference service can be activated in the FXS supplementary-services profile (it cannot be deactivated or
re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate Conference
change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Call-Transfer supplementary service
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] con- Configures whether or not the subscriber is able
ference [mode mode] [pattern pattern] to connect itself, the active far-end, and the pas-
sive far-end to a conference with the help of an
external conference server. The mode argument
specifies the type of the external conference
server; rfc4240 mode will be used if you enable
the service without explicitly specifying the mode
argument.
rfc4240: Pushes the conference to a RFC4240-
compliant SIP switch (default)
nortel: Pushes the conference to a Nortel C2SK
SIP switch
The pattern configures the keypad sequence the
subscriber has to enter to activate the service; it
usually starts with the ‘!’ (Flash) key. The ‘!3’
(Flash+3) pattern will be used if you enable the
service without explicitly specifying the pattern
argument.
Optional: The conference service is disabled by
default.
Note In addition to activating the supplementary service you have to configure the
following elements:
• The FXS interface that uses this profile has to forward invocation
requests to a Conference Service in the Call Router (see section “Config-
uring Conference Routing” on page 860).
• You have to create a SIP Conference Service in the Call Router. The SIP
Conference service forwards invocation requests to an external CS2K or
RFC4240-compliant SIP Media Server (see section “SIP Conference-ser-
vice” on page 802).
Example: Forward conference-invocation requests from a local FXS phone to a RFC4240-compliant soft
switch.
profile fxs-supplementary-services DEFAULT
conference mode nortel pattern !3 # use Flash+3 to invoke
context cs SWITCH
no shutdown
interface sip IF-SIP-CONFERENCE # SIP interface to soft switch
bind context sip-gateway SIP # SIP gateway not shown here
Example: Forward conference-invocation requests from a local FXS phone to a Nortel CS2K soft switch.
Invocation
Figure 141 on page 896 shows the call states and actions involved in invoking the Call-Transfer service starting
from a held and a consultation call. By pressing Flash+3 (or the pattern configured above) the subscriber initi-
ates a conference between him-/her-self and the two far-end parties.
Once the conference is established, the initiator may press Flash again to make an additional consultation call
(see “Call Hold” on page 875), i.e. to invite another person to the conference. Once the consultation call is
established, the initiator presses Flash+3 (or the pattern configured above) again to add the new participant to
the conference. The process may be repeated arbitrarily (please consult the manual of the conference server).
held + consultation
Patton Device
… Passive/Held Call SIP B
hold-tone
A FXS
…
Active/Consultation Call SIP C
Hold: A presses
conference + consultation
Patton Device External Conference Server …
… SIP B
Held Call SIP SIP
A FXS Conference Bridge
… …
Consult. Call SIP D SIP C
Note The Conference service can only be invoked if the second call was originated
by the local subscriber (consultation call). If the second call is an incoming
call (waiting call) and the local subscriber tries to invoke the Conference, the
Call-Toggle service will be executed instead.
Note Once the conference is established the subscriber can only add new partici-
pants or hang up to leave the conference. Neither party is able to actively
remove participants.
Call Park
The Call-Park service can be used to park a single ongoing call on a specific number. The Patton device does
not park the call itself but blind-transfers the call to an external park server.
Subscription/Activation
The Call-Park service can be activated in the FXS supplementary-services profile (it cannot be deactivated or
re-activated by the subscriber through a service-activation keypad sequence). To activate/deactivate Call Park
change the profile configuration bound to the subscriber’s FXS interface as follows:
Procedure: Enable/Disable the Call-Park supplementary service
Mode: Profile FXS Supplementary-Services
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] call- Configures whether or not the subscriber is able
park [pattern pattern] to park a call to a specific number on an external
park server. The pattern configures the keypad
sequence the subscriber has to enter to activate
the service.
Optional: The park service is enabled by default;
the default invocation pattern is ‘*98’.
Note The Call-Park service is invoked by first pressing the Flash key (‘!’) and wait-
ing for the dial tone. However, the configured pattern MUST omit the ‘!’
prefix, which is part of the Call-Hold service.
Note For the Call-Park service to work, you have to activate the Call-Hold service
with the additional-call option, too.
Note In addition to activating the supplementary services you have to make sure
that the far-end of the call (e.g. a SIP switch or PBX) understands a blind
transfer to the configured service pattern.
Invocation
Figure 142 on page 898 shows the call states and actions involved in invoking the Call-Park service starting
from an ongoing connected call. By pressing the Flash key, the call is put on hold and the subscriber hears the
dial-tone. The subscriber then dials *98parknumber# (or instead of the prefix *98 the pattern configured
above). The park number is terminated by the pound key (#) or by waiting for 5 seconds after entering the last
digit of the park number. The allocation of the park numbers is under the responsibility of the park server.
connected
Patton Device
… …
A FXS Active Call B
Hold: A presses
held + dial-tone
Patton Device
Passive/Held Call
A FXS B
Active/Consultation Call hold-tone
dial-tone
Park: A presses * 9 8 x y z #
parked externally
Patton Device External Park Server
A goes on-hook
parked externally
Patton Device External Park Server
Note The Patton device sends a blind transfer to the park number. If the call is
connected over SIP, the Patton devices sends a REFER message with the
user-part of the Refer-To URI set to *98parknumber.
Note: The process of picking up a call is defined by the park server. Typically, this is done by making a call to
another service number (e.g. *99parknumber). Please consult the user manual of the park server and make sure
that the Call Router on the Patton device is configured to route that pick-up call correctly.
connected
Patton Device
tax pulses
…
FXS Active Call ISDN
A SIP B
AOC
There are two configuration commands that map AOC information into tax pulses, one to map charging units
the other to map currency information. On an FXS interface, both types of information may arrive if the FXS
interface terminates calls from different networks (e.g. from two different SIP switches).
Procedure: Configure how AOC charging and currency units are converted into tax pulses
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] aoc The relay command enables conversion of
emit relay Advice-of-Charge (AOC) information from the
ISDN or SIP network into tax pulses and emits
node(pf-fxs-ss)[profile-name]# [reset] aoc emit
them.
units-per-pulse amount (units|tenths|hun-
dredths|thousandths) The two other commands configure how many tax
pulses the FXS port should emit when receiving
node(pf-fxs-ss)[profile-name]# [reset] aoc emit
an AOC packet from the network:
currency-per-pulse amount (units|tenths|hun-
dredths|thousandths) • units-per-pulse: Configures how many
charging units have to be accumulated from
the network until the Patton device sends
another tax pulse to the FXS port.
• currency-per-pulse: Configures the amount
of currency that has to be accumulated from
the network until the Patton device sends
another tax pulse to the FXS port.
Optional: AOC relay is enabled by default; If not
modified, one currency unit received from the net-
work is mapped to one tax pulse (no conversion)
and the currency amount of ten hundredths (e.g.
10 cents) is converted into one tax pulse.
Note If the conversion results in a fractional number of tax pulses to be sent (e.g.
2.3) the Patton device rounds up the pulse count (e.g. 3 pulses are sent).
Command Purpose
node(pf-fxs-ss)[profile-name]# [no|reset] aoc Instructs the FXS interface that uses this profile to
emit generate amount (units|tenths|hun- generate tax pulses. The tax-pulse frequency or
dredths|thousandths) (per-minute|per-hour) interval is not configured directly. You rather spec-
ify the currency you want to accumulate per min-
ute or hour. This currency rate is then converted
with the ‘aoc emit currency-per-pulse’ command
(see above).
Optional: AOC generation is disabled by default.
Note The first tax pulse is sent immediately when the user picks up the phone.
Example: Ignore the AOC information received from the network and rather generate cost of 25 cents per
minute; we assume that the phone treats one tax pulse as 10 cents.
profile fxs-supplementary-services DEFAULT
no aoc emit relay # don’t relay AOC from net
aoc emit currency-per-pulse 10 hundredths # phone: 1 pulse = 10 cents
aoc emit generate 25 hundredths per-minute # cost: 25 cents / min
Chapter contents
Introduction ........................................................................................................................................................904
Configuring when to dial (optional) ....................................................................................................................906
Configuring when to answer (optional) ...............................................................................................................907
903
Trinity Release 3.14.X Command Line Reference Guide 67 • FXO Interface Configuration
Introduction
This chapter provides an overview of FXO interfaces and the tasks involved in their configuration. This chapter
does not explain the basic configuration steps common to all CS interfaces. Information about basic interface
configuration can be found in the general chapter about CS interfaces (see chapter 48, “CS Interface Configu-
ration” on page 572).
An FXO, Foreign eXchange Office, interface connects to an FXS, Foreign eXchange Subscriber, interface. These
two interfaces are used in analog telephony. The FXS interface is provided at the central office in order to con-
nect to telephones, modems, PBXs, faxes, etc. Telephones and modems are FXO interfaces and want to con-
nect to the central office. The FXO interface in the Trinity device is like a telephone or modem interface.
An FXO interface represents a connection of an analog FXO port to the call control of Trinity. It provides the
signaling of the subscriber side of an analog line, allows incoming and outgoing calls on this line, and controls
the line events, tones and data path. There is a one-to-one relation between an FXO port and an FXO inter-
face. As shown in Figure 1, each FXO port must be bound to an interface to become functional. Please refer to
chapter 71, “FXO Port Configuration” on page 942 to find out how to configure an FXO port and bind it to
an FXO interface.
Introduction 904
Trinity Release 3.14.X Command Line Reference Guide 67 • FXO Interface Configuration
The table below provides an overview of all configuration commands available to configure FXO interface:
See chapter node(if fxo)[ctx name.if name]#[no] use profile Associates the tone set profile profile name with
Chapter 49, tone set profile name the current FXO interface if name. The tone set
"Tone Configu- profile maps call-progress tones such as dial-tone
ration" on or ringback-tone to defined tone sequences.
page 581 Optional: The default profile, DEFAULT, is pre-
configured with the Swiss standard call-progress
tone mapping.
See chapter node(if fxo)[ctx name.if name]#[no] use profile Associates the PSTN profile profile name with the
TODO, Chap- pstn profile name current FXO interface if name. The PSTN profile
ter 46, "PSTN contains the configuration for data/voice transmis-
Profile Config- sion on circuit-switched channels such as echo-
uration" on canceller, input and output gain, etc.
page 546 Optional: The default profile, DEFAULT, is pre-
configured with typical neutral gain and echo can-
celer values.
Introduction 905
Trinity Release 3.14.X Command Line Reference Guide 67 • FXO Interface Configuration
Example: Configuration of FXO to SIP. The FXO interface connects to the Telco central office. The SIP inter-
face connects to a small office network with 4 digit extensions. Any call received on the SIP interface is for-
warded to the Telco. Any call received on the FXO interface is forwarded to a second dial-tone for the
extension to be dialed.
context cs SWITCH
no shutdown
port fxo 0 0
bind interface SWITCH IF_FXO
no shutdown
Note Verify that you have configured the dial tone for the country in which the
Trinity device is installed. Not all countries have the same dial tone, so the
FXO interface will not detect when the remote FXS switch is sending the
dial tone if the dial tone is not configured for the proper country. For infor-
mation on configuring the dial tone for your country, refer to Chapter 49,
"Tone Configuration" on page 581.
Command Purpose
node(if fxo)[ctx name.if name]# [reset] dial after Specifies when to dial for an outgoing call, either
{dialtone|timeout [seconds]} when dial tone is detected or a certain amount of
time after going off hook.
Optional: The default is to dial when dial tone is
detected, which is suitable for most applications.
Example: Configure the FXO interface to start dialing 4 seconds after going off hook.
node>enable
node#configure
node(cfg)#context cs SWITCH
node(ctx-cs)[SWITCH]#interface fxo IF_FXO
node(if-fxo)[SWITCH.IF_FXO]#dial after 4 seconds
You can verify the change in the configuration by using the show running-config current-mode command.
Command Purpose
node(if fxo)[ctx name.if name]# [reset] accept Specifies when to answer an incoming call. If
after count [rings] count is a number, go off hook after the specified
number of rings. If count is a range, e.g. 1..2, go
off hook when caller ID has been received and
after the minimum number of rings.
Optional: The default is to accept after 1..2 rings,
which is suitable for most applications.
Example: Configure the FXO interface to go off hook for incoming calls after 1 ring regardless of whether the
caller ID has been received.
node>enable
node#configure
node(cfg)#context cs SWITCH
node(ctx-cs)[SWITCH]#interface fxo IF_FXO
node(if-fxo)[SWITCH.IF_FXO]#accept after 1 rings
You can verify the change in the configuration by using the show running-config current-mode command.
Chapter contents
Introduction ........................................................................................................................................................910
Terminology .................................................................................................................................................910
PRI Port Configuration task List .........................................................................................................................910
Enable/Disable PRI Port ...............................................................................................................................910
Configuring PRI Port-type ...........................................................................................................................911
Configuring PRI Clock-mode .......................................................................................................................911
Configuring PRI Line-code ...........................................................................................................................911
Configuring PRI Framing .............................................................................................................................912
Configuring PRI Line-Build-Out (E1T1 in T1 mode only) ..........................................................................912
Configuring PRI Application Mode (E1T1 only) .........................................................................................912
Configuring PRI LOS Threshold (E1T1 only) .............................................................................................913
Configuring PRI Encapsulation ....................................................................................................................913
Configuring PRI Encapsulation ....................................................................................................................913
PRI Debugging .............................................................................................................................................914
909
Trinity Release 3.14.X Command Line Reference Guide 68 • PRI Port Configuration
Introduction
This chapter provides an overview of the PRI (Primary Rate Interface) ports, their characteristics and the tasks
involved in the configuration. The Patton devices know two different kinds of PRI ports, E1 and T1. This
chapter describes the superset of all commands available on the different PRI ports. If a command is only exe-
cutable for a specific port then this circumstance will be noted or highlighted in the command description.
This chapter also explains how to prepare the ports for the usage of the different application protocols like
ISDN or PPP. For some applications, there must be the possibility to access user defined sets of timeslots of an
E1 or T1 port. On Patton devices’ this feature is called a Channel Group and it will be described in this chapter
as well.
Terminology
Hardware Type: Dependent on the device it can either be E1, T1 or E1T1. The Hardware Type and its
belonging Slot and Port Number must be specified for entering the configuration mode of a port. It is not pos-
sible to change the Hardware Type, it is given by the system (i.e. BRI/PRI).
Port Type: This expression is used in relation with the E1T1 port and describes if the E1T1 port is currently
running in E1 or in T1 mode. On an E1 or T1 port, the Port Type cannot be changed, it is static and matches
the Hardware Type.
Introduction 910
Trinity Release 3.14.X Command Line Reference Guide 68 • PRI Port Configuration
A new port e1t1 command has been introduced, which helps to recover from spurious ISDN network failure
conditions. In some networks, an E1-link-connected ISDN network may be in a failure condition after boot-
up of the Patton device. The new e1t1 port command initial-link-cycle helps to recover from such conditions.
If enabled, an additional link up/down cycle is applied to the connected line after boot-up of the device.
On enabling an ISDN aware port (e1t1, bri), the SmartNodes is sending an ISDN Restart message. That fea-
ture can now be disabled for ISDN Networks which do not expect a Restart message from a connected USER
device.
Mode: port e1t1 <slot> <port>
Mode: q931
PRI Debugging
For the investigation of possible problems in link establishment, data transmission or synchronization, there
exists a debug command with the options ‘event’ and ‘error’. The command has a hierarchical characteristic
and can be applied to all ports of given type on the whole device, or to all ports of slot or just to one specific
port.
Mode: Operator execution
Examples:
1)[no] debug e1t1
Enables/Disables the event and the error monitor
for all e1t1 ports of the device.
-detail: detail level <0-3> (Def: 0)
-full-detail: Enables maximum debug output
Chapter contents
Introduction ........................................................................................................................................................917
BRI Port Configuration task List.........................................................................................................................917
Enable/Disable BRI Port ...............................................................................................................................917
Configuring BRI Clock-mode .......................................................................................................................917
Configuring BRI Power-Feed ........................................................................................................................918
Configure BRI Line-Termination .................................................................................................................918
Configuring BRI Encapsulation ....................................................................................................................918
BRI Debugging .............................................................................................................................................918
BRI Configuration Examples ........................................................................................................................919
Example 1: ISDN with auto clock/uni-side settings ................................................................................919
Example 2: ISDN with manual clock/uni-side settings ............................................................................919
916
Trinity Release 3.14.X Command Line Reference Guide 69 • BRI Port Configuration
Introduction
This chapter provides an overview of the BRI (Basic Rate Interface) ports, their characteristics and the tasks
involved in the configuration. A BRI port supports two 64kbit/s B-channels for switched voice or data connec-
tions, one 16kbit/s D-channel for signaling and always-on data transfer. This results a usable data bit rate of
144kBit/s.
Introduction 917
Trinity Release 3.14.X Command Line Reference Guide 69 • BRI Port Configuration
BRI Debugging
If a problem in the link is established, data transmission or synchronization, there are executable debug com-
mands. The command has a hierarchical characteristic and can be applied to all ports on the whole device, or
to all ports of a slot or just to one specific port. In addition, the ‘show port’ and 'show isdn' command can be
used to print out information about the current configuration and about received and transmitted frames.
2 [name]#show isdn bri Show the status and statistics of the specified ISDN
[ [<slot> <port>] | [detail <level>] ] port. The default detail level is 0.
q921
uni-side auto
q931
protocol dss1
uni-side net
bchan-number-order ascending
bind interface bri04 switch
port bri 0 4
no shutdown
q921
uni-side user
q931
protocol dss1
uni-side user
bchan-number-order ascending
bind interface bri04 switch
Chapter contents
Introduction ........................................................................................................................................................922
Shutdown and Enable FXS Ports.........................................................................................................................924
Bind FXS Ports to FXS Interfaces in the CS Context...........................................................................................925
Configure a Subscriber Number ..........................................................................................................................925
Configure Phone-Specific Parameters ..................................................................................................................926
Plan your FXS profiles ..................................................................................................................................927
Use an existing FXS profile on an FXS port ..................................................................................................930
Create, modify, reset, or delete an FXS profile ..............................................................................................930
Configure the Electrical Standard ............................................................................................................931
Configure the Caller-ID Presentation ......................................................................................................932
Configure Connect and Disconnect Signals ............................................................................................933
Configure Tax-Pulse Modulation ............................................................................................................935
Configure Message-Waiting Indication (MWI) Feature for FXS .............................................................936
Displaying the Configuration and State of an FXS port.......................................................................................937
921
Trinity Release 3.14.X Command Line Reference Guide 70 • FXS Port Configuration
Introduction
This chapter provides an overview of POTS signaling (Plain Old Telephone System) and describes the tasks
involved in configuring FXS ports in Trinity.
This chapter includes the following sections:
• Shutdown and Enable FXS Ports (required)
• Bind FXS Ports to FXS Interfaces in the CS Context (required)
• Configure a Subscriber Number (recommended)
• Configure Phone-Specific Parameters (optional)
• Displaying the Configuration and State of an FXS port
FXS stands for Foreign Exchange Station and is the exchange side (or Central-Office (CO) side) of a POTS line.
Even though POTS is seen as an old technology it still plays an important part in today’s telecommunications
networks. There are still a large number of analog phone sets in use worldwide and will do so in the future.
These analog devices, be they phones, facsimile machines and the like, represent a large investment and it is
desirable to have the technical means to hook such devices to a Voice over IP enabled network.
The signaling procedure used on FXS ports is different throughout different countries, but the basic idea is to
use the POTS line itself as a current loop that signals off-hook and on-hook states of the handset. Going off-
hook establishes a connection between the phone and whatever is on the other side (central-office switch, Pat-
ton device, etc.).
Patton Device
PSTN signal-processing
Profile (gain, echo, etc.)
Tone-Set call-progress
Other Interfaces
Profile tones
Ring-Cadence ring-pattern
Session call Profile
CS Contexts
Router routing
FXS call-hold,
Supplementary call-waiting,
FXS Interfaces
Services call-transfer,
use command
Profile etc.
bind command
FXS 0/n
Profile phone(s)
FXS Ports …
Analog Phones
Introduction 922
Trinity Release 3.14.X Command Line Reference Guide 70 • FXS Port Configuration
Some Patton devices feature FXS ports, to which analog phones can be connected over RJ-11 connectors. In
software physical ports are represented by enumerated port entries in the configuration, port fxs 0 0 ... port fxs
0 n. Each port uses an FXS profile, which defines the physical properties of the connected phone such as the
electrical standard, whether or not the connected phone is able to indicate message-waiting state, and so on.
In order to receive and place calls, the port entry must be bound to an FXS interface in a CS context. The FXS
interface contains all call-signaling related configuration such as the call-routing destination (outbound call
interface) and the supplementary services offered to the phone (e.g. call-hold, call-waiting, call-transfer, etc.).
This chapter describes the configuration and operation principle of the FXS port. For a description of the FXS-
interface configuration options, refer to chapter 66, “FXS Interface Configuration” on page 854. The table
below provides an overview of all configuration commands available to configure the FXS port. A detailed step-
by-step walk-through for all theses configuration options can be found after the table and the example.
Introduction 923
Trinity Release 3.14.X Command Line Reference Guide 70 • FXS Port Configuration
Example: Configuration of two FXS ports, both using the default FXS profile for Northern America. Each
FXS port is bound to an FXS interface, which routes calls to the other port (subscriber numbers 100 and 101,
respectively).
profile fxs DEFAULT_US
electrical-standard bell # default
caller-id standard fsk-bell presentation mid-ring # default
context cs SWITCH
no shutdown
routing-table called-e164 RT-MAIN
route 100 dest-interface IF-FXS-00
route 101 dest-interface IF-FXS-01
interface fxs IF-FXS-00
route call dest-table RT-MAIN
interface fxs IF-FXS-01
route call dest-table RT-MAIN
port fxs 0 0
subscriber-number 100
use profile fxs DEFAULT_US
bind interface SWITCH IF-FXS-00
no shutdown
port fxs 0 1
subscriber-number 101
use profile fxs DEFAULT_US
bind interface SWITCH IF-FXS-01
no shutdown
Note In the running-config all FXS profiles always print the most important con-
figuration commands, i.e. the electrical-standard and caller-id commands,
even if they reflect the default values.
Command Purpose
node(prt-fxs)[slot/port]# [no] shutdown Shuts down or activates the port.
Mandatory: You must activate the port in order to
place and receive calls. By default, the port is
shut down. On shutdown, active calls on that port
are dropped and no more calls can be placed.
Note To be able to place calls you also have to bind the FXS port to an FXS inter-
face (see below).
Note FXS Ports or used FXS profiles can be re-configured while the port is active.
All changes are applied immediately even if a call is in place. Some configura-
tion changes however exhibit side effects as listed below:
• When changing any MWI option in the FXS profile, the MWI state is
lost (i.e. the device forgets that messages are waiting). This is the case if
the FXS port is shut down or activated as well.
Command Purpose
node(prt-fxs)[slot/port]# [no] bind interface Binds the FXS port to an interface in a CS con-
[context] interface text. If the context argument is omitted, the port is
bound to the specified interface in CS context
SWITCH.
Mandatory: You must bind the port in order to
place and receive calls. By default, the port is not
bound to an interface.
Note Only one FXS port can be bound to the same FXS interface. That is, you
have to create a dedicated FXS interface for each FXS port. If you want to
create a trunk group where calls may use any free FXS line, create a hunt-
group service in the session router ( refer to section “Creating a Hunt Group
Service” on page 656). If you want to create a distribution group where
many phones ring for an incoming call, create a distribution-group service in
the session router ( refer to section “Creating a Distribution Group Service”
on page 667).
Unlike ISDN where each terminal knows its own subscriber number (MSN), an analog phone does not have
this capability. If a phone is connected to an FXS port and makes an outgoing call (goes off hook and dials), the
dialed digits form the called-party number. But there is no calling-party information available from the phone.
Instead the Trinity device uses the number configured with the subscriber-number command on the FXS port to
build the calling-party number.
Procedure: To assign a subscriber number to an FXS port
Mode: Port FXS
Command Purpose
node(prt-fxs)[slot/port]# [no|reset] subscriber- Configures the subscriber number for the current
number number FXS port. The number argument is an arbitrary-
length string consisting of the characters 0-9, *, or
#.
Recommended: Only if a subscriber number is
configured the calling-party number will be
announced for outgoing calls. No subscriber num-
ber is configured for the attached phone by
default.
Note When changing the subscriber number while a call is connected, the new
subscriber number is only used as calling-party number for the next call.
However, if the subscriber number is changed when the user is in progress of
dialing a number, the new number is used when finally placing the call to the
far end.
• Connect Signal: If instead of a phone a PBX is connected to an FXS port, the PBX may want to receive a
signal if the far-end picked up the receiver. Different methods are available such as reverting the polarity or
sending a DTMF signal or a tax pulse.
• Disconnect Signal: In addition to the connect-signal the Patton device may break the loop for a short
period to signal that the far-end disconnected the call.
• Tax-Pulse Modulation: If the network charges for individual phone calls the Patton device is able to for-
ward or generate charging information to the phone by sending tax pulses (bursts of 12kHz or 16khz
tones).
• Message-Waiting Indication (MWI): If the Patton device is active on behalf of a PBX that provides voice-
mail, the device is able to forward indications for waiting messages to the phone. Again, there are many
standards with which a phone may want to get notified, including polarity-reversal, sending a voltage pulse,
FSK (frequency-shift keying), or playing a stuttered dial-tone when the user picks up the receiver.
Note Some of the settings combined in the FXS profile are country-specific (e.g.
the electrical standard) while others are specific for different types of phones
(e.g. the MWI signaling method).
Follow the tasks described below to create a new or modify an existing FXS profile and use it on the FXS ports:
• Plan your FXS profiles
• Use an existing FXS profile on an FXS port
• Create, modify, reset, or delete an FXS profile
Table 37. Default settings for built-in and manually-created FXS profiles
Built-In FXS profile Built-In FXS profile New FXS profiles
FXS-Profile Feature
DEFAULT_EU DEFAULT_US (same as DEFAULT_EU)
Electrical Standard etsi bell etsi
Caller ID fsk-etsi, fsk-bell fsk-etsi,
mid-ring presentation mid-ring presentation mid-ring-presentation
Connect Signal none none none
Disconnect Signal none none none
Tax-Pulse Modulation 12-kHz bursts 16-kHz bursts 12-kHz bursts
Table 37. Default settings for built-in and manually-created FXS profiles (Continued)
Built-In FXS profile Built-In FXS profile New FXS profiles
FXS-Profile Feature
DEFAULT_EU DEFAULT_US (same as DEFAULT_EU)
Message-Waiting none none none
Indication (MWI)
Note If you create new profiles next to the built-in DEFAULT_EU and
DEFAULT_US profiles, the new profile inherits all configuration parameters
from the DEFAULT_EU profile (see last column in table 37).
Note If you connect more than one type of phone we recommend to create new
profiles and name them according to the phone brand.
The table below provides an overview of all configuration commands available to configure the FXS profile.
Example: Configuration of two configured FXS ports, both using a created profile for the connected PBX
requiring connect and disconnect signals and supporting MWI signals. The ports are bound to an FXS inter-
face each, which routes the calls between the two ports (subscriber numbers 100 and 101, respectively).
profile fxs MY_PHONE
electrical-standard bell
caller-id standard fsk-bell presentation mid-ring
connect-signal dtmfc
disconnect-signal loop-break 250
tax-pulse-modulation bursts-16khz
message-waiting-indication stutter-dial-tone
message-waiting-indication frequency-shift-keying
context cs SWITCH
no shutdown
Command Purpose
node(prt-fxs)[slot/port]# [reset] use profile fxs Associates the FXS profile name with the current
name FXS port slot/port. That is, the phone-characteris-
tics configured in the profile are applied to this
FXS port.
Note If you delete an FXS profile all FXS ports that currently use that profile will
be reconfigured to use the default profile DEFAULT_EU.
Mode: Configure
Command Purpose
node(cfg)# [no|reset] profile fxs name If there was no FXS profile called name, the com-
mand creates a new profile. The command always
enters the profile configuration mode.
no: Deletes an existing profile. Note that the two
built-in profiles DEFAULT_EU and DEFAULT_US
cannot be deleted.
reset: Resets all features of the FXS profile to
their default settings according to table 37 on
page 927.
Each of the following sub-sections describe how to configure one feature of the FXS profile (one sub-section
for each row in table 37 on page 927).
Note FXS profiles can be re-configured even if they are used by active FXS ports;
most changes are applied immediately even if a call is in place. However, if
you change any MWI option the MWI state is lost (i.e. the device forgets
that messages are waiting).
Command Purpose
node(pf-fxs)[name]# [reset] electrical-standard Selects a country-specific standard for driving the
standard electrical signals (e.g. ring voltage, etc.).
Optional: Modify if the phone requires a different
standard than the default listed in table 38.
If you don’t find the country of the phone brand in this list, try the generic etsi or bell configurations first. If
neither works, please contact Patton support.
Note The configured electrical standard also covers the voltage applied for ringing.
The actual ring pattern however is determined by the ring-cadence profile
used on the FXS interface (see chapter 66, “FXS Interface Configuration” on
page 854).
Note If the electrical standard is changed during an active call, the change is not
applied immediately but only for the next call.
Command Purpose
node(pf-fxs)[name]# [no|reset] caller-id stan- Enables or disables the transmission of the
dard standard presentation (pre-ring|mid- Caller-ID. Specifies which standard to use (see
ring) Table 39 on page 933) and whether the caller-id is
sent before (pre-ring) or after (mid-ring) the first
ring.
Optional: Modify if the phone requires a different
caller-id standard and/or presentation than the
default listed in table 38.
Caller-ID standards starting with fsk use frequency modulation whereas standards starting with dtmf use dual-
tone sequences to send the Caller-ID. The Caller-ID includes the calling E.164 number, the calling name if
available, and the current date and time. Table 39 on page 933 lists all available Caller-ID standards.
Note The Patton device currently does not support Type II Caller-ID, i.e. infor-
mation about a waiting call while the user is already on the phone.
Note The configuration is applied immediately to FXS ports that use the FXS pro-
file.
Command Purpose
node(pf-fxs)[name]# [no|reset] connect-signal Enables/Disables the transmission of a connect
(polarity-reversal|dtmf-c|tax-pulse) signal. If enabled the device either reverses the
DC polarity (and establishes the original polarity
when the call is disconnected), sends a DTMF C
tone, or sends a tax pulse according to the tax-
pulse-modulation command (see table 40 on
page 934).
Optional: Typically, the connect-signal is only
required if you connect a PBX instead of a phone
to the FXS port that uses this profile.
Procedure: To configure how disconnect-events are signaled to the attached PBX or phone
Command Purpose
node(pf-fxs)[name]# [no|reset] disconnect- Enables/Disables the transmission of a discon-
signal loop-break milliseconds nect signal. If enabled the device drops the loop
current for the specified number of milliseconds
when the call is disconnected (see table 40).
Optional: Typically, the disconnect-signal is only
required if you connect a PBX instead of a phone
to the FXS port that uses this profile.
Note Although not configured explicitly the Patton device always plays a call-prog-
ress tone when the call is disconnected. Dependent on the disconnect reason
this may be the busy-tone (if a call-attempt reaches a busy user), the release-
tone (if the far-end user disconnects a connected call) or a confirmation-tone
(if the phone successfully activated a service). These call-progress tones are
played whether or not the loop-break disconnect-signal is enabled or dis-
abled.
3 The peer protocol (SIP, ISDN) must be configured to accept charge information. Refer to chapter 65,
“ISDN Interface Configuration” on page 837 or chapter 55, “SIP Interface Configuration” on page 700,
respectively.
The following procedure configures the physical characteristics of emitting tax pulses:
Procedure: To configure the modulation method for tax pulses
Mode: Profile FXS
Command Purpose
node(pf-fxs)[name]# [reset] tax-pulse-modula- Configures whether to use 12-kHz or 16-kHz
tion (bursts-12khz|bursts-16khz) tones to send tax pulses.
Optional: Modify if the phone requires a different
tax-pulse modulation than the default listed in
table 38.
Patton devices support the methods listed in table 41 to signal tax pulses to the connected phone.
Note Note: Changes of the tax-pulse modulation configuration are applied imme-
diately. That is, the method may change during the call.
3 If the Trinity device is connected to the message box over SIP, the method for MWI reception has to be
configured on the location service (see section “Configuring the Message Waiting Indication Feature for
SIP”on page 607).
The following procedure configures the method the FXS port uses to notify the phone about waiting messages;
all methods can be enabled independently.
Procedure: To configure which method is used to send an indication for waiting messages to the connected
phone
Command Purpose
node(pf-fxs)[name]# [no|reset] message-wait- Configures which methods to use to send Mes-
ing-indication stutter-dial-tone sage-Waiting Indication (MWI) signals to the
phone. The following three methods may be used
node(pf-fxs)[name]# [no|reset] message-wait-
in parallel. This is why there are three commands
ing-indication frequency-shift-keying
that can be enabled/disabled individually. They
node(pf-fxs)[name]# [no|reset] message-wait- control what is happening if a waiting message is
ing-indication pulsing (polarity-revseral|volt- present:
age)
• stutter-dial-tone: When the user picks up the
receiver, the dial-tone will be interrupted
repeatedly for 3 seconds.
• frequency-shift-keying: Lets a lamp or LED
blink on the phone’s case or displays a symbol
on its LCD display by sending a frequency-
modulated signal in on-hook state.
• pulsing: Lets a lamp or LED blink on the
phone’s case or displays a symbol on its LCD
display by sending polarity or voltage pulses.
- polarity-reversal: Repeatedly reverses the
DC polarity for a short time.
- voltage: Repeatedly sends voltage pulses.
Optional: Enable if the connected phone is able
to accept one of the supported MWI methods.
Note When changing any MWI configuration, the MWI state is lost (i.e. the Pat-
ton device forgets that messages are waiting).
Command Purpose
node> show port fxs slot port Displays configuration and state information of
FXS port slot/port.
TDM offset: 8
Configuration
Enabled: true
Subscriber number: 100
Country specification: etsi
Connect signal: None
Disconnect signal: None
Loop break time: 0[ms]
Tax-Pulse method: 12kHz
Tax-Pulse active time: 90[ms]
Tax-Pulse inactive time: 200[ms]
MWI stutter: false
MWI FSK: false
MWI pulse mode: None
MWI pulse time: 500[ms]
Caller-ID format: FSK ETSI
Caller-ID position: Mid-Ring
PCM Law: A-law
Calibrated: true
Channel: fxs 0 0 0/bearer 0
Line state: VP_LINE_STANDBY
State-Machine
State: onHookStandby
Configuration
Connect signal: None
Disconnect signal: None
MWI pulse mode: None
MWI pulse time: 500[ms]
Status
MWI FSK pending: false
MWI pulse pending: false
Update country pending: false
Tax pulses to send: 0
Tax pulses sending: 0
Note If the displayed information does not match the expected configuration or
state, please use enable the FXS port debug monitor (see chapter 73, “Debug
and Monitoring” on page 961).
Chapter contents
Introduction ........................................................................................................................................................943
Enable and Disable FXO Ports ............................................................................................................................946
Bind FXO Ports to FXO Interfaces in the CS Context ........................................................................................946
Configure a Subscriber Number ..........................................................................................................................947
Configure FXS Switch-Specific Parameters..........................................................................................................947
Plan your FXO profiles .................................................................................................................................948
Use an existing FXO profile on an FXO port ................................................................................................950
Create, modify, reset, or delete an FXO profile .............................................................................................950
Configure the Electrical Standard ............................................................................................................951
Configure the Caller-ID ..........................................................................................................................952
Configure Connect and Disconnect Signals ............................................................................................954
Configure Flash Hook Signaling ...................................................................................................................955
Display the Configuration and State of an FXO port ....................................................................................956
942
Trinity Release 3.14.X Command Line Reference Guide 71 • FXO Port Configuration
Introduction
This chapter provides an overview of POTS signaling (Plain Old Telephone System) and describes the tasks
involved in configuring FXO ports in Trinity.
This chapter includes the following sections:
• Enable and Disable FXO Ports (required)
• Bind FXO Ports to FXO Interfaces in the CS Context (required)
• Configure a Subscriber Number (optional)
• Configure FXS Switch-Specific Parameters (optional)
• Displaying the Configuration and State of an FXO port
FXO stands for Foreign Exchange Office and is the subscriber side of a POTS line. An FXO port on the Trinity
device simulates an analog phone set, which must go on-hook and off-hook, detect ringing and Caller-ID, and
dial the called-party number using DTMF. It can be used to connect the Trinity device to an FXS switch, such
as a Telco central office or another Trinity device with FXS ports.
Some Patton devices feature FXO ports, which can connect to the FXS switch over RJ-11 connectors. In soft-
ware physical ports are represented by enumerated port entries in the configuration, port fxo 0 0 ... port fxo 0
n. Each port uses an FXO profile, which defines the physical properties of the connected FXS switch such as
the electrical standard, Caller-ID standard, and so on.In order to receive and place calls, the port entry must be
Introduction 943
Trinity Release 3.14.X Command Line Reference Guide 71 • FXO Port Configuration
bound to an FXS interface in a CS context. The FXS interface contains all call-signaling related configuration
such as the call-routing destination (outbound call interface) and the supplementary services offered to the
phone (e.g. call-hold, call-waiting, call-transfer, etc.).
In order to receive and place calls, the port entry must be bound to an FXO interface in a CS context. The
FXO interface contains all call-signaling related configuration such as the call-routing destination (outbound
call interface), when to dial for an outgoing call, and when to answer an incoming call.
This chapter describes the configuration and operation principle of the FXO port. For a description of the
FXO-interface configuration options, refer to chapter 67, “FXO Interface Configuration” on page 903. The
table below provides an overview of all configuration commands available to configure the FXO port. A
detailed step-by-step walk-through for all these configuration options can be found after the table and the
example.
Introduction 944
Trinity Release 3.14.X Command Line Reference Guide 71 • FXO Port Configuration
Example: Configuration of FXO to SIP. The FXO interface connects to a Telco central office in the USA that
reverses polarity to indicate call connection and disconnection. The SIP interface connects to a small office net-
work with 4 digit extensions. Any call received on the SIP interface is forwarded to the Telco. Any call received
on the FXO interface is forwarded to a second dial-tone for the extension to be dialed.
profile fxo US
electrical-standard us
caller-id standard fsk-bell
connect-signal polarity-reversal
disconnect-signal polarity-reversal
no disconnect-signal busy-tone
no disconnect-signal loop-break
context cs SWITCH
no shutdown
port fxo 0 0
use profile fxo US
bind interface SWITCH IF_FXO
no shutdown
Note In the running-config all FXO profiles always print the most important con-
figuration commands, i.e. the electrical standard and caller-id commands,
even if they reflect the default values. They also always print the disconnect¬
signals busy tone and loop break which are enabled by default.
Introduction 945
Trinity Release 3.14.X Command Line Reference Guide 71 • FXO Port Configuration
Command Purpose
node(prt-fxs)[slot/port]# [no] shutdown Enables or disables the port.
Mandatory: You must enable the port in order to
place and receive calls. By default, the port is dis-
abled. When disabling, active calls on that port
are dropped and no more calls can be placed.
Note To be able to place calls you also have to bind the FXO port to an FXO inter-
face (see below).
Note FXO ports and used FXO profiles can be reconfigured while the port is
active. All changes are applied immediately even if a call is in place. Some
configuration changes may result in an active call dropping.
Command Purpose
node(prt-fxo)[slot/port]# [no] bind interface [ctx Binds the FXO port to interface if name in CS con-
name] if name text ctx name. If the ctx name argument is omit-
ted, the port is bound to the specified interface in
CS context SWITCH.
Mandatory: You must bind the port in order to
place and receive calls. By default, the port is not
bound to an interface.
Note Only one FXO port can be bound to an FXO interface. That is, you have to
create a dedicated FXO interface for each FXO port. If you want to create a
trunk group where calls may use any free FXO line, create a hunt-group ser-
vice in the session router (refer to section “Creating a Hunt Group Service”
on page 656.
Command Purpose
node(prt-fxo)[slot/port]# [no|reset] subscriber- Configures the subscriber number for the current
number number FXO port. The number argument is an arbitrary-
length string consisting of the characters 0-9, *, or
#.
Optional: FXO ports only receive the calling-party
number (from the Caller-ID) from the FXS port, so
the called-party number is not supplied for incom-
ing calls on the FXO port. If a subscriber number
is configured, it will be used as the called-party
number for incoming calls.
• Disconnect signals: Specifies what signal(s) to expect from the FXS switch that indicate that the far-end has
ended an active call.
• Flash hook duration: Specifies how long to go on-hook when sending a flash-hook to the FXS switch.
Note Some of the settings combined in the FXO profile are country-specific (e.g.
the electrical standard) while others are specific for different types of FXS
switches or for different FXS switch configurations.
Follow the tasks described below to create a new or modify an existing FXO profile and use it on the FXO
ports:
• Plan your FXO profiles
• Use an existing FXO profile on an FXO port
• Create, modify, reset, or delete an FXO profile
Table 43. Default settings for built-in and manually-created FXO profiles
FXO-Profile Feature Built-In FXO profile DEFAULT New FXO profiles (same as DEFAULT)
Electrical Standard etsi etsi
Caller ID fsk-etsi, ignore checksum fsk-etsi, ignore checksum
Connect Signals none none
Disconnect Signals busy tone, loop break 60..600 ms busy tone, loop break 60..600 ms
Flash Hook Duration 100 ms 100 ms
Note If you create new profiles next to the built-in DEFAULT profile, the new
profile inherits all configuration parameters from the DEFAULT profile (see
last column in table 43).
Note If you connect to more than one type of FXS switch we recommend you to
create new profiles and name them according to the FXS switch.
The table below provides an overview of all configuration commands available to configure the FXO profile.
Command Purpose
node(prt fxo)[slot/port]#[reset] use profile fxo Associates the FXO profile pf name with the cur-
pf name rent FXO port slot/port. That is, the FXS switch
characteristics configured in the profile are
applied to this FXO port.
Optional: The default profile, DEFAULT, works
well for most European applications. You may
modify the default profile, or create and use a new
profile, to fine-tune the port to match the FXS
switch characteristics.
Procedure: To create, reset, or delete a new FXO profile or enter an existing one
Mode: Configure
Command Purpose
node(cfg)#[{no|reset}] profile fxo pf name Creates FXO profile pf name if it does not exist
and enters the FXO profile configuration mode.
no: Deletes an existing profile. Note that the built-
in profile DEFAULT cannot be deleted.
reset: Resets the entire profile back to the default
settings as listed in table 43 on page 948.
Each of the following sub-sections describes how to configure one feature of the FXO profile (one sub-section
for each row in table 43 on page 948).
Note FXO profiles can be re-configured even if they are used by active FXO ports;
most changes are applied immediately even if a call is in place. However,
some changes may result in the call being dropped.
Command Purpose
node(pf-fxo)# [reset] electrical-standard Selects a country-specific standard for the electri-
standard cal properties (e.g. AC and DC termination, etc.).
Optional: Modify if the country or region uses a
different standard than the default listed in
table 43 on page 948.
If you don't find your country in the list, try the generic etsi or us configurations first. If neither works, please
contact Patton support.
Command Purpose
node(pf fxo)[pf name]#[reset] caller id Specifies the standard to expect the FXS switch
standard standard to use to send the Caller-ID.
Optional: Modify if the FXS switch uses a differ-
ent standard than the default listed in table 43 on
page 948.
Caller-ID standards starting with fsk use frequency modulation whereas standards starting with dtmf use dual-
tone sequences to send the Caller-ID. The Caller-ID includes the calling E.164 number, the calling name if
available, and the current date and time. Table 45 on page 952 lists all available Caller-ID standards.
Note The Patton device currently does not support Type II Caller-ID, i.e. infor-
mation about a waiting call while the port is already off-hook.
Note The configuration is applied to FXO ports that use the FXO profile either
immediately if there is no active call. Otherwise, it is applied once the call
has ended.
The command below configures whether or not to verify the Caller-ID checksum, and what to do if the check-
sum is invalid. Only the fsk etsi and fsk bell standards provide a checksum. For other standards, this command is
ignored.
Procedure: To configure whether or not to verify the Caller-ID checksum
Mode: profile fxo
Command Purpose
node(pf fxo)[pf name]#[{no|reset}] caller id ver- Specifies whether or not to verify the Caller-ID
ification method checksum, and what to do if the checksum is
invalid.
Optional: Caller-ID checksum verification is dis-
abled by default.
Table 46 on page 953 lists the available Caller-ID checksum verification methods.
Note This use of the screening-indicator is slightly different from its original
meaning in ISDN. If such calls are routed to ISDN, side effects could arise
depending on the value of the screening-indicator.
Command Purpose
node(pf fxo)[pf name]#[{no|reset}] connect Determine that an outgoing call has connected if
signal polarity reversal the FXS switch reverses the DC polarity.
Optional: This signal is disabled by default. If the
FXS switch provides this signal, it is recom-
mended to enable it. This is usually used in con-
junction with disconnect signal polarity reversal.
When there is an active call on an FXO port, the FXS switch may use various methods to indicate that the far-
end has hung up. These are called disconnect signals. The FXO ports support the following disconnect signals:
• Busy tone: Some FXS switches play the busy tone or release tone to indicate that a call has been ended.
• DTMF tone: Some FXS switches play a DTMF tone to indicate that a call has been ended.
• Loop break: Some FXS switches briefly remove power from the line to indicate that a call has been ended.
• Polarity reversal: Some FXS switches reverse the line voltage to indicate that a call has been ended.
If no disconnect signal is enabled, then the FXO port will still consider the call as connected when the far-end
has hung up, so it is recommended to enable at least one disconnect signal.
Procedure: ToTo configure which disconnect signals are expected from the FXS switch
Mode: profile fxo
Command Purpose
node(pf fxo)[pf name]#[{no|reset}] disconnect Determine that an active call has disconnected if
signal busy tone the FXS switch plays a busy tone or release tone.
Optional: This signal is enabled by default.
Command Purpose
node(pf fxo)[pf name]#[{no|reset}] disconnect Determine that an active call has disconnected if
signal dtmf tones the FXS switch plays any of the specified DTMF
tones.
Optional: This signal is disabled by default. If the
FXS switch provides this signal, it is recom-
mended to enable it.
node(pf fxo)[pf name]#[{no|reset}] disconnect Determine that an active call has disconnected if
signal loop break the FXS switch removes voltage from the line for a
brief period of time.
Optional: This signal is enabled by default.
node(pf fxo)[pf name]#[{no|reset}] disconnect Determine that an active call has disconnected if
signal polarity reversal the FXS switch reverses the DC polarity.
Optional: This signal is disabled by default. If the
FXS switch provides this signal, it is recom-
mended to enable it. This is usually used in con-
junction with connect signal polarity reversal.
node(pf fxo)[pf name]#[reset] loop break dura- Specifies how long, in milliseconds, to expect the
tion [min min time] [max max time] loop break disconnect signal from the FXS switch
to last. Anything shorter than min-time is ignored,
and anything longer than max time is consider a
link drop.
Optional: The default is 60..600 ms. If the FXS
switch sends a longer loop-break, adjust this con-
figuration.
Command Purpose
node(pf fxo)[pf name]#[reset] flash hook dura- Specifies how long, in milliseconds, the FXO port
tion time will go on-hook to signal a flash-hook to the FXS
switch.
Optional: The default is 100 ms. If the FXS switch
requires a shorter or longer flash-hook, adjust this
configuration.
Example: FXO port forwards 500 ms flash hook relayed from SIP interface. We also configure how the flash
hook is relayed to the SIP interface.
node>enable
node#configure
node(cfg)#profile fxo DEFAULT
node(pf-fxo)[DEFAULT]#flash-hook duration 500
node(pf-fxo)[DEFAULT]#profile voip DEFAULT
node(pf-voip)[DEFAULT]#flash-hook-relay signaling default
Command Purpose
node>show port fxo slot port Displays configuration and state information of
FXO port slot/port.
Subscriber number
Configuration
-------------
Enabled: true
Electrical standard: etsi
Caller-ID format: FSK ETSI
Caller-ID verification: Disabled
Flash hook duration: 100 ms
Loop break duration: 60..600 ms
Connect signals
Battery reversal: true
Tax pulse: false
Disconnect signals
Battery reversal: true
Busy tone: false
DTMF: false
Loop break: false
Is Off-Hook: true
Is Ringing: false
Polarity: positive
Link Status: up
Voltage: 19 V
Current: 15 mA
Note If the displayed information does not match the expected configuration or
state, please use enable the FXO port debug monitor (see Chapter 73,
"Debug and Monitoring" on page 961).
Chapter contents
Introduction ........................................................................................................................................................959
General configuration..........................................................................................................................................959
Configuring SFP port medium ............................................................................................................................959
Troubleshooting ..................................................................................................................................................959
958
Trinity Release 3.14.X Command Line Reference Guide 72 • SFP Port Configuration
Introduction
This chapter provides an overview of SFP ports and describes the tasks involved in configuring them through
the Trinity operating system. SFP ports are very similar to Ethernet ports and most commands available on
Ethernet port mode are available on SFP ports mode.
General configuration
SFP ports are configured the same as for the Ethernet ports. Therefore, refer to Chapter 14, “Ethernet Port
Configuration” on page 206 for binding, bridging and VLAN configuration. The medium configuration defer
slightly from the Ethernet Port medium, see below for detailed information on the medium configuration.
Troubleshooting
To get the actual SFP port information such as:
• Administrative state
• Operational state
• SFP module Part Number and Vendor
• Current Medium
• MAC address
• Binding
• Rx/Tx Statistics
Introduction 959
Trinity Release 3.14.X Command Line Reference Guide 72 • SFP Port Configuration
To find any issue with the SFP module detection and medium configuration, the following commands can be
used:
Troubleshooting 960
Chapter 73 Debug and Monitoring
Chapter contents
Introduction ........................................................................................................................................................962
Debugging Strategy .............................................................................................................................................962
Verifying IP Connectivity....................................................................................................................................963
Network Sniff Tool .......................................................................................................................................963
Debugging Call Signaling ....................................................................................................................................963
Debugging ISDN Signaling ..........................................................................................................................964
Debugging SIP Signaling ..............................................................................................................................964
Verify an incoming call ...........................................................................................................................965
Verify an outgoing call ............................................................................................................................965
Debugging FXS Signaling .............................................................................................................................965
Verify an incoming call ...........................................................................................................................966
Verify an outgoing call ............................................................................................................................968
Debugging FXO Signaling ............................................................................................................................969
Verify an incoming call ...........................................................................................................................969
Verify an outgoing call ............................................................................................................................972
Using Trinity’s Internal Call Generator ........................................................................................................973
Debugging the SIP Stack .....................................................................................................................................973
Debugging Voice Data ........................................................................................................................................974
How to Submit Trouble Reports to Patton ...................................................................................................976
What is PacketSmart? ....................................................................................................................................976
PacketSmart in Trinity ............................................................................................................................977
Configuring a PacketSmart Profile ..........................................................................................................977
What can I do with PacketSmart? ...........................................................................................................978
961
Trinity Release 3.14.X Command Line Reference Guide 73 • Debug and Monitoring
Introduction
This chapter describes how to use the internal debugging capabilities within Trinity. It provides debugging
strategies to help locate the source of a problem, and describes the show and debug commands used to verify
correct system operation and to troubleshoot problems.
This chapter includes the following sections:
• Debugging strategy (see page 962)
• Verifying IP connectivity (see page 963)
• Debugging call signaling (see page 963)
• Debugging voice data (see page 974)
• Debugging the SIP Stack (see page 973)
Debugging Strategy
Multi-service IP networks are highly comprised of sophisticated systems and protocols that offer a great many
possibilities. Unfortunately, the possible sources of trouble are almost as many, so it is important to use a very
methodical approach when tracking down a problem:
• Work from the bottom to the top of the protocol stack. Always start by checking your physicals. Verify that
cables and connectors are in good shape, verify the link layer, and check IP connectivity before working on
application problems.
• Work from the core to the edge. Problems always show up end-to-end, the phone does not ring, or the
browser cannot find the web site. To track down network problems it is however helpful to start with a min-
imal number of hops, make sure everything is OK and then increase the end-to-end distance hop by hop.
Note Event log files record warnings and other information from system compo-
nents. Entries in the logs are time-stamped with the actual system time, so
make sure the device time and its system time are the same. Otherwise, you
will not be able to get some information from the event logs because the time
stamps are unusable.
You can enter the system time manually or have it be automatically set via
SNTP. Refer to chapter 10, “Basic System Management” on page 145, or
chapter 35, “SNTP Client Configuration” on page 436.
Introduction 962
Trinity Release 3.14.X Command Line Reference Guide 73 • Debug and Monitoring
Verifying IP Connectivity
This procedure describes how to use the ping command to test IP connectivity. It verifies that your device can
communicate with such hosts as an IP phone, a registrar, and other VoIP gateways.
Use Telnet to access your device, then use the ping command to verify that an IP packet can be sent to, and
received from, all hosts with which the device should be able to communicate (e.g. IP phone, Registrar, other
VoIP gateways).
Mode: Administrator execution
3 Make sure that the call leaves correctly the context CS of your unit (debug the destination signaling proto-
col, depending on where the call goes to).
4 Debug call routing when the call enters the context CS, but it does not leave it. Remember that context CS
must be activated (“no shutdown”) for call routing to work.
Please make yourself familiar with the context CS concept described in chapter 47, “CS Context Overview” on
page 550. The following terminology will be used in this chapter:
• Incoming call: Call setup attempt from a call signaling protocol towards the context CS
• Outgoing call: Call setup attempt from the context CS towards a call signaling protocol
A basic call from an ISDN terminal connected to your unit over SIP to another SIP gateway is thus an incom-
ing and outgoing call a the same time, from the context CS perspective: It comes in from ISDN and goes out
over SIP.
Explanation:
• The line 18:53:40 SIP_TR> Received INVITE sip:50@172.16.32.32 SIP/2.0 indicates that the
INVITE message has been received. This means that the SIP network is functional
• 18:53:40 SIP_TR > Sent SIP/2.0 100 Trying and 18:53:40 SIP_TR> Sent SIP/2.0 180 Ring-
ing indicate that responses are sent back to the SIP network. This means that the call routing is working
correctly, and the call has found its destination on the gateway that is debugged. If there are no responses, or
a negative response, continue debugging call routing and the destination protocol.
Explanation:
• The line 18:59:07 SIP_TR> Sent INVITE sip:60@172.16.32.33 SIP/2.0 indicates that the INVITE
was sent. Thus, call routing worked in context CS and the message left to the SIP network.
• 18:59:07 SIP_TR > Received SIP/2.0 100 Trying indicate that responses are received from the SIP
network. This means that IP connectivity is OK and the remote gateway can be reached. If there are no
responses, or negative ones, continue debugging the remote SIP gateway.
Command Purpose
node> debug fxs [slot port] [detail level | full- Prints all operations of all or the selected FXS
detail] port (low-level). If the slot and port arguments are
provided the debug monitor is only enabled for the
specified port; otherwise it is enabled for all ports.
The detail level specifies the level of detail to print,
full-detail prints all information.
node> debug fxs-signaling [detail level | full- Prints all operations on the FXS interfaces (high-
detail] level). The detail level specifies the level of detail
to print, full-detail prints all information.
Explanation:
• HOOK [fxs 0 0 0]: Vp886ProcessHookEvent – OFFHOOK: The hardware detected that the phone went
off-hook.
• [EP IF-FXS-00] State IDLE, event OFF_HOOK: The FXS interface recognized the phone going off-
hook.
Note This line is printed before the hardware’s line. This may happen because the
two lines are printed by different tasks, which may disrupt the order.
Explanation:
• [EP IF-FXS-00] Start Ring. The FXS interfaces received a call and instructs the FXS port to start ringing.
• [fxs 0 0 0/bearer 0] FXS channel add ring cadence element 'pause': FXS port starts with the configured
ring-cadence; starts with a pause.
• [fxs 0 0 0/bearer 0] FXS channel add ring cadence element 'play': Plays the next ring-signal in the
cadence.
• [EP IF-FXS-00] State RINGING, event OFF_HOOK: The user picked up the receiver.
• [fxs 0 0 0/bearer 0] Signal ring-stop: Stop ringing immediately.
• [EP IF-FXS-00] Change datapath direction to Send/Receive: Activate the voice stream.
Command Purpose
node>debug fxo [slot port] [{detail level|full Prints low-level FXO port operations. If the slot
detail}] and port arguments are provided, the debug mon-
itor is only enabled for the specified port; other-
wise, it is enabled for all ports. The detail level
specifies the level of detail to print. full detail
prints all information. It is recommended not to
use a level higher than 4 unless instructed by
support.
node>debug fxo signaling [{detail level|full Prints high-level FXO interface operations. The
detail}] detail level specifies the level of detail to print. full
detail prints all information.
Explanation:
• [EP IF_FXO] State IDLE, event RING START: The FXO port has detected the first ring from the FXS
switch.
• [EP IF_FXO] Received caller id 3018675309, name O: The FXO port has detected the Caller-ID. The
calling E.164 number is 3018675309.
• [fxo 0 0 0/bearer 0] Went off-hook: The FXO port has gone off-hook.
• [EP IF_FXO] Play tone: dial-tone (profile ""): The FXO port is playing the second dial tone.
Note This line is printed before the hardware's line. This may happen because the
two lines are printed by different tasks, which may disrupt the order
• State ACTIVE, event DTMF: The caller has dialed one digit of the extension.
• [EP IF_FXO] Play tone: ringback-tone (profile ""): The call is being routed to the extension.
• [EP IF_FXO] State ACTIVE, event PEER_CONNECTED: The phone at the extension has answered the
call.
Explanation:
• [EP IF_FXO] State IDLE, event OFFER: The FXO port has a call to make.
• [fxo 0 0 0/bearer 0] Went off-hook: The FXO port has gone off-hook.
• State WAIT FOR DIALTONE, event DIALTONE: The FXO port is receiving a dial tone from the FXS
switch.
• Dialing to terminal: 3018675309: The FXO port is dialing the called E.164 number (3018675309).
• Change state to WAIT FOR CONNECT: The polarity reversal connect signal is enabled, so the FXO port
will wait for it.
• [EP IF_FXO] State WAIT FOR CONNECT, event BATTERY REVERSAL: The called phone has been
answered, and the FXS switch has indicated this by reversing the voltage on the line.
• [EP IF_FXO] Change state to ACTIVE: The call is connected.
[no] debug mg-dejitter Displays changes to the settings of the dejitter buffer, exceptions
(underrun, overrun, packet drops) and size changes.
Usage: To investigate problems related to voice quality, voice packet
payload sizes, delays, jitter
[no] debug mg-control Displays control activities on the Data Path (path of voice/fax data
[detail | full-detail ] packets within your unit): State changes, tone start/stop, DTMF play-
back/detection, fax/modem detection.
Usage: To investigate problems with voice connections, DTMF, tone
playback, fax and modem transmissions.
[no] debug mg-rtp [detail | Displays RTP related call parameters at call setup: local/remote IP
full-detail ] address and port, SSRC. During operation, displays periodically
updated statistics containing the number of sent and received packets,
the number of lost packets.
Usage: To verify that RTP packets are sent/received, and to debug net-
work quality issues (lost packets).
[no] debug mg-switch Displays control activities on the TDM part of the Data Path.
[detail | full-detail ]
Usage: To investigate problems with hair pinning or timeslot switching.
[no] debug mg-dsp [detail | Displays control activities on the DSP including all call parameters
full-detail ] (e.g. the used codec).
Usage: To document the DSP parameters used for each call setup.
Depending on the type of problem, some debug monitors are more useful than others. Try to avoid enabling all
monitors at the same time, as this generates a lot of output and can degrade system performance. The following
examples show some typical debug cases and what monitors should be switched on in these cases.
Example: Debugging voice connections
Symptoms: Voice quality is bad (dropouts), the voice connection is only established in one direction or not at
all, there is only noise instead of voice, no tones are played (e.g. dialtone).
Prerequisite: The call is established from a signaling point of view.
Use the following debug monitors:
Note In order to correlate the output of different protocol monitors (e.g. ISDN
signaling and gateway SIP signaling), run the monitors concurrently. You
can do this either in the same Telnet session, or using different Telnet ses-
sions.
• Network traffic traces—In certain cases it may be helpful to have a trace of the traffic on the IP network in
order to inspect packet contents. Please use one of the following tools (supporting trace file formats which
our tools can read):
- Network Associates Sniffer—Details are available at www.sniffer.com
- TTC Firebird—Details are available at www.ttc.com
- Wireshark - Details are available at www.wireshark.com (freeware)
When possible, submit the package of trouble report files by mail to the following address:
support@patton.com (use fax only in exceptional cases).
What is PacketSmart?
PacketSmart is a network monitoring application which runs on probes (e.g. PI-150) installed physically in the
network itself.
While it is active, PacketSmart gathers VoIP traffic information and sends statistics to a central BroadSoft
server. Then, using the PacketSmart GUI on a PC desktop, we can retrieve this information in the form of
graphical plots and meaningful data in order to detect any problem in the network as soon as possible. By
detecting errors soon enough, service providers can then fix them before they become an issue, assuring cus-
tomers a valuable quality of service.
PacketSmart in Trinity
PacketSmart is integrated in Trinity for the products SN4970, SN4980, SN4990, SN5480, SN5490, SN5300,
SN4130, SN4170, SN5530, and SN5570. In order to use it, a Patton PacketSmart License needs to be pur-
chased and activated, and the device itself needs to be registered in the BroadSoft server.
Once it is configured and running, PacketSmart will monitor all VoIP traffic that goes through an Ethernet
interface. It will measure the amount of (total) traffic, gather all SIP messages for every call, calculate VoIP met-
ric values and statistics, and upload this data to the BroadSoft server. Because more calls means more processing
and PacketSmart is heavy on the use of resources, a monitoring SmartNode will see the maximum of calls it
can handle limited by a factor that depends on the product.
3 (Optional) Configure the URI of the BroadSoft server and the IP protocol (IPv4 or IPv6) to communicate
with it.
4 (Optional) Configure SIP and RTP ports to use when generating calls for network assessment tests.
5 In the Ethernet port mode (or bridge-group or switch-group mode) use the PacketSmart profile to start
monitoring.
Note More than one PacketSmart profile can be created, but only one can be in
use at any time.
Chapter contents
Introduction ........................................................................................................................................................980
Contact information............................................................................................................................................980
Contacting Patton Technical Services for Free Support .................................................................................980
Warranty Service and Returned Merchandise Authorizations (RMAs).................................................................980
Warranty coverage ........................................................................................................................................980
Out-of-warranty service ...........................................................................................................................981
Returns for credit ....................................................................................................................................981
Return for credit policy ...........................................................................................................................981
RMA numbers ..............................................................................................................................................981
Shipping instructions ..............................................................................................................................981
979
Trinity Release 3.14.X Command Line Reference Guide 74 • Contacting Patton for Assistance
Introduction
This chapter contains the following information:
• “Contact information”—describes how to contact Patton technical support for assistance.
• “Warranty Service and Returned Merchandise Authorizations (RMAs)”—contains information about the
warranty and obtaining a return merchandise authorization (RMA).
Contact information
Patton Electronics offers a wide array of free technical services. If you have questions about any of our other
products we recommend you begin your search for answers by using our technical knowledge base. Here, we
have gathered together many of the more commonly asked questions and compiled them into a searchable
database to help you quickly solve your problems.
Note If you purchased your equipment from a Patton Electronics reseller, ask your
reseller how you should proceed with warranty service. It is often more con-
venient for you to work with your local reseller to obtain a replacement.
Patton services our products no matter how you acquired them.
Warranty coverage
Our products are under warranty to be free from defects, and we will, at our option, repair or replace the prod-
uct should it fail within one year from the first date of shipment. Our warranty is limited to defects in work-
manship or materials, and does not cover customer damage, lightning or power surge damage, abuse, or
unauthorized modification.
Introduction 980
Trinity Release 3.14.X Command Line Reference Guide 74 • Contacting Patton for Assistance
Out-of-warranty service
Patton services what we sell, no matter how you acquired it, including malfunctioning products that are no
longer under warranty. Our products have a flat fee for repairs. Units damaged by lightning or other catastro-
phes may require replacement.
RMA numbers
RMA numbers are required for all product returns. You can obtain an RMA by doing one of the following:
• Completing a request on the RMA Request page in the Support section at www.patton.com
• By calling +1 (301) 975-1007 and speaking to a Technical Support Engineer
• By sending an e-mail to returns@patton.com
All returned units must have the RMA number clearly visible on the outside of the shipping container. Please use
the original packing material that the device came in or pack the unit securely to avoid damage during shipping.
Shipping instructions
The RMA number should be clearly visible on the address label. Our shipping address is as follows:
Patton Electronics Company
RMA#: xxxx
7622 Rickenbacker Dr.
Gaithersburg, MD 20879-4773 USA
Patton will ship the equipment back to you in the same manner you ship it to us. Patton will pay the return
shipping costs.
Chapter contents
Introduction ........................................................................................................................................................983
982
Trinity Release 3.14.X Command Line Reference Guide A • Trinity Architecture Terms and Definitions
Introduction
This chapter contains the terms and their definitions that are used throughout this Trinity Release 3.0 Com-
mand Line Reference Guide. This guide contains many terms that are related to specific networking technologies
areas such as LAN protocols, WAN technologies, routing, Ethernet, and Frame Relay. Moreover various terms
are related to telecommunication areas.
Introduction 983
Trinity Release 3.14.X Command Line Reference Guide A • Trinity Architecture Terms and Definitions
Introduction 984
Trinity Release 3.14.X Command Line Reference Guide A • Trinity Architecture Terms and Definitions
Introduction 985
Trinity Release 3.14.X Command Line Reference Guide A • Trinity Architecture Terms and Definitions
Introduction 986
Trinity Release 3.14.X Command Line Reference Guide A • Trinity Architecture Terms and Definitions
Introduction 987
Appendix B Command Summary
Chapter contents
Introduction ........................................................................................................................................................989
New Configuration Commands ..........................................................................................................................990
Other ..................................................................................................................................................................990
Show help .....................................................................................................................................................990
Show command history ................................................................................................................................990
Restart system ...............................................................................................................................................990
988
Trinity Release 3.14.X Command Line Reference Guide B • Command Summary
Introduction
This chapter provides an overview of all CLI commands and modes available. It is organized as follows:
Mode Name
Enter Command
Command 1
…
Exit
Mode Name
…
Several commands contain a lot of parameters and arguments. The command syntax is described as follows:
• Arguments where you must supply the value are surrounded by <angle brackets>.
• Optional arguments within commands are shown in square brackets ([ ])
• Alternative parameters within commands are separated by vertical bars ( | ).
• Alternative but required parameters are shown within grouped braces ({ }) and are separated by vertical bars
( | ).
Command syntax is illustrated by an example in figure 149.
param 1
Key
param 3
Key Key
param 2 <arg>
Key Text Null-Option
Sequence
Option
Sequence
Figure 149. EBNF syntax
Introduction 989
Trinity Release 3.14.X Command Line Reference Guide B • Command Summary
Other
Show help
Use CTRL-N and CTRL-P to browse. The cursor keys (up, down) are not working.
Restart system
Chapter contents
List of terms ........................................................................................................................................................992
991
Trinity Release 3.14.X Command Line Reference Guide C • Glossary of Terms
List of terms
Term Meaning
Numeric
10Base-T Ethernet Physical Medium
A
AAL ATM Adaptive Layer
ABR Available Bit Rate
AC Alternating Current
AOC Advice of Charge
ATM Asynchronous Transfer Mode
audio 3.1 ISDN Audio Service up to 3.1 kHz
audio 7.2 ISDN Audio Service up to 7.2 kHz
B
BRA Basic Rate Access
BRI Basic Rate Interface
C
CAC Carrier Access Code
CBR Constant Bit Rate
CD ROM Compact Disc Read Only Memory
CDR Call Detail Record
CFP Call Forwarding Procedure
CLEC Competitive Local Exchange Carriers
CLI Command Line Interface
CLIP Calling Line Identification Presentation
CO Central Office
CPE Customer Premises Equipment
CPU Central Processor Unit
CRC32 32 bit Cyclic Redundancy Check
D
DC Direct Current
DDI Direct Dialing In number
DHCP Dynamic Host Configuration Protocol
DLCI Data Link Connection Identifier
DSL Digital Subscriber Line
DSLAM Digital Subscriber Line Access Multiplexor
DSP Digital Signal Processor
DTMF Dual Tone Multi-frequency
E
E1 Transmission Standard at 2.048 Mb/s
Term Meaning
E-DSS1 ETSI Euro ISDN Standard
EFS Embedded File System
ET Exchange Termination
ETH Ethernet
F
FAQ Frequently Asked Questions
FCC Federal Communication Commission
FR Frame Relay
G
G.711 ITU-T Voice encoding standard
G.723 ITU-T Voice compression standard
GUI Graphic User Interface
GW Gateway
H
HFC Hybrid Fiber Coax
HTTP HyperText Transport Protocol
HW Hardware
I
IAD Integrated Access Device
ICMP Internet Control Message Protocol
ILEC Incumbent Local Exchange Carriers
IP Internet Protocol
ISDN Integrated Services Digital Network
ISDN NT ISDN Network Termination
ISDN S ISDN S(ubscriber Line) Interface
ISDN T ISDN T(runk Line) Interface
ISDN TE ISDN Network Terminal Mode
ITC Information Transfer Bearer Capability
L
L2TP Layer Two Tunneling Protocol
LAN Local Area Network
LCR Least Cost Routing
LDAP Lightweight Directory Access Protocol
LE Local Exchange
LED Light Emitting Diode
LT Line Termination
M
MIB II Management Information Base II
Modem Modulator – Demodulator
Term Meaning
MSN Multiple Subscriber Number
N
NAPT Network Address Port Translation
NAT Network Address Translation
NIC Network Interface Card
NT Network Termination
NT1 Network Termination 1
NT2 Network Termination 2
NT2ab Network Termination with 2a/b Connections
O
OEM Original Equipment Manufacturer
OSF Open Software Foundation
OSPF Open Shortest Path First
P
PBR Policy Based Routing (principles)
PBX Private Branch Exchange
PC Personal Computer
PMC Production Technology Management Commit-tee
POP Point of Presence
POTS Plain Old Telephony Service
PRA Primary Rate Access
PRI Primary Rate Interface
PSTN Public Switched Telephone Network
pt-mpt point-to-multi point
pt-pt point-to-point
PVC Permanent Virtual Circuit
pwd Password
PWR Power
Q
QoS Quality of Service
R
RIPv1 Routing Information Protocol Version 1
RIPv2 Routing Information Protocol Version 2
RJ-45 Western Connector Type
RTM Route Table Manager
RTP Real-time Protocol
S
S1 node-connection for Trunk Line
S2 node-connection for Subscriber Line
Term Meaning
SAR Segmentation and Reassembly
S-Bus Subscriber Line (Connection) Bus
SCN Switched Circuit Network
SCTP Stream Control Transmission Protocol
SDSL Symmetric Digital Subscriber Line
SGCP Simple Gateway Control Protocol
SIP Session Initiation Protocol.
SME Small and Medium Enterprises
SNMP Simple Network Management Protocol
SOHO Small Office Home Office
SONET Synchronous Optical Network
SS7 Signaling System No. 7
STM SDH Transmission at 155 Mb/s
SVC Switched Virtual Circuit
SW Software
T
TCP/IP Transport Control Protocol/Internet Protocol
TE Terminal Equipment
TFTP Trivial File Transfer Protocol
U
UBR Unspecified Bit Rate
UD 64 Unrestricted Data 64 kb/s
UDP User Datagram Protocol
V
VBR Variable Bit Rate
VCI Virtual Channel Identifier
VoIP Voice over Internet Protocol
VPI Virtual Path Identifier
W
WAN Wide Area Network