diff --git a/index.js b/index.js index 8c104ba..c9b9ca2 100644 --- a/index.js +++ b/index.js @@ -201,7 +201,8 @@ const createCdrQuerySP = ({page, page_size, trunk, direction, answered, filter, if (trunk) sql += 'AND trunk = $trunk '; if (direction) sql += 'AND direction = $direction '; if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered '; - if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `; + if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR + call_sid = $filter OR sip_callid = $filter) `; if (days) sql += 'AND time > $timestamp '; else { if (start) sql += 'AND time >= $start '; @@ -217,7 +218,8 @@ const createCdrCountQuerySP = ({trunk, direction, answered, filter, days, start, if (trunk) sql += 'AND trunk = $trunk '; if (direction) sql += 'AND direction = $direction '; if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered '; - if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `; + if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR + call_sid = $filter OR sip_callid = $filter)`; if (days) sql += 'AND time > $timestamp '; else { if (start) sql += 'AND time >= $start '; @@ -232,7 +234,8 @@ const createCdrQuery = ({page, page_size, trunk, direction, answered, filter, da if (trunk) sql += 'AND trunk = $trunk '; if (direction) sql += 'AND direction = $direction '; if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered '; - if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `; + if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR + call_sid = $filter OR sip_callid = $filter) `; if (days) sql += 'AND time > $timestamp '; else { if (start) sql += 'AND time >= $start '; @@ -248,7 +251,8 @@ const createCdrCountQuery = ({trunk, direction, answered, filter, days, start, e if (trunk) sql += 'AND trunk = $trunk '; if (direction) sql += 'AND direction = $direction '; if (['true', 'false'].includes(answered)) sql += 'AND answered = $answered '; - if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR call_sid = $filter) `; + if (filter) sql += `AND ("from" =~ /.*${filter}.*/ OR "to" =~ /.*${filter}.*/ OR + call_sid = $filter OR sip_callid = $filter) `; if (days) sql += 'AND time > $timestamp '; else { if (start) sql += 'AND time >= $start '; diff --git a/test/unit-tests.js b/test/unit-tests.js index 9125424..2696352 100644 --- a/test/unit-tests.js +++ b/test/unit-tests.js @@ -101,6 +101,9 @@ test('write timeseries data', async(t) => { result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'you2', page: 1, page_size:25}); t.ok(result.data.length === 1, 'queried cdrs by service provider sid and ot') + result = await queryCdrsSP({service_provider_sid: 'zzzzz', filter: 'foo@127.0.0.1', page: 1, page_size:25}); + t.ok(result.data.length === 2, 'queried cdrs by service provider sid and sip_callid') + result = await writeAlerts([ { alert_type: AlertType.WEBHOOK_STATUS_FAILURE,