Как-то в начале марта прошлого года попросил меня litnimax посмотреть на баг, с которым он столкнулся. Точнее разобраться баг ли это и можно ли его «обойти». Это оказалась ошибка, приводящая к взаимной блокировке (deadlock) в chan_agent. Приводило это к невозможности просмотреть список агентов, к пропадание музыки у агентов и прочим неприятностям. И вот он наконец, исправлен.
Ошибку можно было заметить создав через AMI вызов от агента к внешнему приложению или абоненту. Так вот, сегодня этот баг исправлен 🙂 Исправление нетривиальное и с момента открытия тикета до исправления ушло около 10 месяцев, к тому же оказалось, что об этой ошибке многие знали, но не сообщали о ней и пытались обойтись «подручными средствами». Да, к чему это я?
- Учитесь отличать ошибки, убедитесь что вы правильно понимаете логику работы программы и понимаете её текущие функциональные ограничения. Спросите на форуме, за спрос денег не берут
- Сообщите об ошибке на bugs.digium.com, если плохо с английским — найдите заинтересованных лиц, которые сделают это за вас. Чаще всего достаточно просто сообщить об ошибке и следить за открытым тикетом, передавая все запрошенные данные. Этого достаточно чтобы рано или поздно проблема была решена.
- Назначьте награду (bounty) за исправление ошибки, теперь это можно сделать на русском на asteriskpbx.ru В этом случае процесс исправления может заметно (даже на порядок) ускориться
- В любом случае не оставайтесь пассивными в случае обнаружения ошибок!
Asterisk это как демократия: ужасно, но лучшее что пока что придумано.