calls = list(cdr.aggregate([ {'$match': { 'variables.start_epoch': { '$gte': int(date_from if date_from.isdigit() else 0), '$lte': int(date_to) }, '$or': [ {'variables.l_company_id': __company_id}, {'variables.d_company_id': __company_id} ]} }, {'$lookup': { 'from': 'cdr', 'localField': 'variables.last_bridge_to', 'foreignField': 'variables.uuid', 'as': 'right_part'} }, {'$project': { 'variables.billsec': 1, 'variables.duration': 1, 'variables.l_user': 1, 'variables.sip_auth_username': 1, 'variables.sip_req_user': 1, 'x': '$right_part.variables.sip_to_user', 'y': '$right_part.variables.accountcode', 'z': '$right_part.variables.sip_hangup_disposition', 'variables.dialed_user': 1, 'variables.start_stamp': 1, 'variables.start_epoch': 1, 'variables.sip_from_user': 1, 'variables.channel_name': 1, 'variables.hangup_cause': 1, 'variables.uuid': 1} }, {'$sort': { 'variables.start_epoch': -1} }]))