21.04.2013

Переезд на 1.9 с 1.7.2

Из-за частых проблем с памятью и не желанием с ними бороться переехал на версию 1.9. Не скажу что задача сложная, несколько часов времени. большое желание переписать конфиг с его логикой.

Но в итоге все базы обновил, заполнил, все вертится на новье.

Большой минус в новой панели у модуля dialplan у меня web не заработал – скопировал со старой версии и удалил в некоторых частях ссылки на match_len – этого столбца в новой таблице диалплана – нет.

Привет.

2.04.2013

Userblacklist / GlobalBlack list

Реализация Чернго и белого списка на opensips.

Достаточно триавиальная задача, но есть несколько ньюансов,прежде всего нужно понять по какой схеме мыбудемблокировать польователя, они могут быть разными. Мне нужно было реализовывать черные и белые списки относительно входящих звонков на номера,поэтому логика такая:

1) проверка набранного номера на наличие в глобальном блэклисте, Если есть то смерть, если нет,то далее….

2) проверим пользовательский черный список, если набранный номер есть, то проведем сверку с колонкой prefix поля from, и в зависимости от значения whitelist либо дадим звонку идти дальше либо выставим запрет.

сам код:

### Глобальный Черный список
if (!check_blacklist(“globalblacklist”)) {
xlog(“For $ru globalblack list Active…”);
$avp(is_in_blacklist) = “1”;
sl_send_reply(“403”, “Forbidden BlackListed”);
exit;
}

if (!check_user_blacklist(“$rU”, “$fd”, “$fU”)) {
sl_send_reply(“403”, “Forbidden BlackListed”);
xlog(“User Black listed $fu -> $ru”);
exit;
} else {
xlog(“User white list active for $fu to $rU”);
}

Обратите внимание на параметры к функции check_user_blacklist . Изменен порядок, так чтобы пользователем являлся набранный номер, а префикс применялся к АОНу т.е. номеру звонящего или проще говоря полю FROM.

Для понимания ссылка на то как выгядит сам список.