sip, pulseaudio, linphonec, ...

Michal Rybarik michal.rybarik na ecce.sk
Středa Listopad 11 01:18:05 CET 2009


Zdravim,

ked to tak citam, prebudzaju sa vo mne spomienky na nocne mory spojene s 
linphonec :) Cca v 2004-2006 sme s jeho pomocou prevadzkovali SIP/GSM 
brany (nakolko HW riesenie bol neprijatelne drahe)... Chcem vas preto 
varovat pred opakovanim tych istych chyb :)

Celkovo sme s linphonec vyskusali asi 5 typov zvukoviek s roznymi 
chipsetmi, z toho viacmenej pouzitelne chodili akurat nejake starsie 
SoundBlastre. U ostanych (nejaky Intel, potom CMI8330, a ine) sme mali 
presne to co popisujete - priserne skreslenie zvuku pri trochu silnejsej 
hlasitosti, pukanie na pozadi, atd.... V inej aplikacii ktora pracovala 
so zvukovkou sa to tusim neprejavovalo, resp nie tak vyrazne, ale v 
linphonec sa to akoby nasobilo a to co vyslo z druhej strany teleofnu 
bolo... noooo... priserne ;) Ine riesenie SW klienta ktore by sa dalo 
ovladat z inej aplikacie sme vsak nemali, a tak sme skusali co sa dalo. 
Mam dojem ze to pukanie sme ostranili kombinaciou zvukovky a zvukoveho 
subsystemu (uz nepamatam ci vyhrala ALSA alebo OSS). Bohuzial radost 
vydrzala vzdy len nejaky cas, vzdy po par tyzdnoch az mesiacoch 
prevadzky niektora zvukovka bez varovania prestala fungovat (nesiel bud 
vstup alebo vystup, hoci sa nic nezmenilo - stroj bol dedikovany na tuto 
cinnost a nikto do neho nesahal, bola tam jedna onboard zvukovka, a 
tusim jedna ci dve pridavne).. Vacsinou pomohol reboot, v horsich 
pripadoch sprevadzany rozobratim stroja a samanskymi tancami s PCI 
kartami.. Prinajhorsom po neuspesnych hodinach skusania, vypnut, odhodit 
do kuta, a o tri dni sa to potom po zapnuti zazrakom samo od seba zase 
rozbehlo :) Temna magia na sto sposobov. Okrem problemov so zvukovkami 
si este pamatam rozne odvisnutia linphonec ktore bolo nutne osetrovat 
(bol spustany ako child z riadiaceho procesu, ktory mu obsluhoval vstup 
a vystup)... Na prilezitostne spustenie je linphonec mozno dobry, ale na 
seriozne a hlavne dlhodobe pouzivanie to urcite neodporucam.

Po asi rok a pol trvajucom zapase sme cele riesenie s linphonec 
definitivne zavrhli ako neschopne samostatneho zivota, a nahradili 
riesenim postavenym nad Asteriskom (toho casu 1.0.3). Tam posluzil ako 
zaklad tusim chan_alsa (channel urceny pre testovanie - prikazy sa 
zadavaju cez konzolu, zvuk ide cez lokalnu zvukovku), nakolko s nim sme 
mali cisty zvuk cez zvukovku, za kazdych okolnosti. Na zaklade chan_alsa 
u nas potom vznikol derivat nazvany chan_gsm, ktory pracuje naraz s 
viacerymi zvukovkami, a zaroven s viacerymi GSM mobilmi ovladanymi cez 
seriovy port. Zmizli viacmenej vsetky problemy zvukoveho typu, ktore sme 
mali s linphonec, i ked pamatam, ze programator ktory chan_gsm robil, sa 
s roznym pukanim a skipovanim v zvukovke dost natrapil - tak ako 
pridaval do chan_alsa kod na komunikaciu so seriovym portom, pridavali 
sa aj problemy do zvuku, nakoniec to vsak dopadlo dobre. S tymto sme 
fungovali snad dalsie dva roky, problemy sa tu vyskytovali uz len s 
obcasnym vytuhavanim GSM mobilov a seriovych portov..... ;) Ale 
vyzadovalo si to uz podstatne menej pozornosti ako riesenie s linphonec. 
Az konecne sme asi pred pol rokom sme aj toto cele zahodili a nahradili 
normalnymi SIP/GSM branami... :) Zdrojaky chan_gsm mam niekde odlozene 
aj s nejakou vyvojarskou dokumentaciou, ak by niekto mal z nejakeho 
(studijneho) dovodu zaujem... Este aj tie mobily s kablami na seriovy 
port a zvukovku sa tu niekde v krabiciach povaluju.

Ako to tak rekapitulujem, v prvom rade by som vam poradil na ten isty 
stroj s tou istou zvukovkou nahodit Asterisk a vyskusat chan_alsa / 
chan_oss - ak budete mat cisty zvuk, mate sancu zahodit linphonec skor 
nez vam zozerie kus zivota. Pouzivat Asterisk ako VoIP klienta je trochu 
ako ist kanonom na vrabce, ale ak nevadi tych par megabajtov naviac, tak 
tam mate aj pomerne siroke moznosti ako to aj bez programovania 
vlastneho channelu ovladat z inych procesov, z prikazoveho riadku (shell 
skript), pripadne po sieti. Alebo (este lepsie), dnes by som sa uz uplne 
vykaslal na kadejake pochybne improvizacie so zvukovymi kartami, a 
pouzil HW telefon - slusnejsie kusy stoja tolko, co niekolkohodinova 
mzda... Nestoji to za tu namahu a nasledne problemy. Ak je to potrebne 
integrovat s nejakym systemom (v callcentre napr), s pouzitim Asterisku 
a trochu skriptovania je mozne aj HW telefon ovladat viacmenej tak, ako 
by ste ovladali SW klienta.

Ospravedlnujem sa za dlhsi mail, chcel som len usetrit vase nervy, ked 
uz nase sa nepodarilo.. ;)
Vela stastia
M.R.

Martin Tiršel  wrote / napísal(a):
>
> Myslim, ze na PCckach je ALC883 chip a Debian Lenny, ani testing 
> nedokazu z mikrofonu dostat cisty zvuk. Prvy problem je, ak sa da 
> mikrofon hlasnejsie, pripadne sa zvysi hlas alebo da mikrofon prilis 
> blizko ustam, zvukova vlna akoby bola pri urcitej hladine useknuta a 
> vznika tak silne zkreslenie, ze nieje nic rozumiet (a zial tento stav 
> nastava uz pri nizkych hlasitostiach). Druhy problem je, ze je pocut 
> akesi velmi jemne pukanie. Ked si spravim nahravku zvuku na danom PC, 
> tak to je akceptovatelne, ale nasledne to prechadza nejakymi kodekmi, 
> VoIP telefon to tiez musi nejako nasekat do paketov, dohovie cim 
> vsetkym to prejde u VoIP poskytovatela, potom degradacia na prepojoch 
> do verejnej telekomunikacnej siete, dalsi pokles kvality na zakonceni 
> a potom sa clovek predstavuje namisto "Dobry den" vetou "Halo, 
> pocujete ma?" :) Chcem si preto pripravit poriadne testovacie 
> prostredie a zvuk tahat z viacerych bodov, menit parametry, testovat a 
> porovnavat kvalitu v jednotlivych bodoch.
>
>




Další informace o konferenci Linux