 |
от Дафчо Табаков (dafo)(5-08-2004)
рейтинг (52)
[ добре ]
[ зле ]
Вариант за отпечатване
Понякога се налага да отсъстваме от дома или по обясними причини да изключим звъненето на всякакви телефони. За да не се изплъзнат повикванията много често се използва телефонен секретар. В това ръководство няма да става дума за секретарка със стройно и пищно тяло, а как Линукс може да ни помогне в офиса и у дома като услужливо приема телефонни обаждания. При наличието на различни некомутируеми достъпи до Интернет, често старият dial-up модем прашясва на някой слот или е захвърлен в смачкан кашон. В повечето случаи тези модеми имат data,fax и voice функции.
Няма да се впускам в подробности как се инсталира модем под Linux има достатъчно документи в мрежата. За повече информация вижте Modem HOWTO. Най-облагодетелствани сме собствениците на външни модеми. Моят е Acorp 33600 , включва се в серийния порт и е доста стар. Освен модем и UNIX-like операционна система ни трябва и Perl - мощен език, който повечето дистрибуции инсталират по подразбиране.
Най-лесно можем да разберем дали модемът поддържа voice е като използваме minicom програмата.
Примерен код на bash |
$minicom
Въвеждаме AT+FCLASS=?
Резултатът 8 (80) показва, че има гласови функции. |

Необходими програми:
Софтуерът, който върши черната работа е mgetty+sendfax, в който има и vgetty програмата, която осъществява voice функциите.
Може да се изтегли от тук.
Понеже vgetty е конзолно приложение, ще използваме графична програма за по-голямо удобство. Програмата, на която съм се спрял е VOCP, интернет адресът е http://www.vocpsystem.com.
Това е гъвкав софтуер с много възможности - обслужване на факсове, гласова поща, известяване с e-mail, text-to-speech функции, възможност за проверяване на пощата през цифров телефон, както и web.
Стига с хвалбите, сега сериозната част.
Няма нужда да се инсталират поотделно mgetty и VOCP. С помощта на Perl скрипт (VOCP е основно съвкупност от мощни perl скриптове) се компилира „закърпена“ версия на vgetty.
Стъпките се следните :
Разархивираме VOCP, примерно в /tmp |
$tar -xjf VOCP-0.9.3.tar.bz2 -C /tmp |
Превключваме на потребител-администратор |
$su
Password: ..... |
След това се предвижваме до папката със скрипта |
|
Ако има преди това инсталирани Mgetty/vgetty излиза предупреждение, потърсете дали нямате подобен пакет софтуер на твърдия диск. Премахнете го със съответните за дистрибуцията инструменти.
Ако не се открият mgetty инсталаторът пита за пътя до mgetty source, така че го въведете
|
/path/to/mgetty-1.1.30.tar.gz |
Последва компилиране и въпрос дали да се инсталира „закърпената“ версия на m/vgetty, като се отговаря „Y“
Необходими са някои настройки, които се правят ръчно. Отваря се файлът /usr/local/etc/mgetty+sendfax/voice.conf
Нещата, които ни интересуват са:
voice.conf |
voice_devices посочете правилното ttyS устройство (модем - ttyS0, ttyS1, HCF/HSF имат подобни устройства)
voice_shell сложете пътя до perl (напр. /usr/bin/perl)
call_program сложете VOCP стартиращия файл( /usr/local/vocp/bin/vocp.pl)
rings брой позвънявания, след които модемът отговаря. |
Може да разгледате останалата част на файла, има много коментари, които обясняват настройките. Ако сте любознателни, хвърлете едно око и на mgetty.config в същата директория.
Остава да включим vgetty при стартирането на системата. Това става като се добави подобен ред в /etc/inittab:
/etc/inittab |
s1:345:respawn:/usr/local/sbin/vgetty ttyS0 (ttyS е за COM1, за вашия случай може да е друго) |
…и остава да разберем дали е vgetty работи: |
Резултатът трябва да е подобен на това:
root 3240 0.2 0.2 1628 680 ? Ss 22:23 0:00 /usr/local/sbin/vgetty ttyS0 |
Тестване на vgetty:
Примерен код на bash |
Test Dialup Line, Int. Mic. and Int. Speaker: not supported by vm/vgetty-modemdriver
Test Dialup Line, Ext. Mic. and Ext. Speaker: not supported by vm/vgetty-modemdriver
Test Dialup Line and Local Handset: not supported by vm/vgetty-modemdriver
Test Dialup Line and Int. Speaker: not supported by vm/vgetty-modemdriver
Test Dialup Line and Ext. Speaker: not supported by vm/vgetty-modemdriver
Test Local Handset: OK
Test Int. Speaker: OK
Test Ext. Speaker: not supported by vm/vgetty-modemdriver
Test Int. Microphone: not supported by vm/vgetty-modemdriver
Test Ext. Microphone: OK
Test Dialup Line: OK
Test No Device: OK |
От резултатът става ясно, че може да записвам от външен микрофон, а да просвирвам от вътрешният говорител на модема.
Тестване с готов файл (Този го намерих от LICQ-http://www.licq.org) |
Reading Wave file: Microsoft PCM format, 1 channel, 11025 samp/sec
11025 byte/sec, 1 block align, 8 bits/samp, 15873 data bytes
pvftormd: Unsupported sample speed (11025)
pvftormd: Rockwell modems only support 7200 samples per second |
В този случай има нужда от промяна на честотата на семплиране, за да се конвертира в rmd файл |
|
Накрая се конвертира успешно |
|
Просвирваме през говорителя на модема |
|
За подробности по параметрите на vm и другите команди, стартирайте с -h и четете внимателно.
Тестване чрез запис пред микрофон. Микрофонът е включен в модема.
Примерен код на bash |
Записът се прекъсва с CRTL+C или ако се укаже дължина с параметъра -L (брой секунди) |
Просвирването е аналогично
Тестване през звуковата карта:
Трябва да се чуе записът през изхода на звуковата карта.
Ако нещо не е наред прегледайте журналните файлове - /var/log/vm.log и /var/log/vgetty.ttySX
Остава да се инсталират VOCP приложенията, които действат като обвивка и улесняват потребителя с графичен интерфейс. За да работи нормално са необходими няколко Perl модула, описани в документацията на VOCP.
Пита се дали сте съгласни с GNU/GPL лицензът, след това има въпрос за тип на инсталацията. Изберете 1 (full install) ако инсталирате за първи път.
Следва въпрос къде е програмата pvftormd, ако горните стъпки за m/vgetty са изпълнени по подразбиране е в /usr/local/bin.
После се пита за тип модем и вид компресия. При мен е Rockwell 4, вашият може да е различен.
Ако получавате грешки от рода на :
|
/usr/bin/pvftormd: Unsupported sample speed (8000)
/usr/bin/pvftormd: Rockwell modems only support 7200 samples |
то е необходимо да се конвертира честотата на семплиране на звуковите файлове
Примерен код на bash |
XXXX е необходимата честота, например 7200
Последният аргумент показва къде се намира pvfspeed командата |
След успешното конвертиране се стартира инсталационният скрипт отново |
|
И се отговаря пак на същите въпроси аналогично.
Идва времето и на Perl модулите:
|
Module: Audio::DSP ... FOUND.
Module: Crypt::Blowfish ... FOUND.
Module: Crypt::CBC ... FOUND.
Module: MIME::Parser ... FOUND.
Module: Modem::Vgetty ... FOUND.
Module: Tk ... FOUND.
Module: Tk::JPEG ... FOUND.
Module: XML::Mini ... FOUND. |
Ако не бъдат открити необходимите Perl модули, има възможност автоматично чрез CPAN да се инсталират или ръчно. Изборът е изцяло ваш, добре е да имате всичките тези модули, за да работят различните функции на VOCP.
Примерно Audio::DSP може да се инсталира така :
Поредният въпрос е дали искате да използвате Text-to-speech, и има ли инсталиран Festival TTS Engine. Тук аз съм отговорил No, защото не съм се занимавал достатъчно с този тип софтуер засега.
Следващият въпрос е какво да е името на групата, която ще се ползва за повишаване на сигурността. Аз съм избрал vocp.
С това инсталацията приключва, остават леки настройки и пълноценно използване. Инсталираният софтуер се намира в /usr/local/vocp/.
Конфигурационните файлове се намират в /etc/vocp. На първо време се редактира /etc/vocp/vocp.conf
Важните параметри са
|
pvftooldir /usr/local/bin
rmdformat Rockwell
rmdcompression 4
rmdsample 8000
programs email /usr/lib/sendmail
email_attach_message 0
message_in_email_format ogg |
Има добри коментари в самия файл, които улесняват избора на стойността на параметъра. Трябва да се имат в предвид настройките, които сме разбрали при самото инсталиране - тип модем, компресия, честота на семплиране и т.н. В моя случай стойностите са тези от таблицата по-горе, като не използвам mail server, така са по подразбиране.
Преди да запуснем окончателно VOCP може да настроим пощенските кутии.
Те са различни типове, като обяснения има в /usr/local/vocp/doc/box-types.txt, както и на страницата на продукта.
Кутията по подразбиране е 001, което лесно може да се смени от /etc/vocp/vocp.conf
За улеснение има графичен редактор на кутии:
Примерен код на bash |
/usr/local/vocp/bin/boxconf.pl & |
Тук е онагледено :

А тук са възможностите за настройки.
Първо на кутия №001

После на кутия 100, която всъщност е входящата за съобщения на моята машина.

Настройките на кутиите по подразбиране са направени с цел да има различни възможности при обаждане - за смяна на езика, за изпращане на съобщение до пейджър и т.н. Ако не искате толкова сложна система при настройките на кутия 001 в полето AutoJump: пишете номера на кутия от mail тип. Така директно системата ще записва съобщения в този номер кутия.
Това, което ще ни интересува е Message полето. В него се указва кое съобщение да се просвири при работа на тази кутия.
Съобщенията се намират в директория /var/spool/voice/messages. Може да се запише поздрав по няколко варианта.
Първият е да се запише със звуковата карта и после да се конвертира, както е описано при тестването на vgetty.
Вторият е да се запише директно от модема (описанието пак е по-горе при тестването).
Може да се запише и чрез телефона, като се обадите на телефонния си номер от друг телефон. За този вариант ще стане дума по-късно.
Както се вижда на кутия №001 съм сложил съобщение greet.rmd, което гласи, че ме няма и ако искат да оставят съобщение на секретаря.
Самият интерфейс е лек и функционален. Стартира се с :
Примерен код на bash |
/usr/local/vocp/bin/xvocp.pl & |
Първо излиза прозорец, на който се пита за паролата на кутията. Това е важен момент, паролите могат да бъдат текст, цифри, да са криптирани с помощта на cryptpass.pl скрипта. Паролата е важна, заради възможността да се проверяват съобщенията от друг телефон и т.н.
Секретарят изглежда така:

…и има бутони за управление (просвирване на съобщение, изтриване и т.н.), за експортиране в ogg/mp3 и други, които ще разучите при използването на програмата.
Друга полезна програма от пакета е CallCenter. Стартира се така:
Примерен код на bash |
/usr/local/vocp/bin/callcenter.pl & |

По подразбиране е минимизирана, има бутони за стартиране на xVOCP, трансфер към VOCP, преглед на журналния файл с обажданията, стартиране на факс приложението VOCPhax. Ако имате CallerID, за което трябва да се плати допълнително на телекома ни, се изписва търсещият ни номер.
Допълнителна екстра е, че може да се свържете със системата на отдалечена машина чрез secure shell:
Примерен код на bash |
ssh -C потребител@име_на_машина /usr/local/vocp/bin/callcenter.pl |
Още малко за CallerID - ако имате включено и модемът го поддържа, то лесно могат да се направят филтри за входящите съобщения.
Други възможности на VOCP са:
Изпращане и получаване на факсове, за което ще трябва сами да прочетете в документацията на проекта.
Възможност за проверка на съобщенията през web интерфейс. За целта трябва да има работещ web сървър, например Apache.
Проверяване на съобщения през телефон. За целта се обадете на телефона, където слуша VOCP. Влезте в специалната кутия №999 като наберете 999 и после добавите знака #. Следва въпрос за номер на входяща кутия - в моя случай е 100 и после парола. Паролата може да е с букви и/или цифри, като в документацията подробно е описано как се въвеждат.
Командите се въвеждат с клавишите на телефона:
|
1XX Просвирване на съобщение №XX
3XX Изтриване на съобщение XX
5XX Дата на съобщение XX
7 Записване на поздрав (за тази кутия)
8 Слушане на поздрав
9 Помощно съобщение
0 Изход |
С комбинацията нула-нула се преглеждат/изтриват всички съобщения.
В общи линии това е предостатъчно, за да имате пълноценен телефонен секретар и то без допълнителни разходи. Който иска да се занимава с допълнителните възможности на VOCP може да прочете съдържанието на директорията /usr/local/vocp/doc, както и да посети Интернет страницата на проекта http://www.vocpsystem.com
Накрая, както винаги слагам връзки към места, където се намират програмите и помощ по въпроса.
Mgetty - http://www.leo.org/~doering/mgetty
VOCP - http://www.vocpsystem.com
Modem HOWTO - http://www.tldp.org/HOWTO/Modem-HOWTO.html
GOOGLE - http://www.google.com
Apache - http://www.apache.org
PERL - http://www.perl.org/
CPAN - http://cpan.org
Линукс за българи - http://www.linux-bg.org
<< IPv6. Не се плашете | Опазвайте ОС от инсталацията >>
|
 |