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

Содержание

Журнал

Среда (03/30/16)

/dev/pts/6
13:53:50
#mpg123 -w met.wav /home/user/downloads/metallica.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.20.1; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes
[readers.c:1182] error: Cannot open file /home/user/downloads/metallica.mp3: No such file or directory
[mpg123.c:634] error: Cannot open /home/user/downloads/metallica.mp3: File access error. (code 22)
13:54:54
#tar: Error is not recoverable: exiting now
bash: tar:: command not found
13:54:54
#tar: Error is not recoverable: exiting now
bash: tar:: command not found
13:54:55
#tar: Error is not recoverable: exiting now
bash: tar:: command not found
13:54:55
#[root@asterisk6:user]# apt-get install sox mpg123
bash: [root@asterisk6:user]#: command not found
13:54:55
#Reading package lists... Done
bash: Reading: command not found
13:54:55
#Building dependency tree
bash: Building: command not found
13:54:55
#Reading state information... Done
bash: Reading: command not found
13:54:55
#sox is already the newest version.
sox FAIL formats: can't open input file `newest': No such file or directory
13:54:55
#sox set to manually installed.
sox FAIL formats: can't open input file `manually': No such file or directory
13:54:55
#Suggested packages:
bash: Suggested: command not found
13:54:55
#alsa-utils jackd nas oss-compat oss4-base pulseaudio
bash: alsa-utils: command not found
13:54:55
#The following NEW packages will be installed:
bash: The: command not found
13:54:55
#libmpg123-0 mpg123
bash: libmpg123-0: command not found
13:54:55
#Need to get 297 kB of archives.
bash: Need: command not found
13:54:55
#Fetched 297 kB in 0s (8,979 kB/s)
bash: syntax error near unexpected token `('
13:54:55
#Unpacking libmpg123-0:amd64 (1.20.1-2) ...
bash: syntax error near unexpected token `('
13:54:55
#Selecting previously unselected package mpg123.
bash: Selecting: command not found
13:54:55
#Preparing to unpack .../mpg123_1.20.1-2_amd64.deb ...
bash: Preparing: command not found
13:54:55
#Unpacking mpg123 (1.20.1-2) ...
bash: syntax error near unexpected token `('
13:54:55
#Processing triggers for mime-support (3.58) ...
bash: syntax error near unexpected token `('
13:54:55
#Processing triggers for man-db (2.7.0.2-5) ...
bash: syntax error near unexpected token `('
13:54:55
#Setting up libmpg123-0:amd64 (1.20.1-2) ...
bash: syntax error near unexpected token `('
13:54:55
#Setting up mpg123 (1.20.1-2) ...
bash: syntax error near unexpected token `('
13:54:55
#Processing triggers for libc-bin (2.19-18+deb8u3) ...
bash: syntax error near unexpected token `('
13:54:55
#Fetched 297 kB in 0s (8,979 kB/s)

13:54:55
#Need to get 297 kB of archives.

13:54:55
#libmpg123-0 mpg123
                                                                                                                                                      a.mp3
                       mpg123 -w met.wav /home/user/downloads/metallicunds-ru-gsm-current.tar.gz -C /usr/share/asterisk/sounds/ri_RU_f_InvoiceRU/a.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
are/asterisk/sounds/ru_RU_f_IvrvoiceRU: Cannot open: No such file or directorysha
        version 1.20.1; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes
[readers.c:1182] error: Cannot open file /home/user/downloads/metallica.mp3: No such file or directory
[mpg123.c:634] error: Cannot open /home/user/downloads/metallica.mp3: File access error. (code 22)
13:55:21
#mpg123 -w met.wav /tmp/metallica.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.20.1; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes
Directory: /tmp/
Playing MPEG stream 1 of 1: metallica.mp3 ...
MPEG 1.0 layer III, 320 kbit/s, 44100 Hz joint-stereo
Title:   Enter The Sandman (OST Сверхъестественное) (zaycev.net)
Artist:  Metallica
Comment: (zaycev.net)
[5:32] Decoding of metallica.mp3 finished.
13:56:02
#sox -t wav met.wav -r 8000 -c1 -t gsm met.gsm
sox WARN rate: rate clipped 1 samples; decrease volume?
sox WARN dither: dither clipped 1 samples; decrease volume?
13:57:43
#cp met.gsm /var/tmp/asterisk/message5.gsm

14:00:00
#Fetched 297 kB in 0s (8,979 kB/s)

14:00:00
#Need to get 297 kB of archives.

14:00:00
#libmpg123-0 mpg123
                       Setting up mpg123 (1.20.1-2) ...                                                                      a.mp3
 /usr/bin/mpg123 (mpg123) in auto modeg /usr/bin/mpg123.bin to provide -current.tar.gz -C /usr/share/asterisk/sounds/ri_RU_f_InvoiceRU/a.mp3
are/asterisk/sounds/ru_RU_f_IvrvoiceRU: Cannot open: No such file or directorysha
14:00:00
#Fetched 297 kB in 0s (8,979 kB/s)

14:00:00
#Need to get 297 kB of archives.

14:00:00
#libmpg123-0 mpg123
                                                                                                       vim /etc/asterisk/sip.conf
                       wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-gsm-current.tar.gz
oiceRU/asterisk/sounds/ri_RU_f_InvoiceRU//usr/share/asterisk/sounds/ru_RU_f_Ivrvo/asterisk/sounds/ri_RU_f_InvoiceRU/
are/asterisk/sounds/ru_RU_f_IvrvoiceRU: Cannot open: No such file or directorysha
14:00:00
#vim /etc/asterisk/voicemail.conf
прошло 66 минут
15:06:37
#vim /etc/samba/samba.conf
15:10:43
#vim /etc/group
--- /tmp/l3-saved-3959.21611.30324	2016-03-30 16:10:50.640639823 +0300
+++ /etc/group	2016-03-30 16:12:09.044641211 +0300
@@ -46,7 +46,7 @@
 crontab:x:107:
 netdev:x:108:user
 ssh:x:109:
-user:x:1000:
+user:x:1000:asterisk
 messagebus:x:110:
 scanner:x:111:saned
 colord:x:112:
15:12:09
#vim /etc/samba/smb.conf
--- /tmp/l3-saved-3959.25464.32503	2016-03-30 16:12:26.508641520 +0300
+++ /etc/samba/smb.conf	2016-03-30 16:13:04.512642193 +0300
@@ -244,7 +244,7 @@
    path = /var/spool/asterisk/monitor/
    browseable = yes
    read only = yes
-   guest ok = no
+   guest ok = yes
 # Uncomment to allow remote administration of Windows print drivers.
 # You may need to replace 'lpadmin' with the name of the group your
 # admin users are members of.
15:13:04
#service samba restart
Failed to restart samba.service: Unit samba.service is masked.
15:13:26
#smbpasswd -a user
New SMB password:
Retype new SMB password:
Added user user.
15:15:42
#vim /etc/samba/smb.conf
15:16:12
#======================= Global Settings =======================
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
"/etc/group" 58L, 832C
netdev:x:108:user
ssh:x:109:
user:x:1000:asterisk
messagebus:x:110:
...
lightdm:x:115:
asterisk:x:116:
Debian-exim:x:117:
                                                              57,1          97%
cdrom:x:24:user
floppy:x:25:user
tape:x:26:
sudo:x:27:
audio:x:29:user,asterisk
dip:x:30:user
15:19:26
#vim /etc/samba/smb.conf
--- /tmp/l3-saved-3959.6174.28617	2016-03-30 16:21:44.936651407 +0300
+++ /etc/samba/smb.conf	2016-03-30 16:22:40.628652393 +0300
@@ -244,7 +244,8 @@
    path = /var/spool/asterisk/monitor/
    browseable = yes
    read only = yes
-   guest ok = yes
+   guest ok = no
+   create mask = 0700
 # Uncomment to allow remote administration of Windows print drivers.
 # You may need to replace 'lpadmin' with the name of the group your
 # admin users are members of.
15:22:40
#/etc/init.d/smbd restart
[ ok ] Restarting smbd (via systemctl): smbd.service.
15:28:38
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3959.27449.4301	2016-03-30 16:33:54.392664321 +0300
+++ /etc/asterisk/extensions.conf	2016-03-30 16:35:25.752665938 +0300
@@ -1,6 +1,6 @@
 [internal]
 
-exten => 4000,1,Playback(demo-thanks)
+;exten => 4000,1,Playback(demo-thanks)
 exten => 4203,1,VoicemailMain()
 exten => _40XX,1,Record(/var/tmp/asterisk/message${EXTEN:2}:gsm)
 exten => _40XX,n,Playback(/var/tmp/asterisk/message${EXTEN:2})
15:35:25
#vim /etc/asterisk/extensions.conf
15:39:39
#{MACRO_EXTEN:2}@default)

15:46:45
#asterix -rx 'database put order 12 2'
bash: asterix: command not found
15:47:21
#asterisk -rx 'database put order 12 2'
Updated database successfully
15:47:33
#asterisk -rx 'database put order 21 3'
Updated database successfully
15:47:44
#asterisk -rx 'database put order 23 4'
Updated database successfully

Четверг (03/31/16)

/dev/pts/7
09:10:05
#vim /etc/asterisk/extensions.conf
/dev/pts/3
09:11:15
#asterisk -rv
Asterisk 11.13.1~dfsg-2+b1, Copyright (C) 1999 - 2013 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.
=========================================================================
Connected to Asterisk 11.13.1~dfsg-2+b1 currently running on asterisk6 (pid = 725)
[Mar 31 10:12:35] NOTICE[776]: chan_sip.c:27846 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2202
[Mar 31 10:12:45] NOTICE[776]: chan_sip.c:23561 handle_response_peerpoke: Peer '2202' is now Reachable. (21ms / 2000ms)
...
2 agents configured [0 online , 2 offline]
asterisk6*CLI> sip reload
 Reloading SIP
asterisk6*CLI> features reload
[Mar 31 16:24:09] NOTICE[5754]: features.c:7891 ast_pickup_call: pickup SIP/2202-000000a1 attempt by SIP/2201-000000a2
asterisk6*CLI> dialplan reload
Dialplan reloaded.
asterisk6*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups
/dev/pts/7
09:18:30
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.31979.24919	2016-03-31 10:40:18.826975169 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 11:11:31.779008327 +0300
@@ -1,6 +1,5 @@
 [internal]
 
-;exten => 4000,1,Playback(demo-thanks)
 exten => 4203,1,VoicemailMain()
 exten => _40XX,1,Record(/var/tmp/asterisk/message${EXTEN:2}:gsm)
 exten => _40XX,n,Playback(/var/tmp/asterisk/message${EXTEN:2})
@@ -9,6 +8,12 @@
 exten => 4204,n,Playback(/var/tmp/asterisk/message01)
 exten => 4204,n,SayDigits(${ORDER})
 exten => 4204,n,Playback(/var/tmp/asterisk/message0${DB(order/${ORDER})})
+exten => 4205,1,Answer
+exten => 4205,n,System(sudo /usr/bin/eject && sleep 5 && sudo /usr/bin/eject -t)
+exten => 4206,1,Answer
+exten => 4206,n,Set(result=${SHELL(df -h / | tail -1 | awk '{print $4}')})
+exten => 4206,n,NoOp(Result is ${result})
+exten => 4206,n,SayNumber(${result})
 
 [macro-Call]
 
@@ -26,7 +31,6 @@
 exten => s,n(label2),VoiceMail(${MACRO_EXTEN:2}@default)
 exten => s,n,Hangup
 
-
 [international]
 
 exten => _21XX,1,Dial(SIP/krakow/${EXTEN})
прошло 30 минут
/dev/pts/5
09:48:50
#vim /etc/sudoers.d
--- /tmp/l3-saved-1805.23138.25917	2016-03-31 10:49:21.770984781 +0300
+++ /etc/sudoers	2016-03-31 10:51:31.742987082 +0300
@@ -20,6 +20,7 @@
 
 root	ALL=(ALL:ALL) ALL
 user	ALL=(ALL:ALL) ALL
+asterisk ALL=(ALL) NOPASSWD:/usr/bin/touch
 
 # Allow members of group sudo to execute any command
 %sudo	ALL=(ALL:ALL) ALL
09:49:18
#" ============================================================================
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin://
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root    ALL=(ALL:ALL) ALL
user    ALL=(ALL:ALL) ALL
asterisk ALL=(ALL) NOPASSWD:/usr/bin/touch
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
:q
09:51:34
#vim /etc/sudoers
--- /tmp/l3-saved-1805.4998.21786	2016-03-31 10:52:06.126987691 +0300
+++ /etc/sudoers	2016-03-31 10:54:06.126989815 +0300
@@ -20,7 +20,7 @@
 
 root	ALL=(ALL:ALL) ALL
 user	ALL=(ALL:ALL) ALL
-asterisk ALL=(ALL) NOPASSWD:/usr/bin/touch
+asterisk ALL=(ALL) NOPASSWD:/usr/bin/touch, /usr/bin/eject
 
 # Allow members of group sudo to execute any command
 %sudo	ALL=(ALL:ALL) ALL
прошло 15 минут
10:06:40
#apt-get install festival
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  alsa-utils festlex-cmu festlex-poslex festvox-kallpc16k libasyncns0
  libestools2.1 libpulse0
Suggested packages:
  pidgin-festival festival-freebsoft-utils pulseaudio
The following NEW packages will be installed:
  alsa-utils festival festlex-cmu festlex-poslex festvox-kallpc16k libasyncns0
...
Setting up libpulse0:amd64 (5.0-13) ...
Setting up libestools2.1:amd64 (1:2.1~release-8) ...
Setting up alsa-utils (1.0.28-1) ...
Setting up festival (1:2.1~release-8) ...
Processing triggers for sgml-base (1.26+nmu4) ...
Setting up festlex-poslex (1.4.0-5) ...
Setting up festlex-cmu (1.4.0-6) ...
Setting up festvox-kallpc16k (1.4.0-5) ...
Processing triggers for libc-bin (2.19-18+deb8u3) ...
Processing triggers for systemd (215-17+deb8u3) ...
/dev/pts/7
10:13:11
#vim /etc/asterisk/extensions.conf
/dev/pts/5
10:15:28
#apt-get install festvox -ru
E: Command line option 'r' [from -ru] is not known.
10:16:27
#apt-get install festvox-ru
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  festvox-ru
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 179 MB of archives.
After this operation, 247 MB of additional disk space will be used.
Get:1 http://192.168.60.1:9999/debian/ jessie/main festvox-ru all 0.5+dfsg-3 [179 MB]
/dev/pts/7
10:20:46
#{CALLERID(num)}-${EXTEN}-${TIMESTAMP})
sed: -e expression #1, char 5: unknown command: `;'
<standard input>:2286: warning [p 19, 1.2i]: can't break line
10:21:46
#man bash | head -30 | sed '1,14d;26,$d'
       Bash  is  an  sh-compatible  command language interpreter that executes
       commands read from the standard input or from a file.  Bash also incor‐
       porates useful features from the Korn and C shells (ksh and csh).
       Bash  is  intended  to  be a conformant implementation of the Shell and
       Utilities portion  of  the  IEEE  POSIX  specification  (IEEE  Standard
       1003.1).  Bash can be configured to be POSIX-conformant by default.
OPTIONS
       All  of  the  single-character shell options documented in the descrip‐
       tion of the set builtin command can be used as options when  the  shell
прошло 27 минут
10:49:29
#\tmp\

10:49:29
#/tmp/

10:51:22
#\tmp\

прошло 10 минут
/dev/pts/5
11:01:44
#mkdir /var/lib/asterisk/sounds/tts

/dev/pts/7
11:02:31
#vim /etc/asterisk/extensions.conf
/dev/pts/5
11:03:45
#chown asterisk:asterisk /var/lib/asterisk/sounds/tts

11:03:55
#ls -l /var/temp/asterisk/messages
ls: cannot access /var/temp/asterisk/messages: No such file or directory
/dev/pts/7
11:04:57
#exten => 4203,1,VoicemailMain()
[general]
context=gr1
(1) Another program may be editing the sa
register => warsaw:1234@192.168.30.2/minsk
register => warsaw:1234@192.168.10.2/rome
register =
[2201]le
[ype=]riend
secret=1234
host=dynamic
qualify=yes
language=en
[2202]
type=friend
secret=1234
host=dynamic
qualify=yes
language=de
Swap file "/etc/asterisk/.sip.conf.swp" already exists!
[krakow]
"/etc/asterisk/sip.conf" 53L, 699C                            14,0-1        Top
11:05:27
#[ ] ]
exten => _21XX,1,Dial(SIP/krakow/${EXTEN})
exten => _2[34]XX,1,Dial(SIP/kiev/${EXTEN})
exten => _1[34]XX,1,Dial(SIP/minsk/${EXTEN})
exten => _1[12]XX,1,Dial(SIP/rome/${EXTEN})
[local]
[local]
[gr1]
[gr1]
include => international
include => local
...
[macro-Call]
exten => s,1,NoOp(Call from ${CALLERID(num)} to ${MACRO_EXTEN})
exten => s,n,Set(TIMESTAMP=${STRFTIME(${EPOCH},Europe/Moscow,"%Y-%m-%d-%H-%M-%S""
)})
exten => s,n,Set(CALLFILENAME=${CALLERID(num)}-${EXTEN}-${TIMESTAMP})
exten => s,n,Monitor(wav,${CALLFILENAME},m)
exten => s,n,Dial(SIP/${MACRO_EXTEN},10)
exten => s,n,GotoIf($["${DIALSTATUS}"= "NOANSWER"]?label1)
exten => s,n,Hangup
"/etc/asterisk/extensions.conf" 53L, 1892C written
прошло 10 минут
11:15:37
#vim /etc/asterisk/extensions.conf
прошло 10 минут
11:25:38
#{STRFTIME(${EPOCH},Europe/Moscow,"%Y-%m-%d-%H-%M-%S"
e
[macro-Call]
[          ]
exten => s,1,Answer
exten => s,n,Playback(/var/tmp/asterisk/message06)
exten => s,n,Wait(2)
exten => s,n,Playback(/var/tmp/asterisk/message06)
exten => s,n,Wait(2)LFILENAME=${CALLERID(num)}-${EXTEN}-${TIMESTAMP})
exten => s,n,Playback(/var/tmp/asterisk/message06)
             Wait(2)
...
[submenu]
[       ]
exten => s,1,Answer
exten => s,n(start),Background(/var/tmp/asterisk/message11)
exten => s,n,Background(/var/tmp/asterisk/message06)
exten => s,n,WaitExten(2)
exten => s,n,Wait(xten(2))
exten => 0,1,Goto(menu,s,start)
[menu]=> 9,1,Goto(s,start)
"/etc/asterisk/extensions.conf" 82L, 2635C written
/dev/pts/5
11:34:24
#ls -l /var/tmp/asterisk/messages
ls: cannot access /var/tmp/asterisk/messages: No such file or directory
11:34:35
#ls -l /var/tmp/asterisk/messages/
ls: cannot access /var/tmp/asterisk/messages/: No such file or directory
11:34:40
#ls -l /var/tmp/asterisk/
total 624
-rw-rw---- 1 asterisk asterisk   5874 Mar 30 16:36 message00.gsm
-rw-rw---- 1 asterisk asterisk   3069 Mar 30 16:37 message01.gsm
-rw-rw---- 1 asterisk asterisk   3927 Mar 30 16:37 message02.gsm
-rw-rw---- 1 asterisk asterisk   2277 Mar 30 16:37 message03.gsm
-rw-rw---- 1 asterisk asterisk   2541 Mar 30 16:37 message04.gsm
-rw-r--r-- 1 asterisk asterisk   2145 Mar 30 16:39 message05.gsm
-rw-rw---- 1 asterisk asterisk  15213 Mar 31 12:23 message07.gsm
-rw-rw---- 1 asterisk asterisk   3267 Mar 31 12:23 message08.gsm
-rw-rw---- 1 asterisk asterisk   2409 Mar 31 12:23 message09.gsm
-rw-rw---- 1 asterisk asterisk   2409 Mar 31 12:23 message10.gsm
-rw-rw---- 1 asterisk asterisk  10626 Mar 31 12:24 message11.gsm
-rw-rw---- 1 asterisk asterisk   3696 Mar 31 12:24 message12.gsm
-rw-rw---- 1 asterisk asterisk   5412 Mar 31 12:24 message13.gsm
-rw-rw---- 1 asterisk asterisk   3531 Mar 29 15:29 message25.gsm
-rw-r--r-- 1 root     root     549450 Mar 30 15:00 message5.gsm
прошло 98 минут
/dev/pts/7
13:12:42
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.8557.846	2016-03-31 14:13:23.523201507 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 14:16:58.599205315 +0300
@@ -44,6 +44,13 @@
 exten => 0,1,Hangup
 exten => 9,1,Goto(s,start)
 
+exten => 2,1,Read(ORDER,/var/tmp/asterisk/message00)
+exten => 2,n,Playback(/var/tmp/asterisk/message01)
+exten => 2,n,SayDigits(${ORDER})
+exten => 2,n,Playback(/var/tmp/asterisk/message0${DB(order/${ORDER})})
+
+exten => 3,1,Hangup
+
 exten => i,1,Playback(/var/tmp/asterisk/message10)
 
 [macro-Call]
13:16:58
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.32645.31548	2016-03-31 14:17:02.703205387 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 14:18:16.279206690 +0300
@@ -49,7 +49,7 @@
 exten => 2,n,SayDigits(${ORDER})
 exten => 2,n,Playback(/var/tmp/asterisk/message0${DB(order/${ORDER})})
 
-exten => 3,1,Hangup
+exten => 3,1,Dial(SIP/2202)
 
 exten => i,1,Playback(/var/tmp/asterisk/message10)
 
13:20:38
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.3490.13118	2016-03-31 14:20:40.103209236 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 14:26:51.999215820 +0300
@@ -25,9 +25,19 @@
 
 exten => s,n,Background(/var/tmp/asterisk/message06)
 exten => s,n,WaitExten(2)
+exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/belki.txt)
+exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/burunduki.txt)
 exten => 9,1,Goto(s,start)
 exten => 0,1,Goto(menu,s,start)
+exten => i,1,Background(/var/tmp/asterisk/message10)
 
+[order_status]
+
+exten => s,1,Read(ORDER,/var/tmp/asterisk/message00)
+exten => s,n,Playback(/var/tmp/asterisk/message01)
+exten => s,n,SayDigits(${ORDER})
+exten => s,n,Playback(/var/tmp/asterisk/message0${DB(order/${ORDER})})
+exten => s,n,Goto(menu,s,start)
 
 [menu]
 exten => s,1,Answer
@@ -44,14 +54,11 @@
 exten => 0,1,Hangup
 exten => 9,1,Goto(s,start)
 
-exten => 2,1,Read(ORDER,/var/tmp/asterisk/message00)
-exten => 2,n,Playback(/var/tmp/asterisk/message01)
-exten => 2,n,SayDigits(${ORDER})
-exten => 2,n,Playback(/var/tmp/asterisk/message0${DB(order/${ORDER})})
+exten => 2,1,Goto(order_status,s,1)
 
 exten => 3,1,Dial(SIP/2202)
 
-exten => i,1,Playback(/var/tmp/asterisk/message10)
+exten => i,1,Background(/var/tmp/asterisk/message10)
 
 [macro-Call]
 
13:26:54
#[ ]
[submenu]
[       ]
[       ]
exten => s,n(start),Background(/var/tmp/asterisk/message11)
exten => s,n,Background(/var/tmp/asterisk/message06)
exten => s,n,WaitExten(2)
exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/belki.txt)
exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/burunduki.txt)
exten => 9,1,Goto(s,start)
                                                              30,1           9%
exten => 0,1,Hangup
exten => 9,1,Goto(s,start)
exten => 2,1,Goto(order_status,s,1)
exten => 3,1,Dial(SIP/2202)
exten => i,1,Background(/var/tmp/asterisk/message10)
[macro-Call]
[          ]
exten => s,1,Answer                                           64,0-1        56%
прошло 17 минут
13:44:35
#[queue1]
;shared_lastcall=no
;
off
; Negative_penalty_invalid will treat members with a negative penalty as logged
;
;negative_penalty_invalid = no
; the interface for the ADDMEMBER and REMOVEMEMBER events when a state_interface
; is set.  The default value (no) maintains backward compatibility.
; log_membername_as_agent will cause app_queue to log the membername rather than
;log_membername_as_agent = no
...
~
~
~
~
~
~
~
~
~
"/etc/asterisk/queues.conf" 581L, 25640C written
13:53:52
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-1369.16100.28592	2016-03-31 14:53:59.047244625 +0300
+++ /etc/asterisk/agents.conf	2016-03-31 14:55:14.823245967 +0300
@@ -5,6 +5,8 @@
 [general]
 
 [agents]
+agent1 => 1,1234,Agent 007
+
 ;
 ; Define maxlogintries to allow agent to try max logins before
 ; failed.
13:55:14
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.3644.2563	2016-03-31 14:55:24.079246131 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 14:56:25.219247213 +0300
@@ -17,6 +17,7 @@
 exten => 4208,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/belki.txt)
 exten => 4209,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/burunduki.txt)
 exten => 4211,1,Goto(menu,s,1)
+exten => 422X,1,AgentLogin(${EXTEN:3})
 
 [submenu]
 
13:56:25
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-1369.26299.3441	2016-03-31 14:56:37.631247433 +0300
+++ /etc/asterisk/agents.conf	2016-03-31 14:57:06.027247935 +0300
@@ -5,7 +5,8 @@
 [general]
 
 [agents]
-agent1 => 1,1234,Agent 007
+agent1 => 1,1234,Agent 001
+agent2 => 2,1234,Agent 002
 
 ;
 ; Define maxlogintries to allow agent to try max logins before
13:57:06
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-1369.7238.22188	2016-03-31 14:57:15.103248096 +0300
+++ /etc/asterisk/queues.conf	2016-03-31 14:57:37.687248496 +0300
@@ -574,6 +574,7 @@
 [queue1]
 
 member => Agent/1
+member => Agent/2
 
 
 
13:57:37
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1369.15418.13541	2016-03-31 14:59:43.963250731 +0300
+++ /etc/asterisk/extensions.conf	2016-03-31 15:00:17.147251319 +0300
@@ -17,7 +17,7 @@
 exten => 4208,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/belki.txt)
 exten => 4209,1,AGI(/usr/local/bin/asterisk-festival.pl,/tmp/burunduki.txt)
 exten => 4211,1,Goto(menu,s,1)
-exten => 422X,1,AgentLogin(${EXTEN:3})
+exten => _422X,1,AgentLogin(${EXTEN:3})
 
 [submenu]
 
14:00:17
#vim /etc/asterisk/agents.conf
14:01:02
#[ ]
monitor-type = MixMonitor
; A context may be specified, in which if the user types a SINGLE
; digit extension while they are in the queue, they will be taken out
; of the queue and sent to that extension in this context.
;
;context = qoutcon
;
; A limit can be set to disregard penalty settings when the queue has
; too few members.  No penalty will be weighed in if there are only X
; or fewer queue members. (default 0)
...
~
~
                                                              573,1         Bot
; Note that using agent groups is probably not what you want.  Strategies do
; not propagate down to the Agent system so if you want round robin, least
; recent, etc, you should list all the agents in this file individually and not
; use agent groups.
;
;member => Agent/@1             ; Any agent in group 1
;member => Agent/:1,1           ; Any agent in group 1, wait for first
14:01:17
#[ ]
"/etc/asterisk/agents.conf" 100L, 2586C
; failed.
[       ]
[ defaul] to 3
[agents]
agent1 => 1,1234,Agent 001
;maxlogintries=5
;
;
; Define autologoff times if appropriate.  This is how long
; the phone has to ring with no answer before the agent is
; automatically logged off (in seconds)
;
"/etc/asterisk/agents.conf" 101L, 2587C written
14:04:08
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-1369.31175.10624	2016-03-31 15:04:36.383255908 +0300
+++ /etc/asterisk/agents.conf	2016-03-31 15:06:43.559258160 +0300
@@ -6,8 +6,8 @@
 
 [agents]
 
-agent1 => 1,1234,Agent 001
-agent2 => 2,1234,Agent 002
+agent => 1,1234,Agent 001
+agent => 2,1234,Agent 002
 
 ;
 ; Define maxlogintries to allow agent to try max logins before
14:06:43
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-1369.6472.26926	2016-03-31 15:11:26.631263171 +0300
+++ /etc/asterisk/queues.conf	2016-03-31 15:11:58.211263730 +0300
@@ -573,6 +573,23 @@
                                 ; available, but consider with penalty
 [queue1]
 
+trategy = ringall
+persistentmembers = yes
+announce-frequency = 90
+periodic-announce-frequency=60
+announce-position = yes
+announce-to-first-user = yes
+queue-youarenext = queue-youarenext
+queue-thereare  = queue-thereare
+queue-callswaiting = queue-callswaiting
+queue-holdtime = queue-holdtime
+queue-minute = queue-minute
+queue-minutes = queue-minutes
+queue-seconds = queue-seconds
+queue-thankyou = queue-thankyou
+queue-reporthold = queue-reporthold
+periodic-announce = queue-periodic-announce
+periodic-announce = queue-periodic-announce,your-call-is-important,please-wait
 member => Agent/1
 member => Agent/2
 
14:11:58
#vim /etc/asterisk/sip.conf
--- /tmp/l3-saved-1369.26348.9369	2016-03-31 15:13:47.615265667 +0300
+++ /etc/asterisk/sip.conf	2016-03-31 15:14:05.895265991 +0300
@@ -17,7 +17,7 @@
 secret=1234
 host=dynamic
 qualify=yes
-language=de
+language=en
 
 
 [krakow]
14:14:05
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-1369.22548.15970	2016-03-31 15:14:39.671266589 +0300
+++ /etc/asterisk/queues.conf	2016-03-31 15:15:22.679267350 +0300
@@ -7,7 +7,7 @@
 ;    when asterisk is restarted, each member will be automatically
 ;    read into their recorded queues. Default is 'no'.
 ;
-persistentmembers = yes
+;persistentmembers = yes
 ;
 ; AutoFill Behavior
 ;    The old behavior of the queue (autofill=no) is to have a serial type behavior
@@ -574,7 +574,7 @@
 [queue1]
 
 trategy = ringall
-persistentmembers = yes
+;persistentmembers = yes
 announce-frequency = 90
 periodic-announce-frequency=60
 announce-position = yes
14:15:22
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-1369.19188.5395	2016-03-31 15:35:29.619288718 +0300
+++ /etc/asterisk/queues.conf	2016-03-31 15:36:18.759289588 +0300
@@ -41,6 +41,10 @@
 ;
 monitor-type = MixMonitor
 ;
+persistentmembers = yes
+;persistentmembers = yes
+;persistentmembers = yes
+;persistentmembers = yes
 ; UpdateCDR behavior.
 ;    This option is implemented to mimic chan_agents behavior of populating
 ;    CDR dstchannel field of a call with an agent name, which you can set
@@ -574,7 +578,6 @@
 [queue1]
 
 trategy = ringall
-;persistentmembers = yes
 announce-frequency = 90
 periodic-announce-frequency=60
 announce-position = yes
прошло 20 минут
14:36:18
#vim /etc/asterisk/extensions.conf
прошло 12 минут
/dev/pts/5
14:48:27
#chown asterisk:asterisk /tmp/call.call

14:56:25
#~
Extension:4211
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/call.call" 3L, 46C written

Статистика

Время первой команды журнала13:53:50 2016- 3-30
Время последней команды журнала14:56:25 2016- 3-31
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %14.85
Процент синтаксически неверно набранных команд, % 9.90
Суммарное время работы с терминалом *, час 4.42
Количество командных строк в единицу времени, команда/мин 0.38
Частота использования команд
vim30|============================| 28.57%
libmpg123-04|===| 3.81%
asterisk4|===| 3.81%
[4|===| 3.81%
ls4|===| 3.81%
Need4|===| 3.81%
Fetched4|===| 3.81%
tar:3|==| 2.86%
apt-get3|==| 2.86%
Processing3|==| 2.86%
sox3|==| 2.86%
mpg1232|=| 1.90%
Unpacking2|=| 1.90%
\tmp\2|=| 1.90%
chown2|=| 1.90%
Setting2|=| 1.90%
Reading2|=| 1.90%
Moscow,"%Y-%m-%d-%H-%M-%S"1|| 0.95%
Selecting1|| 0.95%
Suggested1|| 0.95%
mkdir1|| 0.95%
Building1|| 0.95%
smbpasswd1|| 0.95%
man1|| 0.95%
asterix1|| 0.95%
cp1|| 0.95%
Preparing1|| 0.95%
26,$d'1|| 0.95%
[queue1]1|| 0.95%
alsa-utils1|| 0.95%
sed1|| 0.95%
~1|| 0.95%
=======================1|| 0.95%
The1|| 0.95%
/etc/init.d/smbd1|| 0.95%
{CALLERID(num)}-${EXTEN}-${TIMESTAMP})1|| 0.95%
service1|| 0.95%
/tmp/1|| 0.95%
[root@asterisk6:user]#1|| 0.95%
head1|| 0.95%
"1|| 0.95%
4203,1,VoicemailMain()1|| 0.95%
exten1|| 0.95%
{MACRO_EXTEN:2}@default)1|| 0.95%
____
*) Интервалы неактивности длительностью 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$