diff --git a/Makefile b/Makefile
index 7e7c90e..390b43b 100644
--- a/Makefile
+++ b/Makefile
@@ -98,7 +98,6 @@
 
 docker-build: local-omci-lib-go local-protos# @HELP Build the BBSim docker container (contains BBSimCtl too)
 	docker build \
-	  --platform linux/x86_64 \
 	  -t ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG} \
 	  -f build/package/Dockerfile .
 
diff --git a/VERSION b/VERSION
index ff3d4cc..f61e315 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.12.8-dev
+1.12.8
diff --git a/cmd/bbsim/bbsim.go b/cmd/bbsim/bbsim.go
index 294e055..1571d48 100644
--- a/cmd/bbsim/bbsim.go
+++ b/cmd/bbsim/bbsim.go
@@ -164,6 +164,7 @@
 		"OmciResponseRate":            common.Config.Olt.OmciResponseRate,
 		"injectOmciUnknownMe":         common.Config.BBSim.InjectOmciUnknownMe,
 		"injectOmciUnknownAttributes": common.Config.BBSim.InjectOmciUnknownAttributes,
+		"omccVersion":                 common.Config.BBSim.OmccVersion,
 	}).Info("BroadBand Simulator is on")
 
 	// control channels, they are only closed when the goroutine needs to be terminated
diff --git a/docs/source/bbsim_config.rst b/docs/source/bbsim_config.rst
index 279e606..5998714 100644
--- a/docs/source/bbsim_config.rst
+++ b/docs/source/bbsim_config.rst
@@ -13,8 +13,8 @@
    Usage of ./bbsim:
      -api_address string
            IP address:port (default ":50070")
-     -authRetry
-           Set this flag if BBSim should retry EAPOL (Authentication) upon failure until success
+     -authRetry bool
+           Set this flag if BBSim should retry EAPOL (Authentication) upon failure until success (default false)
      -bp_format string
            Bandwidth profile format, 'mef' or 'ietf' (default "mef")
      -ca string
@@ -22,25 +22,29 @@
      -config string
            Configuration file path (default "configs/bbsim.yaml")
      -cpuprofile string
-           write cpu profile to file
+           write cpu profile to file (default "")
      -delay int
            The delay between ONU DISCOVERY batches in milliseconds (1 ONU per each PON PORT at a time (default 200)
-     -dhcpRetry
-           Set this flag if BBSim should retry DHCP upon failure until success
+     -dhcpRetry bool
+           Set this flag if BBSim should retry DHCP upon failure until success (default false)
      -dmi_server_address string
            IP address:port (default ":50075")
-     -enableEvents
-           Enable sending BBSim events on configured kafka server
-     -enableperf
-           Setting this flag will cause BBSim to not store data like traffic schedulers, flows of ONUs etc..
-     -injectOmciUnknownAttributes
-           Generate a MibDB packet with Unknown Attributes
+     -enableEvents bool
+           Enable sending BBSim events on configured kafka server (default false)
+     -enableperf bool
+           Setting this flag will cause BBSim to not store data like traffic schedulers, flows of ONUs etc.. (default false)
+     -injectOmciUnknownAttributes bool
+           Generate a MibDB packet with Unknown Attributes (default false)
+     -injectOmciUnknownMe bool
+           Generate a MibDB packet with Unknown Me (default false)
+     -omccVersion int
+           Set OMCC version to be returned in OMCI response of ME Onu2G (default 163 (0xA3))
      -kafkaAddress string
            IP:Port for kafka (default ":9092")
      -kafkaEventTopic string
-           Ability to configure the topic on which BBSim publishes events on Kafka
-     -logCaller
-           Whether to print the caller filename or not
+           Ability to configure the topic on which BBSim publishes events on Kafka (default "")
+     -logCaller bool
+           Whether to print the caller filename or not (default false)
      -logLevel string
            Set the log level (trace, debug, info, warn, error) (default "debug")
      -nni int
@@ -50,7 +54,7 @@
      -oltRebootDelay int
            Time that BBSim should before restarting after a reboot (default 60)
      -olt_id int
-           OLT device ID
+           OLT device ID (default 0)
      -omci_response_rate int
            Amount of OMCI messages to respond to (default 10)
      -onu int
@@ -60,7 +64,7 @@
      -pon int
            Number of PON ports per OLT device to be emulated (default 1)
      -pon_port_config_file string
-        Pon Interfaces Configuration file path
+        Pon Interfaces Configuration file path  (default "")
      -pots int
            Number of POTS UNI Ports per ONU device to be emulated (default 0)
      -rest_api_address string
diff --git a/internal/common/omci/get.go b/internal/common/omci/get.go
index 71d7d87..b450b87 100644
--- a/internal/common/omci/get.go
+++ b/internal/common/omci/get.go
@@ -24,6 +24,7 @@
 	"strconv"
 
 	"github.com/google/gopacket"
+	"github.com/opencord/bbsim/internal/common"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
@@ -143,7 +144,7 @@
 		Attributes: me.AttributeValueMap{
 			me.ManagedEntityID:   entityID,
 			me.Onu2G_EquipmentId: ToOctets("12345123451234512345", 20),
-			me.Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion: 180,
+			me.Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion: common.Config.BBSim.OmccVersion,
 			me.Onu2G_VendorProductCode:                                        0,
 			me.Onu2G_SecurityCapability:                                       1,
 			me.Onu2G_SecurityMode:                                             1,
diff --git a/internal/common/omci/get_test.go b/internal/common/omci/get_test.go
index 82bbe7a..94422c1 100644
--- a/internal/common/omci/get_test.go
+++ b/internal/common/omci/get_test.go
@@ -23,6 +23,7 @@
 	"testing"
 
 	"github.com/google/gopacket"
+	"github.com/opencord/bbsim/internal/common"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
@@ -69,6 +70,8 @@
 
 func TestGetResponse(t *testing.T) {
 
+	common.Config = common.GetDefaultOps()
+
 	// NOTE that we're not testing the SerialNumber attribute part of the ONU-G
 	// response here as it is a special case and it requires transformation.
 	// we specifically test that in TestCreateOnugResponse
@@ -83,7 +86,7 @@
 	}{
 		{"getOnu2gResponse",
 			getArgs{createOnu2gResponse(false, 57344, 10), 1},
-			getWant{1, map[string]interface{}{"OpticalNetworkUnitManagementAndControlChannelOmccVersion": uint8(180)}},
+			getWant{1, map[string]interface{}{"OpticalNetworkUnitManagementAndControlChannelOmccVersion": uint8(163)}},
 		},
 		{"getOnugResponse",
 			getArgs{createOnugResponse(false, 40960, 10, sn), 1},
diff --git a/internal/common/option_test.go b/internal/common/option_test.go
index bf8d139..01a97f5 100644
--- a/internal/common/option_test.go
+++ b/internal/common/option_test.go
@@ -41,7 +41,7 @@
 }
 
 func TestLoadPonsConfigDefaults(t *testing.T) {
-	Config = getDefaultOps()
+	Config = GetDefaultOps()
 	// The default options define 1 PON per OLT
 	// and 1 ONU per PON
 
@@ -72,7 +72,7 @@
 
 func TestLoadPonsConfigFile(t *testing.T) {
 
-	Config = getDefaultOps()
+	Config = GetDefaultOps()
 
 	Services = []ServiceYaml{
 		{
diff --git a/internal/common/options.go b/internal/common/options.go
index 318e29f..3f16058 100644
--- a/internal/common/options.go
+++ b/internal/common/options.go
@@ -190,6 +190,7 @@
 	BandwidthProfileFormat      string  `yaml:"bp_format"`
 	InjectOmciUnknownMe         bool    `yaml:"inject_omci_unknown_me"`
 	InjectOmciUnknownAttributes bool    `yaml:"inject_omci_unknown_attributes"`
+	OmccVersion                 int     `yaml:"omcc_version"`
 }
 
 type BBRConfig struct {
@@ -254,7 +255,7 @@
 // - we merge the configuration (CLI has priority over yaml files)
 func LoadConfig() {
 
-	Config = getDefaultOps()
+	Config = GetDefaultOps()
 
 	cliConf := readCliParams()
 
@@ -321,7 +322,7 @@
 
 func readCliParams() *GlobalConfig {
 
-	conf := getDefaultOps()
+	conf := GetDefaultOps()
 
 	configFile := flag.String("config", conf.BBSim.ConfigFile, "Configuration file path")
 	servicesFile := flag.String("services", conf.BBSim.ServiceConfigFile, "Service Configuration file path")
@@ -361,6 +362,7 @@
 	authRetry := flag.Bool("authRetry", conf.BBSim.AuthRetry, "Set this flag if BBSim should retry EAPOL (Authentication) upon failure until success")
 	injectOmciUnknownMe := flag.Bool("injectOmciUnknownMe", conf.BBSim.InjectOmciUnknownMe, "Generate an extra MibDB packet with ClassID 37 (Intentionally left blank)")
 	injectOmciUnknownAttributes := flag.Bool("injectOmciUnknownAttributes", conf.BBSim.InjectOmciUnknownAttributes, "Modifies the ONU2-G MibDB packet to add Unknown Attributes")
+	omccVersion := flag.Int("omccVersion", conf.BBSim.OmccVersion, "Set OMCC version to be returned in OMCI response of ME Onu2G")
 
 	flag.Parse()
 
@@ -394,6 +396,7 @@
 	conf.BBSim.DmiServerAddress = *dmi_server_address
 	conf.BBSim.InjectOmciUnknownMe = *injectOmciUnknownMe
 	conf.BBSim.InjectOmciUnknownAttributes = *injectOmciUnknownAttributes
+	conf.BBSim.OmccVersion = *omccVersion
 
 	// update device id if not set
 	if conf.Olt.DeviceId == "" {
@@ -409,7 +412,7 @@
 	return conf
 }
 
-func getDefaultOps() *GlobalConfig {
+func GetDefaultOps() *GlobalConfig {
 
 	c := &GlobalConfig{
 		BBSimConfig{
@@ -440,6 +443,7 @@
 			BandwidthProfileFormat:      BP_FORMAT_MEF,
 			InjectOmciUnknownMe:         false,
 			InjectOmciUnknownAttributes: false,
+			OmccVersion:                 0xA3,
 		},
 		OltConfig{
 			Vendor:             "BBSim",
@@ -498,7 +502,7 @@
 
 // LoadBBSimConf loads the BBSim configuration from a YAML file
 func loadBBSimConf(filename string) (*GlobalConfig, error) {
-	yamlConfig := getDefaultOps()
+	yamlConfig := GetDefaultOps()
 
 	yamlFile, err := ioutil.ReadFile(filename)
 	if err != nil {
