Уведомление о занятости абонента при входящем звонке на занятую линию с включенным Call Waiting в FreePBX 14
В качестве памятки опишу способ доработки функции второй линии (Call Waiting) в FreePBX 14.
По-умолчанию механизм работы второй линии не предполагает никаких уведомлений звонящему в случае если вызываемый абонент уже с кем то разговаривает, а просто воспроизводятся стандартные гудки дозвона. Это создает впечатление у звонящего что вызываемый абонент не хочет брать трубку..
Было бы куда информотивнее проигрывать звонящему информационное сообщение, о том что абонент разговаривает, оставайтесь на линии или перезвоните позднее..
Как оказалось в FreePBX есть определенная обработка (macro-dialout-one-predial-hook) описанная в (/etc/asterisk/extensions.conf) и которая срабатывает до момента непосредственного звонка абоненту. В этой обработке можно проверить статус выдываемого абонента и в случае если статус линии занят, то проигрывать звонящему сообщение и продолжить вызов.
В файл конфигурации (/etc/asterisk/extensions_custom.conf) в секцию [from-internal-custom] добавляем:
Принцип работы простой, при вызове получается статус линии и в случае если она занята, то вызывающему абоненту сперва будет проиграно заданное сообщение а после продолжится вызов абонента с мелодией ожидания вместо гудков.