|
|
@@ -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}
|