|
@@ -236,18 +236,21 @@ async def celCallback(mngr: Manager, msg: Message):
|
|
|
if msg.Context in ('from-queue'):
|
|
if msg.Context in ('from-queue'):
|
|
|
if ((msg.EventName == 'CHAN_START') or
|
|
if ((msg.EventName == 'CHAN_START') or
|
|
|
((msg.EventName == 'CHAN_END') and ('answered' not in firstMessage))):
|
|
((msg.EventName == 'CHAN_END') and ('answered' not in firstMessage))):
|
|
|
|
|
+ old_count = count(app.cache['cel_calls'][lid]['current_channels'])
|
|
|
|
|
+ channel = msg.Channel.axplode(';')[0]
|
|
|
if msg.EventName == 'CHAN_START': #start dial
|
|
if msg.EventName == 'CHAN_START': #start dial
|
|
|
- app.cache['cel_calls'][lid]['current_channels'][msg.Exten] = msg.Channel
|
|
|
|
|
- app.cache['cel_calls'][lid]['all_channels'][msg.Exten] = msg.Channel
|
|
|
|
|
|
|
+ app.cache['cel_calls'][lid]['current_channels'][channel] = msg.Exten
|
|
|
|
|
+ app.cache['cel_calls'][lid]['all_channels'][channel] = msg.Exten
|
|
|
else: #end dial
|
|
else: #end dial
|
|
|
- app.cache['cel_calls'][uid]['current_channels'].pop(msg.CallerIDname, False)
|
|
|
|
|
- _cb = {'users': list(app.cache['cel_calls'][uid]['current_channels'].keys()),
|
|
|
|
|
|
|
+ app.cache['cel_calls'][uid]['current_channels'].pop(channel, False)
|
|
|
|
|
+ if old_count != count(app.cache['cel_calls'][lid]['current_channels']):
|
|
|
|
|
+ _cb = {'users': list(app.cache['cel_calls'][uid]['current_channels'].values()),
|
|
|
'state': 'group_ringing',
|
|
'state': 'group_ringing',
|
|
|
'callerId': cid,
|
|
'callerId': cid,
|
|
|
'callId': uid}
|
|
'callId': uid}
|
|
|
- if ('WebCallId' in app.cache['cel_calls'][msg.linkedid]):
|
|
|
|
|
- _cb['WebCallId'] = app.cache['cel_calls'][msg.linkedid]['WebCallId']
|
|
|
|
|
- reply = await doCallback('groupRinging', _cb)
|
|
|
|
|
|
|
+ if ('WebCallId' in app.cache['cel_calls'][msg.linkedid]):
|
|
|
|
|
+ _cb['WebCallId'] = app.cache['cel_calls'][msg.linkedid]['WebCallId']
|
|
|
|
|
+ reply = await doCallback('groupRinging', _cb)
|
|
|
if ((msg.EventName == 'ANSWER') and
|
|
if ((msg.EventName == 'ANSWER') and
|
|
|
(msg.Application == 'AppDial') and
|
|
(msg.Application == 'AppDial') and
|
|
|
firstMessage.get('groupCall',False) and
|
|
firstMessage.get('groupCall',False) and
|