Jelajahi Sumber

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

余尚辉 4 bulan lalu
induk
melakukan
2891ce186f

+ 3 - 1
src/core/callcenter/api.py

@@ -527,7 +527,7 @@ class DeviceInfo:
                  caller_location=None, call_time=None, ring_start_time=None, ring_end_time=None, answer_time=None,
                  bridge_time=None, end_time=None, talk_time=None, sip_protocol=None, channel_name=None,
                  hangup_cause=None, ring_cause=None, sip_status=None, record=None, record_time=None,
-                 record_start_time=None, state=None):
+                 record_start_time=None, state=None, apparent_number=None, caller_display=None):
         self.call_id = call_id  # 通话唯一标识
         self.conference = conference  # 会议模式
         self.device_id = device_id  # 设备id
@@ -557,6 +557,8 @@ class DeviceInfo:
         self.record_time = record_time  # 录音时长
         self.record_start_time = record_start_time  # 录音开始时间
         self.state = state  # 当前设备状态
+        self.apparent_number = apparent_number #外显号
+        self.caller_display = caller_display   # 主叫号
 
     def to_json_string(self):
         return json.dumps(self.__dict__, ensure_ascii=False)

+ 1 - 1
src/core/callcenter/call.py

@@ -32,7 +32,7 @@ class CallService:
                              call_type=request.call_type, call_time=now, follow_data=request.follow_data,
                              uuid1=request.uuid1, uuid2=request.uuid2, saas_id=saasId)
         device_info = DeviceInfo(device_id=device_id, call_time=now, call_id=call_id, device_type=DeviceType.AGENT,
-                                 agent_key=agent.agent_number)
+                                 agent_key=agent.agent_number, caller_display=route_gateway.name)
         call_info.device_list.append(device_info)
         call_info.next_commands.append(NextCommand(device_id, NextType.NEXT_CALL_OTHER))
         call_info.device_info_map[device_id] = device_info

+ 3 - 2
src/core/callcenter/esl/handler/channel_answer_handler.py

@@ -68,15 +68,16 @@ class ChannelAnswerHandler(EslEventHandler):
                          call_id, call.called_display, called, device_id)
 
         now = lambda: int(round(time.time() * 1000))
+        route_gateway = Cache.get_route_gateway(call.saas_id)
         new_device = DeviceInfo(device_id=new_device_id, call_id=call_id, agent_key=call.agent_key,
                                 called=called, display=call.called_display, caller=call.called_display,
-                                call_time=now, device_type=DeviceType.CUSTOMER)
+                                call_time=now, device_type=DeviceType.CUSTOMER, caller_display=route_gateway.name)
         call.next_commands.append(NextCommand(device_id=device_id, next_type=NextType.NEXT_CALL_BRIDGE, next_value=new_device_id))
         call.device_info_map[new_device_id] = new_device
         Cache.add_call_info(call)
         Cache.add_agent_info(call_info=call, call_id=call_id, device_id=device_id)
 
-        context = MakeCallContext(display=call.caller, caller=call.caller, called=called,
+        context = MakeCallContext(display=new_device.caller_display, caller=new_device.caller_display, called=called,
                                   call_id=call_id, device_id=device_id, device_type=device.device_type,
                                   call_type=call.call_type)
         self.inbound_client.make_call_new(context)

+ 2 - 2
src/core/server.py

@@ -5,5 +5,5 @@ from src.core.callcenter.views import app
 from src.core.callcenter.ws import socketio
 
 if __name__ == '__main__':
-    socketio.run(app, host='0.0.0.0', port=8000, allow_unsafe_werkzeug=True, debug=True)
-    # app.run(host='127.0.0.1', port=5000, debug=True)
+    # socketio.run(app, host='0.0.0.0', port=8000, allow_unsafe_werkzeug=True, debug=True)
+    app.run(host='127.0.0.1', port=8000, debug=True)