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

Содержание

Журнал

Четверг (04/24/14)

/dev/pts/1
15:32:23
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-8730.12415.2035	2014-04-24 16:32:25.167671541 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-24 16:32:41.323671752 +0300
@@ -30,6 +30,6 @@
 exten => 3399,n(vm),VoiceMailMain()
 
 
-exten => 3398,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/belka.txt)
-exten => 3397,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/burunduki.txt)
-exten => 3396,1,AGI(/usr/local/bin/asterisk-festival.pl Я рад вас слышать. Добрый день)
+exten => 3398,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/belka.txt)
+exten => 3397,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/burunduki.txt)
+exten => 3396,1,AGI(/usr/local/bin/asterisk-festival.pl,Я рад вас слышать. Добрый день)
15:34:35
#vim /etc/asterisk/extensions.conf.internal
15:34:49
#~
perceptualdiff        performous            perl-byacc            perl-modules
percona-toolkit       performous-dbg        perlconsole           perlpanel
perdition             performous-tools      perl-debug            perlprimer
perdition-ldap        perftest              perl-depends          perlprimer-doc
perdition-mysql       perl                  perl-doc              perltidy
perdition-odbc        perlbal               perl-doc-html         perl-tk
perdition-postgresql  perl-base             perlindex             perroquet
perforate             perlbrew              perlmagick
15:34:49
#apt-get install per
perceptualdiff        performous            perl-byacc            perl-modules
percona-toolkit       performous-dbg        perlconsole           perlpanel
perdition             performous-tools      perl-debug            perlprimer
perdition-ldap        perftest              perl-depends          perlprimer-doc
perdition-mysql       perl                  perl-doc              perltidy
perdition-odbc        perlbal               perl-doc-html         perl-tk
perdition-postgresql  perl-base             perlindex             perroquet
perforate             perlbrew              perlmagick
15:34:49
#apt-get install perl
perl            perlbrew        perl-debug      perl-doc-html   perl-modules    perlprimer-doc
perlbal         perl-byacc      perl-depends    perlindex       perlpanel       perltidy
perl-base       perlconsole     perl-doc        perlmagick      perlprimer      perl-tk
15:34:49
#apt-get install perl
perl            perlbrew        perl-debug      perl-doc-html   perl-modules    perlprimer-doc
perlbal         perl-byacc      perl-depends    perlindex       perlpanel       perltidy
perl-base       perlconsole     perl-doc        perlmagick      perlprimer      perl-tk
15:34:49
#apt-cache search perl AGI
vmware-manager - utility to manage VMware virtual machines
barnowl - A curses-based tty Jabber, IRC, AIM  and Zephyr client
check-postgres - script for monitoring PostgreSQL databases
debaux - Debian Auxiliary Programs
debian-policy - Debian Policy Manual and related documents
devscripts - scripts to make the life of a Debian Package maintainer easier
dh-make-perl - helper for creating Debian packages from perl modules
libfile-mmagic-perl - Perl module to guess file type
gargoyle-free - graphical player for Interactive Fiction games
libgdal-perl - Perl bindings to the Geospatial Data Abstraction Library
...
libqpid-perl - enterprise messaging system - Perl bindings
sendpage-common - common libraries used to handle alpha-numeric text paging
sendxmpp - commandline XMPP (jabber) utility
unagi - Modular X compositing manager
unagi-dbg - Modular X compositing manager - debugging symbols
unagi-dev - Modular X compositing manager - development files
w2do - simple text-based todo manager
xstow - Extended replacement of GNU Stow
inkscape - редактор векторной графики
perlmagick - Perl-интерфес для графических процедур ImageMagick
15:36:21
#apt-cache search per|grep AGI
libasterisk-agi-perl - Collections of Perl modules to be used with Asterisk PBX AGI
15:36:29
#apt-get install libasterisk-agi-perl
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
  libasterisk-agi-perl
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 42,2 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 160 kB.
Получено:1 http://192.168.12.254/debian/ wheezy/main libasterisk-agi-perl all 1.01-2 [42,2 kB]
Получено 42,2 kБ за 0с (3 316 kБ/c)
Выбор ранее не выбранного пакета libasterisk-agi-perl.
(Чтение базы данных … на данный момент установлено 141860 файлов и каталогов.)
Распаковывается пакет libasterisk-agi-perl (из файла …/libasterisk-agi-perl_1.01-2_all.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет libasterisk-agi-perl (1.01-2) …
15:36:45
#apt-get install sendxmpp
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  libauthen-sasl-perl libnet-xmpp-perl libxml-stream-perl
Предлагаемые пакеты:
  libdigest-hmac-perl libgssapi-perl libnet-dns-perl
НОВЫЕ пакеты, которые будут установлены:
  libauthen-sasl-perl libnet-xmpp-perl libxml-stream-perl sendxmpp
обновлено 0, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
...
Распаковывается пакет libxml-stream-perl (из файла …/libxml-stream-perl_1.23-2_all.deb) …
Выбор ранее не выбранного пакета libnet-xmpp-perl.
Распаковывается пакет libnet-xmpp-perl (из файла …/libnet-xmpp-perl_1.02-3_all.deb) …
Выбор ранее не выбранного пакета sendxmpp.
Распаковывается пакет sendxmpp (из файла …/sendxmpp_1.22-1_all.deb) …
Обрабатываются триггеры для man-db …
Настраивается пакет libauthen-sasl-perl (2.1500-1) …
Настраивается пакет libxml-stream-perl (1.23-2) …
Настраивается пакет libnet-xmpp-perl (1.02-3) …
Настраивается пакет sendxmpp (1.22-1) …
15:45:00
#echo 'aster9@lab0.xgu.ru password' > /var/lib/asterisk/.sendxmpprc

прошло 25 минут
16:10:10
#cat /usr/local/bin/jabber-send
#!/bin/sh
# $1 -- JID (Jabber-ID) of recipient
# STDIN -- message
/usr/bin/sendxmpp -f /var/lib/asterisk/.sendxmpprc "$1"
16:10:21
#usermod -s /bin/bash asterisk

16:11:02
#echo hi | /usr/local/bin/jabber-send user0@lab0.xgu.ru
you must own /var/lib/asterisk/.sendxmpprc
16:11:18
#usermod -s /bin/false asterisk

16:11:42
#sed -i s/-i/-f/ /usr/local/bin/jabber-send

прошло 14 минут
16:26:31
#{EXTEN:2}:gsm,5)
 29
 30 exten => s,1,NoOp(Answering ${MACRO_EXTEN})
 31 exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH})
 32 exten => s,n,Monitor(wav,${CALLFILENAME},m)
 33 exten => s,n,Dial(SIP/${ARG1},2)
 34 exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
 35 exten => s,n,Goto(s-${DIALSTATUS},1)
 36 exten => s,n,System(/usr/local/bin/jabber-send user9@lab0.xgu.ru ${CALLERID(num)} is calling)
                ,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH})
 37 exten => s-N,Monitor(wav,${CALLFILENAME},m)
                ,Dial(SIP/${ARG1},2)
 38 exten => s-N,NoOp(Dial Status: ${DIALSTATUS})}@default)
    exten => s,n,Goto(s-${DIALSTATUS},1)
 39
                       ,1,NoOp(No Answer)
 40 exten => s-NOANSWER,n,VoiceMail(${MACRO_EXTEN}@default)
 41
"/etc/asterisk/extensions.conf.macro-localcall" 50L, 1551C записано

Пятница (04/25/14)

/dev/pts/1
08:39:14
#vim /etc/asterisk/extensions.conf.macro-localcall \
--- /tmp/l3-saved-8681.15610.16670	2014-04-25 09:47:43.070421795 +0300
+++ /etc/asterisk/extensions.conf.macro-localcall	2014-04-25 09:55:13.094427137 +0300
@@ -2,6 +2,13 @@
 
 ; ${ARG1} - outgoing channel + extension
 
+; EPOCH = seconds since 1.01.1970
+
+; ${FunctionName(...)}
+
+; ${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S")}
+
+
 ;exten => s,1,Answer
 ;exten => s,n,Monitor(wav,monitor,m)
 ;exten => s,n,Dial(${ARG1})
@@ -13,10 +20,8 @@
 ;exten => s,n,NoOp(Dial Status: ${DIALSTATUS})
 ;exten => s,n,Goto(s-${DIALSTATUS},1)
 
-; EPOCH = seconds since 1.01.1970
-
 exten => s,1,Answer
-exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH})
+exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S"))
 exten => s,n,Monitor(wav,${CALLFILENAME},m)
 exten => s,n,Dial(${ARG1})
 
прошло 15 минут
08:55:13
#asterisk -rvvvv
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
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on vilen (pid = 2781)
...
    -- Added extension '700' priority 1 to parkedcalls
    -- Registered extension context 'app_dial_gosub_virtual_context'; registrar: app_dial
    -- merging incls/swits/igpats from old(app_dial_gosub_virtual_context) to new(app_dial_gosub_virtual_context) context, registrar = pbx_config
    -- Added extension 's' priority 1 to app_dial_gosub_virtual_context
    -- Time to scan old dialplan and merge leftovers back into the new: 0.000134 sec
    -- Time to restore hints and swap in new dialplan: 0.000006 sec
    -- Time to delete the old dialplan: 0.000116 sec
    -- Total time merge_contexts_delete: 0.000256 sec
vilen*CLI> quit
Executing last minute cleanups
08:55:26
#asterisk -rvvvv
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
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on vilen (pid = 2781)
...
    -- Called SIP/vienna/1302
    -- SIP/vienna-00000005 answered SIP/3301-00000004
    -- Executing [h@gr1:1] Playback("SIP/3301-00000004", "/etc/asterisk/sound/message") in new stack
[Apr 25 10:00:43] WARNING[9121]: file.c:766 ast_readaudio_callback: Failed to write frame
    -- <SIP/3301-00000004> Playing '/etc/asterisk/sound/message.gsm' (language 'ru')
[Apr 25 10:00:43] WARNING[9121]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/3301-00000004 for /etc/asterisk/sound/message
  == Spawn extension (macro-outgoingcall, s, 4) exited non-zero on 'SIP/3301-00000004' in macro 'outgoingcall'
  == Spawn extension (gr1, 1302, 1) exited non-zero on 'SIP/3301-00000004'
vilen*CLI> quit
Executing last minute cleanups
09:01:08
#vim /etc/asterisk/extensions.conf.macro-localcall
--- /tmp/l3-saved-8681.11814.27890	2014-04-25 10:01:10.674431379 +0300
+++ /etc/asterisk/extensions.conf.macro-localcall	2014-04-25 10:02:11.246432090 +0300
@@ -21,7 +21,7 @@
 ;exten => s,n,Goto(s-${DIALSTATUS},1)
 
 exten => s,1,Answer
-exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S"))
+exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S")})
 exten => s,n,Monitor(wav,${CALLFILENAME},m)
 exten => s,n,Dial(${ARG1})
 
09:07:57
#vim /etc/asterisk/extensions.conf.macro-localcall
09:12:04
#vim /usr/local/bin/restart-samba
--- /dev/null	2014-04-25 11:55:53.298261576 +0300
+++ /usr/local/bin/restart-samba	2014-04-25 10:12:37.270439494 +0300
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/etc/init.d/samba restart
09:12:44
#visudo
# User privilege specification
root    ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
                             [ Прочитано 27 строк ]
visudo: /etc/sudoers.tmp unchanged
09:12:55
#export EDITOR=vim

09:13:00
#visudo
 21 asterisk ALL=(ALL:ALL) /usr/local/bin/restart-samba
 22
 23 # Allow members of group sudo to execute any command
 24 %sudo   ALL=(ALL:ALL) ALL
 25
 26 # See sudoers(5) for more information on "#include" directives:
 24
 28 #includedir /etc/sudoers.d
~
~
...
~
~
~
~
~
~
~
~
~
"/etc/sudoers.tmp" 28L, 721C записано
09:13:43
#ps aux|grep samba
root      9308  0.0  0.0   9972   872 pts/2    S+   10:18   0:00 grep samba
09:18:43
#ps aux|grep samba|awk {print $2};
awk: line 2: missing } near end of file
09:18:59
#ps aux|grep samba|awk {print $2;};
bash: syntax error near unexpected token `}'
09:19:04
#ps aux|grep samba|awk {'print $2;'};
9335
09:23:57
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-8681.17973.27397	2014-04-25 10:24:04.042447626 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-25 10:25:06.486448363 +0300
@@ -33,3 +33,7 @@
 exten => 3398,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/belka.txt)
 exten => 3397,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/burunduki.txt)
 exten => 3396,1,AGI(/usr/local/bin/asterisk-festival.pl,Я рад вас слышать. Добрый день)
+
+
+; Restart Samba
+exten => 3350,1,System(/usr/local/bin/restart-samba)
09:25:06
#asterisk -rvvvv
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
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on vilen (pid = 2781)
...
    -- Added extension '700' priority 1 to parkedcalls
    -- Registered extension context 'app_dial_gosub_virtual_context'; registrar: app_dial
    -- merging incls/swits/igpats from old(app_dial_gosub_virtual_context) to new(app_dial_gosub_virtual_context) context, registrar = pbx_config
    -- Added extension 's' priority 1 to app_dial_gosub_virtual_context
    -- Time to scan old dialplan and merge leftovers back into the new: 0.000142 sec
    -- Time to restore hints and swap in new dialplan: 0.000005 sec
    -- Time to delete the old dialplan: 0.000120 sec
    -- Total time merge_contexts_delete: 0.000267 sec
vilen*CLI> quit
Executing last minute cleanups
09:25:40
#ps aux|grep samba|awk {'print $2;'};
9465
09:25:42
#ps aux|grep samba|awk {'print $2;'};
9475
09:25:48
#ps aux|egrep samba|awk {'print $2;'};
9495
09:25:49
#ps aux|egrep samba
root      9505  0.0  0.0   9968   876 pts/2    S+   10:25   0:00 egrep samba
09:26:03
#ps aux|egrep smbd
root      3237  0.0  0.0  99960  3424 ?        Ss   08:58   0:00 /usr/sbin/smbd -D
root      3287  0.0  0.0 100476  1328 ?        S    08:58   0:00 /usr/sbin/smbd -D
root      5642  0.0  0.0 102224  3412 ?        S    09:31   0:00 /usr/sbin/smbd -D
root      9523  0.0  0.0   9972   872 pts/2    S+   10:26   0:00 egrep smbd
09:26:10
#ps aux|egrep smbd
root      3237  0.0  0.0  99960  3424 ?        Ss   08:58   0:00 /usr/sbin/smbd -D
root      3287  0.0  0.0 100476  1328 ?        S    08:58   0:00 /usr/sbin/smbd -D
root      5642  0.0  0.0 102224  3412 ?        S    09:31   0:00 /usr/sbin/smbd -D
root      9535  0.0  0.0   9972   880 pts/2    S+   10:26   0:00 egrep smbd
09:27:17
#ps aux|egrep smbd
root      3237  0.0  0.0  99960  3424 ?        Ss   08:58   0:00 /usr/sbin/smbd -D
root      3287  0.0  0.0 100476  1328 ?        S    08:58   0:00 /usr/sbin/smbd -D
root      5642  0.0  0.0 102224  3412 ?        S    09:31   0:00 /usr/sbin/smbd -D
root      9584  0.0  0.0   9972   872 pts/2    S+   10:27   0:00 egrep smbd
09:27:28
#ps aux|egrep smbd
root      3237  0.0  0.0  99960  3424 ?        Ss   08:58   0:00 /usr/sbin/smbd -D
root      3287  0.0  0.0 100476  1328 ?        S    08:58   0:00 /usr/sbin/smbd -D
root      5642  0.0  0.0 102224  3412 ?        S    09:31   0:00 /usr/sbin/smbd -D
root      9605  0.0  0.0   9972   880 pts/2    S+   10:27   0:00 egrep smbd
09:27:49
#/usr/local/bin/
asterisk-festival.pl  l3-agent              l3script
jabber-send           l3-config
09:30:13
#/usr/local/bin/
asterisk-festival.pl  l3-agent              l3script
jabber-send           l3-config
09:30:13
#ls /usr/local/bin/
asterisk-festival.pl  jabber-send  l3-agent  l3-config  l3script  restart-samba
09:30:30
#chown asterisk:asterisk /usr/local/bin/restart-samba

09:31:56
#visudo
  9 Defaults        env_reset
 14
 10 Defaults        mail_badpass
 15 # User alias specification
 11 Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bb
 16
 17 # Cmnd alias specification
 18
 19 # User privilege specification
 20 root    ALL=(ALL:ALL) ALL
 21 asterisk ALL=(ALL:ALL) /usr/local/bin/restart-samba
                 (       ) NOPASSWD: /usr/local/bin/restart-samba
 23 # Allow members of group sudo to execute any command
 24 %sudo   ALL=(ALL:ALL) ALL
"/etc/sudoers.tmp" 28L, 731C записано
09:32:34
#ps aux|egrep smbd
root      9791  0.0  0.0  99960  3396 ?        Ss   10:32   0:00 /usr/sbin/smbd -D
root      9796  0.0  0.0 100476  1320 ?        S    10:32   0:00 /usr/sbin/smbd -D
root      9798  0.0  0.0   9968   876 pts/2    S+   10:32   0:00 egrep smbd
09:33:59
#ps aux|egrep smbd
root      9844  0.0  0.0  99960  3392 ?        Ss   10:33   0:00 /usr/sbin/smbd -D
root      9849  0.0  0.0 100476  1316 ?        S    10:33   0:00 /usr/sbin/smbd -D
root      9861  0.0  0.0   9968   876 pts/2    S+   10:34   0:00 egrep smbd
прошло 96 минут
11:10:44
#asterisk -rx "database put order 1000 2"
Updated database successfully
11:12:46
#asterisk -rvvvv
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
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on vilen (pid = 2781)
...
[Apr 25 12:13:08] WARNING[10174]: file.c:958 ast_streamfile: Unable to open /var/tmp/asterisk/message25 (format 0x4 (ulaw)): No such file or directory
[Apr 25 12:13:08] WARNING[10174]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/3301-00000017 for /var/tmp/asterisk/message25
    -- Executing [8105@gr1:9] Hangup("SIP/3301-00000017", "") in new stack
  == Spawn extension (gr1, 8105, 9) exited non-zero on 'SIP/3301-00000017'
    -- Executing [h@gr1:1] Playback("SIP/3301-00000017", "/etc/asterisk/sound/message") in new stack
[Apr 25 12:13:08] WARNING[10174]: file.c:766 ast_readaudio_callback: Failed to write frame
    -- <SIP/3301-00000017> Playing '/etc/asterisk/sound/message.gsm' (language 'ru')
[Apr 25 12:13:08] WARNING[10174]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/3301-00000017 for /etc/asterisk/sound/message
vilen*CLI> quit
Executing last minute cleanups
11:13:40
#mkdir /var/tmp/asterisk

11:14:14
#asterisk -rvvvv
sm
11:14:56
#mkdir /var/tmp/asterisk
                asterisk -rvvvv
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
...
[Apr 25 12:15:30] WARNING[10245]: file.c:958 ast_streamfile: Unable to open /var/tmp/asterisk/message25 (format 0x4 (ulaw)): No such file or directory
[Apr 25 12:15:30] WARNING[10245]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/3301-00000019 for /var/tmp/asterisk/message25
    -- Executing [8105@gr1:9] Hangup("SIP/3301-00000019", "") in new stack
  == Spawn extension (gr1, 8105, 9) exited non-zero on 'SIP/3301-00000019'
    -- Executing [h@gr1:1] Playback("SIP/3301-00000019", "/etc/asterisk/sound/message") in new stack
[Apr 25 12:15:30] WARNING[10245]: file.c:766 ast_readaudio_callback: Failed to write frame
    -- <SIP/3301-00000019> Playing '/etc/asterisk/sound/message.gsm' (language 'ru')
[Apr 25 12:15:30] WARNING[10245]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/3301-00000019 for /etc/asterisk/sound/message
vilen*CLI> quit
Executing last minute cleanups
11:24:37
#mkdir /var/tmp/asterisk

11:24:37
#asterisk -rvvvv
 50 exten => 8105,n,Playback(/var/tmp/asterisk/message21)
 58
~   ; 8026 => Введите номер на который буÐдет осуществляться перенаправленÐие
 59
 61 ; 8028 => будет осущестÐмер
~
 63 exten => 8106,1,Answer
 64 exten => 8106,n,Read(MOBILE,/var/tmp/asterisk/message26)
 65 exten => 8106,n,Set(DB(mobile/${CALLERID(num)})=${MOBILE})
 66 exten => 8106,n,Playback(/var/tmp/asterisk/message27)
...
 69 exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)}})
~
~
~
~
~
~
~
~
"/etc/asterisk/extensions.conf.internal" 69L, 2581C записано
11:25:15
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-8681.22712.32546	2014-04-25 12:25:17.086533712 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-25 12:25:32.398533874 +0300
@@ -55,7 +55,6 @@
 exten => 8105,n(not_found),Playback(/var/tmp/asterisk/message25)
 exten => 8105,n,Hangup
 
-
 ; 8026 => Введите номер на который будет осуществляться перенаправление
 ; 8027 => Перенаправление с номера
 ; 8028 => будет осуществляться на номер 
@@ -66,4 +65,4 @@
 exten => 8106,n,Playback(/var/tmp/asterisk/message27)
 exten => 8106,n,SayDigits(${CALLERID(num)}) 
 exten => 8106,n,Playback(/var/tmp/asterisk/message28)
-exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)}})
+exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)})})
прошла 71 минута
12:36:33
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-8681.20784.24481	2014-04-25 13:36:37.674584373 +0300
+++ /etc/asterisk/extensions.conf	2014-04-25 14:08:24.930606966 +0300
@@ -12,7 +12,48 @@
 
 #include "/etc/asterisk/extensions.conf.macro-localcall"
 #include "/etc/asterisk/extensions.conf.internal"
-#include "/etc/asterisk/extensions.conf.local"
+exten => 8200,1,Goto(menu,s,1
+
+[menu]
+
+; 8001 Приветствие (Здравствуйте, вы позвонили в компанию Белочки и Бурундуки)
+; 8002 Главное меню (нажмите 1, ...)
+; 8003 Сделайте свой выбор
+; 8004 Таймаут (слишком долго думаете, до связи)
+; 8005 Неверный выбор
+exten => s,1,Answer
+exten => s,n,Background(/var/tmp/asterisk/message01)
+exten => s,n,WaitExten(1)
+exten => s,n(menu),Background(/var/tmp/asterisk/message02)
+exten => s,n,WaitExten(3)
+exten => s,n,Background(/var/tmp/asterisk/message03)
+exten => s,n,WaitExten(3)
+exten => s,n,Background(/var/tmp/asterisk/message04)
+exten => s,n,Hangup 
+
+exten => i,n,Background(/var/tmp/asterisk/message05)
+exten => i,n,WaitExten(1) 
+exten => i,n,Goto(s,menu) 
+
+exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/belka.txt)
+
+exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/burunduki.txt)
+
+exten => 3,1,Answer
+exten => 3,n,Read(ORDER_ID,/var/tmp/asterisk/message20)
+exten => 3,n,Playback(/var/tmp/asterisk/message21)
+exten => 3,n,SayDigits(${ORDER_ID})
+exten => 3,n,GotoIf($[${DB(order/${ORDER_ID})}z=z]?not_found)
+exten => 3,n,Playback(/var/tmp/asterisk/message2${DB(order/${ORDER_ID})})
+exten => 3,n,Hangup
+exten => 3,n(not_found),Playback(/var/tmp/asterisk/message25)
+exten => 3,n,Hangup
+
+exten => 9,1,Goto(s,menu)
+
+
+
+include "/etc/asterisk/extensions.conf.local"
 #include "/etc/asterisk/extensions.conf.national"
 #include "/etc/asterisk/extensions.conf.international"
 #include "/etc/asterisk/extensions.conf.failback"
прошло 32 минуты
13:08:48
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-8681.32648.31392	2014-04-25 14:08:50.710607250 +0300
+++ /etc/asterisk/extensions.conf	2014-04-25 14:09:03.394607402 +0300
@@ -53,7 +53,7 @@
 
 
 
-include "/etc/asterisk/extensions.conf.local"
+#include "/etc/asterisk/extensions.conf.local"
 #include "/etc/asterisk/extensions.conf.national"
 #include "/etc/asterisk/extensions.conf.international"
 #include "/etc/asterisk/extensions.conf.failback"
13:09:08
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-8681.23129.16864	2014-04-25 14:10:10.830608230 +0300
+++ /etc/asterisk/extensions.conf	2014-04-25 14:10:48.794608652 +0300
@@ -12,7 +12,7 @@
 
 #include "/etc/asterisk/extensions.conf.macro-localcall"
 #include "/etc/asterisk/extensions.conf.internal"
-exten => 8200,1,Goto(menu,s,1
+exten => 8200,1,Goto(menu,s,1)
 
 [menu]
 
13:10:51
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-8681.2026.27279	2014-04-25 14:10:53.490608702 +0300
+++ /etc/asterisk/extensions.conf	2014-04-25 14:13:58.474610889 +0300
@@ -31,13 +31,13 @@
 exten => s,n,Background(/var/tmp/asterisk/message04)
 exten => s,n,Hangup 
 
-exten => i,n,Background(/var/tmp/asterisk/message05)
+exten => i,1,Background(/var/tmp/asterisk/message05)
 exten => i,n,WaitExten(1) 
 exten => i,n,Goto(s,menu) 
 
-exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/belka.txt)
+exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/belka.txt)
 
-exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl /home/user/burunduki.txt)
+exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/home/user/burunduki.txt)
 
 exten => 3,1,Answer
 exten => 3,n,Read(ORDER_ID,/var/tmp/asterisk/message20)
13:14:03
#vim /etc/asterisk/extensions.conf
прошло 30 минут
13:44:14
#vim /etc/asterisk/extensions.conf.interna
13:44:14
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-8681.24209.8379	2014-04-25 14:44:22.086632485 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-25 14:44:53.058632839 +0300
@@ -66,3 +66,17 @@
 exten => 8106,n,SayDigits(${CALLERID(num)}) 
 exten => 8106,n,Playback(/var/tmp/asterisk/message28)
 exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)})})
+
+
+;
+; Время:
+;  * время дня                                                                                        |
+;  * день недели
+;  * день месяца
+;  * месяц
+; если вы пишете *, это значит любое подходит                                                         |
+
+exten => 8200,1,GotoIfTime(9:00-17:00,mon-fri,*,*?open)
+exten => 8200,n,Goto(menu,s,1)
+exten => 8200,n(open),Dial(SIP/1201)
+
13:44:53
#vim /etc/asterisk/extensions.conf
13:45:07
# 22 [ 8004 Ð]аймаут (слишком долго думаете, до связи)
exten => 8106,n,Set(DB(mobile/${CALLERID(num)})=${MOBILE})
exten => 8106,n,Playback(/var/tmp/asterisk/message27)
exten => 8106,n,SayDigits(${CALLERID(num)})
exten => 8106,n,Playback(/var/tmp/asterisk/message28)
exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)})})
exten => 8200,n,Goto(menu,s,1)
exten => 8200,n(open),Dial(SIP/1201)
~
~
~
~
~
~
~
"/etc/asterisk/extensions.conf.internal" 76L, 2862C записано
13:46:03
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-8681.18674.22965	2014-04-25 14:46:05.302633691 +0300
+++ /etc/asterisk/extensions.conf	2014-04-25 14:47:02.442634369 +0300
@@ -12,7 +12,12 @@
 
 #include "/etc/asterisk/extensions.conf.macro-localcall"
 #include "/etc/asterisk/extensions.conf.internal"
-exten => 8200,1,Goto(menu,s,1)
+;exten => 8200,1,Goto(menu,s,1)
+
+exten => 8200,1,GotoIfTime(9:00-17:00,mon-fri,*,*?open)
+exten => 8200,n,Goto(menu,s,1)
+exten => 8200,n(open),Dial(SIP/1201)
+
 
 [menu]
 
13:47:02
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-8681.9475.2833	2014-04-25 14:47:03.990634432 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-25 14:47:16.082634579 +0300
@@ -66,11 +66,3 @@
 exten => 8106,n,SayDigits(${CALLERID(num)}) 
 exten => 8106,n,Playback(/var/tmp/asterisk/message28)
 exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)})})
-
-;  * месяц
-; если вы пишете *, это значит любое подходит                                                         |
-
-exten => 8200,1,GotoIfTime(9:00-17:00,mon-fri,*,*?open)
-exten => 8200,n,Goto(menu,s,1)
-exten => 8200,n(open),Dial(SIP/1201)
-
13:47:25
#vim /etc/asterisk/m
13:47:25
#vim /etc/asterisk/musiconhold.conf
--- /tmp/l3-saved-8681.14939.2554	2014-04-25 15:06:12.814647991 +0300
+++ /etc/asterisk/musiconhold.conf	2014-04-25 15:08:42.006649755 +0300
@@ -44,7 +44,7 @@
 
 [default]
 mode=files
-directory=moh
+directory=/var/lib/asterisk/moh
 ;
 ;[native-random]
 ;mode=files
прошло 23 минуты
14:11:09
#ls /etc/asterisk/
adsi.conf                        festival.conf
agents.conf                      followme.conf
ais.conf                         func_odbc.conf
alarmreceiver.conf               gtalk.conf
alsa.conf                        h323.conf
amd.conf                         http.conf
app_mysql.conf                   iax.conf
asterisk.adsi                    iaxprov.conf
asterisk.conf                    indications.conf
calendar.conf                    jabber.conf
...
extensions.conf.failback         sla.conf
extensions.conf.internal         smdi.conf
extensions.conf.international    sound
extensions.conf.local            telcordia-1.adsi
extensions.conf.macro-localcall  udptl.conf
extensions.conf.national         unistim.conf
extensions.conf.SAVE             users.conf
extensions.lua.SAVE              voicemail.conf
extensions_minivm.conf           vpb.conf
features.conf

Суббота (04/26/14)

07:52:08
#ls /etc/asterisk/|less
/dev/pts/1
07:57:30
#vim /etc/asterisk/agents.conf
прошло 12 минут
08:09:57
#~
 83 ;
 84 ; The format to be used to record the calls: wav, gsm, wav49.
 85 ; By default its "wav".
 86 ;recordformat=gsm
 87 ;
 88 ; The text to be added to the name of the recording. Allows forming a url link.
 89 ;urlprefix=http://localhost/calls/
 90 ;
 91 ; The optional directory to save the conversations in. The default is
 92 ; /var/spool/asterisk/monitor
...
~
~
~
~
~
~
~
~
~
"/etc/asterisk/agents.conf" 107L, 2790C записано
08:11:19
#vim /etc/asterisk/extensions.
08:11:19
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-14044.1263.29112	2014-04-26 09:11:48.219418915 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-26 09:12:20.407419299 +0300
@@ -66,3 +66,6 @@
 exten => 8106,n,SayDigits(${CALLERID(num)}) 
 exten => 8106,n,Playback(/var/tmp/asterisk/message28)
 exten => 8106,n,SayDigits(${DB(mobile/${CALLERID(num)})})
+
+exten => _83XX,1,Answer
+exten => _83XX,n,AgentLogin(0${EXTEN:2})
08:12:20
#vim /etc/asterisk/extensions.conf.internal
--- /tmp/l3-saved-14044.9120.26135	2014-04-26 09:14:52.043421101 +0300
+++ /etc/asterisk/extensions.conf.internal	2014-04-26 09:15:11.631421326 +0300
@@ -69,3 +69,8 @@
 
 exten => _83XX,1,Answer
 exten => _83XX,n,AgentLogin(0${EXTEN:2})
+
+; exten => 8307,n,AgentLogin(007)
+; exten => 8308,n,AgentLogin(008)
+; exten => _83XY,n,AgentLogin(0XY)
+; XY = ${EXTEN:2}  
08:16:44
#asterisk -rvvvv
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
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on vilen (pid = 14323)
Verbosity was 0 and is now 4
vilen*CLI> agent show
007          (James Bond) not logged in (musiconhold is 'default')
1 agents configured [0 online , 1 offline]
vilen*CLI> agent
logoff  show
vilen*CLI> agent
logoff  show
vilen*CLI> quit
Executing last minute cleanups

Файлы

  • /usr/local/bin/jabber-send
  • /usr/local/bin/jabber-send
    >
    #!/bin/sh
    # $1 -- JID (Jabber-ID) of recipient
    # STDIN -- message
    /usr/bin/sendxmpp -f /var/lib/asterisk/.sendxmpprc "$1"
    

    Статистика

    Время первой команды журнала15:32:23 2014- 4-24
    Время последней команды журнала08:16:44 2014- 4-26
    Количество командных строк в журнале76
    Процент команд с ненулевым кодом завершения, % 3.95
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 3.00
    Количество командных строк в единицу времени, команда/мин 0.42
    Частота использования команд
    vim24|======================| 22.86%
    ps14|=============| 13.33%
    egrep8|=======| 7.62%
    asterisk8|=======| 7.62%
    grep7|======| 6.67%
    awk6|=====| 5.71%
    apt-get5|====| 4.76%
    '}4|===| 3.81%
    mkdir3|==| 2.86%
    visudo3|==| 2.86%
    ls3|==| 2.86%
    /usr/local/bin/2|=| 1.90%
    echo2|=| 1.90%
    ~2|=| 1.90%
    apt-cache2|=| 1.90%
    usermod2|=| 1.90%
    }1|| 0.95%
    chown1|| 0.95%
    jabber-send1|| 0.95%
    export1|| 0.95%
    less1|| 0.95%
    cat1|| 0.95%
    sed1|| 0.95%
    221|| 0.95%
    .sendxmpprc1|| 0.95%
    {EXTEN:2}:gsm,5)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$