From 35287f83de15d8e4b974659782e1d1d9b3b20d50 Mon Sep 17 00:00:00 2001 From: jiyoungcheon Date: Fri, 3 Jan 2025 02:16:50 -0500 Subject: [PATCH] joy4 deleted --- icsmediaconv/icsmediaconv.go | 147 --------------------------- icssessionmanager/icsanalyzertp.go | 76 -------------- icssessionmanager/icssession.go | 17 ++-- icssessionmanager/sessionoperator.go | 27 +++-- 4 files changed, 21 insertions(+), 246 deletions(-) delete mode 100644 icsmediaconv/icsmediaconv.go delete mode 100644 icssessionmanager/icsanalyzertp.go diff --git a/icsmediaconv/icsmediaconv.go b/icsmediaconv/icsmediaconv.go deleted file mode 100644 index 86fc7fa..0000000 --- a/icsmediaconv/icsmediaconv.go +++ /dev/null @@ -1,147 +0,0 @@ -package icsmediaconv - -import ( - "sync" - - "gitlab.com/cinnamon/voiceagent/icserror" - "gitlab.com/cinnamon/voiceagent/icslog" - "gitlab.com/cinnamon/voiceagent/icspacketparser" - "gitlab.com/ics_cinnamon/joy4/av" - "gitlab.com/ics_cinnamon/joy4/cgo/ffmpeg" - "gitlab.com/ics_cinnamon/joy4/codec" -) - -const ( - ICS_PT_MULAW = 0 - ICS_PT_ALAW = 8 - ICS_PT_G729 = 18 - ICS_PT_END = ICS_PT_G729 -) - -const PCM_8K_16BIT_10MS_SIZE = 160 - -type Converter struct { - payloadtype icspacketparser.PayloadType - codec av.AudioCodecData - decoder *ffmpeg.AudioDecoder - - samplingRate int - onePacketSize int - - isStart bool - m *sync.Mutex - - ID int -} - -func NewConverter(id int, pt icspacketparser.PayloadType) (*Converter, *icserror.IcsError) { - conv := &Converter{payloadtype: pt} - - conv.ID = id - conv.isStart = false - conv.m = &sync.Mutex{} - - switch pt { - case ICS_PT_MULAW: - conv.codec = codec.NewPCMMulawCodecData() - conv.samplingRate = 8000 - conv.onePacketSize = 160 - case ICS_PT_ALAW: - conv.codec = codec.NewPCMAlawCodecData() - conv.samplingRate = 8000 - conv.onePacketSize = 160 - case ICS_PT_G729: - conv.codec = codec.NewG729CodecData() - conv.samplingRate = 8000 - conv.onePacketSize = 10 - default: - return nil, icserror.ICSERRCONVNotSupportedCodec - } - - var err error - conv.decoder, err = ffmpeg.NewAudioDecoder(conv.codec) - if err != nil { - icserror.ICSERRCONVNotSupportedCodec.SetError(err) - return nil, icserror.ICSERRCONVNotSupportedCodec - } - ffmpeg.SetLogLevel(ffmpeg.QUIET) - - conv.Start() - - l := icslog.GetIcsLog() - l.Printf(icslog.LOG_LEVEL_DEBUG2, id, "### NewDecode()") - - return conv, nil -} - -func (c *Converter) Start() { - c.m.Lock() - c.isStart = true - c.m.Unlock() -} - -func (c *Converter) Stop() { - c.m.Lock() - c.isStart = false - c.m.Unlock() -} - -func (c *Converter) IsStart() bool { - return c.isStart -} - -func (c *Converter) Close() { - c.Stop() - c.decoder.Close() - - l := icslog.GetIcsLog() - l.Print(icslog.LOG_LEVEL_INFO, c.ID, "Closed Decoder") -} - -func (c *Converter) Decode(packet []byte) ([]byte, *icserror.IcsError) { - //l := icslog.GetIcsLog() - //l.Printf(icslog.LOG_LEVEL_DEBUG2, -1, "converter### Decode() packet length: %d", len(packet)) - - retBuf := make([]byte, PCM_8K_16BIT_10MS_SIZE*2) - packetLen := len(packet) - iter := 0 - for packetLen >= c.onePacketSize { - packetLen -= c.onePacketSize - - //fmt.Printf("### Decode() iter(%d) packetlen(%d)\n", iter, packetLen) - buf := packet[c.onePacketSize*iter : c.onePacketSize*(iter+1)] - //fmt.Printf("### Decode() iter(%d), buf length %d %v\n", iter, len(buf), buf) - //l.Printf(icslog.LOG_LEVEL_DEBUG2, c.ID, "### Decode() iter(%d), buf length %d %v", iter, len(buf), buf) - - c.m.Lock() - if c.IsStart() { - ok, frame, errDec := c.decoder.Decode(buf) - if !ok { - icserror.ICSERRCONVDecodeFail.SetError(errDec) - //icserror.ICSERRCONVDecodeFail.Print() - c.m.Unlock() - return nil, icserror.ICSERRCONVDecodeFail - } - - //fmt.Println("###frame len", iter, PCM_8K_16BIT_10MS_SIZE*iter, PCM_8K_16BIT_10MS_SIZE*(iter+1)) - //fmt.Println("###frame len", len(frame.Data[0]), len(frame.Data), frame) - copy(retBuf[PCM_8K_16BIT_10MS_SIZE*iter:PCM_8K_16BIT_10MS_SIZE*(iter+1)], frame.Data[0][:PCM_8K_16BIT_10MS_SIZE]) - } - c.m.Unlock() - - /* - f1, err := os.OpenFile("./tx.voice.raw", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) - if err != nil { - log.Fatal(err) - } - f1.Write(frame.Data[0][:PCM_8K_16BIT_10MS_SIZE]) - f1.Sync() - f1.Close() - */ - - iter++ - } - //fmt.Println("###retBuf len", len(retBuf), retBuf) - - return retBuf, nil -} diff --git a/icssessionmanager/icsanalyzertp.go b/icssessionmanager/icsanalyzertp.go deleted file mode 100644 index efe794f..0000000 --- a/icssessionmanager/icsanalyzertp.go +++ /dev/null @@ -1,76 +0,0 @@ -package icssessionmanager - -import ( - "strings" - - "gitlab.com/cinnamon/voiceagent/icserror" - "gitlab.com/cinnamon/voiceagent/icslog" - "gitlab.com/cinnamon/voiceagent/icspacketparser" - "gitlab.com/cinnamon/voiceagent/icssvc" - "gitlab.com/cinnamon/voiceagent/recorddata" -) - -func (s *IcsSession) analyzeRTP(rtp *icspacketparser.RTP) *icserror.IcsError { - l := icslog.GetIcsLog() - - RPT := rtp.GetPayloadType() - SPT := s.GetPayloadType() - if SPT == RPT { - if s.VoiceNeter == nil { - l.Print(icslog.LOG_LEVEL_ERROR, s.ID, icserror.ICSERRNETNotConnectError.GetMessage()) - return icserror.ICSERRNETNotConnectError - } - - voicedata := recorddata.NewVoiceData() - svc := icssvc.GetServiceStatus() - conf := svc.GetIcsConfig() - if strings.Compare(conf.HTTPConfig.SrcIP, rtp.SrcAddr.IPv4String) == 0 { //RX - //if strings.Compare(conf.PbxConfig.PbxIp, rtp.SrcAddr.IPv4String) == 0 { //RX - /*////////////////// - s.rxFile.Write(rtp.Payload) - */ ////////////////// - pcm, err := s.RxConverter.Decode(rtp.Payload) - if err != nil { - l.Print(icslog.LOG_LEVEL_ERROR, s.ID, err.GetMessage()) - return err - } - - if s.rxSeq == -1 { - s.rxSeq = int(rtp.Seq) - } - - voicedata.SetData(s.ServerID, s.Station, int32(rtp.Seq-uint16(s.rxSeq)), s.StartTimeStamp, "0", "0", pcm) - - wsize, err := s.VoiceNeter.Write(voicedata.GetData()) - if wsize == -1 || err != nil { - l.Printf(icslog.LOG_LEVEL_ERROR, s.ID, "RTP send error-%v", err.GetError()) - return err - } - } else { //TX - /*////////////////// - s.txFile.Write(rtp.Payload) - */ ////////////////// - pcm, err := s.TxConverter.Decode(rtp.Payload) - if err != nil { - l.Print(icslog.LOG_LEVEL_ERROR, s.ID, err.GetMessage()) - return err - } - - if s.txSeq == -1 { - s.txSeq = int(rtp.Seq) - } - - voicedata.SetData(s.ServerID, s.Station, int32(rtp.Seq-uint16(s.txSeq)), s.StartTimeStamp, "1", "0", pcm) - - wsize, err := s.VoiceNeter.Write(voicedata.GetData()) - if wsize == -1 || err != nil { - //l.Printf(icslog.LOG_LEVEL_ERROR, s.ID, "RTP send error-%v", err.GetError()) - return err - } - } - } else { - l.Print(icslog.LOG_LEVEL_ERROR, s.ID, "NO same payload type!!!") - } - - return nil -} diff --git a/icssessionmanager/icssession.go b/icssessionmanager/icssession.go index 571586c..81f35ac 100644 --- a/icssessionmanager/icssession.go +++ b/icssessionmanager/icssession.go @@ -22,7 +22,6 @@ import ( "gitlab.com/cinnamon/voiceagent/recorddata/readcallsignal" "gitlab.com/cinnamon/voiceagent/recorddata/responsecs" "gitlab.com/cinnamon/voiceagent/stt" - "gitlab.com/ics_cinnamon/joy4/format" ) type IcsSession struct { @@ -106,10 +105,10 @@ const ( ////////////////////////////////////////////////////////////////// //session routine -// init ffmpeg -func init() { - format.RegisterAll() -} +// // init ffmpeg +// func init() { +// format.RegisterAll() +// } // on/off check the session idle func (s *IcsSession) Start() { @@ -357,13 +356,13 @@ func (s *IcsSession) Run() *icserror.IcsError { */ case icspacketparser.SIP: l.Printf(icslog.LOG_LEVEL_INFO, s.ID, "Get SIP Event[%d]", evt.ID) - sip := v - s.analyzeSIP(&sip) + // sip := v + // s.analyzeSIP(&sip) case icspacketparser.RTP: //l.Printf(icslog.LOG_LEVEL_INFO, s.ID, "Get RTP Event[%d]", evt.ID) - rtp := v + // rtp := v //fmt.Println(rtp) - s.analyzeRTP(&rtp) + // s.analyzeRTP(&rtp) //default: //fmt.Println(time.Now(), "NOT DEFINED EVENT TYPE!!!!!!!!!!!!!!!!!") default: diff --git a/icssessionmanager/sessionoperator.go b/icssessionmanager/sessionoperator.go index 59fe562..0df9b7a 100644 --- a/icssessionmanager/sessionoperator.go +++ b/icssessionmanager/sessionoperator.go @@ -17,8 +17,8 @@ import ( "gitlab.com/cinnamon/voiceagent/recorddata/responsecs" ) -////////////////////////////////////////////////////////////////// -//session operator +// //////////////////////////////////////////////////////////////// +// session operator func findSessionWithCallID(callId string) *IcsSession { sessions := getSessionInstance() for _, session := range sessions { @@ -256,14 +256,14 @@ func (s *IcsSession) RemoveSession() *icserror.IcsError { s.sstation = e.sstation s.isFoundPayload = false - if s.RxConverter != nil { - s.RxConverter.Close() - s.RxConverter = nil - } - if s.TxConverter != nil { - s.TxConverter.Close() - s.TxConverter = nil - } + // if s.RxConverter != nil { + // s.RxConverter.Close() + // s.RxConverter = nil + // } + // if s.TxConverter != nil { + // s.TxConverter.Close() + // s.TxConverter = nil + // } s.botStatus = nil s.botToken = "" @@ -313,8 +313,7 @@ func (s *IcsSession) CheckSignalMethod(sip icspacketparser.SIP) *icserror.IcsErr return nil } -////////////////////////////////////////////////////////////////// -// +// //////////////////////////////////////////////////////////////// func (s *IcsSession) SetTimestamp(now time.Time) { s.lastTimestamp = now } @@ -412,8 +411,8 @@ func (s *IcsSession) SendVoiceGatewayBotByeSignal(url string, custid string, sst } } -////////////////////////////////////////// -//DTMF +// //////////////////////////////////////// +// DTMF // add DTMF func (s *IcsSession) AddDtmf() { inputDtmf := s.cs.InOut