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

Содержание

Журнал

Четверг (05/27/10)

/dev/pts/7
15:04:05
#/etc/init.d/festival start
Starting Festival server: festival.
/dev/pts/2
15:04:05
#/etc/init.d/festival start
Starting Festival server: festival.
15:06:27
#~

/dev/pts/8
15:06:27
#~

/dev/pts/7
15:06:27
#~

/dev/pts/2
15:06:40
#~

/dev/pts/8
15:06:40
#~

/dev/pts/7
15:06:40
#~

/dev/pts/2
15:06:59
#~
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
~
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
...
~
~
~
~
~
~
~
~
~
"/etc/festival.scm" [New] 15L, 586C written
/dev/pts/8
15:06:59
#~
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
~
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
...
~
~
~
~
~
~
~
~
~
"/etc/festival.scm" [New] 15L, 586C written
/dev/pts/7
15:06:59
#~
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
~
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
...
~
~
~
~
~
~
~
~
~
"/etc/festival.scm" [New] 15L, 586C written
/dev/pts/2
15:08:54
#vim /etc/festival.scm
/dev/pts/8
15:08:54
#vim /etc/festival.scm
/dev/pts/7
15:08:54
#vim /etc/festival.scm
/dev/pts/2
15:09:06
#/etc/init.d/festival restart
Restarting Festival server: festivalNo /usr/bin/festival found running; none killed.
.
/dev/pts/8
15:09:06
#/etc/init.d/festival restart
Restarting Festival server: festivalNo /usr/bin/festival found running; none killed.
.
/dev/pts/7
15:09:06
#/etc/init.d/festival restart
Restarting Festival server: festivalNo /usr/bin/festival found running; none killed.
.
/dev/pts/2
15:09:14
#cat /etc/festival.scm
ble access to localhost (needed by debian users)
(set! server_access_list '("localhost\\.localdomain" "localhost"))
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
/dev/pts/8
15:09:14
#cat /etc/festival.scm
ble access to localhost (needed by debian users)
(set! server_access_list '("localhost\\.localdomain" "localhost"))
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
/dev/pts/7
15:09:14
#cat /etc/festival.scm
ble access to localhost (needed by debian users)
(set! server_access_list '("localhost\\.localdomain" "localhost"))
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
/dev/pts/2
15:10:17
#vim extensions.conf
--- /tmp/l3-saved-20729.16445.21498	2010-05-27 16:12:11.000000000 +0300
+++ extensions.conf	2010-05-27 16:15:19.000000000 +0300
@@ -67,6 +67,8 @@
 
 exten => 805,1,VoicemailMain()
 
+exten => 807,1,Festival('Hello my friend. Odessa city greets you!')
+
 exten => 810,1,Wait(1)
 exten => 810,n,MeetMe(8888,M)
 exten => 811,1,MeetMe(8888,mM)
/dev/pts/8
15:10:17
#vim extensions.conf
/dev/pts/7
15:10:17
#vim extensions.conf
/dev/pts/2
15:15:19
#vim extensions.conf
/dev/pts/8
15:15:19
#vim extensions.conf
/dev/pts/7
15:15:19
#vim extensions.conf
прошло 25 минут
/dev/pts/2
15:40:42
#ls -l
total 440
-rw-r--r-- 1 root     root      1151 2010-05-26 15:03 \
-rw-r----- 1 asterisk asterisk   140 2009-12-14 21:08 adsi.conf
-rw-r----- 1 asterisk asterisk   840 2009-12-14 21:08 adtranvofr.conf
-rw-r----- 1 asterisk asterisk  2724 2009-12-14 21:08 agents.conf
-rw-r----- 1 asterisk asterisk  2227 2009-12-14 21:08 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  2675 2009-12-14 21:08 alsa.conf
-rw-r----- 1 asterisk asterisk   767 2009-12-14 21:08 amd.conf
-rw-r----- 1 asterisk asterisk  3260 2009-12-14 21:08 asterisk.adsi
-rw-r----- 1 asterisk asterisk   247 2009-12-14 20:58 asterisk.conf
...
-rw-r----- 1 asterisk asterisk  4044 2009-12-14 21:08 skinny.conf
-rw-r----- 1 asterisk asterisk  6691 2009-12-14 21:08 sla.conf
-rw-r----- 1 asterisk asterisk  2665 2009-12-14 21:08 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 2009-12-14 21:08 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   598 2009-12-14 21:08 udptl.conf
-rw-r----- 1 asterisk asterisk  1804 2009-12-14 21:08 users.conf
-rw-r----- 1 asterisk asterisk 11727 2010-05-27 12:23 voicemail.conf
-rw-r----- 1 asterisk asterisk  2772 2009-12-14 21:08 vpb.conf
-rw-r----- 1 asterisk asterisk   393 2009-12-14 21:08 watchdog.conf
-rw-r----- 1 asterisk asterisk 24193 2009-12-14 21:08 zapata.conf
/dev/pts/8
15:40:42
#ls -l
total 440
-rw-r--r-- 1 root     root      1151 2010-05-26 15:03 \
-rw-r----- 1 asterisk asterisk   140 2009-12-14 21:08 adsi.conf
-rw-r----- 1 asterisk asterisk   840 2009-12-14 21:08 adtranvofr.conf
-rw-r----- 1 asterisk asterisk  2724 2009-12-14 21:08 agents.conf
-rw-r----- 1 asterisk asterisk  2227 2009-12-14 21:08 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  2675 2009-12-14 21:08 alsa.conf
-rw-r----- 1 asterisk asterisk   767 2009-12-14 21:08 amd.conf
-rw-r----- 1 asterisk asterisk  3260 2009-12-14 21:08 asterisk.adsi
-rw-r----- 1 asterisk asterisk   247 2009-12-14 20:58 asterisk.conf
...
-rw-r----- 1 asterisk asterisk  4044 2009-12-14 21:08 skinny.conf
-rw-r----- 1 asterisk asterisk  6691 2009-12-14 21:08 sla.conf
-rw-r----- 1 asterisk asterisk  2665 2009-12-14 21:08 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 2009-12-14 21:08 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   598 2009-12-14 21:08 udptl.conf
-rw-r----- 1 asterisk asterisk  1804 2009-12-14 21:08 users.conf
-rw-r----- 1 asterisk asterisk 11727 2010-05-27 12:23 voicemail.conf
-rw-r----- 1 asterisk asterisk  2772 2009-12-14 21:08 vpb.conf
-rw-r----- 1 asterisk asterisk   393 2009-12-14 21:08 watchdog.conf
-rw-r----- 1 asterisk asterisk 24193 2009-12-14 21:08 zapata.conf
/dev/pts/7
15:40:42
#ls -l
total 440
-rw-r--r-- 1 root     root      1151 2010-05-26 15:03 \
-rw-r----- 1 asterisk asterisk   140 2009-12-14 21:08 adsi.conf
-rw-r----- 1 asterisk asterisk   840 2009-12-14 21:08 adtranvofr.conf
-rw-r----- 1 asterisk asterisk  2724 2009-12-14 21:08 agents.conf
-rw-r----- 1 asterisk asterisk  2227 2009-12-14 21:08 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  2675 2009-12-14 21:08 alsa.conf
-rw-r----- 1 asterisk asterisk   767 2009-12-14 21:08 amd.conf
-rw-r----- 1 asterisk asterisk  3260 2009-12-14 21:08 asterisk.adsi
-rw-r----- 1 asterisk asterisk   247 2009-12-14 20:58 asterisk.conf
...
-rw-r----- 1 asterisk asterisk  4044 2009-12-14 21:08 skinny.conf
-rw-r----- 1 asterisk asterisk  6691 2009-12-14 21:08 sla.conf
-rw-r----- 1 asterisk asterisk  2665 2009-12-14 21:08 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 2009-12-14 21:08 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   598 2009-12-14 21:08 udptl.conf
-rw-r----- 1 asterisk asterisk  1804 2009-12-14 21:08 users.conf
-rw-r----- 1 asterisk asterisk 11727 2010-05-27 12:23 voicemail.conf
-rw-r----- 1 asterisk asterisk  2772 2009-12-14 21:08 vpb.conf
-rw-r----- 1 asterisk asterisk   393 2009-12-14 21:08 watchdog.conf
-rw-r----- 1 asterisk asterisk 24193 2009-12-14 21:08 zapata.conf
15:40:45
#vim extensions.conf
/dev/pts/2
15:40:45
#vim extensions.conf
--- /tmp/l3-saved-20729.2968.12552	2010-05-27 16:43:13.000000000 +0300
+++ extensions.conf	2010-05-27 17:35:54.000000000 +0300
@@ -1,3 +1,27 @@
+[menu]
+
+
+[submenu1]
+
+; Playback	=> Background
+; Waint 	=> WaitExten
+
+exten => s,1,Background(/var/tmp/submenu)
+exten => s,n,WaitExten(5)
+exten => 1,1,Dial(SIP/dnepr/701)
+exten => 2,1,Dial(SIP/kiev/201)
+exten => 3,1,Dial(SIP/odessa/301)
+exten => 4,1,Dial(SIP/kharkov/401)
+exten => 5,1,Dial(SIP/crimea/501)
+exten => 0,1,Goto(s,1)
+exten => i,1,Background(/var/tmp/wrong)
+exten => i,n,Goto(start)
+exten => t,1,Background(/var/tmp/vybor)
+exten => t,n,WaitExten(2)
+exten => t,n,Playback(/var/tmp/do-svidaniya-timeout)
+exten => t,n,Hangup
+
+
 [macro-m1]
 
 exten => s,1,Set(CALLERID(number)=3${ARG1})
@@ -48,6 +72,11 @@
 
 
 [local]
+
+exten => 888,1,Goto(submenu1,s,1)
+
+exten => 813,1,System(touch /tmp/fileOD)
+
 exten => 800,1,Answer
 exten => 800,n,Wait(1)
 exten => 800,n,Playback(/var/tmp/greetings)
@@ -74,6 +103,16 @@
 exten => 811,1,MeetMe(8888,mM)
 exten => 812,1,MeetMe(9999,DM)
 
+; Lets write menu
+exten => 820,1,Record(/var/tmp/submenu:gsm)         ; текст всего меню
+exten => 821,1,Record(/var/tmp/wrong:gsm)           ; выбран неверный вариант
+exten => 822,1,Record(/var/tmp/vybor:gsm)           ; сделайте, пожалуйста, выбор
+exten => 823,1,Record(/var/tmp/do-svidaniya-timeout:gsm)    ; вы слишком долго ждали; до свидания
+exten => 830,1,Playback(/var/tmp/submenu)         ; текст всего меню
+exten => 831,1,Playback(/var/tmp/wrong)           ; выбран неверный вариант
+exten => 832,1,Playback(/var/tmp/vybor)           ; сделайте, пожалуйста, выбор
+exten => 833,1,Playback(/var/tmp/do-svidaniya-timeout)    ; вы слишком долго ждали; до свидания
+
 ;exten => _3XX,1,Macro(incoming)
 exten => _3XX,1,Dial(SIP/${EXTEN},10,m)
 
/dev/pts/8
15:40:45
#vim extensions.conf

Пятница (05/28/10)

/dev/pts/5
08:44:40
#tail /var/lib/dhcp3/dhcpd.leases
lease 192.168.3.14 {
  starts 5 2010/05/28 06:44:43;
  ends 5 2010/05/28 06:54:43;
  cltt 5 2010/05/28 06:44:43;
  binding state active;
  next binding state free;
  hardware ethernet 00:14:c2:a5:cb:5f;
  uid "\001\000\024\302\245\313_";
  client-hostname "ProCurve-AP-530";
}
/dev/pts/2
08:51:22
#cd /etc/asterisk/

08:51:56
#vim extensions.conf
08:52:55
#{ARG1})

08:52:59
#vim extensions.conf
--- /tmp/l3-saved-29521.21432.19846	2010-05-28 09:53:02.000000000 +0300
+++ extensions.conf	2010-05-28 09:54:42.000000000 +0300
@@ -127,6 +127,7 @@
 exten => 833,1,Playback(/var/tmp/do-svidaniya-timeout)    ; вы слишком долго ждали; до свидания
 
 ;exten => _3XX,1,Macro(incoming)
+exten => 340,1,Dial(SIP/302&SIP/303)
 exten => _3XX,1,Dial(SIP/${EXTEN},10,m)
 
 [corp]
09:01:59
#vim extensions.conf
--- /tmp/l3-saved-29521.19191.28672	2010-05-28 10:02:08.000000000 +0300
+++ extensions.conf	2010-05-28 10:30:22.000000000 +0300
@@ -44,7 +44,14 @@
 
 ;exten => s,1,GotoIf($[${CALLERID(number)}=501]?end)
 ;exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
-exten => s,1,Dial(SIP/${MACRO_EXTEN},10)
+
+exten => s,1,Set(CALLFILENAME=${EXTEN:1}-${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S")})
+;EPOCH - вывод времени в формате UNIX
+;дальше - приводим его в удобоваримый вид
+;
+exten => s,n,Monitor(wav,/tmp/${CALLFILENAME},m)
+
+exten => s,n,Dial(SIP/${MACRO_EXTEN},10)
 exten => s,n,GotoIf($[${DIALSTATUS}=BUSY]?busy)
 ;exten => s,n,GotoIf($[${ISNULL(${DB(mobile/${MACRO_EXTEN})})}]?end)
 ;exten => s,n,Dial(SIP/nt1/${DB(mobile/${MACRO_EXTEN})})
@@ -126,9 +133,10 @@
 exten => 832,1,Playback(/var/tmp/vybor)           ; сделайте, пожалуйста, выбор
 exten => 833,1,Playback(/var/tmp/do-svidaniya-timeout)    ; вы слишком долго ждали; до свидания
 
-;exten => _3XX,1,Macro(incoming)
 exten => 340,1,Dial(SIP/302&SIP/303)
-exten => _3XX,1,Dial(SIP/${EXTEN},10,m)
+exten => 350,1,Queue(q1)				;queues.conf
+exten => _3XX,1,Macro(incoming)
+;exten => _3XX,1,Dial(SIP/${EXTEN},10,m)
 
 [corp]
 exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
/dev/pts/5
09:05:28
#cd /etc/asterisk/

09:05:34
#vim queus.conf
09:05:45
#~
rm: cannot remove `queus.conf': No such file or directory
09:05:57
#vim queues.conf
--- /tmp/l3-saved-29711.20624.4049	2010-05-28 10:06:02.000000000 +0300
+++ queues.conf	2010-05-28 10:09:16.000000000 +0300
@@ -299,6 +299,12 @@
 ;member => Agent/1001
 ;member => Agent/1002
 
+[q1]
+member => SIP/301
+member => SIP/302
+member => SIP/303
+member => SIP/304
+
 ;
 ; 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
/dev/pts/0
09:07:36
#cd /etc/asterisk/

09:07:41
#vim queues.conf
--- /tmp/l3-saved-14655.305.16796	2010-05-28 10:07:48.000000000 +0300
+++ queues.conf	2010-05-28 10:09:16.000000000 +0300
@@ -299,6 +299,12 @@
 ;member => Agent/1001
 ;member => Agent/1002
 
+[q1]
+member => SIP/301
+member => SIP/302
+member => SIP/303
+member => SIP/304
+
 ;
 ; 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
прошло 23 минуты
/dev/pts/2
09:31:15
#{
exten => s,n,Monitor(wav,/tmp/${CALLFILENAME},m)
exten => s,n,WaitExten(5)
exten => 1,1,Dial(SIP/dnepr/701)
exten => 2,1,Dial(SIP/kiev/201)
exten => 3,1,Dial(SIP/odessa/301)
exten => 4,1,Dial(SIP/kharkov/401)
exten => 5,1,Dial(SIP/crimea/501)
exten => 0,1,Goto(s,1)
exten => i,1,Background(/var/tmp/wrong)
exten => i,n,Goto(start)
...
-- INSERT --
;exten => s,n,Dial(SIP/nt1/380504779516)
-- INSERT --
exten => s,n,Voicemail(${MACRO_EXTEN}@default)
-- INSERT --
exten => s,n(busy),Playback(/var/tmp/busy)
-- INSERT --
exten => s,n(end),Hangup
-- INSERT --
-- INSERT --
/dev/pts/5
09:34:07
#ls -l /tmp
total 43816
-rw-rw---- 1 asterisk asterisk    40044 2010-05-28 10:30 -2010-05-28-10:30:37.wav
-rw-rw---- 1 asterisk asterisk        0 2010-05-27 17:36 fileOD
-rw-rw---- 1 asterisk asterisk    71084 2010-05-28 10:33 from-302-to-301-2010-05-28-10:33:50.wav
-rw-rw---- 1 asterisk asterisk       44 2010-05-28 10:33 from-5701-to-301-2010-05-28-10:33:51.wav
-rw-r--r-- 1 root     root         5229 2010-05-25 12:03 install
-rw-r--r-- 1 root     root         4254 2010-05-27 17:38 l3-saved-20729.1790.13635
-rw-r--r-- 1 root     root         5000 2010-05-28 10:31 l3-saved-29521.5583.20154
drwx------ 2 root     root         4096 2010-05-25 11:50 mc-root
-rw-r--r-- 1 root     root       267894 2010-05-27 14:41 music1.gsm
-rw-r--r-- 1 root     root      4569558 2009-12-28 13:05 music1.mp3
-rw-r--r-- 1 root     root     28640348 2010-05-27 14:35 music1.wav
-rw-r--r-- 1 root     root       370722 2010-05-27 14:39 music.gsm
-rw-r--r-- 1 root     root      3596956 2010-05-27 14:22 music.mp3
drwxr-xr-x 2      501      501     4096 2008-09-12 17:06 Russian-Tamara-2.0.2-ulaw
-rw-r--r-- 1 root     root      7180971 2010-05-27 12:43 Russian-Tamara-2.0.2-ulaw.tar.gz
прошло 26 минут
/dev/pts/7
10:01:01
#less /etc/asterisk/sip.conf
10:01:19
#vi /etc/asterisk/sip.conf
--- /tmp/l3-saved-30034.25075.10042	2010-05-28 11:01:20.000000000 +0300
+++ /etc/asterisk/sip.conf	2010-05-28 11:01:37.000000000 +0300
@@ -43,6 +43,13 @@
 host=dynamic
 callerid="Nokia Phone 305"
 
+[306]
+context=gr3
+type=friend
+secret=1234
+host=dynamic
+callerid="Nokia Phone 306"
+
 [dnepr]
 context=gr4
 type=friend
10:01:37
#asterisk -rx 'sip reload'

10:01:43
#strings /bin/ls | less
прошла 81 минута
/dev/pts/2
11:23:19
#-- INSERT --
callgroup=1
pickupgroup=2
[304]
context=gr3
type=friend
c
secret=1234
c
host=dynamic
pickupgroup=1
...
"sip.conf" 120L, 1605C written
pickupgroup=2
            1
[306]
context=gr3
type=friend
secret=1234
host=dynamic
callerid="Nokia Phone 306"
[dnepr]
11:26:15
#"sip.conf" 120L, 1605C written
exten => s,n,SayNumber(${ARG16})
exten => s,n,SayNumber(${ARG17})
exten => 805,1,VoicemailMain()
exten => 807,1,Festival('Hello my friend. Odessa city greets you!')
exten => 810,1,Wait(1)
exten => 810,n,MeetMe(8888,M)
exten => 811,1,MeetMe(8888,mM)
exten => 812,1,MeetMe(9999,DM)
; Lets write menu
exten => 820,1,Record(/var/tmp/submenu:gsm)              ; текст всего меню
...
exten => _*8.,n,Hangup()
exten => 340,1,Dial(SIP/302&SIP/303)
exten => 350,1,Queue(q1)                                ;queues.conf
exten => _3XX,1,Macro(incoming)
;exten => _3XX,1,Dial(SIP/${EXTEN},10,m)
[corp]
exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
exten => _2XX,1,Dial(SIP/kiev/${EXTEN})
exten => _4XX,1,Dial(SIP/kharkov/${EXTEN})
exten => _5XX,1,Dial(SIP/crimea/${EXTEN})
11:28:14
#;exten => _*8.,n,Hangup())
pickupgroup=2
"sip.conf" 120L, 1605C
[302]
context=gr3
type=friend
secret=password
host=dynamic
callerid="Analog Phone 302"
callgroup=1
pickupgroup=1
[303]
context=gr1
type=friend
secret=password
host=dynamic
callerid="Soft Phone 303"
callgroup=1
pickupgroup=1
11:28:41
#pickupgroup=1
exten => s,n,SayNumber(${ARG16})
exten => s,n,SayNumber(${ARG17})
exten => s,n,SayNumber(${ARG15})
exten => s,n,SayNumber(${ARG16})
exten => s,n,SayNumber(${ARG17})
exten => s,n,SayNumber(${ARG18})
exten => s,n,SayNumber(${ARG19})
[default]s,n,SayNumber(${ARG20})
[command]
exten => s,1,Background(/var/tmp/password)
...
~
~
~
~
include => world
include => parkedcalls
[gr4]
include => local
include => world
~

Суббота (05/29/10)

/dev/pts/0
08:35:24
#ls /var/spool/
asterisk  cron  exim4  mail  mqueue  mqueue-client  pop
/dev/pts/2
08:35:40
#cd /etc/asterisk/

08:40:27
#vim sip.conf
/dev/pts/0
08:49:46
#vim /tmp/autodial
--- /dev/null	2010-05-29 09:34:17.517218050 +0300
+++ /tmp/autodial	2010-05-29 10:30:35.000000000 +0300
@@ -0,0 +1,3 @@
+Channel:SIP/301
+Application:Playback
+Data:greetings
прошло 38 минут
/dev/pts/2
09:28:17
#:q
from-301-to-306-2010-05-29-10:03:59.wav
09:28:23
#vim extensions.conf
09:28:56
#Press ENTER or type command to continue
\                   cdr_tds.conf          gtalk.conf        musiconhold.conf  sip.conf.SAVE
adsi.conf           codecs.conf           h323.conf         muted.conf        sip_notify.conf
adtranvofr.conf     dnsmgr.conf           http.conf         osp.conf          skinny.conf
agents.conf         dundi.conf            iax.conf          oss.conf          sla.conf
alarmreceiver.conf  enum.conf             iaxprov.conf      phone.conf        smdi.conf
alsa.conf           esel.conf             indications.conf  privacy.conf      telcordia-1.adsi
amd.conf            extconfig.conf        jabber.conf       queues.conf       udptl.conf
asterisk.adsi       extensions.ael        logger.conf       res_odbc.conf     users.conf
asterisk.conf       extensions.conf       manager.conf      res_pgsql.conf    voicemail.conf
cdr.conf            extensions.conf.SAVE  manager.d         res_snmp.conf     vpb.conf
cdr_custom.conf     features.conf         meetme.conf       rpt.conf          watchdog.conf
cdr_manager.conf    festival.conf         mgcp.conf         rtp.conf          zapata.conf
cdr_odbc.conf       followme.conf         misdn.conf        say.conf
cdr_pgsql.conf      func_odbc.conf        modules.conf      sip.conf
09:29:12
#rm extensions.conf.swp
rm: cannot remove `extensions.conf.swp': No such file or directory
09:29:49
#vim extensions.conf
09:30:11
#exten => 8,1,Goto(s,1) ; повторим подменю

09:30:17
#vim extensions.conf
09:31:04
#cp /var/tmp/greetings /var/spool/asterisk/outgoing/
cp: cannot stat `/var/tmp/greetings': No such file or directory
/dev/pts/0
09:31:35
#vim extensions.conf
--- /tmp/l3-saved-2221.24651.1775	2010-05-29 10:31:40.000000000 +0300
+++ extensions.conf	2010-05-29 10:33:42.000000000 +0300
@@ -158,6 +158,7 @@
 exten => 832,1,Playback(/var/tmp/vybor)           ; сделайте, пожалуйста, выбор
 exten => 833,1,Playback(/var/tmp/do-svidaniya-timeout)    ; вы слишком долго ждали; до свидания
 
+
 ; Перехват звонков
 ;exten => _*8.,1,Pickup(${EXTEN:2}@PICKUPMARK)
 ;exten => _*8.,n,Hangup()
/dev/pts/2
09:31:52
#ls /var/tmp/
busy.gsm                  goodbye.gsm    menu.gsm     vybor.gsm
do-svidaniya-timeout.gsm  greetings.gsm  submenu.gsm  wrong.gsm
09:32:08
#cp /var/tmp/greetings.gsm /var/spool/asterisk/outgoing/

/dev/pts/0
09:34:19
#vim /tmp/helloworld.call
--- /dev/null	2010-05-29 09:34:17.517218050 +0300
+++ /tmp/helloworld.call	2010-05-29 10:35:02.000000000 +0300
@@ -0,0 +1,3 @@
+hannel: SIP/trunkname/18882223333
+Application: Playback
+Data: greetings
09:35:02
#cp /tmp/helloworld.call /var/spool/asterisk/outgoing/

09:35:49
#cp /tmp/helloworld.call /var/spool/asterisk/outgoing/

/dev/pts/2
09:40:07
#chown asterisk /tmp/helloworld.call

09:41:02
#Data:
Applicavar\tmp\greetings
Data: \greetings
~
~
~
~
~
~
~
~
...
~
~
~
~
~
~
~
~
~
"/tmp/helloworld.call" 3L, 63C written
/dev/pts/6
09:41:13
#ls -l /var/spool/asterisk/
total 28
drwxr-x--- 2 asterisk asterisk 4096 2009-12-14 21:09 dictate
drwxr-x--- 2 asterisk asterisk 4096 2009-12-14 21:09 meetme
drwxr-x--- 2 asterisk asterisk 4096 2009-12-14 21:09 monitor
drwxr-x--- 2 asterisk asterisk 4096 2010-05-29 10:40 outgoing
drwxr-x--- 2 asterisk asterisk 4096 2009-12-14 21:09 system
drwxr-x--- 2 asterisk asterisk 4096 2009-12-14 21:09 tmp
drwxr-x--- 3 asterisk asterisk 4096 2010-05-27 12:24 voicemail
09:41:19
#ls -l /var/spool/asterisk/outgoing/
total 0
/dev/pts/2
09:41:46
#cp /tmp/helloworld.call /var/spool/asterisk/outgoing/

09:42:08
#ls /var/spool/asterisk/outgoing/
helloworld.call
09:42:34
#ls -l /var/spool/asterisk/outgoing/
total 4
-rw-r--r-- 1 root root 63 2010-05-29 10:42 helloworld.call
09:44:35
#cp -p /tmp/helloworld.call /var/spool/asterisk/outgoing/

09:47:36
#cp -p /tmp/ring.call /var/spool/asterisk/outgoing/

09:51:16
#cp -p /tmp/ring.call /var/spool/asterisk/outgoing/

09:51:30
#cp -p /tmp/ring.call /var/spool/asterisk/outgoing/

09:56:38
#cp -p /tmp/ring.call /var/spool/asterisk/outgoing/

09:56:40
#cp -p /tmp/ring.call /var/spool/asterisk/outgoing/

прошло 77 минут
11:13:45
#~
ls: cannot access /user: No such file or directory
11:19:47
#ls usr
ls: cannot access usr: No such file or directory
11:19:54
#ls /usr
bin  games  include  lib  local  sbin  share  src  X11R6
11:19:59
#vim /usr/local/bin/callback.sh
--- /dev/null	2010-05-29 09:34:17.517218050 +0300
+++ /usr/local/bin/callback.sh	2010-05-29 12:20:38.000000000 +0300
@@ -0,0 +1,14 @@
+ALLERID=$1
+EXTENSION=$2
+
+TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
+cat <<EOF > $TEMP
+Channel: Sip/$CALLERID
+Extension: $EXTENSION
+Context: local
+Priority: 1
+EOF
+
+chown asterisk:asterisk $TEMP
+mv $TEMP /var/spool/asterisk/outgoing/
+
11:20:51
#Press ENTER or type command to continue
Found a swap file by the name ".extensions.conf.swp"
          owned by: root   dated: Sat May 29 10:41:21 2010
         file name: /etc/asterisk/extensions.conf
          modified: no
         user name: root   host name: linux3
        process ID: 3087 (still running)
While opening file "extensions.conf"
             dated: Sat May 29 10:33:42 2010
(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r extensions.conf"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".extensions.conf.swp"
    to avoid this message.
"extensions.conf" 214L, 6648C
11:22:36
#Press ENTER or type command to continue
ALLERID=$1
EXTENSION=$2
TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
cat <<EOF > $TEMP
Channel: Sip/$CALLERID
Extension: $EXTENSION
Context: local
Priority: 1
EOF
chown asterisk:asterisk $TEMP
mv $TEMP /var/spool/asterisk/outgoing/
11:31:55
#vim /usr/local/bin/callback.sh
--- /tmp/l3-saved-2290.1125.3054	2010-05-29 12:32:05.000000000 +0300
+++ /usr/local/bin/callback.sh	2010-05-29 12:32:12.000000000 +0300
@@ -1,4 +1,4 @@
-ALLERID=$1
+CALLERID=$1
 EXTENSION=$2
 
 TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
11:32:33
#vim /usr/local/bin/callback.sh
прошло 12 минут
11:44:38
#vim /usr/local/bin/callback.sh
11:46:20
#~
-rw-r--r-- 1 root staff 232 2010-05-29 12:44 /usr/local/bin/callback.sh
11:46:25
#chmod +x /usr/local/bin/callback.sh

прошло 87 минут
13:14:02
#vim /usr/local/bin/callback.sh
13:21:15
#./usr/local/bin/callback.sh
bash: ./usr/local/bin/callback.sh: No such file or directory
13:21:24
#/usr/local/bin/callback.sh

13:21:42
#/usr/local/bin/callback.sh

13:21:51
#rm /var/spool/asterisk/outgoing/*

Файлы

  • /etc/festival.scm
  • /etc/festival.scm
    >
    ble access to localhost (needed by debian users)
    (set! server_access_list '("localhost\\.localdomain" "localhost"))
    ;;; Command for Asterisk begin
    (define (tts_textasterisk string mode)
    "(tts_textasterisk STRING MODE)
    Apply tts to STRING. This function is specifically designed for
    use in server mode so a single function call may synthesize the string.
    This function name may be added to the server safe functions."
    (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
    (utt.wave.resample wholeutt 8000)
    (utt.wave.rescale wholeutt 5)
    (utt.send.wave.client wholeutt)))
    

    Статистика

    Время первой команды журнала15:04:05 2010- 5-27
    Время последней команды журнала13:21:51 2010- 5-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %15.84
    Процент синтаксически неверно набранных команд, % 0.99
    Суммарное время работы с терминалом *, час 3.37
    Количество командных строк в единицу времени, команда/мин 0.50
    Частота использования команд
    vim30|============================| 28.57%
    ~12|===========| 11.43%
    ls12|===========| 11.43%
    cp11|==========| 10.48%
    /etc/init.d/festival5|====| 4.76%
    cd4|===| 3.81%
    callback.sh3|==| 2.86%
    cat3|==| 2.86%
    Press3|==| 2.86%
    rm2|=| 1.90%
    less2|=| 1.90%
    exten2|=| 1.90%
    8,1,Goto(s,1)1|| 0.95%
    asterisk1|| 0.95%
    chown1|| 0.95%
    strings1|| 0.95%
    "sip.conf"1|| 0.95%
    chmod1|| 0.95%
    :q1|| 0.95%
    {1|| 0.95%
    Data:1|| 0.95%
    pickupgroup=11|| 0.95%
    tail1|| 0.95%
    vi1|| 0.95%
    повторим1|| 0.95%
    _*8.,n,Hangup())1|| 0.95%
    --1|| 0.95%
    {ARG1})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$