Кстати, для относительно безболезненного dive-in рекомендую FusionPBX попробовать. Там довольно низкий уровень абстракции и довольно много уже сделано.
Ну и да, меня тоже по первой печалили неочевидные условия и невозможность влепить что-то типа if. Но потом ничего, понял, что задачу можно и по другому решать
В частности, есть смысл выучить lua