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