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

Содержание

Журнал

Пятница (06/24/11)

/dev/pts/17
09:28:44
#!v
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
register => lvov:password@192.168.107.1/kiev
register => lvov:password@192.168.103.1/paris
[2401]
...
language=de
callgroup=100
pickugroup=100
[2402]
username=lvov
canreinvite=no
context=gr4
callgroup=100
pickugroup=100
type=friend                                                                                                  24,0-1        Top
/dev/pts/8
09:31:45
#!v
register => lvov:password@192.168.107.1/kiev
register => lvov:password@192.168.103.1/paris
[2401]
type=friend
secret=password
host=dynamic
user=2401
callerid="VoIP Phone <2401>"
context=gr3isk/sip.conf" 58L, 866C
mailbox=2401@default
...
secret=password
[paris]namic
[     ]
username=lvov
canreinvite=no
context=gr4
callgroup=100
pickugrou=30
          =30
"sip.conf" 58L, 858C written
/dev/pts/17
09:31:45
#!v
[    ]
[2402]
type=friend
secret=pa=30
          =30
host=dynamic
[2402]402
[    ]
callerid="Softphone <2402>"
context=gr3
...
secret=password
[paris]namic
[     ]
username=lvov
canreinvite=no
context=gr4
callgroup=100
pickugrou=30
          =30
"sip.conf" 58L, 858C written
/dev/pts/0
09:31:45
#!v
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
register => lvov:password@192.168.107.1/kiev
register => lvov:password@192.168.103.1/paris
[2401]
...
[paris]namic
[     ]
username=lvov
canreinvite=no
context=gr4
callgroup=100
pickugrou=30
          =30
"sip.conf" 58L, 858C written
callgroup=100
/dev/pts/16
09:31:45
#!v
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
"/etc/asterisk/sip.conf" 58L, 866C
canreinvite=no
context=gr4
...
          =30
"sip.conf" 58L, 858C written
secret=password
host=dynamic
user=2402
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
callgroup=100
/dev/pts/17
09:32:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/0
09:32:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/16
09:32:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/8
09:32:51
#!ast
asterisk -rx 'sip reload'
09:32:53
#vim /etc/asterisk/extensions.conf
/dev/pts/17
09:32:53
#vim /etc/asterisk/extensions.conf
/dev/pts/0
09:32:53
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-22920.8386.18634	2011-06-24 10:35:37.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-06-24 10:36:11.000000000 +0300
@@ -152,7 +152,7 @@
 exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
 ;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
 ;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
-exten => _24XX,n,Dial(SIP/${EXTEN},10)
+exten => _24XX,n,Dial(SIP/${EXTEN},20)
 exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
 exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?missed_call)
 exten => _24XX,n,Hangup()
/dev/pts/16
09:32:53
#vim /etc/asterisk/extensions.conf
/dev/pts/8
09:36:11
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/17
09:36:11
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/0
09:36:11
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/16
09:36:11
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/8
09:36:21
#asterisk -rx 'sip reload'

/dev/pts/17
09:36:21
#asterisk -rx 'sip reload'

/dev/pts/0
09:36:21
#asterisk -rx 'sip reload'

/dev/pts/16
09:36:21
#asterisk -rx 'sip reload'

/dev/pts/0
09:39:30
#!ast
asterisk -rx 'sip reload'
/dev/pts/16
09:39:30
#!ast
asterisk -rx 'sip reload'
/dev/pts/8
09:39:30
#!ast
asterisk -rx 'sip reload'
/dev/pts/17
09:39:30
#!ast
asterisk -rx 'sip reload'
/dev/pts/0
09:39:31
#!v
[    ]
[2402]
type=friend
secret=pa=20
          =20
host=dynamic
[2402]402
[    ]
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
pickugroup=30
         =20
          =20
[kiev]
[kiev]
type=friend
"sip.conf" 54L, 804C written
/dev/pts/16
09:39:31
#!v
[    ]
[2402]
type=friend
secret=pa=20
          =20
host=dynamic
[2402]402
[    ]
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
pickugroup=30
         =20
          =20
[kiev]
[kiev]
type=friend
"sip.conf" 54L, 804C written
/dev/pts/8
09:39:31
#!v
[    ]
[2402]
type=friend
secret=pa=20
          =20
host=dynamic
[2402]402
[    ]
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
pickugroup=30
         =20
          =20
[kiev]
[kiev]
type=friend
"sip.conf" 54L, 804C written
/dev/pts/17
09:39:31
#!v
[    ]
[2402]
type=friend
secret=pa=20
          =20
host=dynamic
[2402]402
[    ]
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
pickugroup=30
         =20
          =20
[kiev]
[kiev]
type=friend
"sip.conf" 54L, 804C written
/dev/pts/0
09:41:55
#!ast
asterisk -rx 'sip reload'
/dev/pts/16
09:41:55
#!ast
asterisk -rx 'sip reload'
/dev/pts/8
09:41:55
#!ast
asterisk -rx 'sip reload'
/dev/pts/17
09:41:55
#!ast
asterisk -rx 'sip reload'
/dev/pts/0
09:41:57
#!v
    upgroup=20
[kiev]
[2402]
[    ]
secret=password
host=dynamic
username=lvov
canreinvite=no
    upgroup=20
context=gr4
[kiev]
[paris]
[paris]
secret=password
[paris]
host=dynamic
username=lvov
canreinvite=no
"sip.conf" 54L, 806C written
/dev/pts/16
09:41:57
#!v
    upgroup=20
[kiev]
[2402]
[    ]
secret=password
host=dynamic
username=lvov
canreinvite=no
    upgroup=20
context=gr4
[kiev]
[paris]
[paris]
secret=password
[paris]
host=dynamic
username=lvov
canreinvite=no
"sip.conf" 54L, 806C written
/dev/pts/8
09:41:57
#!v
    upgroup=20
[kiev]
[2402]
[    ]
secret=password
host=dynamic
username=lvov
canreinvite=no
    upgroup=20
context=gr4
[kiev]
[paris]
[paris]
secret=password
[paris]
host=dynamic
username=lvov
canreinvite=no
"sip.conf" 54L, 806C written
/dev/pts/17
09:41:57
#!v
    upgroup=20
[kiev]
[2402]
[    ]
secret=password
host=dynamic
username=lvov
canreinvite=no
    upgroup=20
context=gr4
[kiev]
[paris]
[paris]
secret=password
[paris]
host=dynamic
username=lvov
canreinvite=no
"sip.conf" 54L, 806C written
/dev/pts/0
09:45:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/16
09:45:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/8
09:45:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/17
09:45:51
#!ast
asterisk -rx 'sip reload'
/dev/pts/0
09:45:54
#!v
context=gr3isk/sip.conf" 54L, 806C
mailbox=2401@default
language=de
callgroup=20
pickupgroup=20
[2401]
[    ]
[2402]
type=friend
secret=password                ;perehvat
                                ;perehvat
host=dynamic
user=2402
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
"sip.conf" 54L, 846C written
/dev/pts/16
09:45:54
#!v
context=gr3isk/sip.conf" 54L, 806C
mailbox=2401@default
language=de
callgroup=20
pickupgroup=20
[2401]
[    ]
[2402]
type=friend
secret=password                ;perehvat
                                ;perehvat
host=dynamic
user=2402
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
"sip.conf" 54L, 846C written
/dev/pts/8
09:45:54
#!v
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
register => lvov:password@192.168.107.1/kiev
register => lvov:password@192.168.103.1/paris
[2401]
...
type=friend
secret=password                ;perehvat
                                ;perehvat
host=dynamic
user=2402
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
"sip.conf" 54L, 846C written
/dev/pts/17
09:45:54
#!v
[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes
register => lvov:password@192.168.107.1/kiev
register => lvov:password@192.168.103.1/paris
[2401]
...
secret=password
host=dynamic                   ;perehvat
                                ;perehvat
user=2402
callerid="Softphone <2402>"
context=gr3
mailbox=2402@default
language=de
callgroup=20
"sip.conf" 54L, 846C written
/dev/pts/0
09:46:54
#vim /etc/asterisk/queue
/dev/pts/16
09:46:54
#vim /etc/asterisk/queue
/dev/pts/8
09:46:54
#vim /etc/asterisk/queue
/dev/pts/17
09:46:54
#vim /etc/asterisk/queue
/dev/pts/0
09:46:54
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-22920.11980.28882	2011-06-24 11:20:04.000000000 +0300
+++ /etc/asterisk/queues.conf	2011-06-24 11:20:54.000000000 +0300
@@ -498,3 +498,6 @@
 ;member => Agent/:1,1		; Any agent in group 1, wait for first
                                 ; available, but consider with penalty
 
+[queue1]
+member => SIP/2401
+member => SIP/2402
/dev/pts/16
09:46:54
#vim /etc/asterisk/queues.conf
/dev/pts/8
09:46:54
#vim /etc/asterisk/queues.conf
/dev/pts/17
09:46:54
#vim /etc/asterisk/queues.conf
прошло 34 минуты
/dev/pts/18
10:21:04
#vim /etc/asterisk/extensions.conf
/dev/pts/19
10:21:04
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-27557.21090.13847	2011-06-24 11:21:13.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-06-24 11:25:44.000000000 +0300
@@ -145,6 +145,12 @@
 
 
 [local]
+
+exten => 2405,1,Answer
+exten => 2405,n,SetMusicOnHold(default)
+exten => 2405,n,Queue(queue1)
+
+
 ;-----------------------------------LOCAL DIALPLAN
 exten => _24XX,1,Answer
 ;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
/dev/pts/18
10:25:44
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/19
10:25:44
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/18
10:25:54
#asterisk -rx 'sip reload'

/dev/pts/19
10:25:54
#asterisk -rx 'sip reload'

/dev/pts/18
10:25:58
#!v
[lang-menu]
[         ]
exten => s,1,Answer
exten => s,n(startmenu),Background(/var/tmp/asterisk/record10)  ;hi
exten => s,n,WaitExten(1)
exten => 7,1,Set(MENU_LANG=ru)
exten => 7,n,Goto(menu,s,1)
exten => 8,1,Set(MENU_LANG=uk)
exten => 8,n,Goto(menu,s,1)
exten => i,1,Background(/var/tmp/asterisk/record05)     ;error (i-znachit ne izvestnii)
...
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
"/etc/asterisk/extensions.conf" 217L, 7147C written
/dev/pts/19
10:25:58
#!v
exten => s,n,WaitExten(3)
exten => s,n,Background(/var/tmp/asterisk/record09)     ; vy slihkom dolgo zhdete
exten => i,1,Background(/var/tmp/asterisk/record05)     ; oshibka
exten => i,n,WaitExten(1)
exten => i,n,Goto(menu,s,start-menu)
;exten => 1,1,AGI(/usr/local/bin/festival-script.pl, /var/tmp/ru-kiev.txt)
exten => 1,1,Goto(kievmenu,s,1)
exten => 2,1,Goto(submenu,s,1)
exten => 3,1,AGI(/usr/local/bin/festival-script.pl, /var/tmp/ru-asterisk.txt)
exten => 4,1,Playback(/var/tmp/asterisk/record06)        ;svyaz s operatorom
...
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
"/etc/asterisk/extensions.conf" 217L, 7147C written
/dev/pts/8
10:27:08
#member => SIP/1102
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 19127)
...
  == Using SIP RTP CoS mark 5
[Jun 24 11:28:38] WARNING[23269]: chan_sip.c:5467 create_addr: No such host: 2405
[Jun 24 11:28:38] WARNING[23269]: app_dial.c:1747 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2405@gr4:5] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:6] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:7] Hangup("SIP/kiev-00000091", "") in new stack
  == Spawn extension (gr4, 2405, 7) exited non-zero on 'SIP/kiev-00000091'
linux8*CLI> exit
Executing last minute cleanups
/dev/pts/17
10:27:08
#member => SIP/1102
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 19127)
...
  == Using SIP RTP CoS mark 5
[Jun 24 11:28:38] WARNING[23269]: chan_sip.c:5467 create_addr: No such host: 2405
[Jun 24 11:28:38] WARNING[23269]: app_dial.c:1747 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2405@gr4:5] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:6] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:7] Hangup("SIP/kiev-00000091", "") in new stack
  == Spawn extension (gr4, 2405, 7) exited non-zero on 'SIP/kiev-00000091'
linux8*CLI> exit
Executing last minute cleanups
/dev/pts/0
10:27:08
#member => SIP/1102
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 19127)
...
  == Using SIP RTP CoS mark 5
[Jun 24 11:28:38] WARNING[23269]: chan_sip.c:5467 create_addr: No such host: 2405
[Jun 24 11:28:38] WARNING[23269]: app_dial.c:1747 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2405@gr4:5] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:6] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:7] Hangup("SIP/kiev-00000091", "") in new stack
  == Spawn extension (gr4, 2405, 7) exited non-zero on 'SIP/kiev-00000091'
linux8*CLI> exit
Executing last minute cleanups
/dev/pts/16
10:27:08
#member => SIP/1102
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 19127)
...
  == Using SIP RTP CoS mark 5
[Jun 24 11:28:38] WARNING[23269]: chan_sip.c:5467 create_addr: No such host: 2405
[Jun 24 11:28:38] WARNING[23269]: app_dial.c:1747 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2405@gr4:5] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:6] GotoIf("SIP/kiev-00000091", "0?missed_call") in new stack
    -- Executing [2405@gr4:7] Hangup("SIP/kiev-00000091", "") in new stack
  == Spawn extension (gr4, 2405, 7) exited non-zero on 'SIP/kiev-00000091'
linux8*CLI> exit
Executing last minute cleanups
/dev/pts/8
10:30:04
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/17
10:30:04
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/0
10:30:04
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/16
10:30:04
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/18
10:38:36
#vim /etc/asterisk/agents.conf
/dev/pts/19
10:38:36
#vim /etc/asterisk/agents.conf
--- /tmp/l3-saved-27557.25322.32739	2011-06-24 11:40:12.000000000 +0300
+++ /etc/asterisk/agents.conf	2011-06-24 11:40:22.000000000 +0300
@@ -109,5 +109,5 @@
 ;
 ; agent => agentid,agentpassword,name
 ;
-;agent => 1001,4321,Mark Spencer
-;agent => 1002,4321,Will Meadows
+agent => 1001,4321,Mark Spencer
+agent => 1002,4321,Will Meadows
10:40:22
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-27557.19183.16089	2011-06-24 11:41:23.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-06-24 11:42:18.000000000 +0300
@@ -150,6 +150,8 @@
 exten => 2405,n,SetMusicOnHold(default)
 exten => 2405,n,Queue(queue1)
 
+exten => 2406,1,AgentLogin(1001)
+exten => 2406,1,AgentLogin(1002)
 
 ;-----------------------------------LOCAL DIALPLAN
 exten => _24XX,1,Answer
/dev/pts/18
10:40:22
#vim /etc/asterisk/extensions.conf
/dev/pts/19
10:42:18
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-27557.21338.30766	2011-06-24 11:42:29.000000000 +0300
+++ /etc/asterisk/queues.conf	2011-06-24 11:42:58.000000000 +0300
@@ -499,5 +499,6 @@
                                 ; available, but consider with penalty
 
 [queue1]
-member => SIP/2401
-member => SIP/2402
+member => Agent/1101
+;member => SIP/2401
+;member => SIP/2402
/dev/pts/18
10:42:18
#vim /etc/asterisk/queues.conf
/dev/pts/19
10:42:58
#!ast
asterisk -rx 'sip reload'
/dev/pts/18
10:42:58
#!ast
asterisk -rx 'sip reload'
/dev/pts/19
10:43:01
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/18
10:43:01
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
/dev/pts/19
10:43:07
#!v
[general]
;
; Global settings for call queues
;
"/etc/asterisk/queues.conf" 504L, 22521C
; Persistent Members
;    Store each dynamic member in each queue in the astdb so that
;    when asterisk is restarted, each member will be automatically
;    read into their recorded queues. Default is 'yes'.
;
...
;    probably more along the lines of how a queue should work and
;    in most cases, you will want to enable this behavior. If you
;    do not specify or comment out this option, it will default to no
;    to keep backward compatibility with the old behavior.
;
autofill = yes
;
; Monitor Type
;    By setting monitor-type = MixMonitor, when specifying monitor-format
;    to enable recording of queue member conversations, app_queue will
/dev/pts/18
10:43:07
#!v
;    were trying to get to. The next waiting caller in line then
;    becomes the head caller, and they are then connected with the
;    next available member and all available members and waiting callers
;    waits while this happens. The new behavior, enabled by setting
;    autofill=yes makes sure that when the waiting callers are connecting
;    with available members in a parallel fashion until there are
;    no more available members or no more waiting callers. This is
;    probably more along the lines of how a queue should work and
;    in most cases, you will want to enable this behavior. If you
;    do not specify or comment out this option, it will default to no
;    to keep backward compatibility with the old behavior.
;
autofill = yes
;
; Monitor Type
;    By setting monitor-type = MixMonitor, when specifying monitor-format
;    to enable recording of queue member conversations, app_queue will
10:44:00
#;member => SIP/2402
exten => 2405,1,Answer
exten => 2405,n,SetMusicOnHold(default)/record12)       ; incorrect password
exten => 2405,n,Queue(queue1)
exten => 2406,1,AgentLogin(1001)
exten => 2406,1,AgentLogin(1002)
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?missed_call)
/dev/pts/19
10:44:00
#;member => SIP/2402
exten => 2405,1,Answer
exten => 2405,n,SetMusicOnHold(default)/record12)       ; incorrect password
exten => 2405,n,Queue(queue1)
exten => 2406,1,AgentLogin(1001)
exten => 2406,1,AgentLogin(1002)
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?missed_call)
/dev/pts/18
10:45:16
#exten => _24XX,n,Hangup()
;    in that the queue will make all waiting callers wait in the queue
;    even if there is more than one available member ready to take
;    calls until the head caller is connected with the member they
;    were trying to get to. The next waiting caller in line then
;    becomes the head caller, and they are then connected with the
;    next available member and all available members and waiting callers
;    waits while this happens. The new behavior, enabled by setting
;    autofill=yes makes sure that when the waiting callers are connecting
;    with available members in a parallel fashion until there are
;    no more available members or no more waiting callers. This is
...
member => Agent/11012
;member => SIP/240100@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
/dev/pts/19
10:45:16
#exten => _24XX,n,Hangup()
[general]
;
; Global settings for call queues
;
; Persistent Members
;    Store each dynamic member in each queue in the astdb so that
;    when asterisk is restarted, each member will be automatically
;    read into their recorded queues. Default is 'yes'.
;
persistentmembers = yes
...
member => Agent/11012
;member => SIP/240100@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
/dev/pts/18
10:45:24
#;member => SIP/2402
;recordformat=gsm
;
; The text to be added to the name of the recording. Allows forming a url link.
;urlprefix=http://localhost/calls/
;
; The optional directory to save the conversations in. The default is
; /var/spool/asterisk/monitor
;savecallsin=/var/calls
;
; An optional custom beep sound file to play to always-connected agents.
;custom_beep=beep
;
; --------------------------------------------------
;
; This section contains the agent definitions, in the form:
;
; agent => agentid,agentpassword,name
;
agent => 1001,4321,Mark Spencer
/dev/pts/19
10:45:24
#;member => SIP/2402
;
;group=3
;group=1,2
;group=
;
; --------------------------------------------------
; This section is devoted to recording agent's calls
; The keywords are global to the chan_agent channel driver
;
; Enable recording calls addressed to agents. It's turned off by default.
...
; An optional custom beep sound file to play to always-connected agents.
;custom_beep=beep
;
; --------------------------------------------------
;
; This section contains the agent definitions, in the form:
;
; agent => agentid,agentpassword,name
;
agent => 1001,4321,Mark Spencer
/dev/pts/18
10:45:41
#agent => 1002,4321,Will Meadows
/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/19
10:45:41
#agent => 1002,4321,Will Meadows
/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/8
10:45:45
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23649)
...
    -- Music class  requested but no musiconhold loaded.
  == Agent '1001' logged out
  == Spawn extension (gr3, 2406, 1) exited non-zero on 'SIP/2401-00000002'
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000003'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/17
10:45:45
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23649)
...
    -- Music class  requested but no musiconhold loaded.
  == Agent '1001' logged out
  == Spawn extension (gr3, 2406, 1) exited non-zero on 'SIP/2401-00000002'
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000003'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/0
10:45:45
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23649)
...
    -- Music class  requested but no musiconhold loaded.
  == Agent '1001' logged out
  == Spawn extension (gr3, 2406, 1) exited non-zero on 'SIP/2401-00000002'
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000003'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/16
10:45:45
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23649)
...
    -- Music class  requested but no musiconhold loaded.
  == Agent '1001' logged out
  == Spawn extension (gr3, 2406, 1) exited non-zero on 'SIP/2401-00000002'
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000003'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/19
10:48:08
#exten => _24XX,n,Hangup()
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
                          (1001)        ;agenti dlya ocheredei
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?missed_call)
exten => _24XX,n,Hangup()
D(num)})
;exten => _24XX,n(missed_call),System(/usr/local/bin/asterisk-jabber-logger Propuschennyi vyzov s ${CAL
exten => _24XX,n,Wait(1)
;LERID(num)})
exten => _24XX,n,Dial(SIP/kiev/${DB(mobile/${EXTEN})},10,m)
exten => _24XX,n(missed_call),System(/usr/local/bin/asterisk-jabber-logger ${DB(jid/${EXTEN})} Propuschennij zvonok s ${CALLERII
exten => _24XX,n(voicemail),Voicemail(${EXTEN}@default)
"/etc/asterisk/extensions.conf" 219L, 7243C written
/dev/pts/18
10:48:08
#exten => _24XX,n,Hangup()
;-----------------------------------LOCAL DIALPLAN
exten => _24XX,1,Answer
;exten => _24XX,n,Set(MON_FILENAME=record-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)}-${EXTEN}-${CALLER ID(num)})
exten => _24XX,n,Set(MON_FILENAME=record-${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
                          (1001)        ;agenti dlya ocheredei
exten => _24XX,n,Monitor(wav,${MON_FILENAME},m)
;exten => _24XX,n,System(/usr/local/bin/asterisk-jabber-logger Vam zvonyat s ${CALLERID(num)})
;exten => _24XX,n,SetMusicOnHold(${DB(moh/${EXTEN})})
exten => _24XX,n,Dial(SIP/${EXTEN},20)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?missed_call)
exten => _24XX,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?missed_call)
exten => _24XX,n,Hangup()
D(num)})
;exten => _24XX,n(missed_call),System(/usr/local/bin/asterisk-jabber-logger Propuschennyi vyzov s ${CAL
exten => _24XX,n,Wait(1)
;LERID(num)})
exten => _24XX,n,Dial(SIP/kiev/${DB(mobile/${EXTEN})},10,m)
exten => _24XX,n(missed_call),System(/usr/local/bin/asterisk-jabber-logger ${DB(jid/${EXTEN})} Propuschennij zvonok s ${CALLERII
exten => _24XX,n(voicemail),Voicemail(${EXTEN}@default)
"/etc/asterisk/extensions.conf" 219L, 7243C written
/dev/pts/19
10:49:40
#vim /etc/asterisk/queues.conf
--- /tmp/l3-saved-27557.11568.21188	2011-06-24 11:49:46.000000000 +0300
+++ /etc/asterisk/queues.conf	2011-06-24 11:50:03.000000000 +0300
@@ -499,6 +499,6 @@
                                 ; available, but consider with penalty
 
 [queue1]
-member => Agent/1101
+member => Agent/2406
 ;member => SIP/2401
 ;member => SIP/2402
/dev/pts/18
10:49:40
#vim /etc/asterisk/queues.conf
/dev/pts/19
10:50:03
#!/
/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/18
10:50:03
#!/
/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/pts/8
10:50:05
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23847)
...
    -- Executing [2405@gr3:2] SetMusicOnHold("SIP/2402-00000008", "default") in new stack
    -- Executing [2405@gr3:3] Queue("SIP/2402-00000008", "queue1") in new stack
    -- Music class  requested but no musiconhold loaded.
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000008'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/17
10:50:05
#asterisk -rvvvvvvvvvvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux8 (pid = 23847)
...
    -- Executing [2405@gr3:2] SetMusicOnHold("SIP/2402-00000008", "default") in new stack
    -- Executing [2405@gr3:3] Queue("SIP/2402-00000008", "queue1") in new stack
    -- Music class  requested but no musiconhold loaded.
    -- Remote UNIX connection
  == Spawn extension (gr3, 2405, 3) exited non-zero on 'SIP/2402-00000008'
Executing last minute cleanups
  == Destroying musiconhold processes
linux8*CLI>
Disconnected from Asterisk server
Executing last minute cleanups

Статистика

Время первой команды журнала09:28:44 2011- 6-24
Время последней команды журнала10:50:05 2011- 6-24
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 0.00
Процент синтаксически неверно набранных команд, % 0.00
Суммарное время работы с терминалом *, час 0.79
Количество командных строк в единицу времени, команда/мин 2.14
Частота использования команд
vim22|===================| 19.13%
!v21|==================| 18.26%
asterisk20|=================| 17.39%
!ast18|===============| 15.65%
member8|======| 6.96%
24024|===| 3.48%
/etc/init.d/asterisk4|===| 3.48%
exten4|===| 3.48%
_24XX,n,Hangup()4|===| 3.48%
11024|===| 3.48%
1002,4321,Will2|=| 1.74%
!/2|=| 1.74%
agent2|=| 1.74%
____
*) Интервалы неактивности длительностью 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$