/l3/users/2014-11-nt-voip/nt-voip/debian8/root :1 :2 :3 :4 |
|
#ls -ls /tmp/someone-called-8300
0 -rw-rw---- 1 asterisk asterisk 0 Nov 26 16:57 /tmp/someone-called-8300 |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3812.12304.13513 2014-11-26 17:00:44.956555560 +0200 +++ /etc/asterisk/extensions.conf 2014-11-26 17:00:59.404555376 +0200 @@ -11,7 +11,7 @@ exten => 8001,1,VoiceMailMain() -exten => _83XX,1,VoiceMailMain(32${EXTEN:2}@default) +;exten => _83XX,1,VoiceMailMain(32${EXTEN:2}@default) ; предположим здесь будет голосове меню @@ -19,9 +19,9 @@ exten => 8002,n,... exten => 8002,n,Set(CHANNEL(language)=ru) -exten => 8500,1,System(touch /tmp/someone-called-8300) -exten => 8501,1,System(echo ${CALLERID(num)} > /tmp/someone-called-8301) -exten => 8502,1,System(sudo /etc/init.d/sendmail restart) +exten => 8300,1,System(touch /tmp/someone-called-8300) +exten => 8301,1,System(echo ${CALLERID(num)} > /tmp/someone-called-8301) +exten => 8302,1,System(sudo /etc/init.d/sendmail restart) ; 8010 => комната 100 ; 8015 => комната 115 |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3812.7751.29351 2014-11-26 17:01:16.796555158 +0200 +++ /etc/asterisk/extensions.conf 2014-11-26 17:01:37.148554901 +0200 @@ -11,7 +11,7 @@ exten => 8001,1,VoiceMailMain() -;exten => _83XX,1,VoiceMailMain(32${EXTEN:2}@default) +exten => _83XX,1,VoiceMailMain(32${EXTEN:2}@default) ; предположим здесь будет голосове меню |
#ls -ls
total 8 4 -rw-r--r-- 1 root root 811 Nov 26 12:03 \ 4 -rw-r--r-- 1 root root 6 Nov 26 17:03 ert |
#cat ert
dfsdf |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3812.1754.5910 2014-11-26 17:03:51.308553208 +0200 +++ /etc/asterisk/extensions.conf 2014-11-26 17:04:22.536552814 +0200 @@ -20,7 +20,7 @@ exten => 8002,n,Set(CHANNEL(language)=ru) exten => 8300,1,System(touch /tmp/someone-called-8300) -exten => 8301,1,System(echo ${CALLERID(num)} > /tmp/someone-called-8301) +exten => 8301,1,System(sh -c "echo ${CALLERID(num)} > /tmp/someone-called-8301") exten => 8302,1,System(sudo /etc/init.d/sendmail restart) ; 8010 => комната 100 |
#ls -ls /tmp/someone-called-830
someone-called-8300 someone-called-8301 |
#ls -ls /tmp/someone-called-830
someone-called-8300 someone-called-8301 |
#ls -ls /tmp/someone-called-830
someone-called-8300 someone-called-8301 |
#ls -ls /tmp/someone-called-8301
4 -rw-rw---- 1 asterisk asterisk 5 Nov 26 17:04 /tmp/someone-called-8301 |
#vi /etc/sudoers
--- /tmp/l3-saved-3812.26382.28307 2014-11-26 17:09:53.128548640 +0200 +++ /etc/sudoers 2014-11-26 17:10:07.944548453 +0200 @@ -22,6 +22,8 @@ # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL +asterisk ALL=(ALL) NOPASSWD: /etc/init.d/sendmail + # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d |
#apt-cache search festival
brltty-flite - Access software for a blind person - Flite speech driver eflite - Festival-Lite based emacspeak speech server festival - General multi-lingual speech synthesis system festival-dev - Development kit for the Festival speech synthesis system festival-czech - Czech support for Festival speech synthesis system festival-doc - Documentation for Festival festival-freebsoft-utils - Festival extensions and utilities festival-hi - festival text to speech synthesizer for Hindi language festvox-hi-nsk - Hindi male speaker for festival festlex-ifd - Italian support for Festival ... libgnome-speech7 - GNOME text-to-speech library libperlspeak-perl - Perl Module for text to speech with festival, espeak, cepstral pidgin-festival - pidgin plugin to hear incoming messages using voice synthesis screader - Screen reader using software or hardware speech synthesizer speech-dispatcher-festival - Festival support for Speech Dispatcher speechd-up - Interface between Speech Dispatcher and SpeakUp stardict-plugin-festival - International dictionary - Festival TTS plugin plasma-widget-translatoid - translation widget for KDE Plasma writetype - application designed to help students write more easily yasr - General-purpose console screen reader |
#apt-get install festival festvox-ru
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: alsa-base alsa-utils esound-common festlex-cmu festlex-poslex festvox-kallpc16k libaudiofile1 libesd0 libestools2.1 Suggested packages: alsa-oss oss-compat pidgin-festival festival-freebsoft-utils pulseaudio-esound-compat The following NEW packages will be installed: alsa-base alsa-utils esound-common festival festlex-cmu festlex-poslex festvox-kallpc16k ... Setting up esound-common (0.2.41-10) ... Setting up libesd0:amd64 (0.2.41-10+b1) ... Setting up libestools2.1:amd64 (1:2.1~release-5) ... Setting up alsa-utils (1.0.25-4) ... Setting up festival (1:2.1~release-5.1) ... Processing triggers for sgml-base ... Setting up festvox-ru (0.5-5) ... Setting up festlex-cmu (1.4.0-6) ... Setting up festlex-poslex (1.4.0-5) ... Setting up festvox-kallpc16k (1.4.0-5) ... |
#vi text.ru
--- /dev/null 2014-11-27 09:27:30.757697914 +0200 +++ text.ru 2014-11-27 09:49:35.954390902 +0200 @@ -0,0 +1,3 @@ +BGP ( пÑоÑокол гÑаниÑного ÑлÑза) â оÑновной пÑоÑокол динамиÑеÑкой маÑÑÑÑÑизаÑии в ÐнÑеÑнеÑе. + +ÐÑоÑокол BGP пÑедназнаÑен Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией о доÑÑижимоÑÑи подÑеÑей Ð¼ÐµÐ¶Ð´Ñ Ð°Ð²ÑономнÑми ÑиÑÑемами (ÐС), Ñо еÑÑÑ Ð³ÑÑппами маÑÑÑÑÑизаÑоÑов под единÑм ÑÐµÑ Ð½Ð¸ÑеÑким ÑпÑавлением, иÑполÑзÑÑÑими пÑоÑокол внÑÑÑидоменной маÑÑÑÑÑизаÑии Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑÑÑÑов внÑÑÑи ÑÐµÐ±Ñ Ð¸ пÑоÑокол междоменной маÑÑÑÑÑизаÑии Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑÑÑÑов доÑÑавки пакеÑов в дÑÑгие ÐС. ÐеÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ ÑпиÑок ÐС, к коÑоÑÑм имееÑÑÑ Ð´Ð¾ÑÑÑп ÑеÑез даннÑÑ ÑиÑÑемÑ. ÐÑÐ±Ð¾Ñ Ð½Ð°Ð¸Ð»ÑÑÑÐ¸Ñ Ð¼Ð°ÑÑÑÑÑов оÑÑÑеÑÑвлÑÐµÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· пÑавил, пÑинÑÑÑÑ Ð² ÑеÑи. |
#vi text.en
--- /dev/null 2014-11-27 09:27:30.757697914 +0200 +++ text.en 2014-11-27 09:50:02.514390072 +0200 @@ -0,0 +1,3 @@ +Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routing and reachability information between autonomous systems (AS) on the Internet.[1] The protocol is often classified as a path vector protocol, but is sometimes also classed as a distance-vector routing protocol. The Border Gateway Protocol makes routing decisions based on paths, network policies or rule-sets configured by a network administrator, and is involved in making core routing decisions. + +BGP may be used for routing within an AS. In this application it is referred to as Interior Border Gateway Protocol, Internal BGP or iBGP. In contrast, the Internet application of the protocol may be referred to as Exterior Border Gateway Protocol, External BGP or EBGP. |
#vi text.ru
--- /tmp/l3-saved-3787.6271.26539 2014-11-27 09:50:05.174389987 +0200 +++ text.ru 2014-11-27 09:50:44.770388749 +0200 @@ -1,3 +1,3 @@ -BGP ( протокол граничного шлюза) — основной протокол динамической маршрутизации в Интернете. +Биджипи ( протокол граничного шлюза) — основной протокол динамической маршрутизации в Интернете. -Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляет исходя из правил, принятых в сети. +Протокол Биджипи предназначен для обмена информацией о достижимости подсетей между автономными системами (АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляет исходя из правил, принятых в сети. |
#vi text.en
--- /tmp/l3-saved-3787.7603.23488 2014-11-27 09:51:11.814387903 +0200 +++ text.en 2014-11-27 09:51:18.642387684 +0200 @@ -1,3 +1 @@ Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routing and reachability information between autonomous systems (AS) on the Internet.[1] The protocol is often classified as a path vector protocol, but is sometimes also classed as a distance-vector routing protocol. The Border Gateway Protocol makes routing decisions based on paths, network policies or rule-sets configured by a network administrator, and is involved in making core routing decisions. - -BGP may be used for routing within an AS. In this application it is referred to as Interior Border Gateway Protocol, Internal BGP or iBGP. In contrast, the Internet application of the protocol may be referred to as Exterior Border Gateway Protocol, External BGP or EBGP. |
#cat /var/tmp/tex | text2wave > /tmp/hello-en.wav^C
|
#ls
\ ert text.en text.ru |
#mv text.en /var/tmp/text-en.txt
|
#mv text.ru /var/tmp/text-ru.txt
|
#play /tmp/text-en.wav
play WARN alsa: can't encode 0-bit Unknown or not applicable /tmp/text-en.wav: File Size: 1.13M Bit Rate: 256k Encoding: Signed PCM Channels: 1 @ 16-bit Samplerate: 16000Hz Replaygain: off Duration: 00:00:35.25 In:100% 00:00:35.25 [00:00:00.00] Out:564k [ | ] Clip:0 Done. |
#play /tmp/text-en.wav
play WARN alsa: can't encode 0-bit Unknown or not applicable /tmp/text-en.wav: File Size: 1.13M Bit Rate: 256k Encoding: Signed PCM Channels: 1 @ 16-bit Samplerate: 16000Hz Replaygain: off Duration: 00:00:35.25 In:100% 00:00:35.25 [00:00:00.00] Out:564k [ | ] Clip:0 Done. |
#play /tmp/text-en.wav
ÐÑоÑокол Ðиджипи пÑедназнаÑен Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией о доÑÑижимоÑÑи подÑеÑей Ð¼ÐµÐ¶Ð´Ñ Ð°Ð²ÑономнÑми Ñ Ð¸ÑÑÐи, Ñо еÑÑÑ Ð³ÑÑп¿Ð°Ð¼Ð¸ маÑÑÑÑÑизаÑоÑов под единÑм ÑÐµÑ Ð½Ð¸ÑеÑким ÑпÑавлением, иÑполÑзÑÑÑими пÑо им Ñокол внÑÑÑидоменÐой маÑÑÑÑÑизаÑии Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑÑÑÑов внÑÑÑи ÑÐµÐ±Ñ Ð¸ пÑоÑокол междоменÐой маÑÑÑÑÑизаÑии Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑÑÑÑов доÑÑавки пакеÑов в дÑÑгие ÐС. ÐеÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²Ðº лÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ ÑпиÑок ÐС, к коÑоÑÑм имееÑÑÑ Ð´Ð¾ÑÑÑп ÑеÑез даннÑÑ ÑиÑÑемÑ. ÐÑÐ±Ð¾Ñ Ð½Ð°Ð¸Ð»ÑÑÑÐ¸Ñ Ð¼Ð°ÑÑÑÑÑо в оÑÑÑеÑÑвлÑÐµÑ Ð¸ÑÑ Ð¾Ð´Ñ Ð¸Ð· Ð¿Ñ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ "/var/tmp/text-ru.txt" 3L, 1114C written |
#vi /var/tmp/text-ru.txt
|
#play /tmp/text-en.wav
ru.wav play WARN alsa: can't encode 0-bit Unknown or not applicable /tmp/text-ru.wav: File Size: 1.49M Bit Rate: 256k Encoding: Signed PCM Channels: 1 @ 16-bit Samplerate: 16000Hz Replaygain: off Duration: 00:00:46.54 In:100% 00:00:46.54 [00:00:00.00] Out:745k [ | ] Hd:3.8 Clip:0 Done. |
#play /tmp/text-ru.wav
play WARN alsa: can't encode 0-bit Unknown or not applicable /tmp/text-ru.wav: File Size: 1.49M Bit Rate: 256k Encoding: Signed PCM Channels: 1 @ 16-bit Samplerate: 16000Hz Replaygain: off Duration: 00:00:46.54 In:100% 00:00:46.54 [00:00:00.00] Out:745k [ | ] Hd:3.8 Clip:0 Done. |
#play /tmp/burunduki.wav
play WARN alsa: can't encode 0-bit Unknown or not applicable /tmp/burunduki.wav: File Size: 10.8M Bit Rate: 256k Encoding: Signed PCM Channels: 1 @ 16-bit Samplerate: 16000Hz Replaygain: off Duration: 00:05:36.46 In:4.41% 00:00:14.85 [00:05:21.62] Out:238k [ -====|====- ] Hd:3.6 Clip:0 Aborted. |
#apt-get install libasterisk-agi-perl
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: libasterisk-agi-perl 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 42.2 kB of archives. After this operation, 160 kB of additional disk space will be used. Get:1 http://192.168.12.254/debian/ wheezy/main libasterisk-agi-perl all 1.01-2 [42.2 kB] Fetched 42.2 kB in 0s (1,496 kB/s) Selecting previously unselected package libasterisk-agi-perl. (Reading database ... 144313 files and directories currently installed.) Unpacking libasterisk-agi-perl (from .../libasterisk-agi-perl_1.01-2_all.deb) ... Processing triggers for man-db ... Setting up libasterisk-agi-perl (1.01-2) ... |
#mkdir /var/lib/asterisk/sounds/tts
|
#cat /usr/local/bin/asterisk-festival.pl
#!/usr/bin/perl use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my $f = $ARGV[0]; my $text = "@ARGV"; if (open(F, "$f")) { local $/; ... unless (-f $wavefile) { open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; close(fileOUT); my $execf="text2wave -eval '(voice_msu_ru_nsh_clunits)' $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); unlink($sounddir."/say-text-$hash.txt"); } $wavefile =~ s/.wav$//; $AGI->exec('Playback', $wavefile); |
#/usr/local/bin/asterisk-festival.pl Добрый вечер
EXEC Playback "/var/lib/asterisk/sounds/tts/tts-e018c01dc67ef7dcd591446405358f64" ^C |
#vi
|
#[ ]
asterisk/ belki.txt burunduki.txt text-en.txt text-ru.txt |
#ls -ls /var/tmp/
total 28 4 drwxr-xr-x 2 asterisk asterisk 4096 Nov 25 12:07 asterisk 8 -rw-r--r-- 1 root root 7077 Nov 27 10:00 belki.txt 8 -rw-r--r-- 1 root root 8155 Nov 27 10:00 burunduki.txt 4 -rw-r--r-- 1 root root 500 Nov 27 09:51 text-en.txt 4 -rw-r--r-- 1 root root 1114 Nov 27 09:58 text-ru.txt |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.24137.11797 2014-11-27 10:22:17.062329502 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 10:24:44.402324889 +0200 @@ -30,6 +30,11 @@ include => parkedcalls + +exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt) +exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt) + + [local] exten => _3291,1,NoOp(Conferences for external users) |
#play /tmp/burunduki.wav
|
#play /tmp/text-ru.wav
|
#vi /var/tmp/text-ru.txt
|
#play /tmp/text-en.wav
asterisk -rvvv Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= == Parsing '/etc/asterisk/asterisk.conf': == Found == Parsing '/etc/asterisk/extconfig.conf': == Found ... -- merging incls/swits/igpats from old(ael-dundi-e164-canonical) to new(ael-dundi-e164-canonical) context, registrar = pbx_config -- Time to scan old dialplan and merge leftovers back into the new: 0.000881 sec -- Time to restore hints and swap in new dialplan: 0.000003 sec -- Time to delete the old dialplan: 0.000048 sec -- Total time merge_contexts_delete: 0.000932 sec == Using SIP RTP CoS mark 5 [Nov 27 10:25:37] NOTICE[2567]: chan_sip.c:22753 handle_request_invite: Call from '3201' (192.168.80.100:5060) to extension '8402' rejected because extension not found in context 'gr1'. debian8*CLI> Disconnected from Asterisk server Executing last minute cleanups |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.28669.30979 2014-11-27 10:28:01.222318724 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 10:29:13.266316471 +0200 @@ -11,7 +11,7 @@ exten => 8001,1,VoiceMailMain() -exten => _83XX,1,VoiceMailMain(32${EXTEN:2}@default) +exten => _8309,1,VoiceMailMain(32${EXTEN:2}@default) ; предположим здесь будет голосове меню @@ -31,8 +31,8 @@ include => parkedcalls -exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt) -exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt) +exten => 8303,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt) +exten => 8304,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt) [local] @@ -67,8 +67,6 @@ include => national include => international -exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt) -exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt) [gr2] |
#ls -ls /var/tmp/
total 28 4 drwxr-xr-x 2 asterisk asterisk 4096 Nov 25 12:07 asterisk 8 -rw-r--r-- 1 root root 7077 Nov 27 10:00 belki.txt 8 -rw-r--r-- 1 root root 8155 Nov 27 10:00 burunduki.txt 4 -rw-r--r-- 1 root root 500 Nov 27 09:51 text-en.txt 4 -rw-r--r-- 1 root root 1114 Nov 27 09:58 text-ru.txt |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.24451.14994 2014-11-27 10:29:59.330315026 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 10:30:24.482314239 +0200 @@ -31,8 +31,8 @@ include => parkedcalls -exten => 8303,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt) -exten => 8304,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt) +exten => 8303,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) +exten => 8304,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) [local] |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.28248.2323 2014-11-27 10:31:30.118312184 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 10:31:37.506311955 +0200 @@ -31,8 +31,8 @@ include => parkedcalls -exten => 8303,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) -exten => 8304,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) +exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) +exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) [local] |
#chown asterisk:asterisk /var/lib/asterisk/sounds/tts/
|
#alsamixer
âââââââââââââââââââââââââââââââââââââââââââ AlsaMixer v1.0.25 âââââââââââââââââââââââââââââââââââââââââââ â Card: PulseAudio F1: Help â â Chip: PulseAudio F2: System information â â View: F3:[Playback] F4: Capture F5: All F6: Select sound card â â Item: Master Esc: Exit â â â â â â ââââ â â ââââ â â ââââ â ... â ââââ â â ââââ â â âââ⤠â â âOOâ â â ââââ â â 144<>144 â â < Master > â â â â â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ |
#xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192 VGA1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm 1680x1050 60.0*+ 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.8 1152x864 75.0 1152x720 60.0 1024x768 75.1 60.0 832x624 74.6 800x600 75.0 60.3 640x480 75.0 60.0 720x400 70.1 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) HDMI3 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis) |
#ls -ls /var/tmp/asterisk/
total 0 |
#ls -ls /var/tmp/asterisk/
total 0 |
#ls -ls /var/tmp/asterisk/
total 88 8 -rw-rw---- 1 asterisk asterisk 6996 Nov 27 11:43 record01.gsm 28 -rw-rw---- 1 asterisk asterisk 25542 Nov 27 11:45 record02.gsm 4 -rw-rw---- 1 asterisk asterisk 3564 Nov 27 11:46 record03.gsm 8 -rw-rw---- 1 asterisk asterisk 5115 Nov 27 11:47 record04.gsm 8 -rw-rw---- 1 asterisk asterisk 6237 Nov 27 11:47 record05.gsm 4 -rw-rw---- 1 asterisk asterisk 3201 Nov 27 11:47 record06.gsm 4 -rw-rw---- 1 asterisk asterisk 2772 Nov 27 11:48 record07.gsm 4 -rw-rw---- 1 asterisk asterisk 1848 Nov 27 11:48 record08.gsm 4 -rw-rw---- 1 asterisk asterisk 2640 Nov 27 11:48 record09.gsm 4 -rw-rw---- 1 asterisk asterisk 2079 Nov 27 11:48 record10.gsm 12 -rw-rw---- 1 asterisk asterisk 11220 Nov 27 11:50 record11.gsm |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.29927.31493 2014-11-27 12:09:15.530128542 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 12:21:32.802105459 +0200 @@ -2,6 +2,15 @@ ;default context +[submenu] + +exten => s,1,Background(/var/tmp/asterisk/record11) + +exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) +exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) + +exten => 0,1,Goto(menu,1,start) + [menu] @@ -15,16 +24,14 @@ exten => s,n,Background(/var/tmp/asterisk/record04) exten => s,n,Hangup -exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) -exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) - -exten => 3,1,Playback(/var/tmp/asterisk/record05) -exten => 3,n,Read(ORDER) -exten => 3,1,Playback(/var/tmp/asterisk/record07) -exten => 3,n,SayDigits(${ORDER}) -exten => 3,1,Playback(/var/tmp/asterisk/record10) +exten => 1,1,Goto(submenu,1,1) +exten => 2,1,Playback(/var/tmp/asterisk/record05) +exten => 2,n,Read(ORDER) +exten => 2,1,Playback(/var/tmp/asterisk/record07) +exten => 2,n,SayDigits(${ORDER}) +exten => 2,1,Playback(/var/tmp/asterisk/record10) -exten => 4,1,Queue(queue1) +exten => 3,1,Queue(queue1) exten => 0,1,Goto(s,start) |
#vi /etc/asterisk/extensions.conf
|
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.20277.10224 2014-11-27 12:25:59.414097109 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 12:26:25.762096287 +0200 @@ -26,7 +26,7 @@ exten => s,n,Background(/var/tmp/asterisk/record04) exten => s,n,Hangup -exten => 1,1,Goto(submenu,1,1) +exten => 1,1,Goto(submenu,s,1) exten => 2,1,Playback(/var/tmp/asterisk/record05) exten => 2,n,Read(ORDER) exten => 2,1,Playback(/var/tmp/asterisk/record07) |
#vi /etc/asterisk/extensions.conf
|
#ls /var/run/asterisk/a
alt.asterisk.canary.tweet.tweet.tweet asterisk.pid asterisk.ctl |
#ls /var/run/asterisk/a
alt.asterisk.canary.tweet.tweet.tweet asterisk.pid asterisk.ctl |
#ls /var/spool/asterisk/
dictate/ meetme/ monitor/ outgoing/ system/ tmp/ voicemail/ |
#ls /var/lib/asterisk/
astdb moh/ sounds/ sqlite.db |
#ls /var/lib/asterisk/astdb
/var/lib/asterisk/astdb |
#file /var/lib/asterisk/astdb
/var/lib/asterisk/astdb: Berkeley DB 1.85/1.86 (Btree, version 3, native byte-order) |
#cat /var/lib/asterisk/astdb
|
#,
|
#asterisk -rx "database order 1 9Ð"
No such command 'database order 1 9' (type 'core show help database order 1' for other possible commands) |
#asterisk -rx "database put order 1 9"
Updated database successfully |
#asterisk -rx "database put order 2 10"
Updated database successfully |
#asterisk -rx "database get order 9"
Value: 10 |
#asterisk -rx "database get order 12"
Value: 10 |
#asterisk -rx "database get order 11"
Value: 9 |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.20351.23495 2014-11-27 13:58:16.257923754 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 13:58:44.733922864 +0200 @@ -27,7 +27,7 @@ exten => s,n,Hangup exten => 1,1,Goto(submenu,s,1) -exten => 2,n,Playback(/var/tmp/asterisk/record05) +exten => 2,1,Playback(/var/tmp/asterisk/record05) exten => 2,n,Read(ORDER) exten => 2,n,Playback(/var/tmp/asterisk/record07) exten => 2,n,SayDigits(${ORDER}) |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.22598.6420 2014-11-27 14:05:27.069910264 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 14:12:18.005897400 +0200 @@ -31,9 +31,11 @@ exten => 2,n,Read(ORDER) exten => 2,n,Playback(/var/tmp/asterisk/record07) exten => 2,n,SayDigits(${ORDER}) -;exten => 2,n,Playback(/var/tmp/asterisk/record10) -exten => 2,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})}) +exten => 2,n,GotoIf($[${DB(order/${ORDER})} = ""]?unknown_order) +exten => 2,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})}) +exten => 2,n,Hangup +exten => 2,n(unknown_order),Playback(/var/tmp/asterisk/record08) |
#mv /var/tmp/asterisk/record09.gsm /var/tmp/asterisk/record9.gsm
|
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.5358.16301 2014-11-27 14:14:40.969892924 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 14:16:11.589890084 +0200 @@ -32,7 +32,7 @@ exten => 2,n,Playback(/var/tmp/asterisk/record07) exten => 2,n,SayDigits(${ORDER}) -exten => 2,n,GotoIf($[${DB(order/${ORDER})} = ""]?unknown_order) +exten => 2,n,GotoIf($["${DB(order/${ORDER})}" = ""]?unknown_order) exten => 2,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})}) exten => 2,n,Hangup exten => 2,n(unknown_order),Playback(/var/tmp/asterisk/record08) |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.13201.14952 2014-11-27 14:21:08.617880787 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 14:21:56.625879281 +0200 @@ -36,9 +36,10 @@ exten => 2,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})}) exten => 2,n(unknown_order),Playback(/var/tmp/asterisk/record08) exten => 2,n,Background(/var/tmp/asterisk/record12) +exten => 2,n,WaitExten(3) -exten => 3,1,Queue(queue1) +exte => 3,1,Queue(queue1) exten => 0,1,Goto(s,start) |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3787.15617.11570 2014-11-27 14:48:40.825829056 +0200 +++ /etc/asterisk/extensions.conf 2014-11-27 14:50:00.373826565 +0200 @@ -15,7 +15,6 @@ [menu] - exten => s,1,Answer exten => s,n,Background(/var/tmp/asterisk/record01) exten => s,n,WaitExten(1) @@ -38,8 +37,10 @@ exten => 2,n,Background(/var/tmp/asterisk/record12) exten => 2,n,WaitExten(3) +exten => 3,1,Answer +exten => 3,n,Queue(queue1) + -exte => 3,1,Queue(queue1) exten => 0,1,Goto(s,start) |
#vi /etc/asterisk/queue
|
#vi /etc/asterisk/queues.conf
--- /tmp/l3-saved-3787.340.28072 2014-11-27 14:50:15.181826100 +0200 +++ /etc/asterisk/queues.conf 2014-11-27 14:55:11.077816837 +0200 @@ -535,3 +535,6 @@ ;member => Agent/:1,1 ; Any agent in group 1, wait for first ; available, but consider with penalty +[queue1] + +member => SIP/3201 |
#vi /etc/asterisk/queues.conf
--- /tmp/l3-saved-3787.3410.15339 2014-11-27 14:55:52.921815525 +0200 +++ /etc/asterisk/queues.conf 2014-11-27 14:56:01.733815251 +0200 @@ -537,4 +537,4 @@ [queue1] -member => SIP/3201 +member => SIP/3202 |
#vi /etc/asterisk/a
|
#vi /etc/asterisk/a
|
#vi /etc/asterisk/agents.conf
--- /tmp/l3-saved-3787.29328.5745 2014-11-27 15:02:53.029802372 +0200 +++ /etc/asterisk/agents.conf 2014-11-27 15:03:44.097800773 +0200 @@ -103,3 +103,6 @@ ; ;agent => 1001,4321,Mark Spencer ;agent => 1002,4321,Will Meadows + + +agent => 007,1234,James Bond |
#vi /etc/asterisk/agents.conf
|
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#vi /etc/asterisk/extensions.conf\
|
#vi /etc/asterisk/extensions.conf
|
#vi /etc/asterisk/extensions.conf
|
#[menu]
|
#vi /etc/asterisk/extensions.conf
|
#vi /etc/asterisk/queues.conf
|
#scp /etc/asterisk/extensions
extensions.ael extensions.conf.bak extensions_minivm.conf extensions.conf extensions.lua |
#scp /etc/asterisk/extensions.
extensions.ael extensions.conf extensions.conf.bak extensions.lua |
#scp /etc/asterisk/extensions.conf root@192.168.30.1://etc/asterisk/natasha_exten
The authenticity of host '192.168.30.1 (192.168.30.1)' can't be established. ECDSA key fingerprint is 4b:d3:d6:28:96:88:a7:38:49:b3:5e:1a:9b:82:10:ff. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.30.1' (ECDSA) to the list of known hosts. root@192.168.30.1's password: extensions.conf 100% 3386 3.3KB/s 00:00 |
#member => Agent/007
[menu] exten => s,1,Answer exten => s,n,Background(/var/tmp/asterisk/record01) exten => s,n,WaitExten(1) exten => s,n(start),Background(/var/tmp/asterisk/record02) exten => s,n,WaitExten(3) exten => s,n,Background(/var/tmp/asterisk/record03) exten => s,n,WaitExten(3).conf" 142L, 3386C exten => s,n,Background(/var/tmp/asterisk/record04) exten => s,n,Hangup ... exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) exten => 8405,1,Goto(menu,s,1) exten => 8407,1,AgentLogin(007) [local] [local] exten => _3291,1,NoOp(Conferences for external users) exten => _3291,n,MeetMe(10${EXTEN:3}) exten => 3292,1,Dial(SIP/3201&SIP/3202) сначала создаём имя файла: 98,1 54% |
#grep menu /etc/asterisk/extensions.conf
[submenu] exten => 0,1,Goto(menu,1,start) [menu] exten => 1,1,Goto(submenu,s,1) exten => 8405,1,Goto(menu,s,1) |
#cat > /tmp/call.call
^C |
#cat > /tmp/call.call
^C |
#!/usr/bin/perl use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex); $AGI = new Asterisk::AGI; my %input = $AGI->ReadParse(); my $f = $ARGV[0]; my $text = "@ARGV"; if (open(F, "$f")) { local $/; $text = <F>; } my $hash = md5_hex($text); my $sounddir = "/var/lib/asterisk/sounds/tts"; my $wavefile = "$sounddir/"."tts-$hash.wav"; unless (-f $wavefile) { open(fileOUT, ">$sounddir"."/say-text-$hash.txt"); print fileOUT "$text"; close(fileOUT); my $execf="text2wave -eval '(voice_msu_ru_nsh_clunits)' $sounddir/say-text-$hash.txt -F 8000 -o $wavefile"; system($execf); unlink($sounddir."/say-text-$hash.txt"); } $wavefile =~ s/.wav$//; $AGI->exec('Playback', $wavefile);
dfsdf
Время первой команды журнала | 15:57:47 2014-11-26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 15:11:43 2014-11-27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 1.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 4.46 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.38 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008