У меня есть пара SIP-телефонов и я использую callcentric. Я получаю много нежелательных звонков. Я хотел бы реализовать следующую функцию и хотел бы получить несколько предложений о том, как это сделать:
Обычно я кладу трубку, когда получаю нежелательный вызов. Я хочу набрать какой-нибудь номер (например, * 23 или что-то в этом роде) и хочу, чтобы последний полученный номер был занесен в базу данных. Любой будущий вызов с этого номера будет перенаправлен на виртуальную машину или сигнал «занято».
Я был бы признателен за несколько указаний о том, как я буду это делать ... Я предпочитаю решение с открытым исходным кодом.
Мы используем телефонную систему под названием Swyx (которая аналогична по функциональности Asterisk, но работает в Windows).
В рамках сценариев маршрутизации вызовов мы можем выполнять внешние сценарии. Мы просто написали очень маленький скрипт в нашем расширении shitlist, который помещает номер телефона звонящего в специальную таблицу, которая сканируется при поступлении звонка в нашем скрипте автоматической маршрутизации звонков. Затем он воспроизводит предварительно записанное объявление для вызывающего абонента.
Я не знаю, есть ли у Asterisk что-то подобное, но я предполагаю, что он должен иметь возможность выполнять внешний скрипт как часть маршрута вызова.
Первое попадание в "черный список звездочки" в GoogleTube отправляет меня на http://www.voip-info.org/wiki/view/Asterisk+func+BLACKLIST, что предполагает встроенную функциональность, аналогичную той, что вам нужна. И, собственно, еще несколько секунд чтения приводят меня к http://www.jackenhack.com/adding-blacklist-to-an-asteriskhome-pbx-voip-server/ - который, хотя он предположительно устарел по отношению к текущим версиям Asterisk, должен дать вам 90% пути к вашему решению.