VOL-4341 Add PPTP POTS UNI into the uni port list when ONU have a PPTP POTS UNI.

Change-Id: I5cb02d0582f1120ef6e6e4021000c48afc2df036
diff --git a/internal/pkg/onuadaptercore/device_handler.go b/internal/pkg/onuadaptercore/device_handler.go
index 3dbaf48..cfe99c9 100644
--- a/internal/pkg/onuadaptercore/device_handler.go
+++ b/internal/pkg/onuadaptercore/device_handler.go
@@ -2504,6 +2504,17 @@
 	} else {
 		logger.Debugw(ctx, "No VEIP instances found", log.Fields{"device-id": dh.deviceID})
 	}
+	if potsInstKeys := pDevEntry.pOnuDB.getSortedInstKeys(
+		ctx, me.PhysicalPathTerminationPointPotsUniClassID); len(potsInstKeys) > 0 {
+		for _, mgmtEntityID := range potsInstKeys {
+			logger.Debugw(ctx, "Add PPTP Pots UNI for MIB-stored instance:", log.Fields{
+				"device-id": dh.deviceID, "PPTP Pots UNI EntityID": mgmtEntityID})
+			dh.addUniPort(ctx, mgmtEntityID, i, uniPPTPPots)
+			i++
+		}
+	} else {
+		logger.Debugw(ctx, "No PPTP Pots UNI instances found", log.Fields{"device-id": dh.deviceID})
+	}
 	if i == 0 {
 		logger.Warnw(ctx, "No UniG instances found", log.Fields{"device-id": dh.deviceID})
 	}
diff --git a/internal/pkg/onuadaptercore/mib_sync.go b/internal/pkg/onuadaptercore/mib_sync.go
index 567a3f4..3716352 100644
--- a/internal/pkg/onuadaptercore/mib_sync.go
+++ b/internal/pkg/onuadaptercore/mib_sync.go
@@ -52,6 +52,7 @@
 	me.CircuitPackClassID,                             // 6
 	me.SoftwareImageClassID,                           // 7
 	me.PhysicalPathTerminationPointEthernetUniClassID, // 11
+	me.PhysicalPathTerminationPointPotsUniClassID,     // 53
 	me.OltGClassID,                                    // 131
 	me.OnuPowerSheddingClassID,                        // 133
 	me.IpHostConfigDataClassID,                        // 134
diff --git a/internal/pkg/onuadaptercore/onu_uni_port.go b/internal/pkg/onuadaptercore/onu_uni_port.go
index bfd52f9..9cfa7de 100644
--- a/internal/pkg/onuadaptercore/onu_uni_port.go
+++ b/internal/pkg/onuadaptercore/onu_uni_port.go
@@ -36,12 +36,14 @@
 
 type uniPortType uint8
 
-// UniPPTP Interface type - re-use values from G.988 TP type definition (directly used in OMCI!)
+// UniPPTP Interface type - re-use values from G.988 (Chapter 9.3.4)TP type definition (directly used in OMCI!)
 const (
 	// uniPPTP relates to PPTP
 	uniPPTP uniPortType = 1 // relates to PPTP
 	// uniVEIP relates to VEIP
 	uniVEIP uniPortType = 11 // relates to VEIP
+	// uniPPTPPots relates to PPTP POTS
+	uniPPTPPots uniPortType = 4 // relates to IP host config data (for Voice Services)
 )
 
 //onuUniPort structure holds information about the ONU attached Uni Ports