Преглед изворни кода

при ответе отправить всех кто звонил

svetlana пре 3 година
родитељ
комит
4f259f3607
1 измењених фајлова са 9 додато и 6 уклоњено
  1. 9 6
      app/app.py

+ 9 - 6
app/app.py

@@ -215,7 +215,8 @@ async def celCallback(mngr: Manager, msg: Message):
   lid = msg.LinkedID
   if ((msg.EventName == 'CHAN_START') and (lid == msg.UniqueID)):    #save first msg
     app.cache['cel_calls'][lid] = msg
-    app.cache['cel_calls'][lid]['channels'] = {}
+    app.cache['cel_calls'][lid]['current_channels'] = {}
+    app.cache['cel_calls'][lid]['all_channels'] = {}
   if (lid in app.cache['cel_calls']):
     firstMessage = app.cache['cel_calls'][lid]
     cid = firstMessage.CallerIDnum
@@ -225,11 +226,12 @@ async def celCallback(mngr: Manager, msg: Message):
         if ((msg.EventName == 'CHAN_START') or
             ((msg.EventName == 'CHAN_END') and ('answered' not in firstMessage))):
           if msg.EventName == 'CHAN_START':                          #start dial
-            app.cache['cel_calls'][lid]['channels'][msg.Exten] = msg.Channel
+            app.cache['cel_calls'][lid]['current_channels'][msg.Exten] = msg.Channel
+            app.cache['cel_calls'][lid]['all_channels'][msg.Exten] = msg.Channel
           else:                                                      #end dial
-            app.cache['cel_calls'][uid]['channels'].pop(msg.CallerIDname, False)
-          app.logger.warning(f'''NEW CALLING LIST: {','.join(app.cache['cel_calls'][uid]['channels'].keys())}''')
-          _cb = {'users': list(app.cache['cel_calls'][uid]['channels'].keys()),
+            app.cache['cel_calls'][uid]['current_channels'].pop(msg.CallerIDname, False)
+          app.logger.warning(f'''NEW CALLING LIST: {','.join(app.cache['cel_calls'][uid]['current_channels'].keys())}''')
+          _cb = {'users': list(app.cache['cel_calls'][uid]['current_channels'].keys()),
                  'state': 'group_ringing',
                  'callId': uid}
           reply = await doCallback('groupRinging', _cb)
@@ -240,11 +242,12 @@ async def celCallback(mngr: Manager, msg: Message):
         app.cache['cel_calls'][lid]['answered'] = True
         app.logger.warning(f'''answered {called}''')
         _cb = {'user': called,
+               'users': list(app.cache['cel_calls'][uid]['all_channels'].keys()),
                'state': 'group_answer',
                'callId': uid}
         reply = await doCallback('groupAnswered', _cb)
     if ((msg.Application == 'Queue') and
-        (msg.Exten in ('1','2200'))):                                 #shouldn't be hardcoded!
+        (msg.Exten in ('1','2200'))):                                 #shouldn't be hardcoded! I Agree!
       queue_changed=False
       if (msg.EventName == 'APP_START'):
         app.cache['cel_queue_calls'][lid] = {'caller': msg.CallerIDnum, 'start': msg.EventTime}