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

Содержание

Журнал

Четверг (11/27/14)

/dev/pts/5
09:21:51
#~
; 8015 => комната 115
; так 10 разных комнат
; 10 это для примера
exten => _801X,1,MeetMe(10${EXTEN:3})
exten => 8400,1,System(touch /tmp/someone-called-8400)
; и всё сразу же видно
/var/tmp/belki.txt
; тут хорошо видно что это одна строка, хотя мы думали что две
exten => _3391,1,NoOp(Conferences for external users)
exten => _3391,n,MeetMe(10${EXTEN:3})
exten => _3391,n,Hangup
exten => 3392,1,Dial(SIP/3301&SIP/3302)
; звонки на локальные номера
exten => _33XX,1,NoOp(Local Phones)
)
; Monitor выполняет запись звонка
; сначала создаём имя файла:
; её нужно вызывать до Dial
; кому звонили, кто звонил и время
-- INSERT --XX,n,Dial(SIP/${EXTEN},5,tT)                                                       40,1          37%
09:25:55
##7, юрий: неправильно, используйте .txt, не .wav; .wav генерится налету

09:26:21
##тут смысл как раз в том, чтобы файл динамически генерился

09:26:41
#â„#иначеРможно самому надиктовать

09:31:03
#all grep AGI /etc/asterisk/extensions.conf
1: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt)
1: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt)
2: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt)
2: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt)
4: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl, /var/tmp/belki.txt)
4: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl, /var/tmp/burunduki.txt)
5: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt)
5: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt)
6: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt)
6: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt)
7: exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/belki.txt)
7: exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl /var/tmp/burunduki.txt)
8: exten => 8303,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt)
8: exten => 8304,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt)
09:31:06
##all ls -ld /var/

09:31:35
## машины 3 и 8 забыли это:

09:31:49
## chown asterisk:asterisk /var/lib/asterisk/sounds/tts

09:34:57
## 2 3 о пока не сделали остальные сделали

09:35:44
#_ +1 +4 + 5 +6 +7 +8
+1 +4 + 5 +6 +7 +8
09:36:56
#all ls -l /var/lib/asterisk/sounds/tts/ | ff
2: total 9888
2: -rw-rw---- 1 asterisk asterisk    7077 Nov 27 10:36 say-text-720081e59689e875d48d74392fff12cd.txt
2: -rw-rw---- 1 asterisk asterisk    8155 Nov 27 10:36 say-text-7726ca6e8145e83a1ac38cadb9e05613.txt
2: -rw-rw---- 1 asterisk asterisk 4720692 Nov 27 10:36 tts-720081e59689e875d48d74392fff12cd.wav
2: -rw-rw---- 1 asterisk asterisk 5383632 Nov 27 10:36 tts-7726ca6e8145e83a1ac38cadb9e05613.wav
3: total 0
5: total 9892
5: -rw-r--r-- 1 root     root       19642 Nov 27 10:20 tts-4469b2a097c9ae5657bd02b5d206b1c9.wav
5: -rw-rw---- 1 asterisk asterisk 4720692 Nov 27 10:30 tts-720081e59689e875d48d74392fff12cd.wav
5: -rw-rw---- 1 asterisk asterisk 5383632 Nov 27 10:31 tts-7726ca6e8145e83a1ac38cadb9e05613.wav
09:37:15
#all ls -l /var/lib/asterisk/sounds/tts/ | ff
3: total 0
09:37:18
#all ls -l /var/lib/asterisk/sounds/tts/ | ff
3: total 4612
3: -rw-rw---- 1 asterisk asterisk 4720692 Nov 27 10:39 tts-720081e59689e875d48d74392fff12cd.wav
прошло 47 минут
10:24:40
#alsamixer

10:24:43
#ssh m1
l3-agent is already running: pid=3671; pidfile=/root/.lilalo/l3-agent.pid
10:24:56
#
exit
Connection to m1 closed.
10:24:58
#alsamixer
cannot open mixer: No such file or directory
10:25:00
#alsamixer
cannot open mixer: No such file or directory
10:25:04
#ssh m2
Linux debian2 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Nov 27 11:18:56 2014 from 192.168.12.254
l3-agent is already running: pid=4188; pidfile=/root/.lilalo/l3-agent.pid
10:25:20
#less /var/log/messages
10:27:14
## azx_acquire

10:27:16
#lspci | grep Audio
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Trinity HDMI Audio Controller
00:14.2 Audio device: Advanced Micro Devices [AMD] FCH Azalia Controller (rev 01)
10:27:22
#uptime
 11:28:09 up 2 days,  2:11,  8 users,  load average: 2.14, 2.58, 2.59
10:28:09
#exit
exit
Connection to m2 closed.
10:28:42
#grep Record /etc/asterisk/extensions.conf
exten => _81XX,1,Record(/var/tmp/asterisk/record00:gsm,3)
10:33:03
#_ ГСоздание голосового меню

10:40:34
#all 'ls -l /var/tmp/record*'
1: ls: cannot access /var/tmp/record*: No such file or directory
2: ls: cannot access /var/tmp/record*: No such file or directory
3: ls: cannot access /var/tmp/record*: No such file or directory
4: ls: cannot access /var/tmp/record*: No such file or directory
5: ls: cannot access /var/tmp/record*: No such file or directory
6: ls: cannot access /var/tmp/record*: No such file or directory
7: ls: cannot access /var/tmp/record*: No such file or directory
8: ls: cannot access /var/tmp/record*: No such file or directory
10:40:48
#all 'ls -l /var/tmp/asterisk/record*'
1: -rw-rw---- 1 asterisk asterisk 6072 Nov 27 11:40 /var/tmp/asterisk/record00.gsm
1: -rw-rw---- 1 asterisk asterisk 1485 Nov 25 12:24 /var/tmp/asterisk/record02.gsm
2: -rw-rw---- 1 asterisk asterisk 5907 Nov 25 12:25 /var/tmp/asterisk/record01.gsm
3: -rw-rw---- 1 asterisk asterisk  4620 Nov 25 12:31 /var/tmp/asterisk/record00.gsm
3: -rw-rw---- 1 asterisk asterisk   759 Nov 27 11:40 /var/tmp/asterisk/record01.gsm
3: -rw-rw---- 1 asterisk asterisk 13662 Nov 26 12:16 /var/tmp/asterisk/record02.gsm
4: -rw-rw---- 1 asterisk asterisk 1221 Nov 26 12:20 /var/tmp/asterisk/record00.gsm
5: -rw-rw---- 1 asterisk asterisk 5049 Nov 25 12:19 /var/tmp/asterisk/record00.gsm
5: -rw-rw---- 1 asterisk asterisk 8019 Nov 27 11:40 /var/tmp/asterisk/record01.gsm
5: -rw-rw---- 1 asterisk asterisk 1650 Nov 26 14:36 /var/tmp/asterisk/record10.gsm
6: -rw-rw---- 1 asterisk asterisk 7854 Nov 27 11:39 /var/tmp/asterisk/record01.gsm
7: -rw-rw---- 1 asterisk asterisk 1914 Nov 26 12:22 /var/tmp/asterisk/record00.gsm
8: ls: cannot access /var/tmp/asterisk/record*: No such file or directory
10:40:55
#all 'ls -l /var/tmp/asterisk/record*'
1: -rw-rw---- 1 asterisk asterisk    0 Nov 27 11:41 /var/tmp/asterisk/record00.gsm
1: -rw-rw---- 1 asterisk asterisk 1485 Nov 25 12:24 /var/tmp/asterisk/record02.gsm
2: -rw-rw---- 1 asterisk asterisk 0 Nov 27 11:40 /var/tmp/asterisk/record01.gsm
3: -rw-rw---- 1 asterisk asterisk  4620 Nov 25 12:31 /var/tmp/asterisk/record00.gsm
3: -rw-rw---- 1 asterisk asterisk  1617 Nov 27 11:40 /var/tmp/asterisk/record01.gsm
3: -rw-rw---- 1 asterisk asterisk 13662 Nov 26 12:16 /var/tmp/asterisk/record02.gsm
4: -rw-rw---- 1 asterisk asterisk 1221 Nov 26 12:20 /var/tmp/asterisk/record00.gsm
5: -rw-rw---- 1 asterisk asterisk 5049 Nov 25 12:19 /var/tmp/asterisk/record00.gsm
5: -rw-rw---- 1 asterisk asterisk 8019 Nov 27 11:40 /var/tmp/asterisk/record01.gsm
5: -rw-rw---- 1 asterisk asterisk 1650 Nov 26 14:36 /var/tmp/asterisk/record10.gsm
6: -rw-rw---- 1 asterisk asterisk 7854 Nov 27 11:39 /var/tmp/asterisk/record01.gsm
7: -rw-rw---- 1 asterisk asterisk 1914 Nov 26 12:22 /var/tmp/asterisk/record00.gsm
8: ls: cannot access /var/tmp/asterisk/record*: No such file or directory
10:41:29
## теперь делаем меню

прошло 46 минут
11:28:00
#all 'grep "Goto(menu" /etc/asterisk/extensions.conf'
1: exten => 0,1,Goto(menu,1,start)
1: exten => 8405,1,Goto(menu,s,1)
2: exten => 8405,1,Goto(menu,s,1)
3: exten => 8405,1,Goto(menu,s,1)
4: exten => 0,1,Goto(menu,1,start)
4: exten => 8405,1,Goto(menu,s,1)
6: exten => 8405,1,Goto(menu,s,1)
7: exten => 8405,1,Goto(menu,s,1)
8: exten => 0,1,Goto(menu,1,start)
8: exten => 8405,1,Goto(menu,s,1)
11:28:02
#_ +8
+8
11:28:08
#_ +2
+2
11:30:47
#_ +4
+4
11:32:25
#_ last
Создание голосового меню                           1:-- 2:OK 3:-- 4:OK 5:-- 6:-- 7:-- 8:OK
прошло 30 минут
12:02:55
#_ +1
+1
прошло 12 минут
12:15:24
#_ last
Создание голосового меню                           1:OK 2:OK 3:-- 4:OK 5:-- 6:-- 7:-- 8:OK
12:15:25
#_ +7
+7
прошло 24 минуты
12:39:42
#_ last
Создание голосового меню                           1:OK 2:OK 3:-- 4:OK 5:-- 6:-- 7:OK 8:OK
12:40:40
#_ +3
+3
12:41:49
#-- INSERT --

12:42:50
## NoSQL-база данных ключ/значение

12:43:45
#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 debian0 (pid = 15667)
...
debian0*CLI> database get example a
Value: 10
debian0*CLI> data
data      database
debian0*CLI> database del
del      deltree
debian0*CLI> database del example a
Database entry removed.
debian0*CLI> quit
Executing last minute cleanups
12:45:34
#ls /var/run/asterisk/
alt.asterisk.canary.tweet.tweet.tweet  asterisk.ctl  asterisk.pid
12:45:45
#ls /var/spool/asterisk/
dictate  meetme  monitor  outgoing  system  tmp  voicemail
12:45:52
#find /var -name asterisk
/var/cache/approx/debian/pool/main/a/asterisk
/var/tmp/asterisk
/var/log/asterisk
/var/spool/asterisk
/var/lib/asterisk
12:45:59
#ls /var/lib/asterisk/
astdb  moh  sounds  sqlite.db
12:46:07
#ls /var/lib/asterisk/astdb
/var/lib/asterisk/astdb
12:46:18
#file /var/lib/asterisk/astdb
/var/lib/asterisk/astdb: Berkeley DB 1.85/1.86 (Btree, version 3, native byte-order)
12:46:57
#asterisk -rx "database put order 1 9"
Updated database successfully
12:48:33
#asterisk -rx "database put order 2 10"
Updated database successfully
12:48:37
## заказ 1 в состояниÑи 9

12:48:45
## заказ 2 в Ðсостоянии 10

12:49:19
## заполним базу случайными числами

12:49:25
## заказы от 3 до 20

12:50:11
## 18 заказов в слÐучайном состоянии 9 или 10

12:50:29
#asterisk -rx 'get database get order 5'
No such command 'get database get order 5' (type 'core show help get database' for other possible commands)
12:50:43
#asterisk -rx 'database get order 5'
Value: 9
12:50:49
#asterisk -rx 'database get order 6'
Value: 9
12:50:55
#asterisk -rx 'database get order 7'
Value: 10
12:54:23
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3108.9524.12690	2014-11-27 06:54:31.680247571 -0500
+++ /etc/asterisk/extensions.conf	2014-11-27 07:01:30.188260218 -0500
@@ -58,7 +58,12 @@
 ; в этом месте всегда будет готовроить "заказ не существует"
 ; позже нужно будеть подключить базу данных
 ; из которой будут браться состояния заказов
-exten => 3,n,Playback(/var/tmp/asterisk/record10)
+
+; обращение к БД из плана набора:
+; ${DB(db_name/key)}
+; dn_name = order в нашем случае
+; key = в нашем случае введённый номер заказа
+exten => 3,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})})
 
 ; если нажали 4, идём на операторов
 ; пока что тоже не работает, потому что очередь звонков queue1
13:01:31
#_ +4
+4
13:01:34
#_ last
Использование внутренней базы данных Asterisk      1:-- 2:-- 3:-- 4:OK 5:-- 6:-- 7:-- 8:--
13:06:52
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3108.2689.24961	2014-11-27 07:06:57.800270117 -0500
+++ /etc/asterisk/extensions.conf	2014-11-27 07:16:05.600286671 -0500
@@ -63,9 +63,14 @@
 ; ${DB(db_name/key)}
 ; dn_name = order в нашем случае
 ; key = в нашем случае введённый номер заказа
-exten => 3,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})})
+; довольно хитрая конструкция:
+; $[ a = b ]? label
+exten => 3,n,GotoIf($["${DB(order/${ORDER})}" = ""]?unknown_order)
+exten => 3,n,Playback(/var/tmp/asterisk/record0${DB(order/${ORDER})})
+exten => 3,n,Hangup
+exten => 3,n(unknown_order),Playback(/var/tmp/asterisk/record10)
 
-; если нажали 4, идём на операторов
+ если нажали 4, идём на операторов
 ; пока что тоже не работает, потому что очередь звонков queue1
 ; не настроена, будет работать в следующем пункте
 exten => 4,1,Queue(queue1)
@@ -207,3 +212,4 @@
 include => local
 include => national
 include => international
+toIf($[${DB(order/${ORDER})} = ""]?unknown_order)
прошло 10 минут
13:17:39
#_ las

13:17:51
#_ last
las                                                1:-- 2:-- 3:-- 4:-- 5:-- 6:-- 7:-- 8:--
13:17:52
#vim /opt/course-scripts/log/course-console.log
--- /tmp/l3-saved-3108.3689.16062	2014-11-27 07:18:01.728290179 -0500
+++ /opt/course-scripts/log/course-console.log	2014-11-27 07:18:06.116290312 -0500
@@ -152,4 +152,3 @@
 Thu Nov 27 06:42:50 EST 2014 task Использование внутренней базы данных Asterisk
 Thu Nov 27 07:01:34 EST 2014 +4
 Thu Nov 27 07:17:39 EST 2014 +8
-Thu Nov 27 07:17:51 EST 2014 task las
13:18:17
#_ last
Использование внутренней базы данных Asterisk      1:-- 2:-- 3:-- 4:OK 5:-- 6:-- 7:OK 8:OK
прошло 11 минут
13:29:47
#_ +2
+2
прошло 10 минут
13:40:40
#_ last
Использование внутренней базы данных Asterisk      1:-- 2:OK 3:-- 4:OK 5:-- 6:OK 7:OK 8:OK
13:41:47
#_ +5
+5
13:44:26
#_ +1
+1
13:46:03
#_ last
Использование внутренней базы данных Asterisk      1:OK 2:OK 3:-- 4:OK 5:OK 6:OK 7:OK 8:OK
13:46:49
#_ Очередь звонкÐов

13:47:19
#ls -l /etc/asterisk/queue
ls: cannot access /etc/asterisk/queue: No such file or directory
13:47:24
#ls -l /etc/asterisk/queues.conf
-rw-r----- 1 asterisk asterisk 23843 Jan  3  2014 /etc/asterisk/queues.conf
13:47:25
#grep Queue /etc/asterisk/extensions.conf
exten => 4,1,Queue(queue1)
13:47:40
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3108.26502.19805	2014-11-27 07:47:52.592344295 -0500
+++ /etc/asterisk/extensions.conf	2014-11-27 07:48:28.236345375 -0500
@@ -73,7 +73,11 @@
  если нажали 4, идём на операторов
 ; пока что тоже не работает, потому что очередь звонков queue1
 ; не настроена, будет работать в следующем пункте
-exten => 4,1,Queue(queue1)
+
+; есть такой хитрый нюанс:
+; перед вызовом Queue обязательно делать Answer
+exten => 4,1,Answer
+exten => 4,n,Queue(queue1)
 
 ; переход на подменю будет по 5
 
13:48:28
#vim /etc/asterisk/extensions.conf
13:50:07
#exten => s,1,Answer
; listening to more than one queue can differentiated how they should
; engage the customer
;
;announce = queue-markq
;
; A strategy may be specified.  Valid strategies include:
;
; ringall - ring all available channels until one answers (default)
; leastrecent - ring interface which was least recently hung up by this queue
; fewestcalls - ring the one with fewest completed calls from this queue
...
;member => Agent/1002
;member => Local/1000@default,0,John Smith,SIP/1000
;
; 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
13:53:57
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian0 (pid = 15667)
...
No such command 'queue reload' (type 'core show help queue reload' for other possible commands)
debian0*CLI> queue reload
members     parameters  rules       all
debian0*CLI> queue reload
members     parameters  rules       all
debian0*CLI> queue reload all
[Nov 27 07:54:14] NOTICE[27660]: app_queue.c:6476 reload_queue_rules: queuerules.conf has not changed since it was last loaded. Not taking any action.
  == Parsing '/etc/asterisk/queues.conf':   == Found
debian0*CLI> quit
Executing last minute cleanups
13:56:12
#grep -B1 Queue /etc/asterisk/extensions.conf
; есть такой хитрый нюанс:
; перед вызовом Queue обязательно делать Answer
exten => 4,1,Answer
exten => 4,n,Queue(queue1)
13:56:36
#all "grep -A4 queue1 /etc/asterisk/queues.conf"
1: [queue1]
1:
1: member => SIP/1101
1:
1:
2: [queue1]
2:
2: member => SIP/1201
2:
4: [queue1]
...
5: [queue1]
5:
5: member => SIP/2201
5:
5:
7: [queue1]
7: member = > SIP/3102
8: [queue1]
8:
8: member => SIP/3202
13:57:22
## 7: = > неправильно, должно быть =>

13:59:06
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-3108.14983.13883	2014-11-27 07:59:29.272365350 -0500
+++ /etc/asterisk/queues.conf	2014-11-27 08:00:26.408367073 -0500
@@ -542,5 +542,8 @@
 
 ; для примера я прописал только один телефон, для начала
 ; имя канала 
-member => SIP/3301
+; member => SIP/3301
 
+; добавим не SIP, а агента:
+; допустим у нас есть только агент 007, а других нет
+member => Agent/007
14:00:27
## пропишем аÐгента 007 в файле /etc/asterisk/agents.conf

14:02:20
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-3108.10770.15799	2014-11-27 08:02:32.116370872 -0500
+++ /etc/asterisk/agents.conf	2014-11-27 08:05:08.280375594 -0500
@@ -103,3 +103,6 @@
 ;
 ;agent => 1001,4321,Mark Spencer
 ;agent => 1002,4321,Will Meadows
+
+; номер агента, пароль, имя
+agent => 007,1234,James Bond
14:05:09
## сделаем чтобы на ангента можно было залогиниться

14:05:18
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3108.28486.663	2014-11-27 08:05:29.912376245 -0500
+++ /etc/asterisk/extensions.conf	2014-11-27 08:09:58.340384356 -0500
@@ -141,6 +141,7 @@
 ; при 8405 переход на меню
 exten => 8405,1,Goto(menu,s,1)
 
+exten => 8407,1,AgentLogin(007)
 
 [local]
 
14:09:58
#asterisk -vvv
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
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Asterisk already running on /var/run/asterisk/asterisk.ctl.  Use 'asterisk -r' to connect.
14:10:03
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian0 (pid = 15667)
Verbosity is at least 4
debian0*CLI>
debian0*CLI> agent
logoff  show
debian0*CLI> agent
logoff  show
debian0*CLI> agent show
No Agents are configured in agents.conf
debian0*CLI> quit
Executing last minute cleanups
14:10:22
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
14:13:50
#all 'asterisk -rx "agent show"'
1: No Agents are configured in agents.conf
1:
2: No Agents are configured in agents.conf
2:
3: No Agents are configured in agents.conf
3:
4: 007          (James Bond) not logged in (musiconhold is 'default')
4: 1 agents configured [0 online , 1 offline]
4:
5: 007          (James Bond) logged in on SIP/2201-00000000 is idle (musiconhold is 'default')
5: 1 agents configured [1 online , 0 offline]
5:
6: 007          (James Bond) not logged in (musiconhold is 'default')
6: 1 agents configured [0 online , 1 offline]
6:
7: 007          (James Bond) not logged in (musiconhold is 'default')
7: 1 agents configured [0 online , 1 offline]
7:
8: 007          (James Bond) logged in on SIP/3201-00000000 talking to SIP/3202-00000001 (musiconhold is 'default')
8: 1 agents configured [1 online , 0 offline]
8:
14:14:02
#less /etc/asterisk/agents.conf
14:15:56
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-3108.10934.22785	2014-11-27 08:15:58.564395243 -0500
+++ /etc/asterisk/agents.conf	2014-11-27 08:20:24.184403270 -0500
@@ -37,6 +37,9 @@
 ;
 ;ackcall=no
 ;acceptdtmf=#
+
+ackcall=no
+
 ;
 ; Define endcall to allow an agent to hangup a call with a
 ; DTMF keypress. Default is "yes". Use the enddtmf option to
14:20:24
#_ +8
+8
14:20:29
#_ +7
+7
14:20:30
#_ last
Очередь звонков                                    1:-- 2:-- 3:-- 4:-- 5:-- 6:-- 7:OK 8:OK
14:20:32
#_ +4
+4
14:21:04
#_ +5
+5
14:24:31
#_ +1
+1

Статистика

Время первой команды журнала09:21:51 2014-11-27
Время последней команды журнала14:24:31 2014-11-27
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 3.96
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 2.97
Количество командных строк в единицу времени, команда/мин 0.57
Частота использования команд
_28|=========================| 25.93%
#14|============| 12.96%
asterisk10|=========| 9.26%
all10|=========| 9.26%
vim9|========| 8.33%
ls6|=====| 5.56%
grep4|===| 3.70%
ff3|==| 2.78%
alsamixer3|==| 2.78%
less2|=| 1.85%
ssh2|=| 1.85%
.wav1|| 0.93%
1|| 0.93%
/etc/init.d/asterisk1|| 0.93%
â„#иначеÐ1|| 0.93%
lspci1|| 0.93%
uptime1|| 0.93%
s,1,Answer1|| 0.93%
неправильно,1|| 0.93%
#тут1|| 0.93%
--1|| 0.93%
~1|| 0.93%
#all1|| 0.93%
find1|| 0.93%
exten1|| 0.93%
file1|| 0.93%
exit1|| 0.93%
#7,1|| 0.93%
____
*) Интервалы неактивности длительностью 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$