deleted unnecessary logics except 9012

wo_translateinfo
jiyoungcheon 3 weeks ago
parent 94b7da3e3d
commit 488dfc2fb0

@ -190,65 +190,11 @@ func (s *ScenarioSession) BOTPFunc(w http.ResponseWriter, r *http.Request) {
} }
agent := strings.SplitN(request.CallId, "@", 2) agent := strings.SplitN(request.CallId, "@", 2)
fmt.Printf(">>>>>> DATA INFO - method [%s], agent [%s], token [%s]\n", request.Method, agent, request.Token)
l.Printf(icslog.LOG_LEVEL_INFO, -1, ">>>>>> DATA INFO - method [%s], agent [%s], token [%s] talk[%s]", request.Method, agent, request.Token, request.TalkText) l.Printf(icslog.LOG_LEVEL_INFO, -1, ">>>>>> DATA INFO - method [%s], agent [%s], token [%s] talk[%s]", request.Method, agent, request.Token, request.TalkText)
response := new(Response) response := new(Response)
dnis := request.Dnis dnis := request.Dnis
s.m.Lock()
////////////////////////////////////
///////////// EXCEPT ///////////////
////////////////////////////////////
if conf.ExceptTest.TestInfo.Value {
// eType := conf.ExceptTest.TestInfo.Type
// if request.Method == "INIT" {
// response.ResultCode = conf.ExceptTest.TestInfo.ResultCode
// response.Token = conf.ExceptTest.TestInfo.Token
// response.Action = conf.ExceptTest.TestInfo.Action
// response.AnounceMents = conf.ExceptTest.TestInfo.Announcement
// response.Data.BargeIn = conf.ExceptTest.TestInfo.Bargein
// response.Data.RecodingFile = conf.ExceptTest.TestInfo.Recodingfile
// response.Data.SttMaxTime = conf.ExceptTest.TestInfo.Sttmaxtime
// s.session[conf.ExceptTest.TestInfo.Token] = ResStatus{Count: 1, Status: scnarioConf[dnis].Action[0], NotUnderstand: 0}
// } else if request.TalkText == "ERROR_TTS" || request.TalkText == "ERROR_STT" {
// response.ResultCode = 200
// response.Token = request.Token
// response.AnounceMents = "서비스에 문제가 발생하여 매장으로 연결해드릴게요."
// response.Action = "TRANSFER"
// response.Data.BargeIn = ""
// response.Data.RecodingFile = ""
// response.Data.SttMaxTime = 10
// } else if request.Method == "REFER" {
// response.ResultCode = 200
// response.Token = request.Token
// response.AnounceMents = "서비스에 문제가 발생하여 매장으로 연결해드릴게요."
// response.Action = "TRANSFER"
// response.Data.BargeIn = ""
// response.Data.RecodingFile = ""
// response.Data.SttMaxTime = 10
// } else if request.Method != "INIT" && request.TalkText == "" {
// response.ResultCode = 200
// response.Token = request.Token
// if s.session[request.Token].NotUnderstand == 3 {
// response.AnounceMents = "잘 이해하지 못했습니다. 정확한 상담을 위해 매장으로 연결해드릴게요."
// response.Action = "END"
// } else {
// response.AnounceMents = "잘 이해하지 못했습니다. 다시 말씀해주세요."
// response.Action = "STT"
// s.session[request.Token] = ResStatus{Count: 1, Status: scnarioConf[dnis].Action[0], NotUnderstand: s.session[request.Token].NotUnderstand + 1}
// }
// response.Data.BargeIn = ""
// response.Data.RecodingFile = ""
// response.Data.SttMaxTime = 10
// }
} else {
////////////////////////////////////
//////// SCENARIO MAPPING///////////
////////////////////////////////////
fmt.Println(request.Method)
if request.Method == "HANGUP" { if request.Method == "HANGUP" {
response.ResultCode = 200 response.ResultCode = 200
response.Token = request.Token response.Token = request.Token
@ -259,24 +205,25 @@ func (s *ScenarioSession) BOTPFunc(w http.ResponseWriter, r *http.Request) {
response.Data.SttMaxTime = 10 response.Data.SttMaxTime = 10
} else if request.Method != "INIT" && request.TalkText == "" { } else if request.Method != "INIT" && request.TalkText == "" {
l.Printf(icslog.LOG_LEVEL_INFO, -1, "여기는 INIT 아닐 때") l.Printf(icslog.LOG_LEVEL_INFO, -1, "여기는 INIT 아닐 때")
if request.TalkText == "" { // if request.TalkText == "" {
request.TalkText = "잘못된 값 입력 " // request.TalkText = "잘못된 값 입력 "
} // }
fmt.Println(dnis) // fmt.Println(dnis)
if dnis == "AISB" || dnis == "07075999956" || dnis == "821462" || dnis == "1462" { // if dnis == "AISB" || dnis == "07075999956" || dnis == "821462" || dnis == "1462" {
dnis = "9013" // dnis = "9013"
} // }
fmt.Println(dnis) // fmt.Println(dnis)
if dnis != "07012345678" && dnis != "07077442711" { // if dnis != "07012345678" && dnis != "07077442711" {
dnis = "sim" // dnis = "sim"
} // }
if dnis == "07012345678" || dnis == "07077442711" { // if dnis == "07012345678" || dnis == "07077442711" {
dnis = "sim3" // dnis = "sim3"
} // }
if dnis == "9012" { if dnis == "9012" {
l.Printf(icslog.LOG_LEVEL_INFO, -1, "9012..s.session[request.Token].Count: %d", s.session[request.Token].Count)
response.ResultCode = 200 response.ResultCode = 200
response.Token = request.Token response.Token = request.Token
response.Action = scnarioConf[dnis][s.session[request.Token].Count+1].Action response.Action = scnarioConf[dnis][s.session[request.Token].Count+1].Action
@ -297,6 +244,8 @@ func (s *ScenarioSession) BOTPFunc(w http.ResponseWriter, r *http.Request) {
response.Data.RecodingFile = "Y" response.Data.RecodingFile = "Y"
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action} s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
l.Printf(icslog.LOG_LEVEL_INFO, -1, "response.scnarioConf[dnis][s.session[request.Token].Count+1].AnounceMents: %s", scnarioConf[dnis][s.session[request.Token].Count+1].AnounceMents)
l.Printf(icslog.LOG_LEVEL_INFO, -1, "response.AnounceMents: %s", response.AnounceMents)
} else if dnis == "sim3" { } else if dnis == "sim3" {
//시뮬레이터 //시뮬레이터
@ -343,26 +292,27 @@ func (s *ScenarioSession) BOTPFunc(w http.ResponseWriter, r *http.Request) {
//s.m.Unlock() //s.m.Unlock()
} }
} else { } else {
fmt.Println("RECV METHOD") // fmt.Println("RECV METHOD")
fmt.Println(dnis) // fmt.Println(dnis)
// if dnis != "9012" && dnis != "9013" && dnis != "9014" { // // if dnis != "9012" && dnis != "9013" && dnis != "9014" {
// dnis = "sim" // // dnis = "sim"
// } else // // } else
if dnis == "AISB" || dnis == "07075999956" || dnis == "821462" || dnis == "1462" { // if dnis == "AISB" || dnis == "07075999956" || dnis == "821462" || dnis == "1462" {
dnis = "9013" // dnis = "9013"
} // }
fmt.Println(dnis) // fmt.Println(dnis)
if dnis == "9012" || dnis == "07012345678" || dnis == "07077442711" { // if dnis == "9012" || dnis == "07012345678" || dnis == "07077442711" {
dnis = "sim3" // dnis = "sim3"
} // }
if dnis == "9013" { // if dnis == "9013" {
dnis = "9014" // dnis = "9014"
} // }
fmt.Println(scnarioConf[dnis]) // fmt.Println(scnarioConf[dnis])
switch request.Method { switch request.Method {
case "INIT": case "INIT":
l.Printf(icslog.LOG_LEVEL_INFO, -1, "INIT..s.session[request.Token].Count: %d", s.session[request.Token].Count)
token := createToken(request.CallId) token := createToken(request.CallId)
response.ResultCode = 200 response.ResultCode = 200
response.Token = token response.Token = token
@ -382,245 +332,244 @@ func (s *ScenarioSession) BOTPFunc(w http.ResponseWriter, r *http.Request) {
response.Data.RecodingFile = "Y" response.Data.RecodingFile = "Y"
//s.m.Lock() //s.m.Lock()
s.session[token] = ResStatus{Count: 1, Status: scnarioConf[dnis][0].Action, NotUnderstand: 0, PreEventNum: 1} s.session[token] = ResStatus{Count: 1, Status: scnarioConf[dnis][0].Action, NotUnderstand: 0, PreEventNum: 1}
// s.m.Unlock() // // s.m.Unlock()
case "STT", "DTMF", "BOTH", "MEMO", "NONE": // case "STT", "DTMF", "BOTH", "MEMO", "NONE":
l.Printf(icslog.LOG_LEVEL_INFO, -1, "여기는 언제 타는거지지") // l.Printf(icslog.LOG_LEVEL_INFO, -1, "여기는 언제 타는거지지")
response.ResultCode = 200 // response.ResultCode = 200
response.Token = request.Token // response.Token = request.Token
if dnis == "9013" || dnis == "9014" { // if dnis == "9013" || dnis == "9014" {
response.Action = scnarioConf[dnis][s.session[request.Token].Count+1].Action // response.Action = scnarioConf[dnis][s.session[request.Token].Count+1].Action
response.AnounceMents = scnarioConf[dnis][s.session[request.Token].Count+1].AnounceMents // response.AnounceMents = scnarioConf[dnis][s.session[request.Token].Count+1].AnounceMents
response.Data.Speed = scnarioConf[dnis][s.session[request.Token].Count+1].Speed // response.Data.Speed = scnarioConf[dnis][s.session[request.Token].Count+1].Speed
response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].Count+1].VoiceName // response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].Count+1].VoiceName
response.Data.Volume = scnarioConf[dnis][s.session[request.Token].Count+1].Volume // response.Data.Volume = scnarioConf[dnis][s.session[request.Token].Count+1].Volume
response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].Count+1].Pitch // response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].Count+1].Pitch
response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].Count+1].MaxWaitTime // response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].Count+1].MaxWaitTime
response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].Count+1].BargeIn // response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].Count+1].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].Count+1].SttMaxTime // response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].Count+1].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].Count+1].MaxDigit // response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].Count+1].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].Count+1].EndCharacter} // response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].Count+1].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count+1].DigitTerm
response.AnnounceFilePath = scnarioConf[dnis][s.session[request.Token].Count+1].AudioFilePath
response.Data.RecodingFile = "Y"
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
// s.m.Unlock()
} else if dnis == "9012" {
response.Action = scnarioConf[dnis][1].Action
response.AnounceMents = scnarioConf[dnis][1].AnounceMents
response.Data.Speed = scnarioConf[dnis][1].Speed
response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
response.Data.Volume = scnarioConf[dnis][1].Volume
response.Data.Pitch = scnarioConf[dnis][1].Pitch
response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
// response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
// response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count+1].DigitTerm // response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count+1].DigitTerm
response.Data.RecodingFile = "Y" // response.AnnounceFilePath = scnarioConf[dnis][s.session[request.Token].Count+1].AudioFilePath
// s.m.Lock() // response.Data.RecodingFile = "Y"
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
// s.m.Unlock() // // s.m.Unlock()
} else if dnis == "1000" { // } else if dnis == "9012" {
preEventNum := s.session[request.Token].PreEventNum // response.Action = scnarioConf[dnis][1].Action
fmt.Printf("\n num %+v\n", preEventNum) // response.AnounceMents = scnarioConf[dnis][1].AnounceMents
switch preEventNum { // response.Data.Speed = scnarioConf[dnis][1].Speed
case 1: // response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
actionNum, err := strconv.Atoi(request.TalkText) // response.Data.Volume = scnarioConf[dnis][1].Volume
if err == nil { // response.Data.Pitch = scnarioConf[dnis][1].Pitch
response.Action = scnarioConf[dnis][actionNum+2].Action // response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
response.AnounceMents = scnarioConf[dnis][actionNum+2].AnounceMents // response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
response.Data.Speed = scnarioConf[dnis][actionNum+2].Speed // response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
response.Data.VoiceName = scnarioConf[dnis][actionNum+2].VoiceName // response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
response.Data.Volume = scnarioConf[dnis][actionNum+2].Volume // // response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
response.Data.Pitch = scnarioConf[dnis][actionNum+2].Pitch // // response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count+1].DigitTerm
response.Data.MaxWaitTime = scnarioConf[dnis][actionNum+2].MaxWaitTime // response.Data.RecodingFile = "Y"
response.Data.BargeIn = scnarioConf[dnis][actionNum+2].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][actionNum+2].SttMaxTime // // s.m.Lock()
response.Data.MaxDigit = scnarioConf[dnis][actionNum+2].MaxDigit // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action}
response.Data.EndCharacter = []string{scnarioConf[dnis][actionNum+2].EndCharacter} // // s.m.Unlock()
response.Data.DigitTerm = scnarioConf[dnis][actionNum+2].DigitTerm // } else if dnis == "1000" {
response.Data.RecodingFile = "Y" // preEventNum := s.session[request.Token].PreEventNum
// fmt.Printf("\n num %+v\n", preEventNum)
// s.m.Lock() // switch preEventNum {
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][actionNum+2].Action, PreEventNum: actionNum + 2} // case 1:
// s.m.Unlock() // actionNum, err := strconv.Atoi(request.TalkText)
} else { // if err == nil {
response.Action = scnarioConf[dnis][1].Action // response.Action = scnarioConf[dnis][actionNum+2].Action
response.AnounceMents = scnarioConf[dnis][1].AnounceMents // response.AnounceMents = scnarioConf[dnis][actionNum+2].AnounceMents
response.Data.Speed = scnarioConf[dnis][1].Speed // response.Data.Speed = scnarioConf[dnis][actionNum+2].Speed
response.Data.VoiceName = scnarioConf[dnis][1].VoiceName // response.Data.VoiceName = scnarioConf[dnis][actionNum+2].VoiceName
response.Data.Volume = scnarioConf[dnis][1].Volume // response.Data.Volume = scnarioConf[dnis][actionNum+2].Volume
response.Data.Pitch = scnarioConf[dnis][1].Pitch // response.Data.Pitch = scnarioConf[dnis][actionNum+2].Pitch
response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime // response.Data.MaxWaitTime = scnarioConf[dnis][actionNum+2].MaxWaitTime
response.Data.BargeIn = scnarioConf[dnis][1].BargeIn // response.Data.BargeIn = scnarioConf[dnis][actionNum+2].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime // response.Data.SttMaxTime = scnarioConf[dnis][actionNum+2].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit // response.Data.MaxDigit = scnarioConf[dnis][actionNum+2].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter} // response.Data.EndCharacter = []string{scnarioConf[dnis][actionNum+2].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm // response.Data.DigitTerm = scnarioConf[dnis][actionNum+2].DigitTerm
response.Data.RecodingFile = "Y" // response.Data.RecodingFile = "Y"
// s.m.Lock() // // s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][actionNum+2].Action, PreEventNum: actionNum + 2}
// s.m.Unlock() // // s.m.Unlock()
} // } else {
case 2: // response.Action = scnarioConf[dnis][1].Action
actionNum, err := strconv.Atoi(request.TalkText) // response.AnounceMents = scnarioConf[dnis][1].AnounceMents
if err == nil { // response.Data.Speed = scnarioConf[dnis][1].Speed
if actionNum == 1 { // response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
response.Action = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Action // response.Data.Volume = scnarioConf[dnis][1].Volume
response.AnounceMents = scnarioConf[dnis][s.session[request.Token].PreEventNum2].AnounceMents // response.Data.Pitch = scnarioConf[dnis][1].Pitch
response.Data.Speed = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Speed // response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].PreEventNum2].VoiceName // response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
response.Data.Volume = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Volume // response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Pitch // response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].PreEventNum2].MaxWaitTime // response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].PreEventNum2].BargeIn // response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm
response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].PreEventNum2].SttMaxTime // response.Data.RecodingFile = "Y"
response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].PreEventNum2].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].PreEventNum2].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].PreEventNum2].DigitTerm
response.Data.RecodingFile = "Y"
// s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].PreEventNum2].Action, PreEventNum: s.session[request.Token].PreEventNum2}
// s.m.Unlock()
} else {
response.Action = scnarioConf[dnis][1].Action
response.AnounceMents = scnarioConf[dnis][1].AnounceMents
response.Data.Speed = scnarioConf[dnis][1].Speed
response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
response.Data.Volume = scnarioConf[dnis][1].Volume
response.Data.Pitch = scnarioConf[dnis][1].Pitch
response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm
response.Data.RecodingFile = "Y"
// s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1, PreEventNum2: 1}
// s.m.Unlock()
}
} else { // // s.m.Lock()
response.Action = scnarioConf[dnis][1].Action // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1}
response.AnounceMents = scnarioConf[dnis][1].AnounceMents // // s.m.Unlock()
response.Data.Speed = scnarioConf[dnis][1].Speed // }
response.Data.VoiceName = scnarioConf[dnis][1].VoiceName // case 2:
response.Data.Volume = scnarioConf[dnis][1].Volume // actionNum, err := strconv.Atoi(request.TalkText)
response.Data.Pitch = scnarioConf[dnis][1].Pitch // if err == nil {
response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime // if actionNum == 1 {
response.Data.BargeIn = scnarioConf[dnis][1].BargeIn // response.Action = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Action
response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime // response.AnounceMents = scnarioConf[dnis][s.session[request.Token].PreEventNum2].AnounceMents
response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit // response.Data.Speed = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Speed
response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter} // response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].PreEventNum2].VoiceName
response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm // response.Data.Volume = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Volume
response.Data.RecodingFile = "Y" // response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].PreEventNum2].Pitch
// response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].PreEventNum2].MaxWaitTime
// response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].PreEventNum2].BargeIn
// response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].PreEventNum2].SttMaxTime
// response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].PreEventNum2].MaxDigit
// response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].PreEventNum2].EndCharacter}
// response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].PreEventNum2].DigitTerm
// response.Data.RecodingFile = "Y"
// // s.m.Lock()
// s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].PreEventNum2].Action, PreEventNum: s.session[request.Token].PreEventNum2}
// // s.m.Unlock()
// } else {
// response.Action = scnarioConf[dnis][1].Action
// response.AnounceMents = scnarioConf[dnis][1].AnounceMents
// response.Data.Speed = scnarioConf[dnis][1].Speed
// response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
// response.Data.Volume = scnarioConf[dnis][1].Volume
// response.Data.Pitch = scnarioConf[dnis][1].Pitch
// response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
// response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
// response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
// response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
// response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
// response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm
// response.Data.RecodingFile = "Y"
// s.m.Lock() // // s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1, PreEventNum2: 1}
// s.m.Unlock() // // s.m.Unlock()
} // }
default:
response.Action = scnarioConf[dnis][2].Action
response.AnounceMents = "결과 " + request.TalkText + " " + scnarioConf[dnis][2].AnounceMents
response.Data.Speed = scnarioConf[dnis][2].Speed
response.Data.VoiceName = scnarioConf[dnis][2].VoiceName
response.Data.Volume = scnarioConf[dnis][2].Volume
response.Data.Pitch = scnarioConf[dnis][2].Pitch
response.Data.MaxWaitTime = scnarioConf[dnis][2].MaxWaitTime
response.Data.BargeIn = scnarioConf[dnis][2].BargeIn
response.Data.SttMaxTime = scnarioConf[dnis][2].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][2].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][2].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][2].DigitTerm
response.Data.RecodingFile = "Y"
// s.m.Lock() // } else {
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][2].Action, PreEventNum: 2, PreEventNum2: s.session[request.Token].PreEventNum} // response.Action = scnarioConf[dnis][1].Action
//s.m.Unlock() // response.AnounceMents = scnarioConf[dnis][1].AnounceMents
} // response.Data.Speed = scnarioConf[dnis][1].Speed
} else { // response.Data.VoiceName = scnarioConf[dnis][1].VoiceName
//시뮬레이터 // response.Data.Volume = scnarioConf[dnis][1].Volume
response.Action = scnarioConf[dnis][s.session[request.Token].Count].Action // response.Data.Pitch = scnarioConf[dnis][1].Pitch
response.AnounceMents = scnarioConf[dnis][s.session[request.Token].Count].AnounceMents // response.Data.MaxWaitTime = scnarioConf[dnis][1].MaxWaitTime
response.Data.Speed = scnarioConf[dnis][s.session[request.Token].Count].Speed // response.Data.BargeIn = scnarioConf[dnis][1].BargeIn
response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].Count].VoiceName // response.Data.SttMaxTime = scnarioConf[dnis][1].SttMaxTime
response.Data.Volume = scnarioConf[dnis][s.session[request.Token].Count].Volume // response.Data.MaxDigit = scnarioConf[dnis][1].MaxDigit
response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].Count].Pitch // response.Data.EndCharacter = []string{scnarioConf[dnis][1].EndCharacter}
response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].Count].MaxWaitTime // response.Data.DigitTerm = scnarioConf[dnis][1].DigitTerm
response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].Count].BargeIn // response.Data.RecodingFile = "Y"
response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].Count].SttMaxTime
response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].Count].MaxDigit
response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].Count+1].EndCharacter}
response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count].DigitTerm
response.Data.RecodingFile = "Y"
if s.session[request.Token].LoopCount > 100 { // // s.m.Lock()
s.session[request.Token] = ResStatus{LoopCount: s.session[request.Token].LoopCount, Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count].Action} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][1].Action, PreEventNum: 1}
} else { // // s.m.Unlock()
s.session[request.Token] = ResStatus{LoopCount: s.session[request.Token].LoopCount + 1, Count: s.session[request.Token].Count, Status: scnarioConf[dnis][s.session[request.Token].Count].Action} // }
} // default:
// s.m.Lock()
// s.m.Unlock() // response.Action = scnarioConf[dnis][2].Action
} // response.AnounceMents = "결과 " + request.TalkText + " " + scnarioConf[dnis][2].AnounceMents
// response.Data.Speed = scnarioConf[dnis][2].Speed
// response.Data.VoiceName = scnarioConf[dnis][2].VoiceName
// response.Data.Volume = scnarioConf[dnis][2].Volume
// response.Data.Pitch = scnarioConf[dnis][2].Pitch
// response.Data.MaxWaitTime = scnarioConf[dnis][2].MaxWaitTime
// response.Data.BargeIn = scnarioConf[dnis][2].BargeIn
// response.Data.SttMaxTime = scnarioConf[dnis][2].SttMaxTime
// response.Data.MaxDigit = scnarioConf[dnis][2].MaxDigit
// response.Data.EndCharacter = []string{scnarioConf[dnis][2].EndCharacter}
// response.Data.DigitTerm = scnarioConf[dnis][2].DigitTerm
// response.Data.RecodingFile = "Y"
// // s.m.Lock()
// s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][2].Action, PreEventNum: 2, PreEventNum2: s.session[request.Token].PreEventNum}
// //s.m.Unlock()
// }
// } else {
// //시뮬레이터
// response.Action = scnarioConf[dnis][s.session[request.Token].Count].Action
// response.AnounceMents = scnarioConf[dnis][s.session[request.Token].Count].AnounceMents
// response.Data.Speed = scnarioConf[dnis][s.session[request.Token].Count].Speed
// response.Data.VoiceName = scnarioConf[dnis][s.session[request.Token].Count].VoiceName
// response.Data.Volume = scnarioConf[dnis][s.session[request.Token].Count].Volume
// response.Data.Pitch = scnarioConf[dnis][s.session[request.Token].Count].Pitch
// response.Data.MaxWaitTime = scnarioConf[dnis][s.session[request.Token].Count].MaxWaitTime
// response.Data.BargeIn = scnarioConf[dnis][s.session[request.Token].Count].BargeIn
// response.Data.SttMaxTime = scnarioConf[dnis][s.session[request.Token].Count].SttMaxTime
// response.Data.MaxDigit = scnarioConf[dnis][s.session[request.Token].Count].MaxDigit
// response.Data.EndCharacter = []string{scnarioConf[dnis][s.session[request.Token].Count+1].EndCharacter}
// response.Data.DigitTerm = scnarioConf[dnis][s.session[request.Token].Count].DigitTerm
// response.Data.RecodingFile = "Y"
// if s.session[request.Token].LoopCount > 100 {
// s.session[request.Token] = ResStatus{LoopCount: s.session[request.Token].LoopCount, Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count].Action}
// } else {
// s.session[request.Token] = ResStatus{LoopCount: s.session[request.Token].LoopCount + 1, Count: s.session[request.Token].Count, Status: scnarioConf[dnis][s.session[request.Token].Count].Action}
// }
// // s.m.Lock()
// // s.m.Unlock()
// }
case "REFER": // case "REFER":
response.ResultCode = 200 // response.ResultCode = 200
response.Token = request.Token // response.Token = request.Token
response.Action = "TRANSFER" // response.Action = "TRANSFER"
response.AnounceMents = "네. 매장으로 연결해드릴게요." // response.AnounceMents = "네. 매장으로 연결해드릴게요."
response.Data.BargeIn = "" // response.Data.BargeIn = ""
response.Data.RecodingFile = "" // response.Data.RecodingFile = ""
response.Data.SttMaxTime = 0 // response.Data.SttMaxTime = 0
response.Data.TelNo = request.TelNo // response.Data.TelNo = request.TelNo
// s.m.Lock() // // s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
case "TRANSFER": // case "TRANSFER":
response.ResultCode = 200 // response.ResultCode = 200
response.Token = request.Token // response.Token = request.Token
response.Action = "TRANSFER" // response.Action = "TRANSFER"
response.AnounceMents = "네. 매장으로 연결해드릴게요." // response.AnounceMents = "네. 매장으로 연결해드릴게요."
response.Data.BargeIn = "" // response.Data.BargeIn = ""
response.Data.RecodingFile = "" // response.Data.RecodingFile = ""
response.Data.SttMaxTime = 0 // response.Data.SttMaxTime = 0
response.Data.TelNo = request.TelNo // response.Data.TelNo = request.TelNo
// s.m.Lock() // // s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
// s.m.Unlock() // // s.m.Unlock()
case "TRNASFER2": // 전화 종료 요청 // case "TRNASFER2": // 전화 종료 요청
response.ResultCode = 200 // response.ResultCode = 200
response.Token = request.Token // response.Token = request.Token
response.Action = "TRANSFER2" // response.Action = "TRANSFER2"
response.AnounceMents = "네. 매장으로 연결해드릴게요." // response.AnounceMents = "네. 매장으로 연결해드릴게요."
response.Data.BargeIn = "" // response.Data.BargeIn = ""
response.Data.RecodingFile = "" // response.Data.RecodingFile = ""
response.Data.SttMaxTime = 0 // response.Data.SttMaxTime = 0
response.Data.TelNo = request.TelNo // response.Data.TelNo = request.TelNo
// s.m.Lock() // // s.m.Lock()
s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action} // s.session[request.Token] = ResStatus{Count: s.session[request.Token].Count + 1, Status: scnarioConf[dnis][s.session[request.Token].Count+1].Action}
// s.m.Unlock() // // s.m.Unlock()
response.Token = request.Token // response.Token = request.Token
response.Action = "END" // response.Action = "END"
response.AnounceMents = "접수가 완료되었습니다." // response.AnounceMents = "접수가 완료되었습니다."
response.Data.BargeIn = "N" // response.Data.BargeIn = "N"
response.Data.RecodingFile = "Y" // response.Data.RecodingFile = "Y"
response.Data.SttMaxTime = 0 // response.Data.SttMaxTime = 0
} // }
} }
}
response.Data.UUI = json.RawMessage{} response.Data.UUI = json.RawMessage{}
uuiMap := map[string]interface{}{ uuiMap := map[string]interface{}{

Loading…
Cancel
Save