فهرست منبع

Merge branch 'master' of ssh://gitlab.fuxicarbon.com:1111/client_service/voice-gateway-service

刘威 4 ماه پیش
والد
کامیت
8fbf5c623c
3فایلهای تغییر یافته به همراه11 افزوده شده و 9 حذف شده
  1. 1 1
      docker-compose.yml
  2. 1 1
      src/core/datasource.py
  3. 9 7
      src/core/voip/bot.py

+ 1 - 1
docker-compose.yml

@@ -1,6 +1,6 @@
 services:
   pjsua:
-    image: pjsua2:v2.14.1019
+    image: pjsua2:v2.14.1026
     container_name: pjsua
     restart: always
     network_mode: host

+ 1 - 1
src/core/datasource.py

@@ -15,7 +15,7 @@ from src.core import singleton
 from redis import StrictRedis, ConnectionPool
 
 SERVE_HOST = os.environ.get("SERVE_HOST")
-SERVE_HOST = "192.168.100.195"
+#SERVE_HOST = "192.168.100.195"
 MYSQL_PASSWORD = 'EKoAe3H8xybQKrFPApXM'
 
 if SERVE_HOST != "192.168.100.159":

+ 9 - 7
src/core/voip/bot.py

@@ -98,7 +98,7 @@ class MyAudioMediaPort(pj.AudioMediaPort):
             message_queue_size = self.call.message_queue.qsize()
             if (message_queue_size > 0 and not self.cur_player_file) or (message_queue_size > 0 and play_complete):
                 print('onFrameReceived:message_queue_size=', message_queue_size, 'play_complete=', play_complete, asr_text)
-                self.cur_player_file, self.call.wait_time, self.call.dtmf_type, action= self.get_player_file()
+                self.cur_player_file, self.call.wait_time, self.call.dtmf_type, self.call.action = self.get_player_file()
                 self.call.send_bot_speaker(self.cur_player_file)
 
                 # 重置播放完成标志和超时计时器,确保新的播放从头开始计时
@@ -107,8 +107,9 @@ class MyAudioMediaPort(pj.AudioMediaPort):
                 self.call.digit = ""   #重新把超长类型按键内容digit置为空
 
                 #播放完毕执行的动作
-                self.call.say_end_action(action)
+                self.call.say_end_action(self.call.action)
         except:
+            traceback.print_exc()
             pass
 
     def is_play_complete(self):
@@ -150,7 +151,7 @@ class MyAudioMediaPort(pj.AudioMediaPort):
             if wait_time == 30:
                 self.call.chat("7", self.call.digit)
             else:
-                self.call.chat("6", "")
+                self.call.chat("6", "用户超时了")
 
 
 
@@ -214,6 +215,7 @@ class MyCall(pj.Call):
         self.wait_time = None
         self.dtmf_type = None #记录按键类型 1为长按键类型
         self.digit = '' # 存储长按键内容
+        self.action = None
 
         from src.core.voip.asr import TestSt
         self.asr = TestSt(call_id, message_receiver=self.on_receiver_asr_result)  # 创建ASR实例
@@ -429,7 +431,7 @@ class ToTextBotAgent:
 
 class BotAgent:
 
-    def __init__(self, logger, user_part_range=range(1001, 1019), host="192.168.100.195", port="5060", password="slibra@#123456"):
+    def __init__(self, logger, user_part_range=range(1001, 1019), host="pbx.fuxicarbon.com", port="5060", password="slibra@#123456"):
         self.logger = logger
         self.user_part_range, self.host, self.port, self.password = user_part_range, host, port, password
         self.user_part_pool = queue.Queue(maxsize=len(user_part_range))
@@ -479,9 +481,9 @@ class BotAgent:
             acfg.regConfig.retryIntervalSec = 10  # 重试间隔时间(秒)
             acfg.regConfig.firstRetryIntervalSec = 10  # 首次重试间隔时间(秒)
 
-            # acfg.natConfig.iceEnabled = True
-            # acfg.natConfig.turnEnabled = True
-            # acfg.natConfig.turnServer = "stun:pbx.fuxicarbon.com:3478"
+            acfg.natConfig.iceEnabled = True
+            acfg.natConfig.turnEnabled = True
+            acfg.natConfig.turnServer = "stun:pbx.fuxicarbon.com:3478"
             # acfg.natConfig.turnUsername = "username"
             # acfg.natConfig.turnPassword = "password"