Журнал лабораторных работ

Содержание

Журнал

Четверг (10/20/11)

/dev/pts/3
09:05:36
#echo RUN_FESTIVAL=yes > /etc/default/festival

09:07:28
#cp /usr/share/doc/festival/examples/festival.scm /etc/

09:07:44
#/etc/init.d/festival start
Starting Festival server: festival.
09:07:55
#ps aux | grep fest
festival  9702  0.2  0.6  26448 21412 ?        S    10:07   0:00 /usr/bin/festival --server -b /etc/festival.scm
root      9716  0.0  0.0   1780   588 pts/4    S+   10:08   0:00 grep fest
09:08:12
#vim /etc/festival.scm
--- /tmp/l3-saved-2609.11068.797	2011-10-20 10:10:10.000000000 +0300
+++ /etc/festival.scm	2011-10-20 10:11:12.000000000 +0300
@@ -28,3 +28,15 @@
 (set! server_access_list '("[^.]+" "127.0.0.1" "localhost"))
 
 ; Server deny list (hosts)
+
+
+(define (tts_textasterisk string mode)
+"(tts_textasterisk STRING MODE)
+Apply tts to STRING. This function is specifically designed for
+use in server mode so a single function call may synthesize the string.
+This function name may be added to the server safe functions."
+(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
+(utt.wave.resample wholeutt 8000)
+(utt.wave.rescale wholeutt 5)
+(utt.send.wave.client wholeutt)))
+
09:11:12
#/etc/init.d/festival restart
Restarting Festival server: festival.
09:11:28
#ps aux | grep fest
festival  9747  0.3  0.6  26448 21420 ?        S    10:11   0:00 /usr/bin/festival --server -b /etc/festival.scm
root      9761  0.0  0.0   1780   592 pts/4    S+   10:11   0:00 grep fest
09:11:39
#vim /etc/festival.scm
09:14:37
#vim /etc/asterisk/festival.conf
09:16:23
#( )
Restarting Festival server: festival.
09:16:28
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-2609.4971.547	2011-10-20 10:17:54.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 10:19:17.000000000 +0300
@@ -33,7 +33,7 @@
 exten => 9701,n,Authenticate(12345) 					;
 exten => 9701,n,System(sudo touch /tmp/root-file-from-asterisk)		;
 
-
+exten => 9702,1,Festival(Hello from Kiev)
 
 exten => _246X,1,Agentlogin(${EXTEN:3})
 
09:19:19
#exten => _99XX,1,Answer ;Zapis golosa na nomera
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/5
09:22:33
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, Copyright (C) 1999 - 2010 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
Connected to Asterisk 1.6.2.9-2+squeeze3 currently running on linux8 (pid = 9924)
...
    -- Executing [9702@gr3:1] AGI("SIP/2401-00000006", "/usr/local/bin/festival-agi.pl,Hello from festival") in new stack
    -- Launched AGI Script /usr/local/bin/festival-agi.pl
    -- AGI Script Executing Application: (Playback) Options: (/var/lib/asterisk/sounds/tts/tts-3e54a8e264f0d14679b3907ef85a526b)
    -- <SIP/2401-00000006> Playing '/var/lib/asterisk/sounds/tts/tts-3e54a8e264f0d14679b3907ef85a526b.slin' (language 'ru')
    -- <SIP/2401-00000006>AGI Script /usr/local/bin/festival-agi.pl completed, returning 0
    -- Auto fallthrough, channel 'SIP/2401-00000006' status is 'UNKNOWN'
    -- Remote UNIX connection
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/3
09:22:37
#less /var/log/
09:22:37
#mkdir /var/log/festival

09:24:13
#ps aux | grep fest
festival  9838  0.0  0.6  26496 21520 ?        S    10:16   0:00 /usr/bin/festival --server -b /etc/festival.scm
festival  9975  0.0  0.0      0     0 ?        Z    10:22   0:00 [festival] <defunct>
root      9986  0.0  0.0   1780   588 pts/4    S+   10:24   0:00 grep fest
09:24:23
#chown festival /var/log/festival/

09:24:40
#/etc/init.d/festival restart
Restarting Festival server: festival.
09:24:48
#ls /var/log/festival/
festival.log
09:25:04
#less /var/log/festival/festival.log
09:25:46
#less /var/log/festival/festival.log
09:26:01
#apt-cache search asterisk agi
libasterisk-agi-perl - Collections of Perl modules to be used with Asterisk PBX AGI
09:29:07
#apt-get install libasterisk-agi-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mysql-common libmysqlclient16
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  libasterisk-agi-perl
0 upgraded, 1 newly installed, 0 to remove and 1 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://10.0.35.1/debian/ squeeze/main libasterisk-agi-perl all 1.01-2 [42.2 kB]
Fetched 42.2 kB in 0s (0 B/s)
Selecting previously deselected package libasterisk-agi-perl.
(Reading database ... 137495 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) ...
09:29:17
#mkdir /var/lib/asterisk/sounds//tts

09:31:28
#scp linux9:/usr/local/bin/festival -agi/pl /usr/local/bin/
The authenticity of host 'linux9 (192.168.90.1)' can't be established.
RSA key fingerprint is f0:05:a6:a6:88:29:cd:4d:7a:23:9b:50:fa:00:de:0c.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'linux9,192.168.90.1' (RSA) to the list of known hosts.
root@linux9's password:
Permission denied, please try again.
root@linux9's password:
Permission denied, please try again.
root@linux9's password:
Permission denied (publickey,password).
cp: cannot stat `-agi/pl': No such file or directory
09:32:53
#scp linux9:/usr/local/bin/festival-agi.pl /usr/local/bin/
root@linux9's password:
Permission denied, please try again.
root@linux9's password:
Permission denied, please try again.
root@linux9's password:
festival-agi.pl                                                                                                                                 100%  603     0.6KB/s   00:00
09:33:37
#chmod +x /usr/local/bin/festival-agi.pl

09:33:46
#festival-agi.pl hello from festival
^C
09:34:21
#ls /var/lib/asterisk/sounds/tts/

09:34:30
#ls -l /var/lib/asterisk/sounds/tts/
total 0
09:34:51
#festival-agi.pl hello from festival
Use of uninitialized value $offset in concatenation (.) or string at /usr/share/perl5/Asterisk/AGI.pm line 1059.
STREAM FILE tts/tts-5d41402abc4b2a76b9719d911017c592 ""
^C
09:36:08
#ls -l /var/lib/asterisk/sounds/tts/
total 16
-rw-r--r-- 1 root root 14286 Oct 20 10:36 tts-5d41402abc4b2a76b9719d911017c592.wav
09:36:11
#ls -l /var/lib/asterisk/sounds/tts/
total 16
-rw-r--r-- 1 root root 14286 Oct 20 10:36 tts-5d41402abc4b2a76b9719d911017c592.wav
09:36:25
#vim /etc/asterisk/ext
09:36:25
#vim /etc/asterisk/extensions.conf
09:41:44
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-2609.28460.17167	2011-10-20 10:42:16.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 10:43:13.000000000 +0300
@@ -33,7 +33,7 @@
 exten => 9701,n,Authenticate(12345) 					;
 exten => 9701,n,System(sudo touch /tmp/root-file-from-asterisk)		;
 
-exten => 9702,1,Festival(Hello from Kiev)
+exten => 9702,1,AGI(/usr/local/bin/festival-agi.pl,Hello from festival)
 
 exten => _246X,1,Agentlogin(${EXTEN:3})
 
09:43:13
#chown asterisk:asterisk -R /var/lib/asterisk/sounds/tts/

09:44:58
#vim /usr/bin/per
09:44:58
#vim /usr/bin/per
09:44:58
#vim /usr/bin/perl
09:49:05
#^G^@^@^@^@^@^@m^C^@^@^@^@^@^@­^F^@^@z^A^@^@^D^G^@^@^K^D^@^@^@^@^@^@L^C^@^@^@^@^@^@^@^@^@^@^P^A^@^@^@^@^@^@^C^D^@^@ú^D^@^@¹^D^@^@^@^@^@^@.^H^@^@â^C^@^@^@^@^@^@^@^@^^

09:54:08
#scp linux9:/usr/local/bin/festival-agi-play-file.pl /usr/local/bin/festival-agi-play-file.pl
root@linux9's password:
festival-agi-play-file.pl                                                                                                                       100%  531     0.5KB/s   00:00
10:00:31
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-2609.1063.17558	2011-10-20 11:00:57.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 11:01:25.000000000 +0300
@@ -34,6 +34,8 @@
 exten => 9701,n,System(sudo touch /tmp/root-file-from-asterisk)		;
 
 exten => 9702,1,AGI(/usr/local/bin/festival-agi.pl,Hello from festival)
+exten => 9703,1,AGI(/usr/local/bin/festival-agi-play-file.pl,/var/lib/asterisk/texts/man-ls.txt)
+
 
 exten => _246X,1,Agentlogin(${EXTEN:3})
 
10:01:25
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/5
10:01:47
#asterisk -rvvvvv
Asterisk 1.6.2.9-2+squeeze3, Copyright (C) 1999 - 2010 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
Connected to Asterisk 1.6.2.9-2+squeeze3 currently running on linux8 (pid = 10409)
...
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-monitor:10] Hangup("SIP/2402-00000304", "") in new stack
  == Spawn extension (macro-monitor, s, 10) exited non-zero on 'SIP/2402-00000304' in macro 'monitor'
  == Spawn extension (gr3, 2401, 1) exited non-zero on 'SIP/2402-00000304'
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/3
10:01:51
#mkdir /var/lib/asterisk/texts/
mkdir: cannot create directory `/var/lib/asterisk/texts/': File exists
10:02:52
#LANG=C man ls | head -20 > /var/lib/asterisk/texts/man-ls.txt

10:03:07
#vim /etc/festival.scm
--- /tmp/l3-saved-2609.24233.19594	2011-10-20 11:34:29.000000000 +0300
+++ /etc/festival.scm	2011-10-20 11:35:44.000000000 +0300
@@ -29,6 +29,9 @@
 
 ; Server deny list (hosts)
 
+(voice_msu_ru_nsh_clunits)
+
+
 
 (define (tts_textasterisk string mode)
 "(tts_textasterisk STRING MODE)
прошло 32 минуты
10:35:44
#LANG=RU man ls | head -20 > /var/lib/asterisk/texts/man-ls.txt
man: can't set the locale; make sure $LC_* and $LANG are correct
10:37:24
#man LANG
10:37:50
#LANG=?
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:38:03
#LANG=ru_UA man ls | head -20 > /var/lib/asterisk/texts/man-ls.txt
man: can't set the locale; make sure $LC_* and $LANG are correct
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:38:31
#LANG="ru_UA:ru"
man: can't set the locale; make sure $LC_* and $LANG are correct
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:38:50
#LANG="ru_U:ru" man ls | head -20 > /var/lib/asterisk/texts/man-ls.tx

10:38:50
#LANG="ru_RU
man: can't set the locale; make sure $LC_* and $LANG are correct
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:38:58
#LANG="ru_UA

10:38:58
#LANG=ru_UA

10:38:58
#LANG="?"
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:41:18
#LANG="?"

10:41:18
#apt-get install lynx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mysql-common libmysqlclient16
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  lynx-cur
Suggested packages:
  lynx-cur-wrapper
...
update-alternatives: using /usr/bin/lynx.cur to provide /usr/bin/lynx (lynx) in auto mode.
Setting up lynx (2.8.8dev.5-1) ...
Processing triggers for menu ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:41:49
#rs
rsh       rstart    rstartd   rsync     rsyslogd
10:41:49
#rs
rsh       rstart    rstartd   rsync     rsyslogd
10:41:49
#cr
create-branching-keyboard  cron                       crontab
10:41:49
#cr
create-branching-keyboard  cron                       crontab
10:41:49
#LANG="?"

10:41:49
#LANG="ru_UA

10:41:49
#LANG=ru_UA

10:41:49
#scp linux9:/usr/local/bin/festival-agi-play-file.pl /usr/local/bin/fes

10:41:49
#scp linux9:/var/lib/asterisk/texts/ /var/lib/asterisk/texts/
root@linux9's password:
scp: /var/lib/asterisk/texts: not a regular file
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:05
#scp linux9:/var/lib/asterisk/texts/ /var/lib/asterisk/texts/
root@linux9's password:
scp: /var/lib/asterisk/texts: not a regular file
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:46:38
#scp linux9:/var/lib/asterisk/texts/ /var/lib/asterisk/texts/
root@linux9's password:
scp: /var/lib/asterisk/texts: not a regular file
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
10:47:06
#scp linux9:/var/lib/asterisk/texts/ /var/lib/asterisk/texts/
root@linux9's password:
scp: /var/lib/asterisk/texts: not a regular file
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LANG = "?"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/dev/pts/1
10:47:45
#scp linux9:
root@linux9's password:
scp: /var/lib/asterisk/texts: not a regular file
10:49:18
#vim /etc/asterisk/extensions.conf
10:51:59
#[ ]
exten => s,n,SetMusicOnHold(class2)CH}-${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%H-%M-%S")}-${MACRO_EXTEN}-${CALLEE
exten => s,n(dial),Dial(${ARG1},10,tT)
[internal]    ]
[             ]
exten => _99XX,1,Answer                                                         ;Zapis golosa na nomera
exten => _99XX,n,Set(FILENAME=/var/spool/asterisk/sounds/menu/${EXTEN:2})
exten => _99XX,n,Record(${FILENAME}:gsm)
exten => _99XX,n,Playback(${FILENAME})                                          ;Proigrivanie golosa
[        ]
[        ]
...
exten => 9702,1,AGI(/usr/local/bin/festival-agi.pl,Hello from festival)
exten => 9703,1,AGI(/usr/local/bin/festival-agi-play-file.pl,/var/lib/asterisk/texts/man-ls.txt)
exten => 9704,1,AGI(/usr/local/bin/festival-agi-play-file.pl,/usr/)
exten => 9701,1,Answer()s.conf" 100L, 2589C                             ;Zastavlayet Asterisk delat s pravami ROOT
exten => _246X,1,Agentlogin(${EXTEN:3})
                  I(                                         /var/lib/asterisk/texts/tbilisi.txt)
exten => _247X,1,GotoIf($["${CALLERID(num)}"!="240${EXTEN:3}"] ?password)
exten => _247X,n,VoicemailMain(240${EXTEN:3},s)
exten => _247X,n,Hangup
"/etc/asterisk/extensions.conf" 100L, 2619C written
10:52:31
#vim /etc/festival.scm
--- /tmp/l3-saved-11001.4982.11124	2011-10-20 11:53:27.000000000 +0300
+++ /etc/festival.scm	2011-10-20 11:53:42.000000000 +0300
@@ -29,6 +29,8 @@
 
 ; Server deny list (hosts)
 
+(language_russian)
+
 (voice_msu_ru_nsh_clunits)
 
 
10:53:42
#/etc/init.d/festival restatr
Usage: /etc/init.d/festival {start|stop|restart}
10:54:11
#/etc/init.d/festival restart
Restarting Festival server: festival.
10:54:18
#cat /var/lib/asterisk/texts/tbilisi-cp1251.txt | iconv -f CP1251 | less
10:57:25
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11001.22862.12315	2011-10-20 12:05:04.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 12:19:06.000000000 +0300
@@ -3,6 +3,22 @@
 :________________________________________________
 :RESORSES
 :________________________________________________
+
+
+[menu]
+exten => s,1,Ansver
+exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
+exten => s,n,Playback(${P}00)
+exten => s,n,Playback(${P}01)
+exten => s,n,Wait(2)
+exten => s,n,Playback(${P}02)
+exten => s,n,Playback(${P}01)
+exten => s,n,Wait(2)
+exten => s,n,Playback(${P}03) 
+
+
+
+
 [macro-monitor]
 
 exten => s,1,Set(CALLFILENAME=${EPOCH}-${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%H-%M-%S")}-${MACRO_EXTEN}-${CALLERID(num)})
@@ -37,6 +53,8 @@
 exten => 9703,1,AGI(/usr/local/bin/festival-agi-play-file.pl,/var/lib/asterisk/texts/man-ls.txt)
 exten => 9704,1,AGI(/usr/local/bin/festival-agi-play-file.pl,/var/lib/asterisk/texts/tbilisi.txt)
 
+exten => 9500,1,Goto(menu,s,1)
+
 exten => _246X,1,Agentlogin(${EXTEN:3})
 
 exten => _247X,1,GotoIf($["${CALLERID(num)}"!="240${EXTEN:3}"] ?password)
прошла 21 минута
11:19:06
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11001.16136.25697	2011-10-20 12:20:13.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 12:20:30.000000000 +0300
@@ -6,7 +6,7 @@
 
 
 [menu]
-exten => s,1,Ansver
+exten => s,1,Answer
 exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
 exten => s,n,Playback(${P}00)
 exten => s,n,Playback(${P}01)
11:20:30
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11001.13667.1494	2011-10-20 12:21:38.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 12:23:26.000000000 +0300
@@ -6,15 +6,27 @@
 
 
 [menu]
+#exten => s,1,Answer
+#exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
+#exten => s,n,Playback(${P}00)
+#exten => s,n,Playback(${P}01)
+#exten => s,n,Wait(2)
+#exten => s,n,Playback(${P}02)
+#exten => s,n,Playback(${P}01)
+#exten => s,n,Wait(2)
+#exten => s,n,Playback(${P}03) 
+
 exten => s,1,Answer
 exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
-exten => s,n,Playback(${P}00)
-exten => s,n,Playback(${P}01)
-exten => s,n,Wait(2)
-exten => s,n,Playback(${P}02)
-exten => s,n,Playback(${P}01)
-exten => s,n,Wait(2)
-exten => s,n,Playback(${P}03) 
+exten => s,n,Background(${P}00)
+exten => s,n,Background(${P}01)
+exten => s,n,Waitexten(2)
+exten => s,n,Background(${P}02)
+exten => s,n,Waitexten(2)
+exten => s,n,Background(${P}03)
+
+exten => 5,1,Playback(${P}04)
+
 
 
 
11:23:26
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11001.11708.14936	2011-10-20 12:25:25.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 12:57:55.000000000 +0300
@@ -6,27 +6,54 @@
 
 
 [menu]
-#exten => s,1,Answer
-#exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
-#exten => s,n,Playback(${P}00)
-#exten => s,n,Playback(${P}01)
-#exten => s,n,Wait(2)
-#exten => s,n,Playback(${P}02)
-#exten => s,n,Playback(${P}01)
-#exten => s,n,Wait(2)
-#exten => s,n,Playback(${P}03) 
+
 
 exten => s,1,Answer
 exten => s,n,Set(P=/var/spool/asterisk/sounds/menu/)
 exten => s,n,Background(${P}00)
-exten => s,n,Background(${P}01)
+exten => s,n(menu-start),Background(${P}01)
 exten => s,n,Waitexten(2)
 exten => s,n,Background(${P}02)
+exten => s,n,Background(${P}01)
 exten => s,n,Waitexten(2)
 exten => s,n,Background(${P}03)
 
+exten => 1,1,Goto(submenu,s,1)
+exten => 2,1,Queue(queue1)
+exten => 3,1,Authenticate(12345)
+exten => 3,n,System(touch /tmp/asterisk-touch)
+exten => 4,1,Goto(menu,s,menu-start)
 exten => 5,1,Playback(${P}04)
 
+exten => i,1,Playback(${P}08)
+exten => i,n,Goto(menu,s,menu-start)
+
+[submenu]
+
+exten => s,1,Answer
+exten => s,n,Background(${P}05)
+exten => s,n,Waitexten(2)
+exten => s,n,Background(${P}02)
+exten => s,n,Waitexten(2)
+exten => s,n,Background(${P}03)
+
+exten => i,1,Playback(${P}08)
+exten => i,n,Goto(menu,s,menu-start)
+
+exten => 1,1,Background(${P}06)
+exten => 1,n,Goto(submenu,s,1)
+
+exten => 2,1,Background(${P}07)
+exten => 2,n,Goto(submenu,s,1)
+
+exten => 3,1,Goto(submenu,s,1)
+
+exten => 4,1,Goto(menu,s,menu-start)
+
+
+
+
+
 
 
 
прошло 111 минут
13:15:06
#{P}02)
~
Context:internal
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/tmp/1.call" [New] 4L, 50C written
13:15:47
#chown asterisk:asterisk /tmp/1.call

13:15:54
#cp -p /tmp/1.call /var/spool/asterisk/outgoing/

13:16:06
#cat /tmp/1.call
Channel:SIP/3101
Extension:9500
Context:internal
13:16:33
#vim /tmp/1.call
--- /tmp/l3-saved-11001.6847.9378	2011-10-20 14:17:00.000000000 +0300
+++ /tmp/1.call	2011-10-20 14:18:46.000000000 +0300
@@ -1,4 +1,4 @@
 
-Channel:SIP/3101
+Channel:SIP/2401
 Extension:9500
 Context:internal
13:18:46
#cat /tmp/1.call
Channel:SIP/2401
Extension:9500
Context:internal
13:18:49
#cat /tmp/1.call
Channel:SIP/2401
Extension:9500
Context:internal
13:19:11
#cp -p /tmp/1.call /var/spool/asterisk/outgoing/

13:19:22
#chmod +x mass-call.sh
chmod: cannot access `mass-call.sh': No such file or directory
13:25:59
#vim /root/mass-call.sh
--- /dev/null	2011-10-19 16:30:23.108285434 +0300
+++ /root/mass-call.sh	2011-10-20 14:28:10.000000000 +0300
@@ -0,0 +1,13 @@
+for i
+do
+echo $i
+filename=/tmp/$RANDOM$RANDOM.call
+cat <<EOF > $filename
+Channel:$i
+Extension:3103
+Context:local
+EOF
+chown asterisk:asterisk $filename
+mv $filename /var/spool/asterisk/outgoing/
+done
+
13:28:10
#bash mass-call.sh SIP/msk/{1,2}{1,2,3,4}0{1,2}
bash: mass-call.sh: No such file or directory
13:28:38
#pwd
/home/user
13:28:49
#cd /root

13:28:54
#bash mass-call.sh SIP/msk/{1,2}{1,2,3,4}0{1,2}
SIP/msk/1101
SIP/msk/1102
SIP/msk/1201
SIP/msk/1202
SIP/msk/1301
SIP/msk/1302
SIP/msk/1401
SIP/msk/1402
SIP/msk/2101
SIP/msk/2102
SIP/msk/2201
SIP/msk/2202
SIP/msk/2301
SIP/msk/2302
SIP/msk/2401
SIP/msk/2402
13:28:58
#cd homedir
bash: cd: homedir: No such file or directory
13:34:21
#cd /home/user

13:34:43
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11001.5497.23111	2011-10-20 14:36:42.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-10-20 14:42:11.000000000 +0300
@@ -76,6 +76,12 @@
 exten => _99XX,n,Record(${FILENAME}:gsm) 
 exten => _99XX,n,Playback(${FILENAME})						;Proigrivanie golosa
 
+exten => 9501,1,GotoIfTime(14:00-15:00,thu,*,*?obed)
+exten => 9501,n,Queue(queue1)
+exten => 9501,n,Hangup  
+exten => 9501,n(obed),Playback(/var/spool/asterisk/sounds/menu/10)
+
+
 
 exten => _98XX,1,Answer								;Proigivanie golosa po nomeram
 exten => _98XX,n,Set(FILENAME=/var/spool/asterisk/sounds/menu/${EXTEN:2})
13:42:44
#exten => 9501,n,Playback(/var/spool/asterisk/sounds/menu/10)
real    0m0.000s
user    0m0.000s
sys     0m0.000s

Файлы

  • /tmp/1.call
  • /tmp/1.call
    >
    Channel:SIP/2401
    Extension:9500
    Context:internal
    

    Статистика

    Время первой команды журнала09:05:36 2011-10-20
    Время последней команды журнала13:42:44 2011-10-20
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %12.87
    Процент синтаксически неверно набранных команд, % 0.99
    Суммарное время работы с терминалом *, час 2.21
    Количество командных строк в единицу времени, команда/мин 0.76
    Частота использования команд
    vim21|=================| 17.80%
    scp9|=======| 7.63%
    /etc/init.d/festival5|====| 4.24%
    ls5|====| 4.24%
    cat4|===| 3.39%
    head4|===| 3.39%
    less4|===| 3.39%
    mkdir3|==| 2.54%
    man-ls.txt3|==| 2.54%
    LANG="?"3|==| 2.54%
    cp3|==| 2.54%
    cd3|==| 2.54%
    LANG=ru_UA3|==| 2.54%
    ps3|==| 2.54%
    chown3|==| 2.54%
    grep3|==| 2.54%
    asterisk2|=| 1.69%
    LANG="ru_UA2|=| 1.69%
    chmod2|=| 1.69%
    apt-get2|=| 1.69%
    festival-agi.pl2|=| 1.69%
    bash2|=| 1.69%
    cr2|=| 1.69%
    exten2|=| 1.69%
    rs2|=| 1.69%
    LANG=?1|| 0.85%
    man1|| 0.85%
    /etc/init.d/asterisk1|| 0.85%
    LANG="ru_U:ru"1|| 0.85%
    echo1|| 0.85%
    [1|| 0.85%
    /etc/default/festival1|| 0.85%
    LANG="ru_RU1|| 0.85%
    man-ls.tx1|| 0.85%
    iconv1|| 0.85%
    {P}02)1|| 0.85%
    (1|| 0.85%
    _99XX,1,Answer1|| 0.85%
    pwd1|| 0.85%
    LANG="ru_UA:ru"1|| 0.85%
    10)1|| 0.85%
    Zapis1|| 0.85%
    LANG=RU1|| 0.85%
    apt-cache1|| 0.85%
    ^G^@^@^@^@^@^@m^C^@^@^@^@^@^@­^F^@^@z^A^@^@^D^G^@^@^K^D^@^@^@^@^@^@L^C^@^@^@^@^@^@^@^@^@^@^P^A^@^@^@^@^@^@^C^D^@^@ú^D^@^@¹^D^@^@^@^@^@^@.^H^@^@â^C^@^@^@^@^@^@^@^@^^1|| 0.85%
    LANG=C1|| 0.85%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ 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
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$