27 февр. 2016 г.

Как я купил наушники Sven SEB-26BK. История одного разочарования.

Я вообще-то не из этих. Не из аудиофилов.
Но люблю, когда среди музыки слышны отдельные составляющие.
А ещё люблю, чтобы на халяву. Или хотя бы недорого.

Поэтому когда после некоторых поисков купил себе года три-четыре назад тогда за 310 рублей наушники Sven SEB-26 BK и обнаружил, что они реально качают (а за свои деньги качают нереально) звук, то радовался здо́рово. И многим их рекомендовал. И покупал с тех пор пару раз, потому что они, увы, недолговечны.

9 февр. 2016 г.

Asterisk/FreePBX и ISDN BRI через Cologne chips HFC-S

или Как я долбился в DAHDI.

Мысль поднять транк на ISDN BRI потоке мне вообще не приходила. Я просто хотел сконфигурировать SIP аплинк, и тут понеслось.

Короче, жил-был Trixbox с ISDN платой, воткнутой в NT по S/T интерфейсу. А потом хозяину этого триксбокса захотелось чего-то большего, и он позвал меня.

Триксбокс был страшен. Он жил на HP ML 110 G5 на пятой центоси с 2.6.18-м ведром. Не, я понимаю, что телефонистские интерфейсы могли бы и с 0.99pl12 жить не тужить, если бы оно их поддерживало, ничего в них за это время не поменялось. Но так как оно плохо понимало во всяких новомодных SATA-интерфейсах, то, например, HP-шный 7200RPM винт оно читало со скоростью 2-2.5 мегабайта в секунду, и пляски с hdparm'ом особого успеха не имели.

Поэтому, не мудрствуя лукаво, я сказал: «Ехать на VoIP? Есть ещё такая же машина и такая же ISDN плата для устрашения врага? Да нефик делать!» И всё заверте.

Так как Trixbox — это FreePBX, то и поднимать на новом месте решил тоже FreePBX — привычный заказчику функционал проще переносить. Ставил на Ubuntu 14.04LTS по мануалу с FreePBX'ного сайта, то есть asterisk, dahdi и libpri собирал из исходников. Ну, собралось, взлетаем!

Взлетели. Астериск работает, морда управляет. Хозяин, ставь свою плату! Поставили плату, и привет. Плата не видна в астериске: pri show spans ничего не выводит. Пошёл читать интернетов. Оказывается, плате в обед сто лет, когда-то, давным-давно, её поддерживал zaptel, потом кто-то портировал драйвера в DAHDI, но как-то патчей, совместимых с текущим DAHDI и ядром, на просторах не сохранилось. Попробовал ткнуться через mISDN — увы: та libmISDN, которая собралась, оказалась v2, у которой API не понимаемо астериском, а v1 собираться с ядром 3.19 наотрез отказалась.

Херня! — сказал я и поставил dahdi и dahdi-asterisk из репозитория убунты. «Вжик!» сказала японская лесопилка и показала, что модуль платы теперь загружен тот самый, который нужно (zaphfc, а не hfcpci, который идёт со штатным ядром, но не нравится DAHDI ни в какую). Более того, в морде FreePBX'а показалась некая интерфейсина, которую можно было сконфигурировать. Правда, после поступления первого же входящего звонка консоль астериска заполнилась бегущими сообщениями про short write и invalid argument.

Херня! — сказал я и снёс поставленный из исходников астериск и поставил штатный из репы и старенький FreePBX. Но не тут-то было. Сообщения не исчезали, звонки не шли.

В результате после многочасовой долбёжки выяснилось, что dahdi, идущий в штатном комплекте убунты 14.04 LTS, несовместим с ядром 3.16 (и позднее), также идущими в штатном комплекте убунты 14.04 LTS в части поддержки этой самой HFC BRI. После даунгрейда ядра на 3.13-lowlatency (есть в репозитории) проблемы с канальной частью разрешились практически полностью. Мелочи вроде непонимания телефонной компанией набираемых номеров, если pridialplan установлен в national, а не в unknown — это уже сущие мелочи.

Итого рабочая конфигурация:
  • Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (vendor id 1397, device id 2bd0, 1397:2bd0 (that's for google));
  • Ядро 3.13.0-77-lowlatency #121-Ubuntu SMP PREEMPT
  • Asterisk 11.7.0~dfsg-1ubuntu1
  • DAHDI 2.7.0-1ubuntu1
  • asterisk-dahdi 11.7.0~dfsg-1ubuntu1
  • dahdi-dkms 2.5.0.1+dfsg-1ubuntu4~14.04.4
  • FreePBX 2.11 с сайта freepbx.org обновлён на месте.
  • NT: неизвестен.

Конфиги DAHDI и chan_dahdi.conf приводить не буду, их FreePBX регулярно перерисовывает, да и сильно зависят они от телефонной компании.