Не знаю как сейчас, но раньше в onlinepbx нельзя было вставить выполнение скрипа в диалплан. История звонков хранится только на onlinepbx? Если есть под рукой сервак, то можно написать программку/скриптик, которая конектится к onlinepbx парсит историю звонков или отлавливает события налету. Для отправки смс, есть много сервисов. Так же думаю что придется хранить кое-какие данные о номерах: н.р. будут номера на которые не надо отправлять смс или отправлять смс на определенный номер раз в день/месяц/год даже если он звонит каждый день по несколько раз
У каждой из систем есть свой API, но там в основном получение отчетов и статистики. Что бы что-то предложить по задаче необходимо больше информации об интеграциии каждой из систем.