Напрашивается оконная функция:
группируем по pbx_call_id
сортируем по callstart
и берем только первые (row_number()=1)
Не совсем уверен, что прокатит row_number() в where, но канва вот примерно такая:
SELECT
id OVER(PARTITION BY pbx_call_id ORDER BY callstart ASC)
FROM table
Where ROW_NUMBER()=1
то бишь получаем id (я же правильно понимаю что это pk?) первых записей для каждого звонка ну и дальше их или к ним join'им саму таблицу