DRGOS 1.14.3 Tutorial A
DRGOS 1.14.3 Tutorial A
DRGOS, DRG, HRG, Hybrid, GAPS, program models and other software content and this documentation ("the Intellectual Property
Rights") are protected by the Dutch Copyright Act ('Auteurswet') and Genexis declares that it is the author and claims copyright
('Auteursrecht') for the Intellectual Property Rights. Reproduction and distribution without authorization by Genexis B.V. is prohibited.
The prohibition includes every form of reproduction and distribution.
Every effort has been made to ensure that the information in this document is complete and accurate at the time of printing.
However, information is subject to change without notice. Genexis assumes no liability for damages incurred directly or indirectly
from errors, omissions or discrepancies between the software and this document.
All other trademarks, service marks and trade names are the property of their respective owners.
Purchasers, licensees and users accept and acknowledge that the products contain components (including components carrying
certain firmware) and combinations of components that constitute trade secrets protected by Genexis or its partners. Purchasers,
licensees and users warrant that the delivered products will not be opened or dismantled, copied, altered or in any other way
modified. Furthermore, purchasers, licensees and users agree not to attempt to reverse engineer, disassemble, modify, translate,
create derivate works, rent, lease, loan, or without written permission distribute or sublicense the software, in whole or in part.
The products and its hardware, firmware and software, including technical data, may be subject to EU and U.S export control laws,
including the U.S Export Administration Act and its associated regulations and the International Traffic in Arms Regulations admin-
istered by the US Department of State, and may be subject to export or import regulations in other countries. Purchasers and
licensees agree to comply strictly with all such regulations and acknowledges that it has the responsibility to obtain licenses to
export, re-export, or import hardware, firmware and software.
Purchasers and licensees are not entitled to, and Genexis is not in any event liable to pay, compensation for damages which
delivered products or software has caused to other property or to persons or any other consequential damages, including but not
limited to loss of profit, loss of production or any other indirect damages.
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Supported Platforms and Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
About This Manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Who Should Read This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
What You Will Know after Reading This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Related Manuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Typing Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Examples of Deployment Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Default Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Layer 2 Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Layer 2 Basic with Bridged WLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Layer 2 VLAN per Service or Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Layer 2 VLAN per Customer and One MAC per Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Layer 3 Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Layer 3 Basic with DHCPv6 Prefix Delegation and IPv6 Routing. . . . . . . . . . . . . . . . . . . . . . . . . 25
Layer 3 VLAN per Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Layer 3 VLAN per Service and Internet over PPPoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Layer 3 VLAN per Service with Multiple NATs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Layer 3 VLAN per Customer and One MAC per Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Layer 2/Layer 3 Hybrid VLAN per Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Layer 2/Layer 3 Hybrid VLAN per Service with Tagged Management VLAN . . . . . . . . . . . . . . . . 39
Layer 2/Layer 3 Hybrid VLAN per Service with LAN Ports in Hybrid Mode . . . . . . . . . . . . . . . . . 42
Limitations in Configuring “One VLAN per Customer and One MAC per Service” Scenarios . . . . . 45
Configuring the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Configuring WAN Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Default Configuration of WAN Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring Layer 3 Attributes on VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Configuring LAN Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Default Configuration of LAN Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Setting IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Configuring Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Configuring VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Configuring NAT External Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Configuring VPN Passthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Configuring NTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Configuring NTP Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Configuring NTP Source Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Contents
4
Contents
5
Contents
6
Introduction
Platform Model
drg700 DRG701, DRG702, DRG703, DRG711, DRG712, DRG714, DRG716, DRG717, DRG718, DRG719
(DRG700v1)
7
Introduction
file that is downloaded by the DRGOS using other methods, such as, Dynamic Host
Configuration Protocol (DHCP), Simple Network Management Protocol (SNMP),
and CPE WAN Management Protocol (CWMP).
Some examples are provided at the beginning to show how DRGOS is configured in
different deployment scenarios (see “Examples of Deployment Scenarios” on
page 12).
Typical use cases for configuring the network interfaces and specific functions are
described in:
• “Configuring the System” on page 46
• “Configuring IPv4” on page 55
• “Configuring IPv6” on page 64
• “Configuring WLAN” on page 77
• “Configuring VoIP” on page 83
• “Configuring CATV” on page 110
• “Configuring DHCP” on page 111
• “Configuring DNS” on page 114
• “Configuring UPnP” on page 119
• “Configuring QoS” on page 121
• “Troubleshooting” on page 126
Related Manuals
The following documents are related to the RG products:
Document Content
DRGOS Release Notes It describes the new features, fixed issues, and known
issues in a release.
DRGOS Command Reference It describes the syntax and usage of each CLI command.
8
Introduction
Document Content
DRGOS GUI User Guide It provides home users with instructions on configuring
the RG through GUI.
Typing Conventions
Typing conventions in this manual:
Typeface Description
Caution A caution advises users that failure to take or avoid a specified action
could result in loss of data.
Terminology
The following terms and abbreviations are used in this manual:
Terminology Description
ACL Access Control List, a list of access control entries applied on an interface
ACS AutoConfiguration Server, from which an operator can manage DRGOS using CWMP
CATV cable television, a system through which television services are delivered using radio frequency
(RF) signals transmitted to televisions through coaxial cables or digital light pulses through fixed
optical fibers located on the subscriber's property
CPE Customer Premises Equipment, usually a switch, router or access point device for broadband
networks
9
Introduction
Terminology Description
CWMP CPE WAN Management Protocol, also known as TR069, is an industry standard remote
management protocol for broadband networks.
DRG Digital Residential Gateway, the name for a type of Genexis CPE device
DSCP Differentiated Services Code Point, a six bit field in an IP packet that is used to classify packets for
different QoS
GAPS Genexis Automatic Provisioning System, a proprietary management and provisioning system that
provides centralized management for Genexis CPEs in a FTTH network
HRG Hybrid Residential Gateway, the name for a type of Genexis CPE device
internal Class 5 a subset of Class 5 services provided by DRGOS and without needing the support from a proxy
services server
IP Internet Protocol
IPTV Internet Protocol television, a system through which television services are delivered using the
Internet protocol suite over a packetswitched network, such as the Internet
MIB Management Information Bases. An MIB is a group of managed objects within a network and a
core component used by SNMP for remote management.
NAT Network Address Translation, the process of modifying network address information in IP headers
for the purpose of remapping one IP address space into another
NAT port a feature which allows specific traffic to be transferred even when the conversation originates from
forwarding the external network
PPPoE PointtoPoint Protocol over Ethernet, a network protocol for encapsulating PointtoPoint Protocol
(PPP) frames inside Ethernet frames.
QoS Quality of Service. In DRGOS, QoS management is separated for VoIP and other services.
RG Residential Gateway, the general name for the Genexis CPE products, including DRG 700, DRG
800, HRG 1000, and so on
RPC Remote Procedure Call, a set of methods defined in TR069 to manage CPEs
SIP Session Initiation Protocol, the IETF protocol for VoIP. See RFC 3261.
SSID Service Set Identifier, a network name shared among all points in a wireless network
VLAN Virtual LAN, a group of hosts with a common set of requirements that communicate as if they were
attached to the same broadcast domain, regardless of their physical location
10
Introduction
Terminology Description
11
Examples of Deployment Scenarios
This chapter describes the typical deployment scenarios for DRGOS. DRGOS is
distributed with a default configuration which suits most common deployment
scenarios (see “Default Configuration” on page 13).
The deployment scenarios are described in the following sections:
• “Layer 2 Basic” on page 14
• “Layer 2 Basic with Bridged WLAN” on page 16
• “Layer 2 VLAN per Service or Port” on page 18
• “Layer 2 VLAN per Customer and One MAC per Service” on page 21
• “Layer 3 Basic” on page 23
• “Layer 3 Basic with DHCPv6 Prefix Delegation and IPv6 Routing” on page 25
• “Layer 3 VLAN per Service” on page 27
• “Layer 3 VLAN per Service and Internet over PPPoE” on page 29
• “Layer 3 VLAN per Service with Multiple NATs” on page 31
• “Layer 3 VLAN per Customer and One MAC per Service” on page 33
• “Layer 2/Layer 3 Hybrid VLAN per Service” on page 36
• “Layer 2/Layer 3 Hybrid VLAN per Service with Tagged Management VLAN”
on page 39
• “Layer 2/Layer 3 Hybrid VLAN per Service with LAN Ports in Hybrid Mode” on
page 42
There are limitations for configurations in the “Layer 2 VLAN per customer and one
MAC per service” and “Layer 3 VLAN per customer and one MAC per service”
scenarios. For details, see “Limitations in Configuring “One VLAN per Customer and
One MAC per Service” Scenarios” on page 45.
Note: In the following examples, default configurations are marked with “!”.
12
Examples of Deployment Scenarios
Default Configuration
DRGOS is configured as follows by default:
interface wan
!vlan member 1
!vlan untagged 1
interface vlan1
interface lan
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Note: By default the routed LAN traffic is not forwarded upstream until an external
interface is defined. To defined an external interface, see “Layer 3 Basic” on
page 23.
13
Examples of Deployment Scenarios
Layer 2 Basic
This is the scenario for the Layer 2 basic configuration.
VoIP
MAC1 MGMT
SWITCH
VLAN1 untagged
Internal
!vlan member 1
!vlan untagged 1
service mgmt
By default traffic from the WLAN is routed. To forward the WLAN traffic to
upstream, an external interface must be explicitly defined.
interface lan
14
Examples of Deployment Scenarios
To direct LAN traffic to WAN through the switch, each LAN port should be a member
of at least one VLAN.
interface lan/ethernet1
vlan member 1
vlan untagged 1
interface lan/ethernet2
vlan member 1
vlan untagged 1
interface lan/ethernet3
vlan member 1
vlan untagged 1
interface lan/ethernet4
vlan member 1
vlan untagged 1
By default all local source traffic uses “vlan1” as the source interface. This is defined
explicitly here for clarity.
!management source-interface vlan1
voice
15
Examples of Deployment Scenarios
VoIP
WLAN1
MAC1 MGMT
WLAN2
NAT ROUTER
WLAN3
WLAN4
SWITCH
VLAN1 untagged
Internal
!vlan member 1
!vlan untagged 1
By default traffic from the WLAN is forwarded to the CPE router. To forward the
WLAN traffic to upstream, an external interface must be explicitly defined. Here traffic
from WLAN1 (the WLAN enabled by default) is forwarded through CPE router.
interface lan
16
Examples of Deployment Scenarios
To direct LAN traffic to WAN through the switch, each LAN port should be a member
of at least one VLAN.
interface lan/ethernet1
vlan member 1
vlan untagged 1
interface lan/ethernet2
vlan member 1
vlan untagged 1
interface lan/ethernet3
vlan member 1
vlan untagged 1
interface lan/ethernet4
vlan member 1
vlan untagged 1
By default only WLAN1 is enabled. To use a WLAN other than WLAN1, you need to
enable the WLAN interface. Additionally, to bridge a WLAN interface with the WAN
interface, add a VLAN to the WLAN.
interface wlan3
vlan member 1
vlan untagged 1
no shutdown
interface wlan4
vlan member 1
vlan untagged 1
no shutdown
Note: A WLAN interface only supports one VLAN member—the untagged VLAN.
On WLAN interfaces priority is ignored and has no effect.
By default all local source traffic uses “vlan1” as the source interface. This is defined
explicitly here for clarity.
!management source-interface vlan1
voice
17
Examples of Deployment Scenarios
!vlan untagged 1
Each of the Layer 2 LAN ports must be a member of at least one VLAN. In each of
these definitions, the IP connectivity mechanism must be defined, such as, DHCP,
static or PPPoE.
interface vlan1
service mgmt
interface vlan100
ip address dhcp
service voip
interface vlan200
18
Examples of Deployment Scenarios
ip address dhcp
service internet
In this example, no IP connectivity is defined for vlan300 since there is no IPTV entity
in the RG.
interface vlan300
service iptv
Since there are multiple interfaces, it is important to define which interface is used for
which service. Here management traffic is bound to vlan1 by default.
!management source-interface vlan1
By default traffic from the WLAN is routed. To forward the WLAN traffic to
upstream, an external interface must be explicitly defined. The external interface
should be dedicated to the data service—here vlan200 is used.
interface lan
Each of the Layer 2 LAN ports must be a member of at least one VLAN. You may use
separate VLANs for Internet service and IPTV service.
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here both are bound to vlan100.
19
Examples of Deployment Scenarios
voice
20
Examples of Deployment Scenarios
Figure 4 Layer 2 VLAN per customer and one MAC per service configuration
!vlan member 1
!vlan untagged 1
An interface may be divided into subinterfaces, thus allowing one VLAN to be used
for several services. This allows service separation, while only using one VLAN per
customer. In this case, it is important to use a service statement for the subinterface to
allow the DHCP server to use this information as a key to define which IP address pool
to use for the service.
Ensure that highspeed traffic is assigned to the native interface and not a subinterface.
interface vlan1
service nat
interface vlan1/1
ip address dhcp
service mgmt
interface vlan1/2
ip address dhcp
21
Examples of Deployment Scenarios
service voip
By default traffic from the WLAN is routed. To forward the WLAN traffic to
upstream, an external interface must be explicitly defined.
interface lan
Each of the Layer 2 LAN ports must be a member of at least one VLAN.
interface lan/ethernet1
vlan member 1
vlan untagged 1
interface lan/ethernet2
vlan member 1
vlan untagged 1
interface lan/ethernet3
vlan member 1
vlan untagged 1
interface lan/ethernet4
vlan member 1
vlan untagged 1
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here they are bound to the same subinterface.
voice
Note: For more information about the limitations in configuring DRGOS, see
“Limitations in Configuring “One VLAN per Customer and One MAC per
Service” Scenarios” on page 45.
22
Examples of Deployment Scenarios
Layer 3 Basic
This scenario is based on the default configuration (with a few changes). This scenario
is common for operators replacing or augmenting an xDSL network.
Since only one upstream interface is defined, there are no opportunities for providing
different levels of service on a per service basis. All traffic is subject to a single overall
level of service.
!vlan member 1
!vlan untagged 1
interface vlan1
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined.
interface lan
23
Examples of Deployment Scenarios
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
24
Examples of Deployment Scenarios
!vlan member 1
!vlan untagged 1
interface vlan1
By default, IPv6 is enabled on vlan1 and is disabled on all other VLANs. When IPv6
is enabled on a VLAN, a global address is automatically acquired.
To enabled IPv6 on a VLAN, apply ipv6 address auto.
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Therefore an external interface must be explicitly defined for IPv6 and IPv4
25
Examples of Deployment Scenarios
traffic.
interface lan
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
26
Examples of Deployment Scenarios
!vlan untagged 1
Each service interface should have a VLAN interface definition. In each definition, the
IP connectivity mechanism must be defined, such as, DHCP, static or PPPoE. Since
there are multiple interfaces, it is important to define which interface is used for which
service.
interface vlan1
service mgmt
interface vlan100
27
Examples of Deployment Scenarios
ip address dhcp
service voip
interface vlan200
ip address dhcp
service nat
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Here routed traffic is bound to vlan200.
interface lan
You can enable the IGMP proxy for routed multicast traffic (e.g. for IPTV service).
The IGMP proxy aggregates and responds to all requests (e.g. Join/Leave requests)
from the downstream hosts; additionally, it responds to Queries from the upstream
router. You can also configure other IGMP functions (e.g. IGMP immediateleave and
IGMP robustness).
(interface lan)
ip igmp immediate-leave
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here both are bound to vlan100.
voice
28
Examples of Deployment Scenarios
Figure 8 Layer 3 VLAN per service and Internet over PPPoE configuration
!vlan untagged 1
Each service interface should have a VLAN interface definition. In each of these
definitions, the IP connectivity mechanism must be defined, such as, DHCP, static or
PPPoE. Since there are multiple interfaces, it is important to define which interface is
used for which service.
interface vlan1
29
Examples of Deployment Scenarios
service mgmt
interface vlan100
ip address dhcp
service voip
ip address pppoe
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Here routed traffic is bound to vlan200.
interface lan
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here both are bound to vlan100.
voice
30
Examples of Deployment Scenarios
VoIP
Internet MGMT
MAC1
NAT1
SWITCH
Each service interface should have a VLAN interface definition. In each of these
definitions, the IP connectivity mechanism must be defined, such as, DHCP, static, or
PPPoE.
interface vlan1
31
Examples of Deployment Scenarios
service mgmt
interface vlan100
ip address dhcp
service voip
interface vlan200
ip address dhcp
service nat
interface vlan300
ip address dhcp
service vod
Two NAT external interfaces are defined on the upstream interface: vlan200 and
vlan300. Internet traffic is sent over NAT1 to vlan200 and VoD traffic (that is destined
for 10.0.100.0/24 network) is sent over NAT2 to vlan300. Additional NAT external
interface rules can be defined if traffic must be routed to multiple networks.
interface lan
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here both are bound to vlan100.
voice
32
Examples of Deployment Scenarios
!vlan member 1
!vlan untagged 1
An interface may be divided into subinterfaces, thus allowing one VLAN to be used
for several services. This allows service separation, while only using one VLAN per
customer. In this case, it is important to use a service statement for the subinterface to
allow the DHCP server to use this information as a key to define which IP address pool
33
Examples of Deployment Scenarios
service nat
interface vlan1/1
ip address dhcp
service mgmt
interface vlan1/2
ip address dhcp
service voip
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Here routed traffic is bound to vlan1.
interface lan
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here they are bound to the same subinterface.
voice
34
Examples of Deployment Scenarios
Note: For more information about the limitations in configuring DRGOS, see
“Limitations in Configuring “One VLAN per Customer and One MAC per
Service” Scenarios” on page 45.
35
Examples of Deployment Scenarios
!vlan untagged 1
Each service interface should have a VLAN interface definition. In each of these
definitions, the IP connectivity mechanism must be defined, such as, DHCP, static or
PPPoE. Since there are multiple interfaces, it is important to define which interface is
used for which service.
interface vlan1
36
Examples of Deployment Scenarios
service mgmt
interface vlan100
ip address dhcp
service voip
interface vlan200
ip address dhcp
service nat
interface vlan300
service iptv
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Here routed traffic is bound to vlan200.
interface lan
Each of the Layer 2 LAN ports must be a member of at least one VLAN so that traffic
may pass from the WAN interface to the LAN interface.
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
37
Examples of Deployment Scenarios
38
Examples of Deployment Scenarios
Figure 12 Layer 2/Layer 3 hybrid VLAN per service with tagged management VLAN
As the default interface vlan1 is not used in this scenario, shut down vlan1:
interface vlan1
shutdown
Each service interface should have a VLAN interface definition. In each of these
definitions, the IP connectivity mechanism must be defined, such as, DHCP, static or
PPPoE. Since there are multiple interfaces, it is important to define which interface is
39
Examples of Deployment Scenarios
ip address dhcp
service mgmt
interface vlan200
ip address dhcp
service voip
interface vlan300
ip address dhcp
service nat
interface vlan400
service iptv
By default the routed LAN traffic is not forwarded upstream until an external interface
is defined. Here routed traffic is bound to vlan300.
interface lan
Each of the Layer 2 LAN ports must be a member of at least one VLAN so that traffic
may pass from the WAN interface to the LAN interface.
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
40
Examples of Deployment Scenarios
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here they are both bound to vlan200.
voice
41
Examples of Deployment Scenarios
Layer 2/Layer 3 Hybrid VLAN per Service with LAN Ports in Hybrid
Mode
This scenario is an enhancement of “Layer 2/Layer 3 Hybrid VLAN per Service”. A
LAN port is configured as a member of two VLANs: one tagged VLAN on the WAN
side and one untagged VLAN on the LAN side, where this port operates in hybrid
mode.
This permits a settop box (STB) to support separate interfaces for services, e.g.
• a bridged tagged VLAN for IPTV service
• an untagged VLAN for High Speed Internet (HSI) service, such as TVbased web
browsing, software upgrades, electronic program guide, and so on
If the STB has a Personal Video Recorder (PVR) capability, the untagged VLAN also
allows local hosts to access recordings on the STB.
Figure 13 shows an example of this scenario, where two LAN ports are operating in
hybrid mode.
Figure 13 Layer 3 VLAN per service with LAN ports in hybrid mode
VoIP
MAC1 MGMT
SWITCH
Each service interface should have a VLAN interface definition. In each of these
definitions, the IP connectivity mechanism must be defined, such as, DHCP, static, or
PPPoE. No IP connectivity is defined for vlan300 since there is no Layer 3 IPTV entity
42
Examples of Deployment Scenarios
in the RG.
As STB IPTV joins use IGMP in the normal way on the tagged VLAN, IGMP
snooping should be enabled on vlan300.
interface vlan1
service mgmt
interface vlan100
ip address dhcp
service voip
interface vlan200
ip address dhcp
service nat
interface vlan300
service iptv
ip igmp snooping
downstream
When a downstream interface is configured, you should leave the LAN interface with
the default configuration:
interface lan
43
Examples of Deployment Scenarios
On the ethernet1 and ethernet2 LAN ports, two VLANs are defined: vlan300 and
vlan2000. Tagged traffic is directly sent to WAN over vlan300 and untagged traffic is
sent through the router over vlan2000.
Note: LAN ports that are not in hybrid mode MUST be defined to use the routed
VLAN.
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
Voice signalling and media traffic may be assigned to a unique interface, or can be
assigned to separate interfaces. Here both are bound to vlan100.
voice
44
Examples of Deployment Scenarios
45
Configuring the System
46
Configuring the System
!vlan member 1
!vlan untagged 1
interface vlan1
By default vlan1 is used as the source interface for the following traffic: management,
SNMP, CWMP, UPnP, VoIP media, and VoIP signaling.
Configuring VLAN
You can add one or more VLAN members to the WAN interface, one of which can be
untagged.
Example 1 Configuring the VLANs
drgos(config)# interface wan
47
Configuring the System
In this example, the network connection will be dropped after 60 seconds. To disable
the PPPoE ondemand mode, use the following command:
drgos(config-if-vlan)# no pppoe on-demand
or
drgos(config-if-vlan)# pppoe on-demand idle 0
In addition, the logical LAN interface, i.e. the LANside interface of the CPE router,
is also configurable. In CLI, the logical LAN interface is presented as lan.
interface lan/ethernet1
interface lan/ethernet2
interface lan/ethernet3
interface lan/ethernet4
48
Configuring the System
Setting IP Address
The IP address and netmask on the LAN interface can be set using the ip address
command.
Example 5 Setting the IP address of LAN interface
drgos(config)# interface lan
Configuring VLAN
A physical LAN interface can be a member of one or more VLANs, among which one
VLAN can be untagged:
Example 6 Configuring the VLANs
drgos(config)# interface lan/ethernet1
In some cases, you may want to send traffic through different external interfaces—e.g.
one for Internet traffic and one for video on demand (VoD) traffic. You can configure
an external interface for traffic that targets the VoD server’s IP addresses. For example,
add this line on top of the NAT configuration above:
drgos(config-if-lan)# ip nat external-interface vlan90 10.0.100.0/24
49
Configuring the System
vlan90. All other traffic is forwarded through the default external interface—vlan3.
To forward IPv6 LAN traffic, you need to define an IPv6 external interface:
drgos(config)# interface lan
Configuring NTP
Network Time Protocol (NTP) is a protocol for synchronizing devices’ system clocks
in a network. NTP servers are used as the reference time sources. The following
commands can be used to configure NTP on DRGOS:
Command Description
50
Configuring the System
Daylight saving is automatically managed for configured time zone. For example, when
Central European Time (CET) is configured, in summer, the RG automatically
51
Configuring the System
The default port of the remote logging server is the standard syslog port—UDP 514.
Alternatively, you can specify a different UDP port. For example,
drgos(config)# logging server 192.168.1.2 port 1000
52
Configuring the System
To set the location of the logo image, use the http logo location command:
drgos(config)# http logo location http://www.example.com/logo.png
title CompanyLogo
53
Configuring the System
54
Configuring IPv4
For the information about configuring basic IPv4 connectivity, see “Configuring WAN
Interface” on page 47 and “Configuring LAN Interfaces” on page 48. The following
sections describe how to configure other IPv4related functions:
• “Configuring NAT Port Forwarding” on page 55
• “Configuring DMZ Host” on page 57
• “Configuring Access Control Lists” on page 58
Note: When no destination ports are specified, the ports are mapped to the same ports
on the destination host.
Example 13 Setting NAT port forwarding for a web server (without port remapping)
To allow external hosts on ports 80, 8000, 8080 to visit the web server (with IP address
55
Configuring IPv4
Example 14 Setting NAT port forwarding for a web server (with port remapping)
To allow external hosts to visit the web server with the IP address “192.168.1.181” in
the private LAN, with ports “10080, 18000, 18080” remapped to ports “80, 8000,
8080”, use the following configuration:
drgos(config)# ip nat forward seq 60 protocol tcp port
10080,18000,18080 destination-host 192.168.1.181 destination-port
80,8000,8080 name webserver
“Both” means that both TCP and UDP packets are forwarded.
Note: Port ranges may only be used when port remapping is not being used.
For “port” and “destinationport”, you can define a port list, a port range, or a
combination of both, such as, “80,30003007,8800”.
56
Configuring IPv4
57
Configuring IPv4
TCP Port 22 (SSH), 5060–5061 (SIP), 8082 (request for TR069 connection)
ICMP all
Default Access Control Rules for Voice VLAN Configured via GAPS
When GAPS is used to configure the voice service, an ACL is automatically created and
applied to the voice VLAN.
ICMP echo
a. If the local RTP port is defined (through GAPS parameter local_rtp_port), the port range should be
[local_rtp_port]–[local_rtp_port+15]. For example, if the local RTP port is configured as
1000, then traffic through ports 1000–1015 is permitted.
58
Configuring IPv4
Protocol Port
ICMP all
Command Description
accesslist This command creates an access control list and brings the operator into the
context of the list. In the context of the list, the operator can configure each
access control entry.
ip accessgroup This command applies an existing access control list to the incoming or
outgoing packets on a specified interface.
show accesslist This command displays the existing accesslists in the system. For each entry
in the list, the number of packets that have matched the entry is also
displayed.
accesslist clearcounters This command clears the counters (numbers of hits) for all entries in the
specified accesslist.
The following simple examples show how to configure an access control list using ACL
commands.
Example 16 Configuring an access control list
To create an access control list my-acl with specific rules:
drgos(config)# access-list my-acl
drgos(config-acl)# seq 10 permit tcp source any destination any 80
drgos(config-acl)# seq 20 deny ip destination 192.168.1.0/24
drgos(config-acl)# seq 30 permit udp source any range 8000 8999
drgos(config-acl)# seq 50 permit udp source any destination any 68
drgos(config-acl)# seq 70 permit tcp source any destination any 22
drgos(config-acl)# seq 90 permit udp source any destination any 161
To delete the entry with sequence number 20 in the access control list my-acl:
drgos(config)# access-list my-acl
59
Configuring IPv4
drgos(config-acl)# no seq 20
Use..., To allow...
permit tcp source any destination any 22 SSH access from WAN
permit udp source any destination any 161 SNMP access from WAN
Note: If Universal Plug and Play (UPnP) traffic is allowed on the WAN interface, the
RG may expose vulnerabilities to the Internet. Therefore ensure that packets on
UDP port 1900 (used for UPnP) are blocked in ACL on the WAN interface. By
60
Configuring IPv4
To apply the list my-voip-acl to the VoIP interface (vlan100 in this example):
drgos(config)# interface vlan100
drgos(config-if-vlan)# ip access-group my-voip-acl in
61
Configuring IPv4
When 6rd is used on the interface, to allow IPv6 encapsulated traffic to go through the
IPv4 firewall, include the following rule:
drgos(config-acl)# seq 40 permit ip protocol 41
To apply the list my-gui-acl to the management interface (vlan1 in this example):
drgos(config)# interface vlan1
drgos(config-if-vlan)# ip access-group my-gui-acl in
Note: For security reason, limit the access only to the hosts which require it, e.g. the
Network Operations Center (NOC).
62
Configuring IPv4
To allow DRGOS to receive ICMP echo messages and turn off IP connections,
configure the following ACL:
drgos(config)# access-list wan-acl-in
drgos(config-acl)# permit icmp echo
drgos(config-acl)# deny ip
63
Configuring IPv6
64
Configuring IPv6
On the WAN side, DRGOS requests prefix delegation from the Provider Edge (PE)
router. On the LAN side, DRGOS advertises the delegated prefixes to the enduser
sites through Stateless Address AutoConfiguration (SLAAC).
IPv6 Addressing
IPv6 addresses are 128bits long (compared to 32 bits for IPv4). But IPv6 is not simply
an extended address size compared to IPv4. There are significant changes to the address
architecture. For more details on the IPv6 addressing architecture, see RFC4291.
DRGOS supports the following types of IPv6 addresses on an upstream VLAN
interface:
• linklocal address, which is used only between hosts on the same link
65
Configuring IPv6
• global address, which is needed to communicate on the Internet and has the
following address types:
– stateless address
– stateful address
– static address
Each interface should have one linklocal address and may have one or more global
addresses. The following table shows how different types of IPv6 addresses are
acquired.
stateless address acquired using Stateless Address AutoConfiguration (SLAAC) during the autoaddressing
process
DHCPv6
DHCPv6 is a client/server protocol for stateful (address) autoconfiguration of IPv6.
DHCPv6 is defined in RFC3315.
Currently, both DHCPv6 server and client are implemented in DRGOS.
The DHCPv6 client supports:
• If the M flag is set in RA, DRGOS solicits a stateful address using DHCPv6.
• DRGOS obtains DNS information (including DNS servers and the domain search
list) on the WAN port.
• DRGOS acquires the IPv6 prefix for its LAN hosts through prefix delegation. In
the delegated prefix, DRGOS sets its LAN IPv6 address to its extended unique
identifier (EUI) address.
The DHCPv6 server only supports advertisement of DNS information to LAN hosts.
Note: Due to interoperability issues, the DNS learned from the DHCPv6 server does
not work on Windows XP.
66
Configuring IPv6
IPv6 Forwarding
DRGOS uses access control lists (ACLs) to control IPv6 traffic forwarding. IPv6 ACLs
are similar to IPv4 ACLs but with one major difference. IPv4 ACLs do not provide
control over forwarded traffic (this is controlled by NAT forwarding instead).
In case of IPv6, ACLs control traffic that is forwarded by the RG in addition to traffic
that is directed to the RG itself.
DualStack Lite
DualStack Lite (DSLite) is a technology for deploying IPv6 with continued support
for IPv4 services. DSLite provides an IPv6 tunnel for sending and receiving IPv4
packets while transmits IPv6 packets directly through IPv6 networks.
DSLite mainly uses two technologies: IPv4inIPv6 tunnel and Network Address
Translation (NAT).
To deploy DSLite, two elements are implemented in the service provider’s networks:
the Basic Bridging BroadBand (B4) element and the Address Family Transition Router
(AFTR).
• The B4 element creates an IPv4inIPv6 tunnel towards AFTR. It is typically a
home gateway capable of both IPv4 and IPv6.
• AFTR terminates the IPv4inIPv6 tunnel and performs NAT for IPv4 addresses.
It is typically a Carrier Grade NAT (CGN).
As shown in Figure 18, the RG can operate as a DSLite B4 element.
67
Configuring IPv6
68
Configuring IPv6
Command Description
ipv6 address Configures IPv6 addressing on this interface by enabling/disabling autoconfiguration and/
or assigning a static IPv6 address
1. For an interface to acquire a global IPv6 address, you need to configure IPv6
addressing on this interface.
For example, to autoconfigure IPv6 addresses on vlan2:
drgos(config)# interface vlan2
drgos(config-if-vlan)# ipv6 address auto
To configure a static IPv6 address on vlan2:
drgos(config-if-vlan)# ipv6 address 2000::/32 eui-64
To configure IPv6 over PPPoE on vlan2:
drgos(config-if-vlan)# ip address pppoe
drgos(config-if-vlan)# ipv6 address pppoe
Note: To enable IPv6 over PPPoE, the IPv4 address configuration should also be
PPPoE.
Command Description
ping6 Tests the IPv6 connectivity between DRGOS and a remote host by sending ICMPv6 echo
requests to the host
To verify whether DRGOS is able to forward IPv6 traffic, perform the following steps:
69
Configuring IPv6
70
Configuring IPv6
To view all IPv6 routes including the static routes, use the show ipv6 route command.
TCP Port 22 (SSH), 5060–5061 (SIP), 8082 (request for TR069 connection)
UDP Port 5060–5061 (SIP), 546 (DHCPv6), 161 (SNMP), 1024–65535 (RTP),
9115 (GAPS)
ICMPv6 all
71
Configuring IPv6
Protocol Port
ICMPv6 all
Command Description
ipv6 accesslist This command creates an access control list and brings the operator into the
context of the list. In the context of the list, the operator can configure each
access control entry.
ipv6 accessgroup This command applies an existing access control list to the incoming or
outgoing packets on a specified interface.
show ipv6 accesslist This command displays the existing accesslists in the system. For each entry
in the list, the number of packets that have matched the entry is also
displayed.
clear counter ipv6 accesslist This command clears the counters (numbers of hits) for all entries in the
specified accesslist.
The following simple examples show how to configure an access control list using ACL
commands.
Example 20 Configuring an access control list
To create an access control list my-acl with specific rules:
drgos(config)# ipv6 access-list my-acl
drgos(config-acl)# seq 10 permit tcp source any destination any 80
drgos(config-acl)# seq 20 deny ipv6 destination fd30::/7
drgos(config-acl)# seq 30 permit udp source any range 8000 8999
drgos(config-acl)# seq 50 permit udp source any destination any 546
drgos(config-acl)# seq 70 permit tcp source any destination any 22
drgos(config-acl)# seq 90 permit udp source any destination any 161
To delete the entry with sequence number 20 in the access control list my-acl:
drgos(config)# ipv6 access-list my-acl
72
Configuring IPv6
drgos(config-acl)# no seq 20
Use..., To allow...
permit tcp source any destination any 22 SSH access from WAN
permit udp source any destination any 161 SNMP access from WAN
Forwarding Traffic
The following examples describe how to configure IPv6 ACLs for filtering forwarded
73
Configuring IPv6
Note: Unlike IPv4 port forwarding, because IPv6 addresses are globally routable, it is
not necessary to define external public ports when forwarding IPv6 traffic
between WAN and LAN.
1. Configure the fully qualified domain name (FQDN) of the AFTR via DHCP
option 64 on the DHCP server. For example:
option aftr-name "aftr.example.com"
3. Configure the IPv4inIPv6 tunnel as the external interface for nonNAT traffic
from the LAN. For example:
drgos(config)# interface lan
drgos(config-if-lan)# ip external-interface tunnel1
Configuring 6rd
You can use the following CLI commands to configure 6rd:
Command Description
74
Configuring IPv6
Command Description
tunnel 6rd ipv4masklength Configures the number of highorder bits that are identical across all CE IPv4 addresses
within a given 6rd domain
tunnel 6rd prefix Configures the 6rd IPv6 prefix and the length of the 6rd IPv6 prefix for the given 6rd
domain
tunnel 6rd borderrouter Configures the IPv4 address or hostname of the 6rd Border Relay for a given 6rd domain
Note: To operate correctly on the Internet using 6rd, the RG must have a public IPv4
address or a private IPv4 address within the same IPv4 space as the Border Relay.
Example 24 shows how to configure 6rd in a service provider’s network for customer
IPv6 networks.
Example 24 Configuring 6rd for customer IPv6 networks
interface tunnel1
tunnel mode 6rd
tunnel 6rd interface vlan1
tunnel 6rd prefix 3000:1::/32
tunnel 6rd ipv4-mask-length 8
tunnel 6rd border-router 172.19.33.136
interface lan
ipv6 external-interface tunnel1
In this example, the length of IPv4 netmask in a 6rd domain is 8, so 24 bits of the IPv4
address are used. The length of the 6rd delegated prefix is: 32+24=56.
Configuring 6to4
Note: To operate correctly on the Internet using 6to4, the RG must have a public IPv4
address.
Example 25 shows how to configure 6to4. Always set the 6to4 prefix to 2002::/16 and
the IPv4 mask length to 0. By default the IPv4 mask length is 0 and it is explicitly
defined here for clarity.
75
Configuring IPv6
interface lan
76
Configuring WLAN
77
Configuring WLAN
Dual band (2.4 GHz and 5 GHz) wlan1, wlan5 wlan24, wlan68
The operator can enable a WLAN interface via CLI, configuration file, SNMP, or
CWMP. Only WLAN interfaces enabled by default are visible in GUI and can be
configured by end users.
Note: Only 2.4 GHz interfaces (wlan14) can be managed via SNMP MIB.
Management of 5 GHz interfaces (wlan58) in SNMP MIB is not currently
supported.
no shutdown
If the NAT external interface is defined, the default behavior is to route the WLAN
traffic to the WAN interface. To bridge a WLAN interface with the WAN interface,
you need to add a VLAN to the WLAN interface. For example:
interface wlan2
vlan member 1
vlan untagged 1
Note: A WLAN interface only supports one VLAN member—the untagged VLAN.
On WLAN interfaces, IEEE802.1p priority is ignored and has no effect.
78
Configuring WLAN
Command Description
wlan mode Configures the operational mode (802.11 a/b/g/n/ac) for the WLAN
wlan country Configures the available wireless channels and the maximum allowed power
levels within these channel ranges
Command Description
To include space characters in the SSID, place the SSID inside the quotation marks.
For example,
drgos(config-if-wlan)# wlan ssid “My Network”
79
Configuring WLAN
Command Description
wlan accesspolicy Specifies the access policy applied to the specified clients: allow or reject
wlan accesscontrol Specifies the MAC addresses of the clients that are controlled by the access
policy
80
Configuring WLAN
Alternatively, you can define up to four keys and select one key to use in a WLAN. The
key should be 10 or 26 hex digits.
drgos(config)# interface wlan1
81
Configuring WLAN
82
Configuring VoIP
There is no default Voice over IP (VoIP) configuration. Some VoIP commands are
generic for the entire device, while some commands are configured for each line
independently. The generic and linespecific commands are entered in the voice and
voice-line-x contexts respectively.
83
Configuring VoIP
Important Notes
Use strict parsing and ACL protection to eliminate ghost calls on the voice service.
Strict Parsing
Many SIP proxies are not strictly compliant with relevant standards. To achieve
interoperability with the broadest range of proxies, DRGOS checks SIP URI loosely
against standards. It is possible to make DRGOS operate in a strict compliant manner
by enabling strict parsing, e.g.
drgos(config-voice)# sip parse strict
When strict parsing is enabled, only wellformed connection requests are processed.
ACL Protection
It is strongly recommended to include an ACL to limit the source of all SIP messages
to the known proxy locations. If the voice service is operated on a publicly accessible
network, i.e. the Internet, it is mandatory to implement ACL protection for the voice
service. For details about configuring ACL, see “Configuring Access Control Lists” on
page 58 (for IPv4) and “Configuring Access Control Lists” on page 71 (for IPv6).
Command Description
sip proxy Configures the SIP proxy server for a voice line by specifying the IP address or
hostname of the SIP proxy
Note: If the DNS server supports Name Authority Pointer (NAPTR) and Service
(SRV) records for SIP, you can merely specify the domain name of the SIP proxy.
DRGOS automatically performs lookup of NAPTR and SRV records for SIP
requests to determine the protocol, the port, and the hostname of the SIP proxy.
sip phonenumber Configures the user identifier for a voice line which is registered with the proxy
sip displayname Configures the SIP display name for a voice line
84
Configuring VoIP
drgos(config-voice-line)# end
The user identifier configured using the sip phonenumber command typically
consists of a telephone number, but counterintuitively, an operator may use any legal
identifier, e.g. a text string, an Email address, and so on.
Configuration which requires SIP authentication will require that the user and
password are defined. An example is shown below:
drgos(config-voice-line)# sip username user2001 password pass2001
The configuration snippet below shows the output after configuring line 1 and line 2:
drgos# show running-config
voice line 1
voice line 2
If the configuration is correct, the SIP agent will register with the SIP proxy and the
corresponding telephony LED will be illuminated.
85
Configuring VoIP
In this kind of deployment, the RG creates a pinhole in the NAT device during
registration and the RG’s SIP service port is mapped to the pinhole. When the NAT
pinhole times out, the inbound traffic from the SIP proxy is blocked and the SIP proxy
may fail to set up a call with the RG.
To unblock the inbound traffic, you need to enable SIP keepalive. With SIP keepalive
enabled, the RG periodically sends keepalive messages to the SIP proxy to keep the
RG’s NAT binding alive. Then the SIP proxy can communicate with the RGs through
the NAT device.
By default, SIP keepalive is disabled. You can use the sip keepalive command to enable
this feature. Currently only NOTIFY messages are supported. You can optionally
specify the session interval in seconds. For example:
drgos(config)# voice line 1
Example 29 shows an example of a SIP keepalive message sent to the SIP proxy by
DRGOS. The Event: keepalive header indicates that it is a SIP keepalive message.
Example 29 SIP keepalive message—NOTIFY
NOTIFY sip: example.no SIP/2.0
From: <sip:[email protected]>
;tag=100723c8-c0a800bc-13c4-252456-503eb-45ed8206-503eb
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 544 NOTIFY
Via: SIP/2.0/UDP 192.168.0.188:5060
;branch=z9hG4bK-503eb-13974ef4-5b456fe0;rport
Contact: sip:[email protected]
Max-Forwards: 70
Event: keep-alive
Content-Length: 0
86
Configuring VoIP
Configuring Codec
On making or receiving voice or fax calls, DRGOS negotiates with the remote party
about which codec to use and selects a predefined codec (see Table 15) or a operator
configured codec.
Codec Description
g711a G.711 Alaw codec with disabled Silence Suppression, enabled Echo Cancellation and 20 ms
packetization time.
g711u G.711 μlaw codec with disabled Silence Suppression, enabled Echo Cancellation and 20 ms packetization
time.
g729 G.729 codec with disabled Silence Suppression, enabled Echo Cancellation and 20 ms packetization time.
t38 T.38 codec with the following characteristics: maximum bitrate of 14400 bps, training confirmation
determined by network negotiation, error correction provided by UDP redundancy, with no redundant T.38
data packets and three redundant T.30 indicator packets.
By default T.38 fax is disabled.
For voice calls, DRGOS selects a codec from the codec preference list in the specified
order. Table 16 shows the default preference order. In case of fax calls, DRGOS uses
T.38 if T.38 is enabled and uses G.711 if T.38 is disabled.
1 g711a
2 g711u
3 g729
In some environments, it may be necessary to define further codecs and redefine the
codec preference for each line.
Defining Codecs
Enter the voice context and customize some codecs:
drgos(config)# voice
87
Configuring VoIP
drgos(config-voice-line)# exit
voice line 2
Note: The configuration in this example simply enables a T.38 codec. The T.38 codec
88
Configuring VoIP
Figure 20 DTMF relay contents for digit “8” using text/plain format
INFO sip:[email protected]:5061 SIP/2.0
Call-ID: [email protected]
From: "1016" <sip:[email protected]>;tag=e0cd0-6feffa
To: <sip:[email protected]>;tag=4df78C
Seq: 101 INFO
Via: SIP/2.0/UDP 172.19.33.187:5060;branch=z9hG4bK-
65ab001309727518347f2522001a7bad
Contact: "1016" <sip:[email protected]:5060>
Max-Forwards: 70
Route: <sip:172.19.33.114;lr=on;ftag=e0cd0-6feffa>
User-Agent: drgos-drg700-1.4.1
Supported: timer
Content-Type: text/plain
Content-Length: 7
89
Configuring VoIP
DTMF 8
If hookflash relay is also enabled, two SIP INFO messages in different formats are sent
out for a single hookflash event. One is in the text/plain format, and the other is in the
application/broadsoft format. Both formats are shown in Figure 21. The purpose for
sending both messages is to make it compatible with both the nonBroadsoft and
Broadsoft softswitches.
Figure 21 DTMF relay contents for hookflash event using text/plain and application/
broadsoft format
INFO sip:[email protected]:5061 SIP/2.0
Call-ID: [email protected]
From: "1016" <sip:[email protected]>;tag=e0cd0-6feffa
To: <sip:[email protected]>;tag=4df78C
Seq: 102 INFO
Via: SIP/2.0/UDP 172.19.33.187:5060;branch=z9hG4bK-
2fa178074ebc659b7072731b3638de81
Contact: "1016" <sip:[email protected]:5060>
Max-Forwards: 70
Route: <sip:172.19.33.114;lr=on;ftag=e0cd0-6feffa>
User-Agent: drgos-drg700-1.4.1
Supported: timer
Content-Type: text/plain
Content-Length: 5
FLASH
Figure 22 DTMF relay contents for digit “8” using application/dtmfrelay format
INFO sip:[email protected]:5061 SIP/2.0
Call-ID: [email protected]
From: "1016" <sip:[email protected]>;tag=e1580-fffffff6
To: <sip:[email protected]>;tag=4df00C
Seq: 101 INFO
Via: SIP/2.0/UDP 172.19.33.153:5060;branch=z9hG4bK-
5d62bf991218d898207125976ce652ce
Contact: "1016" <sip:[email protected]:5060>
Max-Forwards: 70Route: <sip:172.19.33.114;lr=on;ftag=e1580-fffffff6>
90
Configuring VoIP
User-Agent: drgos-drg700-1.4.1
Supported: timer
Content-Type: application/dtmf-relay
Content-Length: 24
Signal=8
Duration=100
If hookflash relay is also enabled, the contents in the “SIP INFO” message body are in
the following format:
Figure 23 DTMF relay contents for hookflash event using application/dtmfrelay format
INFO sip:[email protected]:5061 SIP/2.0
Call-ID: [email protected]
From: "1016" <sip:[email protected]>;tag=e1580-fffffff6
To: <sip:[email protected]>;tag=4df00C
Seq: 102 INFO
Via: SIP/2.0/UDP 172.19.33.153:5060;branch=z9hG4bK-
5e09bc546379ad0c009ebf8a21c4623e
Contact: "1016" <sip:[email protected]:5060>
Max-Forwards: 70
Route: <sip:172.19.33.114;lr=on;ftag=e1580-fffffff6>
User-Agent: drgos-drg700-1.4.1
Supported: timer
Content-Type: application/dtmf-relay
Content-Length: 25
Signal=16
Duration=660
Configurations
The following examples show how to configure DTMF relay mode to “SIP INFO”
using different formats.
To configure the DTMF relay mode of Line 1 to “SIP INFO” using the text/plain
format for messages:
drgos(config)# voice line 1
To configure the DTMF relay mode of Line 1 to “SIP INFO” using the “dtmfrelay”
format for messages:
drgos(config)# voice line 1
When the DTMF relay mode is set to RFC2833, the RTP payload type can be altered
91
Configuring VoIP
Alternatively, you can use the no dtmf relay command. For example, if the DTMF
relay mode is set to RFC2833 as in “Configuring DTMF Relay Mode to “RFC2833””
on page 91, use the following command:
drgos(config)# voice line 1
92
Configuring VoIP
specific VoIP attributes with default values are used for all voice lines. For example:
drgos(config)# voice
drgos(config-voice)# country us
The values for the United States are used for the countryspecific VoIP attributes on all
voice lines. Sweden (se) is the default country.
You can use CLI commands to customize some attributes (see Table 17). The
customized values will overwrite the default values.
clip country Calling line identification presentation (CLIP) type for a voice line
tone Callprogress tones (such as, dial tone, busy tone, call waiting tone, and so
on) on all voice lines
voip timer clear The call clear timer for all voice lines
sip timer suspendresume The call suspendresume timer for a voice line
voip timer hookflash The hookflash timer for all voice lines
The CLIP function can be enabled on a per line basis. This function is disabled by
default. To enable it, use the following command:
drgos(config)# voice line 1
93
Configuring VoIP
includes country codes, access codes, area codes and all combinations of digits dialed.
Table 18 shows an example of the dial plan for a desk phone.
Pattern Meaning
SIP proxies can ask DRGOS to collect dialed digits from the endpoints. To reduce the
number of interactions between the SIP proxy and the endpoint, DRGOS accumulates
the dialed numbers in a buffer and transmits them in a single message to the proxy.
To help DRGOS predict how many numbers it needs to accumulate before
transmission, DRGOS should be configured with a digit map that corresponds to the
dial plan. For example, the following digit map corresponds to the dial plan in Table
18:
([0-8]xxx|90[1-9]x.T|900x.T|9[2-9]xxxxxxx|91[0-24-9]xxxxxx|913x.T)
94
Configuring VoIP
match.
Table 19 shows the possible constructs used in a numbering scheme.
Construct Description
Timer The symbol "T" matching a timer expiry. A timer is only allowed if it appears at the last position of a
string, e.g. 12T3 is not valid.
Letter A digit, a timer, or one of the symbols "A", "B", "C", "D", "#", or "*"
Wildcard The symbol "x" which matches any digit ("0" to "9")
Range One or more DTMF symbols enclosed between square brackets ("[" and "]")
Subrange Two digits separated by hyphen ("") which matches any digit between and including the two. The
subrange construct can only be used inside a range construct, i.e., between "[" and "]"
Position A period (".") which matches an arbitrary number, including zero, of occurrences of the preceding
construct
Substring Substitution
A substring of keys can be automatically replaced with a different substring using angle
bracket notation:
'<' dialed substring ':' transmitted-substring '>'
95
Configuring VoIP
Input digits
Yes
Class 5 services Match Class 5
enabled? services
No
DRGOS compares the current dialed digits against the digit map:
• If the result is underqualified (partial matches more than one entry), then dial
matching continues until a full match is achieved.
• If the result is overqualified (no further digits could possibly produce a match),
then dial matching is aborted and the end user is notified by an audio signal.
• Only a full match will trigger the initiation of a call by sending the dialed
information to the configured SIP proxy.
Timer T is activated when it is all that is required to produce a match. The period of
timer T is 4 seconds by default, and the timer is configurable (see “Configuring Dial
Plan and Timer T” on page 96). For example, a dial plan of (xxxT|xxxxx) will be
matched immediately when 5 digits are entered. The dial plan will also be matched
after a 4 second pause when 3 digits are entered. The digit map is the only standard
compliant way to specify what number and how many dialed digits DRGOS will
collect before it sends the dialed sequence to the SIP proxy.
96
Configuring VoIP
The timer T can be configured for all voice lines using the CLI command dial timeout.
The default value of timer T is 4 seconds.
The following example shows how to configure the timer T:
Example 31 Configuring timer T
drgos(config)# voice
It is possible to define an alternative dial timeout value which is used before any digits
have been dialed. This may be useful for automated dial systems, e.g. faxes and alarms,
which take longer than the standard dial timeout to dial when the line has been taken
offhook.
Example 32 Configuring timer T and firstdigit timer
drgos(config)# voice
When the quick dial function is enabled, it overrides the digit map even if the digit map
requires a sequence ending with a pound key (#) to be sent to the proxy.
97
Configuring VoIP
Command Descriptions
no voip class5 internal Disables all internal Class 5 services regardless of the settings for
individual services
End users can activate or deactivate the internal Class 5 services by pressing specific
keypads on the telephone handset. Table 21 lists the keypad sequences and descriptions
for the internal Class 5 services.
Drop R0 (hookflash+0) In the case of hold and resume, when the first call is held and the second call has
not been established, pressing the key sequence cancels the second call in the
dial tone phase.
In a conference call, pressing the key sequence drops the first participant.
Drop R1 (hookflash+1) In the case of hold and resume, when the first call is held and the second call has
not been established, pressing the key sequence cancels the second call in the
ringing phase.
In a conference call, pressing the key sequence drops the second participant.
Flash R2 (hookflash+2) If in a call, pressing the key sequence holds the current call or switches to another
call on the same line.
98
Configuring VoIP
1. Define a suitable dial plan. Typically this dial plan includes key sequences for
required services codes, e.g. (*xx*|*xx#|*xx*x.#), plus normal dial plan
sequences. Service codes are operatorspecific, therefore the precise dial plan to be
used must be carefully designed for your specific services. For details, see
“Configuring a Dial Plan” on page 93.
2. Disable quick dial. This is because using # to force immediate dial string
termination is incompatible with the use of service codes. To disable quick dial, use:
drgos(config)# voice
drgos(config-voice)# no dial quick-dial
For details, see “Configuring Quick Dial” on page 97.
3. Configure the appropriate DTMF relay mode, e.g. SIP INFO or RFC2833. For
example, to configure the mode to SIP INFO, use:
drgos(config)# voice line 1
drgos(config-voice-line)# dtmf relay sip-info
For details, see “Configuring DTMF Relay Mode” on page 89.
4. Optionally, you can disable internal Class 5 services and have these services carried
out on the SIP proxy. To disable internal Class 5 services, use:
drgos(config)# voice line 1
drgos(config-voice-line)# no voip class5 internal
For details, see “Configuring Internal Class 5 Services” on page 97.
The default value for sip timer suspendresume is 90 seconds. The suspendresume
feature can be disabled by setting the suspendresume timer value to 0. Only the callee
99
Configuring VoIP
can suspend and resume the call. Suspend and resume is not a universal feature of the
PSTN networks, e.g. it is supported in some countries, but not others.
Hang up or BYE
Idle
Hang up or BYE Terminal state
Call1, Call2,
Press R2
Call2 Call1
held held
Note: If not specified, the actions which cause the status change are performed by A.
Method 1
The initial status of A is Call1.
1. A presses R3. When the dial tone is heard, A dials the telephone number of C.
100
Configuring VoIP
Terminal state
Hang up or BYE
Idle
Active call state
Hang up
or BYE
Press Transition state
Press Dial plan
R3 Hold digits Collect matches
Call1 Dial tone Ringing
Call1 digits
Partial call state
C picks up
Press R0
Dial plan fails Conf.
Press R1 or Busy or NACK
Call
Note: If not specified, the actions which cause the status change are performed by A.
Method 2
The initial status of A is “Call2, Call1 held” (see Figure 30).
1. A presses R2. When the dial tone is heard, A dials the telephone number of C. B is
put on hold and A is ringing C.
Call1, Call2,
Conf.
Call2 Press R2 Call1 Press R3
Call
held held
Note: If not specified, the actions which cause the status change are performed by A.
101
Configuring VoIP
(Call2).
If A wants to drop C out, A presses R1. A and B are still in a call (Call1).
Figure 29 shows the status change of A in a conference call process. The initial status
of A is in the conference call.
Hang up
Active call state
Note: If not specified, the actions which cause the status change are performed by A.
Command Descriptions
When call waiting is enabled by the operator, the end user can activate, deactivate, or
check the status of call waiting when not in a call by pressing the following keypad
sequences:
102
Configuring VoIP
Note: If not specified, the actions which cause the status change are performed by A.
103
Configuring VoIP
drgos(config-if-wan)# exit
drgos(config-if-vlan)# exit
drgos(config-if-vlan)# exit
2. Create the "voice" configuration using the commands shown above for the
interfaces and QoS to the signalling and media.
drgos(config-voice)# exit
104
Configuring VoIP
drgos(config-voice-line)# exit
drgos(config-voice-line)# exit
drgos(config-voice-line)# shutdown
105
Configuring IPTV
Deployment Scenarios
DRGOS supports the following deployment scenarios involving IPTV service:
• Layer 2 IPTV service, see “Layer 2 VLAN per Service or Port” on page 18
• Layer 3 IPTV service, see “Layer 3 VLAN per Service” on page 27
• simultaneous IPTV and Internet services on the same STB LAN port, see “Layer
2/Layer 3 Hybrid VLAN per Service with LAN Ports in Hybrid Mode” on
page 42
• simultaneous IPTV, VoD, and Internet services on the same STB LAN port, see
“Layer 3 VLAN per Service with Multiple NATs” on page 31
106
Configuring IPTV
IGMP snooping can work with the some other IGMP functions:
• IGMP aggregation
IGMP aggregation reduces the number of IGMP packets by suppressing IGMP
packets that do no need to be forwarded. IGMP aggregation suppresses Join and
Leave messages except:
– Join messages sent by first reporter that joins the multicast group
– Leave messages sent by the last reporter that leaves the multicast group
• IGMP immediateleave
IGMP immediateleave saves the time required for an STB to leave a multicast
group. In a standard Leave process, after receiving a Leave message, the RG issues a
Membership Query, which results in a 2–3 second delay before the multicast stream
is terminated. In a immediate leave process, the RG terminates the multicast stream
immediately on receiving the initial Leave request.
• IGMP robustness
The IGMP robustness value indicates the susceptibility level of a subnet to packet
loss and allows for specified loss of IGMP messages before acting.
IGMP robustness 2
Configuration
The following example shows how to enable IGMP snooping and configure IGMP
related functions on a Layer 2 VLAN interface:
drgos(config)# interface vlan8
107
Configuring IPTV
Figure 35 IGMP proxy RG Intercepts IGMP flow and forwards it when necessary
108
Configuring IPTV
Video on Demand
DRGOS provides a RealTime Streaming Protocol (RTSP) proxy to deliver Video on
Demand (VoD) service to RTSP clients. Unlike IPTV, VoD typically uses unicast
traffic to deliver content.
It is not necessary to configure the RTSP proxy. It operates on all LAN traffic and uses
routing rules to reach the service provider’s VoD server. As a result, it may be necessary
to use a specific VLAN to connect to the VoD server. In this case separate NATs are
used for VoD traffic and Internet traffic. For details about the scenario of multiple
NATs, see “Layer 3 VLAN per Service with Multiple NATs” on page 31.
109
Configuring CATV
By default, the Cable TV (CATV) functionality is disabled. This allows the service
provider to activate differentiated services for the end user as and when they subscribe
to services. the following commands are used to configure CATV:
Command Description
The behavior of the show catv command is dependant upon hardware platform.
• For DRG 700 and Platinum models, it is possible to determine whether a CATV
module is present. For example,
– If a CATV module is not present, the command returns:
drgos# show catv
CATV
Administratively enabled
Filter: disabled
CATV module not present
– If a CATV module is present but no valid CATV signal is detected, it returns:
drgos# show catv
CATV
Administratively enabled
Filter: disabled
CATV signal not present
• For Hybrid Titanium, it is not possible to determine whether the CATV module
is present. As a result the command returns “CATV signal not present”
irrespective of the reason for this. For example,
drgos# show catv
CATV
Administratively enabled
Filter: disabled
CATV signal not present
110
Configuring DHCP
The RG can be acting as either a DHCP server or a DHCP client. This section provides
instructions on configuring the RG as a DHCP server, which includes:
• “Configuring DHCP Server” on page 112
• “Configuring a Static Lease for a DHCP Client” on page 112
• “Configuring DHCP Option Inheritance” on page 113
111
Configuring DHCP
In this example, the address pool is given a leasetime of 43200 seconds (12 hours). The
subnet mask and the DNS server are defined. All other values are per default, e.g. next
server is the IP address of the DHCP server.
In this example, DHCP clients, with a vendor class identifier that contains the string
"my stb class", will receive all of the global context option values, except for the
specified option values. The specified option values are leasetime, bootfile name, tftp
server and nextserver, and these options are not the default values of the global context,
but explicitly defined for this class.
In this example, the DHCP client with a MAC address that matches "000f.5d00.0123"
will be given the same information defined for the global context, except that the lease
time is 3600 seconds (1 hour).
In this way, it is possible to provide different option values to specific clients or groups
of clients based on MAC address or vendor class identifier information.
Further details of these options can be found in the DRGOS Command Reference.
112
Configuring DHCP
included for DNS lookups. An alternative leasetime may also be defined for the client.
Example 36 Configuring a static lease for a DHCP client with MAC address
dhcp server lease 0011.2233.4455 192.168.1.78 3600
In this example, the IP address 192.168.1.78 is assigned to the DHCP client with
MAC address 0011.2233.4455. The leasetime is 3600 seconds.
Example 37 Configuring a static lease for a DHCP client with host name
dhcp server lease myhost 192.168.1.78 3600
In this example, the IP address 192.168.1.78 is assigned to the DHCP client with host
name “myhost”. The leasetime is 3600 seconds. In this case, the host name used by the
DHCP client must be included in the DHCP client request.
In this example, the DHCP clients will inherit the preconfigured values for the subnet
mask and the NTP servers defined for the source interface “vlan1” in their DHCP
options.
113
Configuring DNS
This chapter describes how to configure the Domain Name System (DNS) on
DRGOS in multiservice networks. The following are described
• “DNS Implementation in DRGOS” on page 115
• “Examples for Configuring DNS” on page 116
• “Configuring DNS Domain Using DHCP Options” on page 117
• “Configuring Static DNS Domain for Learned DNS Servers” on page 117
• “Configuring Static DNS Servers” on page 117
• “Viewing DNS Servers” on page 118
• “Configuring Hostname Resolution Rules” on page 118
114
Configuring DNS
name server The DNS servers used by DHCP option 6 ip nameserver sourceinterface
DRGOS
domain All DNS queries for hosts in this DHCP option 119 domain
domain are directed to the DNS
server.
115
Configuring DNS
voice
voice signaling source-interface vlan2
voice media source-interface vlan2
voice line 1
sip proxy proxy.voip.example.com
sip domain 172.19.41.252
sip phone-number 2001
interface lan
ip nat external-interface vlan3
DNS should be configured such that DNS queries are handled as follows:
• If a DNS query contains a hostname with the domain name mgmt.example.com,
it is only sent to the DNS servers configured, or learned, on VLAN 1 through the
VLAN 1 interface.
• If a DNS query contains a hostname with the domain name voip.example.com,
the DNS query is only sent to the DNS servers configured, or learned, on VLAN 2
through the VLAN 2 interface.
• If a DNS query contains a hostname without a domain name or with the domain
name other than mgmt.example.com or voip.example.com, the DNS query is
only sent to the DNS servers configured, or learned, on VLAN 3 through the VLAN
3 interface.
116
Configuring DNS
In this example, domain names for management and VoIP interfaces are configured
while the domain name is not configured for the NAT interface.
117
Configuring DNS
this case, the learned DNS server and the learned domain are ignored. For example:
drgos(config)# ip name-server 1.1.1.1 source-interface vlan1
drgos(config)# ip name-server 2.1.1.1 source-interface vlan2
drgos(config)# ip name-server 3.1.1.1 source-interface vlan3
int vlan1
ip address dhcp
service mgmt
domain "mgmt.example.com"
int vlan2
ip address dhcp
service voip
domain "voip.example.com"
In this example, domain names for management and VoIP interfaces are configured;
domain name is not configured for the NAT interface.
118
Configuring UPnP
Universal Plug and Play (UPnP) is a set of networking protocols for primarily
residential networks without expert administrators that permits networked devices,
such as personal computers, printers, Internet gateways, WiFi access points, mobile
device, to seamlessly discover each other’s presence on the network and to establish
functional network services for data sharing, communications, and entertainment. The
UPnP technology is promulgated by the UPnP Forum.
The concept of UPnP is an extension of plugandplay, a technology for dynamically
attaching devices directly to a computer, although UPnP is not directly related to the
earlier plugandplay technology. UPnP devices are "plugandplay" in that when
connected to a network they automatically established working configurations with
other devices.
This chapter describes the following:
• “UPnP Implementation in DRGOS” on page 120
• “Configuring UPnP” on page 120
119
Configuring UPnP
Configuring UPnP
By default, UPnP is disabled on the RG for security considerations. The RG provides
the following commands to configure UPnP:
Command Description
drgos(config)# ip upnp
120
Configuring QoS
121
Configuring QoS
0 (lowest) Background
1 Best Effort
2 Excellent Effort
3 Critical Applications
6 Internetwork Control
Queue Scheduling
Each physical interface has four transmit queues for egress traffic. Each Layer 2 frame
that needs to be transmitted is enqueued in one of the transmit queues. The transmit
queues are then serviced based on the transmit queue scheduling algorithm.
DRGOS supports the following queue scheduling algorithms:
• Strict Priority (SP): All the frames in the highest priority queue are transmitted
before the frames in the next highest priority queue, and so on until the lowest
122
Configuring QoS
priority queue. When strict priority queuing is used, it is possible for traffic in lower
priority queues to never be transmitted if higher priority traffic is always present.
• Weighted Round Robin (WRR): Traffic in higher priority queues are transmitted
before traffic in lower priority queues based upon a weighting. A number of frames
from the top priority queue are transmitted, followed by some from the next priority
queue and so on to the lowest priority queue. This ensures that even the lower
priority queues are able to transit some frames.
The weighting used for queues 3 to 0 is 8:4:2:1 respectively.
• Hybrid mode: Some lower priority queues operate in WRR while the remainder
operate in SP mode:
– If 2 queues are selected, then queues 0 and 1 operate in WRR mode.
– If 3 queues are selected, then queues 0, 1, and 2 operate in WRR mode.
123
Configuring QoS
traffic types:
Command Description
voip media priority Configures the 802.1p CoS value for VoIP media traffic
voip signaling priority Configures the 802.1p CoS value for VoIP signaling traffic
Here is an example:
Configure the 802.1p CoS value for the VoIP traffic as recommended in IEEE Std
802.1Q2005:
drgos(config)# voice
You can use the following commands to configure queueing and scheduling:
Command Description
cos map Configures the mapping between the 802.1p CoS values and queues
queuescheduling Configures how queue scheduling algorithm is applied to the transmit queues on a physical
interface
Example 39 shows how to configure queueing and scheduling for egress traffic on the
WAN interface.
Example 39 Configuring queueing and scheduling
Use WRR scheduling on the WAN interface. The purpose is to not totally block the
traffic with low priority.
drgos(config)# interfaces wan
Assign traffic with 802.1p CoS value 7 to the queue of the highest priority:
124
Configuring QoS
Assign traffic with 802.1p CoS value 5 to the queue of the second highest priority:
drgos(config)# cos map dot1p 5 queue 2
Traffic of CoS values that have no queue assigned is put in the queue of the lowest
priority, i.e Queue 0. In Example 39, data traffic with CoS values 04 and 6 is put in
Queue 0.
The following example shows how to configure the egress limit rate and the ingress
limit rate on a LAN interface:
drgos(config)# interface lan/ethernet2
drgos(config-if-lan-eth)# rate-limit ingress 128
drgos(config-if-lan-eth)# rate-limit egress 64000
125
Troubleshooting
126
Troubleshooting
the version of the current image, the bootloader, and the bootstrap show version
the cause of the last reboot and the uptime show version
the amount of free and used memory in the system show memory
127
Troubleshooting
Note: In common with many systems, the logging of firewall events is ratelimited to
prevent a sustained attack from filling the firewall log too swiftly. Frames from
each unique source are all logged, but repeat frames are only logged at a rate of 1
per minute.
128
Appendix A – Open Source Licenses
Open source packages are used to provide some functionality. These packages are
licensed under standard open source licenses, which are shown below for each package.
libpcap 1.1.1
tcpdump 4.1.1
License: BSD
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
pcre 8.11
PCRE LICENCE
PCRE is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.
Release 8 of PCRE is distributed under the terms of the "BSD" licence, as
specified below. The documentation for PCRE, supplied in the "doc"
directory, is distributed under the same terms as the software itself.
The basic library functions are written in C and are freestanding. Also
included in the distribution is a set of C++ wrapper functions.
THE BASIC LIBRARY FUNCTIONS
---
Written by: Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-2010 University of Cambridge
All rights reserved.
129
Open Source Licenses
dropbear 0.51
Dropbear contains a number of components from different sources, hence there
are a few licenses and authors involved. All licenses are fairly
non-restrictive.
The majority of code is written by Matt Johnston, under the license below.
Portions of the client-mode work are (c) 2004 Mihnea Stoenescu, under the
same license:
Copyright (c) 2002-2006 Matt Johnston
Portions copyright (c) 2004 Mihnea Stoenescu
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal
in the Software without restriction, including without limitation the
rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
=====
130
Open Source Licenses
LibTomCrypt and LibTomMath are written by Tom St Denis, and are Public
Domain.
=====
sshpty.c is taken from OpenSSH 3.5p1,
Copyright (c) 1995 Tatu Ylonen <[email protected]>, Espoo, Finland
All rights reserved
"As far as I am concerned, the code I have written for this software
can be used freely for any purpose. Any derived versions of this
software must be clearly marked as such, and if the derived work is
incompatible with the protocol description in the RFC file, it must be
called by a name other than "ssh" or "Secure Shell". "
=====
loginrec.c
loginrec.h
atomicio.h
atomicio.c
and strlcat() (included in util.c) are from OpenSSH 3.6.1p2, and are
licensed
under the 2 point BSD license.
loginrec is written primarily by Andre Lucas, atomicio.c by Theo de Raadt.
strlcat() is (c) Todd C. Miller
=====
Import code in keyimport.c is modified from PuTTY's import.c, licensed as
follows:
PuTTY is copyright 1997-2003 Simon Tatham.
Portions copyright Robert de Bath, Joris van Rantwijk, Delian
Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry,
Justin Bradford, and CORE SDI S.A.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
argpstandalone 1.3
basefiles 14
bridgeutils 1.4
busybox 1.11.2
dnsmasq 2.55
e2fsprogs 1.40.11
ethtool 3
131
Open Source Licenses
gdbserver 7.0
gmp 4.2.1
haserl 0.9.29
hotplug2 0.9
iproute2 2.6.39
iptables 1.4.7
libcli 1.9.3
libgdbm 1.8.3
libnetfilter_conntrack 0.0.100
libnetfilter_log 1.0.0
libnetfilter_queue 1.0.0
libnfnetlink 1.0.0
libtool 1.5.24
libupnp 1.6.18
lighttpd 1.4.32
linuxatm 2.4.1
lzo 2.06
mtd 8
mtdutils 1.5.0
ncurses 5.6
ndisc6 1.0.1
netsnmp 5.4.2.1
ntpclient 2007_365
openssl 1.0.0g
ppp 2.4.3
rppppoe 3.8
rtl8192cd 1.2
132
Open Source Licenses
uci 0.7.3
udev 106
ulogd 1.24
watchdog 5.9
wirelesstools 29
zlib 1.2.3
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
133
Open Source Licenses
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
134
Open Source Licenses
135
Open Source Licenses
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
136
Open Source Licenses
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
coreutils 7.2
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
137
Open Source Licenses
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
138
Open Source Licenses
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
139
Open Source Licenses
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
140
Open Source Licenses
141
Open Source Licenses
142
Open Source Licenses
143
Open Source Licenses
144
Open Source Licenses
145
Open Source Licenses
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
widedhcpv6 20080615
$KAME: COPYRIGHT,v 1.2 2004/07/29 19:02:18 jinmei Exp $
Copyright (C) 1998-2004 WIDE Project.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the project nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
miniupnpd 1.4
Copyright (c) 2006-2008, Thomas BERNARD
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* The name of the author may not be used to endorse or promote products
146
Open Source Licenses
radvd 1.8
The author(s) grant permission for redistribution and use in source and
binary forms, with or without modification, of the software and
documentation
provided that the following conditions are met:
0. If you receive a version of the software that is specifically labelled
as not being for redistribution (check the version message and/or README),
you are not permitted to redistribute that version of the software in any
way or form.
1. All terms of all other applicable copyrights and licenses must be
followed.
2. Redistributions of source code must retain the authors' copyright
notice(s), this list of conditions, and the following disclaimer.
3. Redistributions in binary form must reproduce the authors' copyright
notice(s), this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
4. All advertising materials mentioning features or use of this software
must display the following acknowledgement with the name(s) of the
authors as specified in the copyright notice(s) substituted where
indicated:
This product includes software developed by the authors which are
mentioned at the start of the source files and other contributors.
5. Neither the name(s) of the author(s) nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ITS AUTHORS AND CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
147
Index
148
Index
149
Index
150
Index
V
VCI
Vendor Class Identifier, 33
VLAN
Layer 3 VLAN on WAN interface, 47
on LAN interface, 49
on WAN interface, 47
VoIP, 104
voice
call waiting, 102
codec, 87
country-specific configuration, 92
dial plan, 93
internal Class 5 services, 97
call suspending and resuming, 99
call swapping, 100
conference call, 100
QoS, 103
voice line
configuring SIP domain, 84
configuring SIP proxy, 84
configuring user authentication, 84
configuring user identifier, 84
disabling, 105
DTMF relay mode, 89
enabling, 105
W
WLAN
access policy
setting, 82
SSID
configuring, 79
setting, 79
WRR
Weighted Round Robin, 123
151
www.genexis.eu