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

Содержание

Журнал

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

/dev/tty2
16:16:26
#se
sed                      sensible-browser         setleds
see                      sensible-editor          setlogcons
select                   sensible-mda             setmetamode
select-default-ispell    sensible-pager           setpci
select-default-iwrap     seq                      setsid
select-default-wordlist  set                      setterm
sendmail                 setarch                  setupcon
sendmailconfig           sethdlc-new              setvesablank
sendmail-msp             setkeycodes
sendmail-mta             set-language-env
16:16:26
#cleat
bash: cleat: команда не найдена
/dev/pts/7
16:17:45
#vim extensions.conf
--- /tmp/l3-saved-4181.11696.9219	2010-05-28 17:17:56.000000000 +0300
+++ extensions.conf	2010-05-28 17:19:22.000000000 +0300
@@ -1,5 +1,9 @@
 [default]
 
+[pri]
+
+exten => _X,1,Goto(local,70${EXTEN},1)
+
 [local]
 
 exten => _34XXX,1,Dial(ZAP/G1/${EXTEN:2})
16:19:22
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
16:27:13
#vim extensions.conf
/dev/tty1
16:27:17
#mcedit /etc/asterisk/extensions.conf
                                      98+ 0  98        2723         e 101 0x65
         1         ubmenu,s,1)
exten => 9,1,Goto(s,main)
exten => 0,1,Playback(/var/tmp/goodbue)
exten => 0,n,Hangup
exten => s,1,Background5/var/tmp/vybor)
exten => i,1,WaitExten(2)        wrong)
exten => i,n,Goto(start)/var/tmp/do-svidaniya-timeout)
exten => t,n,Hangup
exten => t,1,Background(/var/tmp/vybor)},m)
...
exten => s,n,Monitor(wav,${CALLFILENAME},m)
exten => s,n,Dial(SIP/${MACRO_EXTEN},10)
;exten => s,n,GotoIf($[${ISNULL(${DB(mobile/${MACRO_EXTEN})})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
;exten => s,n,GotoIf($[${DIALSTATUS}cro-test]=BUSY]?busy)
;exten => s,n(busy),Playback(/var/tmp/busy)
exten => s,n,VoiceMail(${MACRO_EXTEN}@default)
exten => s,n(busy),Playback(/var/tmp/busy)
exten => s,n(end),Hangup
;exten => s,1,GotoIf($[${CALLERID(number)}=3301]?end)
/dev/pts/7
16:29:23
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Sent into invalid extension 's' in context 'submenu' on SIP/dnepr-081deb20
    -- Executing [i@submenu:1] BackGround("SIP/dnepr-081deb20", "/var/tmp/wrong") in new stack
    -- <SIP/dnepr-081deb20> Playing '/var/tmp/wrong' (language 'en')
  == CDR updated on SIP/dnepr-081deb20
    -- Executing [3@submenu:1] Dial("SIP/dnepr-081deb20", "SIP/odessa/301") in new stack
    -- Called odessa/301
    -- SIP/odessa-081e6a38 is ringing
  == Spawn extension (submenu, 3, 1) exited non-zero on 'SIP/dnepr-081deb20'
linux1*CLI> quit
Executing last minute cleanups
16:32:45
#vim extensions.conf
--- /tmp/l3-saved-4181.30293.9472	2010-05-28 17:32:51.000000000 +0300
+++ extensions.conf	2010-05-28 17:33:10.000000000 +0300
@@ -2,7 +2,7 @@
 
 [pri]
 
-exten => 0,1,Goto(menu,s,1)
+exten => 0,1,Dial(SIP/odessa/888)
 exten => _X,1,Goto(local,70${EXTEN},1)
 
 [local]
/dev/tty1
16:33:08
#mcedit /etc/asterisk/extensions.conf
          ~sions.conf   [----]  0 L:[103+ 0 103/149] *(2872/4422b)= e 101 0x65
exten => i,n,Goto(start)
exten => t,1,Background(/var/tmp/vybor)
exten => t,n,WaitExten(5)
exten => t,n,Playback(/var/tmp/do-svidaniya-timeout)
exten => t,n,Hangup
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 => _801,n,Wait(1)
exten => _801,n,Record(/var/tmp/welcome:gsm,3)
exten => _800,1,Answer
exten => _800,n,Wait(1)
exten => _800,n,Playback(/tmp/music)
exten => 803,1,VoicemailMain()
[corp]
exten => _2XXX,1,Set(CALLERID(number)=5${CALLERID(number)})
exten => _2XXX,n,Dial(Sip/kiev/${EXTEN:1})
exten => _4XXX,1,Set(CALLERID(number)=5${CALLERID(number)})
/dev/pts/7
16:33:10
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
linux1*CLI>
linux1*CLI>
[May 29 09:38:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
[May 29 09:41:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
[May 29 09:44:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
[May 29 09:47:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
[May 29 09:50:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
[May 29 09:53:37] NOTICE[4823]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
linux1*CLI> quit
Executing last minute cleanups
прошла 21 минута
/dev/tty4
16:54:29
#ssh 192.168.4.1
root@192.168.4.1's password:
Linux linux4.unix.nt 2.6.26-2-686 #1 SMP Wed May 12 21:56:10 UTC 2010 i686
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: Sat May 29 10:27:47 2010 from 192.168.4.204
l3-agent is already running: pid=2371; pidfile=/root/.lilalo/l3-agent.pid
прошло 49 минут
/dev/tty1
17:44:10
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf

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

08:23:09
#mcedit /etc/asterisk/zapata.conf
;callerid="Black Phone"<(256) 028-6648+22 670         3821          .  10 0x0A
;channel => 45
;signalling=fxo_ls
;group=1
;callerid="Joe Schmoe" <(256) 428-6131>
;channel => 25
;callerid="Megan May" <(256) 428-6132>
;channel => 26
;callerid="Suzy Queue" <(256) 428-6233>
;channel => 27
...
;
; Sample PRI (CPE) config:  Specify the switchtype, the signalling as either
; pri_cpe or pri_net for CPE or Network termination, and generally you will
; want to create a single "group" for all channels of the PRI.
;
; switchtype = national
; signalling = pri_cpe
; group = 2
; channel => 1-23
;Помощь 2Сохрани3Блок   4Замена 5Копия  6Перемес7Поиск  8Удалить9МенюMC 10Выход
прошло 59 минут
09:22:58
#cd /var/spool/asterisk/outgoing/

09:25:32
#ls

09:25:33
#touch /root/outgoing.test

09:26:56
#mcedit /root/outgoing.test

/dev/tty2
09:29:45
#clear

09:31:20
#cd /var/
backups/    lib/        lock/       lost+found/ opt/        spool/
cache/      local/      log/        mail/       run/        tmp/
09:31:20
#ls /var/tmp/
busy.gsm                  greetengs.gsm             vybor.gsm
do-svidaniya-timeout.gsm  menu.gsm                  welcome.gsm
goaway-stranger.gsm       password.gsm              welcome-master.gsm
goodbuy.gsm               submenu.gsm               wrong.gsm
09:31:20
#cat /tmp/outcall.call
Chanell: Sip/701
Data:/var/tmp/vybor
Application: Playback
/dev/tty1
09:32:01
#mcedit /root/outgoing.test

/dev/tty4
09:37:40
#na
named              named-checkzone    namei              nano
named-checkconf    named-compilezone  nameif             nawk
09:37:40
#nano /var/spool/asterisk/outgoing/
09:38:05
#fd
bash: fd: command not found
09:38:26
#cat /root/out.call
Channel: SIP/567
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: submenu
Extension: s
Priority: 1
/dev/tty1
09:40:37
#mcedit /root/outgoing.test
                        asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
...
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI>
linux1*CLI> quit
Executing last minute cleanups
/dev/pts/7
09:41:50
#ls /var/spool/asterisk/outgoing/
outcall.call
09:41:55
#ls -l /var/spool/asterisk/outgoing/
итого 4
-rw-r--r-- 1 root root 75 Май 29 10:40 outcall.call
09:42:11
#cat /var/spool/asterisk/outgoing/outcall.call
Chanell: Sip/701/(/var/tmp/vybor.gsm)
Application: Playback
09:42:55
#vi /tmp/outcall.call
09:43:29
#ls -l /tmp/outcall.call
-rw-r--r-- 1 asterisk asterisk 59 Май 29 10:43 /tmp/outcall.call
09:43:31
#cp -p /tmp/outcall.call /var/spool/asterisk/outgoing/

09:43:46
#rm /var/spool/asterisk/outgoing/outcall.call

09:44:15
#cat /var/spool/asterisk/outgoing/outcall.call
Chanell: Sip/701
Data:/var/tmp/vybor
Application: Playback
09:44:57
#touch /var/spool/asterisk/outgoing/outcall.call

09:45:01
#cat /var/spool/asterisk/outgoing/outcall.call
cat: /var/spool/asterisk/outgoing/outcall.call: Нет такого файла или каталога
09:49:43
#vi /tmp/example3.call
--- /dev/null	2010-05-28 13:44:02.505126004 +0300
+++ /tmp/example3.call	2010-05-29 10:50:16.000000000 +0300
@@ -0,0 +1,12 @@
+Channel: SIP/bt101
+MaxRetries: 1
+RetryTime: 60
+WaitTime: 30
+ #
+ # Assuming that your outgoing call logic is kept in the
+ #  context called [outgoing]
+ #
+Context: outgoing
+Extension: 14109850123
+Priority: 1
+
09:50:16
#cat /tmp/example3.call
Channel: SIP/bt101
MaxRetries: 1
RetryTime: 60
WaitTime: 30
 #
 # Assuming that your outgoing call logic is kept in the
 #  context called [outgoing]
 #
Context: outgoing
Extension: 14109850123
Priority: 1
09:52:51
#cp -p /tmp/outcall.call /var/spool/asterisk/outgoing/

/dev/tty2
09:53:12
#mcedit /tmp/outcall.call

09:53:45
#screen -x
/dev/pts/7
09:54:16
#cp -p /tmp/outcall.call /var/spool/asterisk/outgoing/

09:55:44
#cp -p /tmp/outcall.call /var/spool/asterisk/outgoing/

/dev/tty1
09:55:55
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Added extension '_sw-7-.' priority 11 to macro-ael-std-exten-ael
    -- Added extension 'sw-7-' priority 10 to macro-ael-std-exten-ael
    -- Added extension 'sw-7-BUSY' priority 10 to macro-ael-std-exten-ael
    -- Added extension 'sw-7-BUSY' priority 11 to macro-ael-std-exten-ael
    -- Added extension 's' priority 1 to ael-demo
    -- Added extension 's' priority 2 to ael-demo
    -- Added extension 's' priority 3 to ael-demo
[May 29 10:57:23] WARNING[4823]: chan_sip.c:12627 handle_response_register: Got 404 Not found on SIP register to service dnepr@192.168.4.1, giving up
linux1*CLI> quit
Executing last minute cleanups
/dev/pts/7
09:56:00
#cp -p /tmp/outcall.call /var/spool/asterisk/outgoing/

/dev/tty1
09:57:53
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty4
10:00:05
#man ls
/dev/pts/7
10:00:54
#cat /tmp/outcall.call
Channel: Sip/701
Data:/var/tmp/vybor
Application: Playback
context: submenu
Extension: s
Priority: 1
10:01:14
#vi /tmp/outcall.call
--- /tmp/l3-saved-6777.18999.28795	2010-05-29 11:01:32.000000000 +0300
+++ /tmp/outcall.call	2010-05-29 11:01:37.000000000 +0300
@@ -2,6 +2,6 @@
 Data:/var/tmp/vybor
 Application: Playback
 
-context: submenu
-Extension: s
-Priority: 1
+#context: submenu
+#Extension: s
+#Priority: 1
/dev/tty1
10:01:14
#ast
asterisk   astgenkey  astman
10:01:14
#asterisk -rvvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Called kiev/201
    -- SIP/kiev-08219138 is ringing
  == Spawn extension (gr3, 2201, 2) exited non-zero on 'SIP/701-081e7d28'
[May 29 14:43:24] NOTICE[10500]: pbx_spool.c:371 attempt_thread: Call completed to Sip/701
[May 29 14:44:52] NOTICE[7215]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
    -- Remote UNIX connection
Executing last minute cleanups
  == Destroying musiconhold processes
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/7
10:01:37
#ls -l /var/spool/asterisk/outgoing/
итого 0
10:02:46
#vi /tmp/vsem.sh
--- /dev/null	2010-05-28 13:44:02.505126004 +0300
+++ /tmp/vsem.sh	2010-05-29 11:06:51.000000000 +0300
@@ -0,0 +1,14 @@
+for i in 701 702 odessa/30{1..6} kiev/201 kiev/202 crimea/501 crimea/502 
+do
+j=`echo $i | tr / _`
+
+cat <<EOF > /tmp/call$i.call
+Channel: Sip/$i
+Data:/var/tmp/vybor
+Application: Playback
+EOF
+
+chown asterisk:asterisk /tmp/call$j
+mv /tmp/call$j /var/spool/asterisk/outgoing/
+done
+
10:06:51
#sh /tmp/vsem.sh
chown: невозможно получить доступ к `/tmp/call701': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/call701': Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/call702': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/call702': Нет такого файла или каталога
/tmp/vsem.sh: line 5: /tmp/callodessa/301.call: Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/callodessa_301': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/callodessa_301': Нет такого файла или каталога
/tmp/vsem.sh: line 5: /tmp/callodessa/302.call: Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/callodessa_302': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/callodessa_302': Нет такого файла или каталога
...
mv: невозможно выполнить stat для `/tmp/callkiev_201': Нет такого файла или каталога
/tmp/vsem.sh: line 5: /tmp/callkiev/202.call: Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/callkiev_202': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/callkiev_202': Нет такого файла или каталога
/tmp/vsem.sh: line 5: /tmp/callcrimea/501.call: Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/callcrimea_501': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/callcrimea_501': Нет такого файла или каталога
/tmp/vsem.sh: line 5: /tmp/callcrimea/502.call: Нет такого файла или каталога
chown: невозможно получить доступ к `/tmp/callcrimea_502': Нет такого файла или каталога
mv: невозможно выполнить stat для `/tmp/callcrimea_502': Нет такого файла или каталога
10:06:52
#vi /tmp/vsem.sh
--- /tmp/l3-saved-6777.17948.30708	2010-05-29 11:06:56.000000000 +0300
+++ /tmp/vsem.sh	2010-05-29 11:07:15.000000000 +0300
@@ -2,13 +2,13 @@
 do
 j=`echo $i | tr / _`
 
-cat <<EOF > /tmp/call$i.call
+cat <<EOF > /tmp/call$j.call
 Channel: Sip/$i
 Data:/var/tmp/vybor
 Application: Playback
 EOF
 
-chown asterisk:asterisk /tmp/call$j
-mv /tmp/call$j /var/spool/asterisk/outgoing/
+chown asterisk:asterisk /tmp/call$j.call
+mv /tmp/call$j.call /var/spool/asterisk/outgoing/
 done
 
10:07:15
#sh /tmp/vsem.sh

10:07:16
#ls /var/spool/asterisk/outgoing/

прошло 50 минут
10:58:15
#ls /tmp/
example3.call  lost+found/    outcall.call   .X11-unix/
.ICE-unix/     mc-root/       vsem.sh
10:58:15
#ls /tmp/example3.call
/tmp/example3.call
11:00:23
#cat /tmp/example3.call
Channel: SIP/bt101
MaxRetries: 1
RetryTime: 60
WaitTime: 30
 #
 # Assuming that your outgoing call logic is kept in the
 #  context called [outgoing]
 #
Context: outgoing
Extension: 14109850123
Priority: 1
11:00:29
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.13081.27347	2010-05-29 12:05:30.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 12:06:55.000000000 +0300
@@ -146,3 +146,7 @@
 exten => s,n(busy),Playback(/var/tmp/busy)
 exten => s,n(end),Hangup
 
+[meetme]
+
+exten => s,1,Playback(/var/tmp/greetengs)
+exten => s,n,MeetMe(8888,dm)
11:09:33
#vi make-callback.sh
11:14:17
#vi /usr/local/bin/callback.sh
--- /tmp/l3-saved-6777.3919.16018	2010-05-29 12:14:19.000000000 +0300
+++ /usr/local/bin/callback.sh	2010-05-29 12:18:54.000000000 +0300
@@ -1,16 +1,16 @@
-for i in 701 odessa/30{1..3} kiev/201 crimea/501 #kiev/202 crimea/502 
-do
-j=`echo $i | tr / _`
+#!/bin/sh
 
-cat <<EOF > /tmp/call$j.call
-Channel: Sip/$i
-#Data:/var/tmp/vybor
-Extension: s
-Context: meetme
+CALLERID=$1
+EXTENSION=$2
+
+TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
+cat <<EOF > $TEMP
+Channel: Sip/$CALLERID
+Extension: $EXTENSION
+Context: local
 Priority: 1
 EOF
 
-chown asterisk:asterisk /tmp/call$j.call
-mv /tmp/call$j.call /var/spool/asterisk/outgoing/
-done
+chown asterisk:asterisk $TEMP
+mv $TEMP /var/spool/asterisk/outgoing/
 
11:18:54
#chmod +x /usr/local/bin/callback.sh

11:18:56
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.9375.14395	2010-05-29 12:19:19.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 12:21:16.000000000 +0300
@@ -32,6 +32,8 @@
 exten => 810,n,MeetMe(8888,dm)
 exten => 809,1,Festival('Hello From Festival')
 
+exten => _85X,1,System(/usr/local/bin/callback.sh ${CALL)
+
 exten => _901,1,Answer
 exten => _901,n,Wait(1)
 exten => _901,n,Record(/var/tmp/busy:gsm,3)
11:22:59
#asterisk -rvvv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
Connected to Asterisk 1.4.21.2~dfsg-3+lenny1 currently running on linux1 (pid = 7193)
Verbosity is at least 4
linux1*CLI>
    -- Executing [852@gr2:1] Hangup("SIP/701-081deea8", "") in new stack
  == Spawn extension (gr2, 852, 1) exited non-zero on 'SIP/701-081deea8'
[May 29 12:23:45] NOTICE[7215]: chan_sip.c:15500 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 702
linux1*CLI>
linux1*CLI>
linux1*CLI> quit
Executing last minute cleanups
11:28:10
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.282.18144	2010-05-29 12:28:11.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 12:28:17.000000000 +0300
@@ -34,7 +34,7 @@
 
 ;exten => _85X,1,Congestion
 ;exten => _85X,n,Wait(1)
-exten => _85X,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 10${EXTEN:2})
+exten => _85X,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 70${EXTEN:2})
 
 exten => _901,1,Answer
 exten => _901,n,Wait(1)
11:35:06
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.14147.21867	2010-05-29 12:35:07.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 12:41:48.000000000 +0300
@@ -33,8 +33,7 @@
 exten => 809,1,Festival('Hello From Festival')
 
 ;exten => _85X,1,Congestion
-;exten => _85X,n,Wait(1)
-exten => _85X,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 70${EXTEN:2})
+exten => _85X,n,Goto(callback,s,1)
 
 exten => _901,1,Answer
 exten => _901,n,Wait(1)
@@ -70,6 +69,12 @@
 ;exten => _3XX,1,Dial(Sip/odessa/${EXTEN})
 ;exten => _5XX,1,Dial(Sip/crimea/${EXTEN})
 
+
+[callback]
+
+exten => s,1,Hangup
+exten => h,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 70${EXTEN:2})
+
 [world]
 exten => _380XXXXXXXXX,1,Dial(Sip/odessa/${EXTEN})
 
/dev/tty2
11:35:20
#screen x
11:35:26
#ss
ss           ssh-add      ssh-argv0    sshd         ssh-keyscan
ssh          ssh-agent    ssh-copy-id  ssh-keygen   ssh-vulnkey
11:35:26
#ss
ss           ssh-add      ssh-argv0    sshd         ssh-keyscan
ssh          ssh-agent    ssh-copy-id  ssh-keygen   ssh-vulnkey
11:35:26
#ssh 192.168.4.1
root@192.168.4.1's password:
Linux linux4.unix.nt 2.6.26-2-686 #1 SMP Wed May 12 21:56:10 UTC 2010 i686
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: Sat May 29 12:05:35 2010 from 192.168.5.1
l3-agent is already running: pid=2371; pidfile=/root/.lilalo/l3-agent.pid
11:35:47
#screen -x
прошло 10 минут
/dev/pts/7
11:46:34
#vi /usr/local/bin/callback.sh
--- /tmp/l3-saved-6777.18628.7056	2010-05-29 12:46:41.000000000 +0300
+++ /usr/local/bin/callback.sh	2010-05-29 12:47:04.000000000 +0300
@@ -5,8 +5,8 @@
 
 TEMP=`mktemp /tmp/callXXXXXXXXXXXX`.call
 cat <<EOF > $TEMP
-Channel: Sip/$CALLERID
-Extension: $EXTENSION
+Channel: Sip/$EXTENSION
+Extension: $CALLERID
 Context: local
 Priority: 1
 EOF
11:48:51
#cd /etc/asterisk/

11:48:53
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
11:48:54
#vim extensions.conf
11:49:15
#vi /usr/local/bin/callback.sh
11:50:26
#vi /usr/local/bin/callback.sh
/dev/pts/11
11:53:02
#vim /usr/local/bin/
/dev/pts/7
11:53:07
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.22534.6013	2010-05-29 12:53:08.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 12:53:46.000000000 +0300
@@ -74,7 +74,7 @@
 
 exten => _85X,1,Set(MYEXT=${EXTENSION})
 exten => _85X,n,Hangup
-exten => h,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 70${MYEXT:2})
+exten => h,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 702)
 
 [world]
 exten => _380XXXXXXXXX,1,Dial(Sip/odessa/${EXTEN})
/dev/pts/11
11:53:34
#view /usr/local/bin/callback.sh
Файл: /usr/loc~back.sh  Строка 1 Позиция 0 243 байт                                   100%
#!/bin/sh
CALLERID=$1
/dev/pts/7
11:57:11
#vim /etc/asterisk/extensions.conf
11:57:30
#include => corp

прошло 72 минуты
13:09:33
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6777.30605.30109	2010-05-29 14:09:47.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-05-29 14:10:41.000000000 +0300
@@ -72,7 +72,7 @@
 
 [callback]
 
-exten => _85X,1,Set(MYEXT=${EXTENSION})
+exten => _85X,1,Set(MYEXT=${EXTEN})
 exten => _85X,n,Hangup
 exten => h,1,System(/usr/local/bin/callback.sh ${CALLERID(num)} 702)
 
13:10:41
#asterisk -rx 'dialplan reload'
Dialplan reloaded.
13:19:37
#ls /var/spool/asterisk/
dictate  meetme  monitor  outgoing  system  tmp  voicemail
13:20:02
#ls /var/spool/asterisk/dictate/

13:20:20
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
13:20:28
#ld d
dnsmgr.conf  dundi.conf
13:20:28
#ls /var/spool/asterisk/
dictate  meetme  monitor  outgoing  system  tmp  voicemail
/dev/tty3
13:21:50
#cd /etc/asterisk/

13:22:16
#ls
adsi.conf             features.conf     privacy.conf
adtranvofr.conf       festival.conf     queues.conf
agents.conf           followme.conf     res_odbc.conf
alarmreceiver.conf    func_odbc.conf    res_pgsql.conf
alsa.conf             gtalk.conf        res_snmp.conf
amd.conf              h323.conf         rpt.conf
asterisk.adsi         http.conf         rtp.conf
asterisk.conf         iax.conf          Russian-Tamara-2.0.2-ulaw
cdr.conf              iaxprov.conf      say.conf
cdr_custom.conf       indications.conf  sip.conf
...
cdr_tds.conf          manager.d         sla.conf
codecs.conf           meetme.conf       smdi.conf
dnsmgr.conf           mgcp.conf         telcordia-1.adsi
dundi.conf            misdn.conf        udptl.conf
enum.conf             modules.conf      users.conf
esel.conf             musiconhold.conf  voicemail.conf
extconfig.conf        muted.conf        vpb.conf
extensions.ael        osp.conf          watchdog.conf
extensions.conf       oss.conf          zapata.conf
extensions.conf.save  phone.conf
13:22:17
#ld d
ld: d: No such file: No such file or directory
13:23:23
#ld d
ld: d: No such file: No such file or directory
13:23:41
#man dictate
/dev/pts/7
13:24:01
#mkdir /tmp/call-queue/

/dev/tty3
13:25:16
#man as
13:25:16
#man as
13:25:16
#man asterisk

Файлы

  • /root/out.call
  • /tmp/example3.call
  • /tmp/outcall.call
  • /var/spool/asterisk/outgoing/outcall.call
  • /root/out.call
    >
    Channel: SIP/567
    MaxRetries: 1
    RetryTime: 60
    WaitTime: 30
    Context: submenu
    Extension: s
    Priority: 1
    
    /tmp/example3.call
    >
    Channel: SIP/bt101
    MaxRetries: 1
    RetryTime: 60
    WaitTime: 30
     #
     # Assuming that your outgoing call logic is kept in the
     #  context called [outgoing]
     #
    Context: outgoing
    Extension: 14109850123
    Priority: 1
    
    /tmp/outcall.call
    >
    Channel: Sip/701
    Data:/var/tmp/vybor
    Application: Playback
    context: submenu
    Extension: s
    Priority: 1
    
    /var/spool/asterisk/outgoing/outcall.call
    >
    cat: /var/spool/asterisk/outgoing/outcall.call: Нет такого файла или каталога
    

    Статистика

    Время первой команды журнала16:16:26 2010- 5-28
    Время последней команды журнала13:25:16 2010- 5-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, % 8.91
    Процент синтаксически неверно набранных команд, % 1.98
    Суммарное время работы с терминалом *, час 2.62
    Количество командных строк в единицу времени, команда/мин 0.64
    Частота использования команд
    ls16|===============| 15.69%
    vi12|===========| 11.76%
    vim10|=========| 9.80%
    cat8|=======| 7.84%
    mcedit7|======| 6.86%
    asterisk6|=====| 5.88%
    man5|====| 4.90%
    cp5|====| 4.90%
    cd4|===| 3.92%
    ld3|==| 2.94%
    screen3|==| 2.94%
    touch2|=| 1.96%
    /etc/init.d/asterisk2|=| 1.96%
    sh2|=| 1.96%
    ss2|=| 1.96%
    ssh2|=| 1.96%
    na1|| 0.98%
    mkdir1|| 0.98%
    se1|| 0.98%
    cleat1|| 0.98%
    corp1|| 0.98%
    chmod1|| 0.98%
    rm1|| 0.98%
    nano1|| 0.98%
    fd1|| 0.98%
    view1|| 0.98%
    ast1|| 0.98%
    include1|| 0.98%
    clear1|| 0.98%
    ____
    *) Интервалы неактивности длительностью 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$