это не надстройка, это использование realtime с разделением по разным областям видимости. Есть virtualpbx, как пример реализации, есть другие продукты, которые тут предлагают. Но если хотите бесплатно, и не всё сами, то в ядре нужен freeswitch. Есть еще custompbx, тоже в ядре freeswitch, но он чисто на английском)