From b00bb1eec0b943b7ecf763386c959d56b762a88a Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 31 Oct 2024 15:23:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20SMSC=E5=AE=89=E8=A3=85=E6=97=B6=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=BF=AE=E6=94=B9IMS=E5=92=8CUDM=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../network_element/service/ne_version.go | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/modules/network_element/service/ne_version.go b/src/modules/network_element/service/ne_version.go index 4b6f21d6..ea8152fb 100644 --- a/src/modules/network_element/service/ne_version.go +++ b/src/modules/network_element/service/ne_version.go @@ -657,11 +657,40 @@ func (r *NeVersion) operateDome(action string, neVersion model.NeVersion) error if neInfo.NeId != neVersion.NeId { return fmt.Errorf("error found neinfo") } + // ========= 网元OAM配置文件 start ========== if err := NewNeInfo.NeConfOAMWirteSync(neInfo, nil, true); err != nil { return fmt.Errorf("error wirte OAM file info") } // ========= 网元OAM配置文件 end =========== + + // SMSC配置修改IMS和UDM 配置 + if neInfo.NeType == "SMSC" { + para5GData := NewNeInfo.Para5GData + mnc_mcc := fmt.Sprintf("mnc%s.mcc%s", para5GData["MNC_DOMAIN"], para5GData["MCC"]) + smscHost := fmt.Sprintf("%s smsc.ims.%s.3gppnetwork.org", para5GData["SMSC_IP"], mnc_mcc) + smscHostCMD := fmt.Sprintf("grep -qxF '%s' /etc/hosts || echo '%s' | sudo tee -a /etc/hosts \n", smscHost, smscHost) + smscIPCMD := fmt.Sprintf("grep -qxF '%s smsc' /etc/hosts || echo '%s smsc' | sudo tee -a /etc/hosts \n", para5GData["SMSC_IP"], para5GData["SMSC_IP"]) + // IMS 配置 + imsNEs := NewNeInfo.SelectList(model.NeInfo{NeType: "IMS"}, false, false) + for _, v := range imsNEs { + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "sudo sed -i '/^#!define WITH_SMS/ s/^/#/' /usr/local/etc/ims/vars.cfg") + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "ims-stop || true && ims-start") + } + // UDM 配置 + smscASName := fmt.Sprintf("sudo sed -i '/- name: sms_as/{n;s|serverName: .*|serverName: sip:%s:5060|}' /usr/local/etc/udm/as.yaml", para5GData["SMSC_IP"]) + smscASAddress := fmt.Sprintf("sudo sed -i '/- name: sms_as/{n;s|diameterAddress: .*|diameterAddress: smsc.ims.%s.3gppnetwork.org|}' /usr/local/etc/udm/as.yaml", mnc_mcc) + udmNEs := NewNeInfo.SelectList(model.NeInfo{NeType: "UDM"}, false, false) + for _, v := range udmNEs { + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscIPCMD) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscHostCMD) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscASName) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, smscASAddress) + NewNeInfo.NeRunSSHCmd(v.NeType, v.NeId, "sudo service udm restart") + } + } } // 更新Version