Merge branch 'main' into multi-tenant

This commit is contained in:
2024-09-30 19:25:19 +08:00
44 changed files with 9391 additions and 805 deletions

View File

@@ -89,12 +89,12 @@ func PostCDREventFrom(w http.ResponseWriter, r *http.Request) {
switch neInfo.NeType {
case "IMS":
if v, ok := cdrEvent.CDR["recordType"]; ok && (v == "MOC" || v == "MTSM") {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_IMS_CDR+neInfo.NeId, cdrEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_IMS_CDR+neInfo.NeId, cdrEvent)
}
case "SMF":
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_SMF_CDR+neInfo.NeId, cdrEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_SMF_CDR+neInfo.NeId, cdrEvent)
case "SMSC":
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_SMSC_CDR+neInfo.NeId, cdrEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_SMSC_CDR+neInfo.NeId, cdrEvent)
}
}

View File

@@ -85,7 +85,7 @@ func PostUEEventFromAMF(c *gin.Context) {
// AMF没有RmUID直接推送
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_AMF_UE, ueEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_AMF_UE, ueEvent)
services.ResponseStatusOK204NoContent(c.Writer)
}
@@ -124,7 +124,7 @@ func PostUEEvent(w http.ResponseWriter, r *http.Request) {
if neInfo.RmUID == ueEvent.RmUID {
// 推送到ws订阅组
if ueEvent.NeType == "MME" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_MME_UE+neInfo.NeId, ueEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_MME_UE+neInfo.NeId, ueEvent)
}
}

View File

@@ -595,7 +595,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
exist, err := session.Table("alarm").
Where("ne_type=? and ne_id=? and alarm_id=? and alarm_status=1", alarmData.NeType, alarmData.NeId, alarmData.AlarmId).
Exist()
if err == nil || !exist {
if err != nil || !exist {
log.Infof("Not found active alarm: ne_id=%s, alarm_id=%s", alarmData.NeId, alarmData.AlarmId)
continue
}

View File

@@ -202,15 +202,7 @@ func newSubmitSM(phoneNumber string, message string) (*pdu.SubmitSM, error) {
submitSM := pdu.NewSubmitSM().(*pdu.SubmitSM)
submitSM.SourceAddr = srcAddr
submitSM.DestAddr = destAddr
dataCoding := data.UCS2
switch smsForward.DataCoding {
case config.CODING_UCS2:
dataCoding = data.UCS2
case config.CODING_ASCII:
dataCoding = data.ASCII
case config.CODING_LATIN1:
dataCoding = data.LATIN1
}
dataCoding := data.FromDataCoding(smsForward.DataCoding)
err = submitSM.Message.SetMessageWithEncoding(message, dataCoding)
if err != nil {
return nil, err
@@ -222,3 +214,27 @@ func newSubmitSM(phoneNumber string, message string) (*pdu.SubmitSM, error) {
return submitSM, nil
}
// const (
// // Short message data coding type
// SMS_CODING_GSM7BIT byte = iota
// SMS_CODING_ASCII
// SMS_CODING_BINARY8BIT1
// SMS_CODING_LATIN1
// SMS_CODING_BINARY8BIT2
// SMS_CODING_NODEF
// SMS_CODING_CYRILLIC
// SMS_CODING_HEBREW
// SMS_CODING_UCS2
// )
// var codingMap = map[byte]data.Encoding{
// SMS_CODING_GSM7BIT: data.GSM7BIT,
// SMS_CODING_ASCII: data.ASCII,
// SMS_CODING_BINARY8BIT1: data.BINARY8BIT1,
// SMS_CODING_LATIN1: data.LATIN1,
// SMS_CODING_BINARY8BIT2: data.BINARY8BIT2,
// SMS_CODING_CYRILLIC: data.CYRILLIC,
// SMS_CODING_HEBREW: data.HEBREW,
// SMS_CODING_UCS2: data.UCS2,
// }

View File

@@ -330,13 +330,13 @@ func PostKPIReportFromNF(w http.ResponseWriter, r *http.Request) {
if neInfo.RmUID == kpiData.RmUid {
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(fmt.Sprintf("%s%s_%s", wsService.GROUP_KPI, neInfo.NeType, neInfo.NeId), kpiEvent)
wsService.NewWSSend.ByGroupID(fmt.Sprintf("%s%s_%s", wsService.GROUP_KPI, neInfo.NeType, neInfo.NeId), kpiEvent)
// 推送自定义KPI到ws订阅组
wsService.NewWSSendImpl.ByGroupID(fmt.Sprintf("%s%s_%s", wsService.GROUP_KPI_C, neInfo.NeType, neInfo.NeId), kpiCEvent)
wsService.NewWSSend.ByGroupID(fmt.Sprintf("%s%s_%s", wsService.GROUP_KPI_C, neInfo.NeType, neInfo.NeId), kpiCEvent)
if neInfo.NeType == "UPF" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_KPI_UPF+neInfo.NeId, kpiEvent)
// 推送标识为12_RMUID, exp: 12_4400HXUPF001
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_KPI_UPF+kpiReport.Task.NE.RmUID, kpiEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI_UPF+neInfo.NeId, kpiEvent)
// 推送标识为12_RMUID, exp: 12_4400HXUPF001, for multi-tenancy
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI_UPF+kpiReport.Task.NE.RmUID, kpiEvent)
}
}
@@ -464,9 +464,9 @@ func PostGoldKPIFromNF(w http.ResponseWriter, r *http.Request) {
}
// 推送到ws订阅组
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_KPI, kpiEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI, kpiEvent)
if goldKpi.NEType == "UPF" {
wsService.NewWSSendImpl.ByGroupID(wsService.GROUP_KPI_UPF, kpiEvent)
wsService.NewWSSend.ByGroupID(wsService.GROUP_KPI_UPF, kpiEvent)
}
services.ResponseStatusOK204NoContent(w)