|
@@ -252,7 +252,7 @@ async def celCallback(mngr: Manager, msg: Message):
|
|
|
called = msg.Exten
|
|
called = msg.Exten
|
|
|
app.cache['cel_calls'][msg.LinkedID]['answered']=1;
|
|
app.cache['cel_calls'][msg.LinkedID]['answered']=1;
|
|
|
app.logger.warning('answered {}'.format(called))
|
|
app.logger.warning('answered {}'.format(called))
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
row = await db.fetch_one(query='SELECT url FROM callback_urls WHERE device = :device',
|
|
row = await db.fetch_one(query='SELECT url FROM callback_urls WHERE device = :device',
|
|
|
values={'device': cid})
|
|
values={'device': cid})
|
|
|
if (row is not None) and (row['url'].startswith('http')):
|
|
if (row is not None) and (row['url'].startswith('http')):
|
|
@@ -260,10 +260,16 @@ async def celCallback(mngr: Manager, msg: Message):
|
|
|
app.logger.warning('call usrl {} values {}'.format(row['url'],values))
|
|
app.logger.warning('call usrl {} values {}'.format(row['url'],values))
|
|
|
reply = await app.config['HTTP_CLIENT'].post(row['url'],
|
|
reply = await app.config['HTTP_CLIENT'].post(row['url'],
|
|
|
json=values)
|
|
json=values)
|
|
|
|
|
+
|
|
|
if (msg.EventName == 'LINKEDID_END'):
|
|
if (msg.EventName == 'LINKEDID_END'):
|
|
|
app.cache['cel_calls'].pop(msg.LinkedID,False);
|
|
app.cache['cel_calls'].pop(msg.LinkedID,False);
|
|
|
app.logger.warning('Left Calls {}'.format(','.join(app.cache['cel_calls'].keys())))
|
|
app.logger.warning('Left Calls {}'.format(','.join(app.cache['cel_calls'].keys())))
|
|
|
-
|
|
|
|
|
|
|
+ if (msg.EventName == 'USER_DEFINED') and msg.AppData == 'SETVARIABLE':
|
|
|
|
|
+ app.logger.warning('SETVARIABLE({})'.format(msg))
|
|
|
|
|
+ varname = msg.Extra.split('=')[0]
|
|
|
|
|
+ value = msg.Extra.split('=')[1]
|
|
|
|
|
+ app.logger.warning('SETVARIABLE({}={})'.format(varname,value))
|
|
|
|
|
+ app.cache['cel_calls'][msg.linkedid][varname]=value
|
|
|
|
|
|
|
|
async def getCDR(start=None,
|
|
async def getCDR(start=None,
|
|
|
end=None,
|
|
end=None,
|