ddns-update-style none;
##nuevo
authoritative;
###
# option definitions common to all supported networks...

###Nuevos comandos
# Allow leasequery i.e. source-verify dhcp
allow leasequery;

ignore client-updates;

# Remember Agent info in leases file
stash-agent-options on;

# One lease per client
one-lease-per-client true;



log-facility local0;

option space docsis-mta;
option docsis-mta.dhcp-server-1 code 1 = ip-address;
option docsis-mta.dhcp-server-2 code 2 = ip-address;
option docsis-mta.provision-server code 3 = { integer 8, string };
option docsis-mta.as-req-as-rep-1 code 4 = { integer 32, integer 32, integer 32 };
option docsis-mta.as-req-as-rep-2 code 5 = { integer 32, integer 32, integer 32 };
option docsis-mta.krb-realm-name code 6 = string;
option docsis-mta.tgs-util code 7 = integer 8;
option docsis-mta.timer code 8 = integer 8;
option docsis-mta.ticket-ctrl-mask code 9 = integer 16;
option docsis-mta-pkt code 122 = encapsulate docsis-mta;
option docsis-mta.dhcp-server-1 150.218.219.3;
option docsis-mta.provision-server 0 "\003ert\003com\002co\000";
option docsis-mta.krb-realm-name "\005BASIC\0011\000";

########################################################
# Map option 43 values for Docsis modems
option space vendorOptions;
option vendorOptions.deviceType code 2 = string;
option vendorOptions.serialNumber code 4 = string;
option vendorOptions.hardwareVersion code 5 = string;
option vendorOptions.softwareVersion code 6 = string;
option vendorOptions.bootRomVersion code 7 = string;
option vendorOptions.oui code 8 = string;
option vendorOptions.modelNumber code 9 = string;
option vendorOptions.docsisVendor code 10 = string;
option vendorOptions-pkt code 43 = encapsulate vendorOptions;

set model = option vendorOptions.modelNumber;
log (info, model);

###############################################




# Cable Modem Class
class "CM" {
  # only match if first 6 chars of option 61 are docsis
  match if (substring(option vendor-class-identifier,0,6) = "docsis");
  spawn with hardware;
           }

# Match MTAs that Identify themselves as pktc
class "MTA" {
  match if (substring(option vendor-class-identifier,0,5) = "pktc1");
  spawn with hardware;
           }

# Match Clients as determined by option 61
class "CPE" {
  match if ((substring(option vendor-class-identifier,0,6) != "docsis") and (substring(option vendor-class-identifier,0,4) != "pktc"));
  spawn with hardware;
            }

class "PlanEspecial" {
match if substring(option vendor-encapsulated-options, 0, 13) = "506C616E457370656369616C";
}



shared-network CMTS {
	next-server 150.218.219.3;
	subnet 10.1.0.0 netmask 255.255.0.0 {
		option domain-name-servers 150.218.219.3, 8.8.8.8, 4.2.2.2;
		#option subnet-mask 255.255.255.0;
		option routers 10.1.0.1;

		pool {
			range 10.1.0.2 10.1.200.254;
			deny members of "MTA";
			deny members of "CPE";
			allow members of "CM";
			#deny unknown-clients;
			option time-offset -18000;
			option host-name = host-decl-name;
			option domain-name "codinet.net.co";
			option domain-name-servers 150.218.219.3, 8.8.8.8, 4.2.2.2;
                        default-lease-time 604800;
			max-lease-time 604800;
			#min-lease-time 302400;
			option log-servers 150.218.219.3;
			option time-servers 150.218.219.3;
			next-server 150.218.219.3;
			option docsis-mta.dhcp-server-1 150.218.219.3;
			}
	
		
		}


     subnet 10.2.0.0 netmask 255.255.0.0 {
		#allow unknown-clients;
		option domain-name-servers 150.218.219.3, 8.8.8.8, 4.2.2.2;
		# Unknown clients
		#option subnet-mask 255.255.255.0;
		option routers 10.2.0.1;
		next-server 150.218.219.3;
		pool {
			range 10.2.0.25 10.2.100.254;
			deny members of "MTA";
			deny members of "CM";
			deny members of "CPE";
			allow members of "PlanEspecial";
			#deny known clients;
			#allow unknown-clients;
			option domain-name-servers 150.218.219.3, 8.8.8.8, 4.2.2.2;
			max-lease-time 1209600;
			min-lease-time 1209600;
			default-lease-time 1209600;
			next-server 150.218.219.3;
			}


		pool {
			range 10.2.101.25 10.2.200.254;
			deny members of "MTA";
			deny members of "CM";
			deny members of "PlanEspecial";
			allow members of "CPE";
			#deny known clients;
			#allow unknown-clients;
			option domain-name-servers 150.218.219.3, 8.8.8.8, 4.2.2.2;
			max-lease-time 1209600;
			min-lease-time 1209600;
			default-lease-time 1209600;
			next-server 150.218.219.3;
			}
						
		}

	}



	filename "sinservicio.cfg";
	
		
	
group {
next-server 150.218.219.3;
filename = "100mb_down_10mb_up.cfg";
option bootfile-name = "100mb_down_10mb_up.cfg";

option vendor-class-identifier "PlanEspecial"; 

host 777_test { hardware ethernet 50:39:55:55:09:b0; }


}

# Local
subnet 150.218.219.0 netmask 255.255.255.128 {

}