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

Содержание

Журнал

Среда (05/26/10)

/dev/pts/4
11:34:45
#vim extensions.conf
--- /tmp/l3-saved-14304.3312.2627	2010-05-26 12:35:02.000000000 +0300
+++ extensions.conf	2010-05-26 12:37:06.000000000 +0300
@@ -5,13 +5,17 @@
 exten => 800,n,Wait(1)
 exten => 800,n,Playback(demo-thanks)
 
+exten => 801,1,Answer
+exten => 801,n,Wait(1)
+exten => 801,n,Record(/var/tmp/kharkov-hello)
+
 exten => _4XX,1,Dial(SIP/${EXTEN})
 
 [corp]
 exten => _2XX,1,Dial(SIP/kiev/${EXTEN})
 exten => _2800,1,Dial(SIP/kiev/${EXTEN:1})
 exten => _3XX,1,Dial(SIP/crimea/${EXTEN})
-exten => _2800,1,Dial(SIP/odessa/${EXTEN:1})
+exten => _3800,1,Dial(SIP/odessa/${EXTEN:1})
 exten => _5XX,1,Dial(SIP/crimea/${EXTEN})
 exten => _5800,1,Dial(SIP/crimea/${EXTEN:1})
 exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
11:40:22
#ls /var/tmp/

11:40:24
#ls -la /var/tmp/
total 8
drwxrwxrwt  2 root root 4096 2010-01-25 05:41 .
drwxr-xr-x 14 root root 4096 2010-05-25 10:50 ..
11:40:27
#fg
[default]
[local]
exten => 800,1,Answer
exten => 800,n,Wait(1)
exten => 800,n,Playback(demo-thanks)
exten => 801,1,Answer
exten => 801,n,Wait(1)
exten => 801,n,Record(/var/tmp/kharkov-hello)
exten => _4XX,1,Dial(SIP/${EXTEN})
[corp]
...
~
~
~
~
~
~
"extensions.conf" 39L, 775C written
include => world
[1]+  Stopped                 /usr/bin/vim "$@"
~
11:42:27
#ls -la /var/tmp/
total 16
drwxrwxrwt  2 root     root     4096 2010-05-26 12:41 .
drwxr-xr-x 14 root     root     4096 2010-05-25 10:50 ..
-rw-r-----  1 asterisk asterisk 7128 2010-05-26 12:41 kharkov-hello.gsm
11:42:30
#vim extensions.
11:42:30
#vim extensions.conf
11:42:47
#~
[macro-caller]
[default]
[local]
                        /var/tmp/kharkov-hello)
exten => 800,1,Answer
exten => 800,n,Wait(1)
                      /var/tmp/kharkov-hello:gsm)
exten => 800,n,Playback(demo-thanks)
exten => 801,1,Answer
exten => 801,n,Wait(1)
...
;end - метка
exten => s,n(end),Hangup
exten => _4XX,1,Macro(call_in,${CALLERID(number)})
                         odessa/${EXTEN})
;exten => _3XXX,1,Macro(caller,${CALLERID(number)},odessa)
exten => _3XXX,1,Macro(call_in,${CALLERID(number)},odessa)
e                           ,${CALLERID(n
exten => _3XXX,1,Macro(caller,${CALLERID(number)},odessa)
;exten => _3XXX,1,Macro(call_in,${CALLERID(number)},odessa)
exten => _3XXX,1,Macro(cal
прошло >2 часов
/dev/pts/6
13:42:51
#cd /etc/asterisk/

13:42:57
#less sip.conf
прошло 96 минут
/dev/pts/4
15:19:52
#:q
[general]
context=default                 ; Default context for incoming calls
[general]
context=default                 ; Default context for incoming calls
[401]
type=friend
secret=password
host=dynamic
context=group3
[402]
...
[odessa]
type=friend
secret=password
host=192.168.3.1
username=kharkov
context=group1
[crimea]
type=friend
secret=password
host=dynamic
15:20:42
#register => kharkov:password@192.168.1.1/dnepr

15:20:43
#ls
adsi.conf           enum.conf            logger.conf       rpt.conf
adtranvofr.conf     esel.conf            manager.conf      rtp.conf
agents.conf         extconfig.conf       manager.d         say.conf
alarmreceiver.conf  extensions.ael       meetme.conf       sip.conf
alsa.conf           extensions.conf      mgcp.conf         sip.conf.bak
amd.conf            extensions.conf.bak  misdn.conf        sip_notify.conf
asterisk.adsi       features.conf        modules.conf      skinny.conf
asterisk.conf       festival.conf        musiconhold.conf  sla.conf
cdr.conf            followme.conf        muted.conf        smdi.conf
cdr_custom.conf     func_odbc.conf       osp.conf          telcordia-1.adsi
cdr_manager.conf    gtalk.conf           oss.conf          udptl.conf
cdr_odbc.conf       h323.conf            phone.conf        users.conf
cdr_pgsql.conf      http.conf            privacy.conf      voicemail.conf
cdr_tds.conf        iax.conf             queues.conf       vpb.conf
codecs.conf         iaxprov.conf         res_odbc.conf     watchdog.conf
dnsmgr.conf         indications.conf     res_pgsql.conf    zapata.conf
dundi.conf          jabber.conf          res_snmp.conf
15:20:44
#vim extensions.conf
--- /tmp/l3-saved-14304.7595.11825	2010-05-26 16:21:53.000000000 +0300
+++ extensions.conf	2010-05-26 16:33:30.000000000 +0300
@@ -5,7 +5,8 @@
 [macro-call_in]
 ;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
 exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
-exten => s,n,Dial(SIP/${MACRO_EXTEN})
+exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
+exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
 ;end - метка
 exten => s,n(end),Hangup
 
прошло 12 минут
15:33:30
#fg
bash: fg: current: no such job
15:33:31
#vim extensions.conf
--- /tmp/l3-saved-14304.28756.30646	2010-05-26 16:33:32.000000000 +0300
+++ extensions.conf	2010-05-26 16:44:11.000000000 +0300
@@ -6,6 +6,7 @@
 ;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
 exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
 exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
+exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
 exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
 ;end - метка
 exten => s,n(end),Hangup
прошло 10 минут
15:44:17
#fg
[macro-caller]
exten => s,1,Set(CALLERID(number)=4${ARG1})
exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
[macro-call_in]
;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
;end - метка
...
exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
[world]
exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
-- INSERT --
[group1]
include => local
[group2]
include => local
include => corp
прошло 11 минут
15:56:11
#{DB(mobile/${MACRO_EXTEN})})
host=dynamic
username=kharkov
limitonpeers=yes
call-limit=1
[kiev]
type=friend
secret=password
;host=dynamic
host=192.168.2.1
username=kharkov
[odessa]
type=friend
secret=password
host=192.168.3.1
username=kharkov
context=group1
[crimea]
type=friend
secret=password
username=kharkov
context=group1
16:00:11
#"sip.conf" 53L, 748C written
[macro-caller]
exten => s,1,Set(CALLERID(number)=4${ARG1})
exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
[macro-call_in]
;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
;exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
exten => s,n,Goto(group3,${DB(mobile/${MACRO_EXTEN})},1)
...
exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
[world]
exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
include => local
"extensions.conf" 58L, 1525C written
[1]+  Stopped                 /usr/bin/vim "$@"
include => local
[group2]
include => local
/dev/pts/2
16:01:37
#asterisk -rvvvvvvvv
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
=========================================================================
...
    -- SIP/sipnet-081ede58 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
  == Auto fallthrough, channel 'SIP/401-081e9ee0' status is 'CONGESTION'
linux4*CLI>
linux4*CLI>
    -- Executing [0028770061@sipnet-in:1] Dial("SIP/0028770061-081e9ee0", "sip/402") in new stack
    -- Called 402
    -- SIP/402-081ede58 is ringing
linux4*CLI>
linux4*CLI>
прошло 12 минут
/dev/pts/4
16:13:54
#ls /var/tmp/
kharkov-hello.gsm
16:13:58
#fg
[macro-caller]
exten => s,1,Set(CALLERID(number)=4${ARG1})
exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
[macro-call_in]
;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
exten => s,n,GotoIf($[${DIALSTATUS} = BUSY]?busy)
;exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
...
exten => _5XXX,1,Macro(caller,$CALLERID(number)},crimea)
exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
[world]
exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
"extensions.conf" 58L, 1525C written
[1]+  Stopped                 /usr/bin/vim "$@"
include => local
[group2]
16:14:57
#ls /var/tmp/
busy.gsm  kharkov-hello.gsm
16:15:00
#fg
[macro-caller]
exten => s,1,Set(CALLERID(number)=4${ARG1})
exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
[macro-call_in]
;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
exten => s,n,GotoIf($[${DIALSTATUS} = BUSY]?busy)
;exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
...
exten => _5XXX,1,Macro(caller,$CALLERID(number)},crimea)
exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
[world]
exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
[group1]
include => local
[group2]
-- INSERT --
16:23:52
#"extensions.conf" 58L, 1525C written
[crimea]
type=friend
secret=password
host=dynamic
username=kharkov
~
~
~
~
~
...
[odessa]
type=friend
secret=password
host=192.168.3.1
username=kharkov
context=group1
[crimea]
type=friend
secret=password
host=dynamic
16:29:35
#:q
type=friend
secret=password
host=dynamic
username=kharkov
context=group1
[sipnet]
~
~
~
~
...
~
~
~
           0028770061
;canreinvite = nonat
d
~
~
~
~
прошло 34 минуты
17:04:05
#vim sip.conf
17:09:42
#{ARG2}/${MACRO_EXTEN:1})
type=friend
secret=password
host=192.168.3.1
username=kharkov
context=group1
[crimea]
type=friend
host=dynamic
username=kharkov
context=group1
...
fromuser = 0028770061
fromdomain = sipnet.ru
contact = 100
disallow=all
allow = alaw
allow = ulaw
allow = g729
canreinvite = no
dtmfmode = info
trunk=yes
17:12:14
#vim sip.conf
--- /tmp/l3-saved-14304.30981.25854	2010-05-26 18:12:46.000000000 +0300
+++ sip.conf	2010-05-26 18:12:58.000000000 +0300
@@ -74,7 +74,7 @@
 allow = alaw
 allow = ulaw
 allow = g729
-canreinvite = no
+;canreinvite = no
 dtmfmode = info
 trunk=yes
 
17:12:58
#vim sip.conf
--- /tmp/l3-saved-14304.2171.3507	2010-05-26 18:13:52.000000000 +0300
+++ sip.conf	2010-05-26 18:14:03.000000000 +0300
@@ -74,7 +74,7 @@
 allow = alaw
 allow = ulaw
 allow = g729
-;canreinvite = no
+canreinvite = no
 dtmfmode = info
 trunk=yes
 
/dev/pts/6
17:17:36
#cd /etc/asterisk/

17:17:41
#asterisk
Asterisk already running on /var/run/asterisk/asterisk.ctl.  Use 'asterisk -r' to connect.
/dev/pts/4
17:18:14
#register => 0028770061:ujdyjctnm@212.53.40.40/sipnet

17:18:20
#vim sip.conf
--- /tmp/l3-saved-14304.9462.32016	2010-05-26 18:18:22.000000000 +0300
+++ sip.conf	2010-05-26 18:18:37.000000000 +0300
@@ -3,7 +3,7 @@
 register => kharkov:password@192.168.1.1/dnepr
 ;register => kharkov:password@192.168.2.1/kiev
 register => kharkov:password@192.168.5.1/crimea
-register => 0028770061:ujdyjctnm@212.53.40.40/sipnet
+register => 0028770061:ujdyjctnm@212.53.40.40/0028770061
 
 [401]
 type=friend
17:19:07
#register =>
;exten => s,n,Goto(group3,${DB(mobile/${MACRO_EXTEN})},1)
exten => s,n(busy),Playback(/var/tmp/busy)
exten => s,n(end),Hangup
[default]
[local]
exten => 800,1,Answer
exten => 800,n,Wait(1)
exten => 800,n,Playback(/var/tmp/kharkov-hello)
exten => 801,1,Answer
exten => 801,n,Wait(1)
...
exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
[world]
;exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
exten => _380XXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
exten => _XXXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
[group1]
include => local
;exten => _380        X,1,Dial(SIP/sipnet/${EXTEN})
"extensions.conf" 60L, 1627C written
17:19:26
#vim extensions.conf
--- /tmp/l3-saved-14304.11928.32648	2010-05-26 18:19:29.000000000 +0300
+++ extensions.conf	2010-05-26 18:19:35.000000000 +0300
@@ -42,7 +42,7 @@
 
 [world]
 ;exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
-;exten => _380XXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
+exten => _380XXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
 exten => _XXXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
 
 
17:19:36
#{EXTEN})
[odessa]
type=friend
secret=password
host=192.168.3.1
username=kharkov
context=group1
[crimea]
type=friend
host=dynamic
username=kharkov
...
contact = 100
disallow=all
allow = alaw
allow = ulaw
allow = g729
canreinvite = no
dtmfmode = info
trunk=yes
-- INSERT --
"sip.conf" 81L, 1186C written
17:25:59
#vim extensions.conf
--- /tmp/l3-saved-14304.26100.8197	2010-05-26 18:26:59.000000000 +0300
+++ extensions.conf	2010-05-26 18:32:15.000000000 +0300
@@ -59,5 +59,6 @@
 include => world
 
 [sipnet-in]
-exten => s,1,Dial(SIP/402)
+;exten => s,1,Dial(sip/402)
+exten => 0028770061,1,Dial(sip/402)
 
/dev/pts/2
17:34:35
#asterisk -rvvvvvvvv
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
=========================================================================
...
    -- Registered extension context 'group3'
    -- Including context 'local' in context 'group3'
    -- Including context 'corp' in context 'group3'
    -- Including context 'world' in context 'group3'
    -- Registered extension context 'sipnet-in'
    -- Added extension '0028770061' priority 1 to sipnet-in
  == Parsing '/etc/asterisk/users.conf': Found
linux4*CLI>
linux4*CLI> quit
Executing last minute cleanups
/dev/pts/4
17:35:22
#vim sip.conf
--- /tmp/l3-saved-14304.20805.11701	2010-05-26 18:35:58.000000000 +0300
+++ sip.conf	2010-05-26 18:39:49.000000000 +0300
@@ -67,7 +67,7 @@
 registeriax = no
 registersip = yes
 insecure = invite
-fromuser = koshikov
+;fromuser = koshikov
 fromdomain = sipnet.ru
 contact = 402
 disallow=all
@@ -77,5 +77,6 @@
 canreinvite = no
 dtmfmode = info
 trunk=yes
+callerid="Nikita Koshikov"
 
 
17:44:09
#"sip.conf" 82L, 1215C written

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

/dev/pts/0
08:39:33
#screen -ls
08:39:38
#screen -x
/dev/pts/4
08:40:13
#ps
  PID TTY          TIME CMD
14304 pts/5    00:00:01 bash
21073 pts/5    00:00:00 ps
08:40:15
#ps axef
  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  \_ [migration/0]
    4 ?        S<     0:00  \_ [ksoftirqd/0]
    5 ?        S<     0:00  \_ [watchdog/0]
    6 ?        S<     0:00  \_ [migration/1]
    7 ?        S<     0:00  \_ [ksoftirqd/1]
    8 ?        S<     0:00  \_ [watchdog/1]
    9 ?        S<     0:54  \_ [events/0]
   10 ?        S<     0:01  \_ [events/1]
...
14173 ?        Ss     0:05 SCREEN TERM=xterm SHELL=/bin/bash SSH_CLIENT=192.168.4.204 5313
14174 pts/2    Ss+    0:00  \_ script -f -c /bin/bash -q /root/.lilalo//412567327125434-12
14213 pts/2    S+     0:00  |   \_ script -f -c /bin/bash -q /root/.lilalo//41256732712543
14214 pts/3    Ss     0:00  |       \_ /bin/bash TERM=screen SHELL=/bin/bash SSH_CLIENT=19
20305 pts/3    S+     0:00  |           \_ rasterisk rvvvvvvvv SHELL=/bin/bash TERM=screen
14264 pts/4    Ss+    0:01  \_ script -f -c /bin/bash -q /root/.lilalo//258712615311637347
14303 pts/4    S+     0:00      \_ script -f -c /bin/bash -q /root/.lilalo//25871261531163
14304 pts/5    Ss     0:01          \_ /bin/bash TERM=screen SHELL=/bin/bash SSH_CLIENT=19
21081 pts/5    R+     0:00              \_ ps axef SHELL=/bin/bash TERM=screen SSH_CLIENT=
18251 ?        Ssl    0:18 /usr/sbin/asterisk -p -U asterisk SHELL=/bin/bash TERM=screen S
08:40:17
#ls /etc/exim4/
conf.d  exim4.conf.template  passwd.client  update-exim4.conf.conf
08:40:27
#ls -l /etc/exim4/
total 80
drwxr-xr-x 9 root root         1024 2010-05-25 10:57 conf.d
-rw-r--r-- 1 root root        75893 2008-09-30 21:27 exim4.conf.template
-rw-r----- 1 root Debian-exim   204 2008-09-30 21:27 passwd.client
-rw-r--r-- 1 root root         1040 2010-05-25 10:57 update-exim4.conf.conf
08:41:06
#fg
bash: fg: current: no such job
08:41:09
#vim sip.conf
--- /tmp/l3-saved-14304.19470.24146	2010-05-27 09:41:15.000000000 +0300
+++ sip.conf	2010-05-27 09:41:20.000000000 +0300
@@ -79,4 +79,3 @@
 trunk=yes
 callerid="Nikita Koshikov"
 
-
08:41:22
#"sip.conf" 81L, 1214C written
exten => _4XX,1,Macro(call_in)
[corp]
exten => _2XX,1,Dial(SIP/kiev/${EXTEN})
exten => _2XXX,1,Macro(caller,${CALLERID(number)},kiev)
exten => _3XX,1,Dial(SIP/odessa/${EXTEN})
exten => _3XXX,1,Macro(caller,${CALLERID(number)},odessa)
exten => _5XX,1,Dial(SIP/crimea/${EXTEN})
;exten => _5XXX,n,Dial(SIP/crimea/${EXTEN:1})
exten => _5XXX,1,Macro(caller,$CALLERID(number)},crimea)
exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
...
[group2]
include => local
include => corp
[group3]
include => local
include => corp
include => world
[sipnet-in]
;exten => s,1,Dial(sip/402)
exten => 0028770061,1,Dial(sip/401)
08:42:14
#w
 09:42:22 up 1 day, 22:37,  4 users,  load average: 0.13, 0.05, 0.01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                Tue11   24:08m  0.68s  0.02s /bin/login --
root     pts/0    192.168.4.204    09:39    0.00s  0.10s  0.00s script -f -c bash -q /roo
root     pts/2    :pts/1:S.0       Tue16    2:11   0.64s  0.10s script -f -c /bin/bash -q
root     pts/4    :pts/1:S.1       Tue16    0.00s  2.08s  1.30s script -f -c /bin/bash -q
08:42:22
#ls
adsi.conf           enum.conf            logger.conf       rpt.conf
adtranvofr.conf     esel.conf            manager.conf      rtp.conf
agents.conf         extconfig.conf       manager.d         say.conf
alarmreceiver.conf  extensions.ael       meetme.conf       sip.conf
alsa.conf           extensions.conf      mgcp.conf         sip.conf.bak
amd.conf            extensions.conf.bak  misdn.conf        sip_notify.conf
asterisk.adsi       features.conf        modules.conf      skinny.conf
asterisk.conf       festival.conf        musiconhold.conf  sla.conf
cdr.conf            followme.conf        muted.conf        smdi.conf
cdr_custom.conf     func_odbc.conf       osp.conf          telcordia-1.adsi
cdr_manager.conf    gtalk.conf           oss.conf          udptl.conf
cdr_odbc.conf       h323.conf            phone.conf        users.conf
cdr_pgsql.conf      http.conf            privacy.conf      voicemail.conf
cdr_tds.conf        iax.conf             queues.conf       vpb.conf
codecs.conf         iaxprov.conf         res_odbc.conf     watchdog.conf
dnsmgr.conf         indications.conf     res_pgsql.conf    zapata.conf
dundi.conf          jabber.conf          res_snmp.conf
08:46:22
#ls ext
extconfig.conf       extensions.ael       extensions.conf      extensions.conf.bak
08:46:22
#vim extensions.conf
--- /tmp/l3-saved-14304.14165.23091	2010-05-27 10:11:28.000000000 +0300
+++ extensions.conf	2010-05-27 10:13:43.000000000 +0300
@@ -13,6 +13,25 @@
 exten => s,n(busy),Playback(/var/tmp/busy)
 exten => s,n(end),Hangup
 
+[macro-test]                   
+exten => s,1,Answer            
+exten => s,n,SayNumber(${ARG1})      
+exten => s,n,SayNumber(${ARG2})      
+exten => s,n,SayNumber(${ARG3})      
+exten => s,n,SayNumber(${ARG4})      
+exten => s,n,SayNumber(${ARG5})      
+exten => s,n,SayNumber(${ARG6})      
+exten => s,n,SayNumber(${ARG7})      
+exten => s,n,SayNumber(${ARG8})      
+exten => s,n,SayNumber(${ARG9})      
+exten => s,n,SayNumber(${ARG10})     
+exten => s,n,SayNumber(${ARG11})     
+exten => s,n,SayNumber(${ARG12})     
+exten => s,n,SayNumber(${ARG13})     
+exten => s,n,SayNumber(${ARG14})     
+exten => s,n,SayNumber(${ARG15})     
+
+
 [default]
 
 [local]
@@ -20,10 +39,13 @@
 exten => 800,n,Wait(1)
 exten => 800,n,Playback(/var/tmp/kharkov-hello)
 
+
 exten => 801,1,Answer
 exten => 801,n,Wait(1)
 exten => 801,n,Record(/var/tmp/busy:gsm)
 
+exten => 802,1,Macro(test,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
+
 ;exten => _4XX,1,Dial(SIP/${EXTEN})
 exten => _4XX,1,Macro(call_in)
 
прошло 32 минуты
/dev/pts/6
09:19:15
#vi /etc/asterisk/sip.conf
09:20:42
#:q!
[group2]
include => local
include => corp
[group3]
include => local
include => corp
include => world
[sipnet-in]
;exten => s,1,Dial(sip/402)
exten => 0028770061,1,Dial(sip/401)
/dev/pts/8
09:22:00
#cat /etc/asterisk/extensions.conf
[macro-caller]
exten => s,1,Set(CALLERID(number)=4${ARG1})
exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
[macro-call_in]
;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
exten => s,n,GotoIf($[${DIALSTATUS} = BUSY]?busy)
;exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
...
[group2]
include => local
include => corp
[group3]
include => local
include => corp
include => world
[sipnet-in]
;exten => s,1,Dial(sip/402)
exten => 0028770061,1,Dial(sip/401)
09:22:10
#cat /etc/asterisk/extensions.conf | less
/dev/pts/4
09:24:29
#ls
adsi.conf           enum.conf            logger.conf       rpt.conf
adtranvofr.conf     esel.conf            manager.conf      rtp.conf
agents.conf         extconfig.conf       manager.d         say.conf
alarmreceiver.conf  extensions.ael       meetme.conf       sip.conf
alsa.conf           extensions.conf      mgcp.conf         sip.conf.bak
amd.conf            extensions.conf.bak  misdn.conf        sip_notify.conf
asterisk.adsi       features.conf        modules.conf      skinny.conf
asterisk.conf       festival.conf        musiconhold.conf  sla.conf
cdr.conf            followme.conf        muted.conf        smdi.conf
cdr_custom.conf     func_odbc.conf       osp.conf          telcordia-1.adsi
cdr_manager.conf    gtalk.conf           oss.conf          udptl.conf
cdr_odbc.conf       h323.conf            phone.conf        users.conf
cdr_pgsql.conf      http.conf            privacy.conf      voicemail.conf
cdr_tds.conf        iax.conf             queues.conf       vpb.conf
codecs.conf         iaxprov.conf         res_odbc.conf     watchdog.conf
dnsmgr.conf         indications.conf     res_pgsql.conf    zapata.conf
dundi.conf          jabber.conf          res_snmp.conf
09:24:29
#dpkg -l |grep -i bind
ii  bind9                             1:9.5.1.dfsg.P3-1+lenny1 Internet Domain Name Server
ii  bind9-doc                         1:9.5.1.dfsg.P3-1+lenny1 Documentation for BIND
ii  bind9-host                        1:9.5.1.dfsg.P3-1+lenny1 Version of 'host' bundled with BIND 9.X
ii  bind9utils                        1:9.5.1.dfsg.P3-1+lenny1 Utilities for BIND
ii  dnsutils                          1:9.5.1.dfsg.P3-1+lenny1 Clients provided with BIND
ii  libbind9-40                       1:9.5.1.dfsg.P3-1+lenny1 BIND9 Shared Library used by BIND
ii  libdns45                          1:9.5.1.dfsg.P3-1+lenny1 DNS Shared Library used by BIND
ii  libisc45                          1:9.5.1.dfsg.P3-1+lenny1 ISC Shared Library used by BIND
ii  libisccc40                        1:9.5.1.dfsg.P3-1+lenny1 Command Channel Library used by BIND
ii  libisccfg40                       1:9.5.1.dfsg.P3-1+lenny1 Config File Handling Library used by BIND
ii  liblwres40                        1:9.5.1.dfsg.P3-1+lenny1 Lightweight Resolver Library used by BIND
ii  libxcb-xlib0                      1.1-1.2                  X C Binding, Xlib/XCB interface library
ii  libxcb1                           1.1-1.2                  X C Binding
09:24:40
#cd /etc/bind/

09:25:42
#ls
db.0    db.255    db.local  named.conf        named.conf.options  zones.rfc1918
db.127  db.empty  db.root   named.conf.local  rndc.key
09:25:43
#vim named.conf
09:26:24
#~
        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.
         forwarders {
                10.0.35.1;
         };
...
~
~
~
~
~
~
~
~
~
"named.conf.options" 20L, 568C written
09:26:46
#ls
db.0    db.255    db.local  named.conf        named.conf.options  zones.rfc1918
db.127  db.empty  db.root   named.conf.local  rndc.key
09:26:48
#vim named.conf
09:27:10
#cat
db.0                db.empty            named.conf          .named.conf.swp
db.127              db.local            named.conf.local    rndc.key
db.255              db.root             named.conf.options  zones.rfc1918
09:27:10
#cat named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
09:27:20
#cat zones.rfc1918
zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "17.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "18.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "19.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "20.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "21.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "22.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "23.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "24.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "25.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "26.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "27.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "28.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "29.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "30.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "31.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
09:27:31
#fg
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If yotype hint; adding zones, please do that in /etc/bind/named.conf.local
        file "/etc/bind/db.root";
};
include "/etc/bind/named.conf.options";
...
~
~
~
~
~
~
~
~
~
[1]+  Stopped                 /usr/bin/vim "$@"
09:27:37
#/etc/init.d/bind9 restart
Stopping domain name service...: bind9 waiting for pid 2088 to die.
Starting domain name service...: bind9.
09:27:45
#dig @192.168.4.1 ya.ru
; <<>> DiG 9.5.1-P3 <<>> @192.168.4.1 ya.ru
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33177
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;ya.ru.                         IN      A
;; ANSWER SECTION:
ya.ru.                  7200    IN      A       87.250.251.3
ya.ru.                  7200    IN      A       93.158.134.3
ya.ru.                  7200    IN      A       213.180.204.3
ya.ru.                  7200    IN      A       77.88.21.3
;; AUTHORITY SECTION:
ya.ru.                  7200    IN      NS      ns1.yandex.ru.
ya.ru.                  7200    IN      NS      ns5.yandex.ru.
;; Query time: 121 msec
;; SERVER: 192.168.4.1#53(192.168.4.1)
;; WHEN: Thu May 27 10:28:02 2010
;; MSG SIZE  rcvd: 130
09:28:02
#dig @192.168.4.1 linux1.unix.nt
; <<>> DiG 9.5.1-P3 <<>> @192.168.4.1 linux1.unix.nt
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30981
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;linux1.unix.nt.                        IN      A
;; ANSWER SECTION:
linux1.unix.nt.         3600    IN      A       192.168.14.1
;; AUTHORITY SECTION:
unix.nt.                3600    IN      NS      sky.unix.nt.
;; ADDITIONAL SECTION:
sky.unix.nt.            3600    IN      A       10.0.35.1
;; Query time: 1 msec
;; SERVER: 192.168.4.1#53(192.168.4.1)
;; WHEN: Thu May 27 10:28:15 2010
;; MSG SIZE  rcvd: 82
09:28:15
#dig @192.168.4.1 unix.nt
; <<>> DiG 9.5.1-P3 <<>> @192.168.4.1 unix.nt
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41101
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;unix.nt.                       IN      A
;; ANSWER SECTION:
unix.nt.                3600    IN      A       10.0.35.1
;; AUTHORITY SECTION:
unix.nt.                3586    IN      NS      sky.unix.nt.
;; ADDITIONAL SECTION:
sky.unix.nt.            3586    IN      A       10.0.35.1
;; Query time: 1 msec
;; SERVER: 192.168.4.1#53(192.168.4.1)
;; WHEN: Thu May 27 10:28:29 2010
;; MSG SIZE  rcvd: 75
09:28:29
#vim /etc/resolv.conf
--- /tmp/l3-saved-14304.3260.22832	2010-05-27 10:29:03.000000000 +0300
+++ /etc/resolv.conf	2010-05-27 10:29:26.000000000 +0300
@@ -1,2 +1,2 @@
-search test.intranet
-nameserver 10.0.35.1
+search unix.nt
+nameserver 127.0.0.1
09:29:26
#host ya.ru
ya.ru has address 77.88.21.3
ya.ru has address 87.250.251.3
ya.ru has address 93.158.134.3
ya.ru has address 213.180.204.3
ya.ru mail is handled by 10 mx.yandex.ru.
09:30:45
#vim db.
09:30:45
#vim db.kharkov.unix.nt
--- /dev/null	2010-05-25 11:05:19.504073302 +0300
+++ db.kharkov.unix.nt	2010-05-27 10:39:17.000000000 +0300
@@ -0,0 +1,12 @@
+
+@	SOA	ns	root
+		1;
+		7200;
+		7200;
+		7200;
+
+	NS	ns
+ns	A	192.168.4.1
+@	MX	10	mail
+mail	CNAME	ns
+
/dev/pts/6
09:33:30
#w
 10:33:33 up 1 day, 23:28,  5 users,  load average: 0.21, 0.26, 0.12
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                Tue11   24:59m  0.68s  0.02s /bin/login --
root     pts/0    192.168.4.204    09:39    1:02   0.12s  0.00s script -f -c ba
root     pts/6    192.168.5.1      10:33    0.00s  0.00s  0.00s script -f -c ba
root     pts/2    :pts/1:S.0       Tue16   19:48   0.64s  0.10s script -f -c /b
root     pts/4    :pts/1:S.1       Tue16    1:02   2.22s  1.42s script -f -c /b
09:33:33
#ps -ax
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 init [2]
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00 [migration/0]
    4 ?        S<     0:00 [ksoftirqd/0]
    5 ?        S<     0:00 [watchdog/0]
    6 ?        S<     0:00 [migration/1]
    7 ?        S<     0:00 [ksoftirqd/1]
    8 ?        S<     0:00 [watchdog/1]
...
21026 pts/1    Ss     0:00 bash
21065 pts/1    S+     0:00 screen -x
21716 pts/5    T      0:00 /usr/bin/vim named.conf
21818 ?        Ssl    0:00 /usr/sbin/named -u bind
21942 pts/5    S+     0:00 /usr/bin/vim db.kharkov.unix.nt
21944 ?        Rs     0:00 sshd: root@pts/6
21946 pts/6    Ss+    0:00 script -f -c bash -q /root/.lilalo//11877186242471668
21983 pts/6    S+     0:00 script -f -c bash -q /root/.lilalo//11877186242471668
21984 pts/7    Ss     0:00 bash
22023 pts/7    R+     0:00 ps -ax
09:33:39
#ps -ax | more
09:34:05
#w
 10:34:20 up 1 day, 23:29,  5 users,  load average: 0.13, 0.23, 0.12
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     tty1     -                Tue11   25:00m  0.68s  0.02s /bin/login --
root     pts/0    192.168.4.204    09:39    1:49   0.12s  0.00s script -f -c ba
root     pts/6    192.168.5.1      10:33    0.00s  0.00s  0.00s script -f -c ba
root     pts/2    :pts/1:S.0       Tue16   20:35   0.64s  0.10s script -f -c /b
root     pts/4    :pts/1:S.1       Tue16    1:49   2.22s  1.42s script -f -c /b
/dev/pts/4
09:39:19
#mail A 192.168.4.1
db.0    db.255    db.kharkov.unix.nt  db.root     named.conf.local    rndc.key
db.127  db.empty  db.local            named.conf  named.conf.options  zones.rfc1918
09:39:44
#ls
db.0    db.255    db.kharkov.unix.nt  db.root     named.conf.local    rndc.key
db.127  db.empty  db.local            named.conf  named.conf.options  zones.rfc1918
09:43:25
#vim zones.rfc1918
09:43:29
#~
db.0                db.kharkov.unix.nt  named.conf.local    zones.rfc1918
db.127              db.local            named.conf.options
db.255              db.root             .named.conf.swp
db.empty            named.conf          rndc.key
09:43:29
#vim
09:43:34
#fg
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If yotype hint; adding zones, please do that in /etc/bind/named.conf.local
        file "/etc/bind/db.root";
};
include "/etc/bind/named.conf.options";
...
zone "kharkov.unix.nt" {
        type master;
        file "/etc/bind/db.kharkov.unix.nt";
};
~
~
~
~
~
"named.conf" 45L, 988C written
09:44:10
#/etc/init.d/bind9 restart
Stopping domain name service...: bind9.
Starting domain name service...: bind9.
09:44:13
#dig kharkov.unix.nt
; <<>> DiG 9.5.1-P3 <<>> kharkov.unix.nt
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 52632
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;kharkov.unix.nt.               IN      A
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu May 27 10:44:20 2010
;; MSG SIZE  rcvd: 33
09:44:20
#dig ns.kharkov.unix.nt
; <<>> DiG 9.5.1-P3 <<>> ns.kharkov.unix.nt
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2830
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;ns.kharkov.unix.nt.            IN      A
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu May 27 10:44:29 2010
;; MSG SIZE  rcvd: 36
09:44:29
#less /var/log/
09:44:29
#less /var/log/
09:44:58
#ls
db.0    db.255    db.kharkov.unix.nt  db.root     named.conf.local    rndc.key
db.127  db.empty  db.local            named.conf  named.conf.options  zones.rfc1918
09:45:00
#vim zones.rfc1918
09:45:05
#~
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If yotype hint; adding zones, please do that in /etc/bind/named.conf.local
        file "/etc/bind/db.root";
};
include "/etc/bind/named.conf.options";
...
zone "255.in-addr.arpa" {
};
include type master;amed.conf.local";
        file "/etc/bind/db.kharkov.unix.nt";
};
~
~
~
~
"named.conf" 45L, 988C
09:45:16
#vim db.
--- /tmp/l3-saved-14304.11547.18119	2010-05-27 10:45:28.000000000 +0300
+++ db.kharkov.unix.nt	2010-05-27 10:45:41.000000000 +0300
@@ -8,5 +8,5 @@
 	NS	ns
 ns	A	192.168.4.1
 @	MX	10	mail
-mail	CNAME	ns
+mail	A	192.168.4.1
 
09:45:16
#vim db.
09:45:16
#vim db.kharkov.unix.nt
09:45:41
#/etc/init.d/bind9 restart
Stopping domain name service...: bind9.
Starting domain name service...: bind9.
09:45:43
#less /var/log/messages

Файлы

  • /etc/asterisk/extensions.conf
  • named.conf.local
  • zones.rfc1918
  • /etc/asterisk/extensions.conf
    >
    [macro-caller]
    exten => s,1,Set(CALLERID(number)=4${ARG1})
    exten => s,n,Dial(SIP/${ARG2}/${MACRO_EXTEN:1})
    [macro-call_in]
    ;exten => s,1,GotoIf($[${CALLERID(number)}=302]?end)
    exten => s,1,GotoIf($[${BLACKLIST()}=1]?end)
    exten => s,n,Dial(SIP/${MACRO_EXTEN},4)
    exten => s,n,GotoIf($[${DIALSTATUS} = BUSY]?busy)
    ;exten => s,n,GotoIf( $[ ${ISNULL( ${DB( mobile/${MACRO_EXTEN} )})}]?end)
    ;exten => s,n,Dial(SIP/odessa/${DB(mobile/${MACRO_EXTEN})})
    ;exten => s,n,Goto(group3,${DB(mobile/${MACRO_EXTEN})},1)
    exten => s,n(busy),Playback(/var/tmp/busy)
    exten => s,n(end),Hangup
    [macro-test]
    exten => s,1,Answer
    exten => s,n,SayNumber(${ARG1})
    exten => s,n,SayNumber(${ARG2})
    exten => s,n,SayNumber(${ARG3})
    exten => s,n,SayNumber(${ARG4})
    exten => s,n,SayNumber(${ARG5})
    exten => s,n,SayNumber(${ARG6})
    exten => s,n,SayNumber(${ARG7})
    exten => s,n,SayNumber(${ARG8})
    exten => s,n,SayNumber(${ARG9})
    exten => s,n,SayNumber(${ARG10})
    exten => s,n,SayNumber(${ARG11})
    exten => s,n,SayNumber(${ARG12})
    exten => s,n,SayNumber(${ARG13})
    exten => s,n,SayNumber(${ARG14})
    exten => s,n,SayNumber(${ARG15})
    [default]
    [local]
    exten => 800,1,Answer
    exten => 800,n,Wait(1)
    exten => 800,n,Playback(/var/tmp/kharkov-hello)
    exten => 801,1,Answer
    exten => 801,n,Wait(1)
    exten => 801,n,Record(/var/tmp/busy:gsm)
    exten => 802,1,Macro(test,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
    ;exten => _4XX,1,Dial(SIP/${EXTEN})
    exten => _4XX,1,Macro(call_in)
    [corp]
    exten => _2XX,1,Dial(SIP/kiev/${EXTEN})
    exten => _2XXX,1,Macro(caller,${CALLERID(number)},kiev)
    exten => _3XX,1,Dial(SIP/odessa/${EXTEN})
    exten => _3XXX,1,Macro(caller,${CALLERID(number)},odessa)
    exten => _5XX,1,Dial(SIP/crimea/${EXTEN})
    ;exten => _5XXX,n,Dial(SIP/crimea/${EXTEN:1})
    exten => _5XXX,1,Macro(caller,$CALLERID(number)},crimea)
    exten => _7XX,1,Dial(SIP/dnepr/${EXTEN})
    exten => _7XXX,1,Macro(caller,${CALLERID(number)},dnepr)
    ;exten => _7800,1,Dial(SIP/dnepr/${EXTEN:1})
    [world]
    ;exten => _380XXXXXXXXX,1,Dial(SIP/odessa/${EXTEN})
    exten => _380XXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
    exten => _XXXXXXXXXX,1,Dial(SIP/sipnet/${EXTEN})
    [group1]
    include => local
    [group2]
    include => local
    include => corp
    [group3]
    include => local
    include => corp
    include => world
    [sipnet-in]
    ;exten => s,1,Dial(sip/402)
    exten => 0028770061,1,Dial(sip/401)
    
    named.conf.local
    >
    //
    // Do any local configuration here
    //
    // Consider adding the 1918 zones here, if they are not used in your
    // organization
    //include "/etc/bind/zones.rfc1918";
    
    zones.rfc1918
    >
    zone "10.in-addr.arpa"      { type master; file "/etc/bind/db.empty"; };
    zone "16.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "17.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "18.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "19.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "20.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "21.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "22.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "23.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "24.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "25.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "26.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "27.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "28.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "29.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "30.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "31.172.in-addr.arpa"  { type master; file "/etc/bind/db.empty"; };
    zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
    

    Статистика

    Время первой команды журнала11:34:45 2010- 5-26
    Время последней команды журнала09:45:43 2010- 5-27
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %45.54
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 2.52
    Количество командных строк в единицу времени, команда/мин 0.67
    Частота использования команд
    vim25|=======================| 23.58%
    ls15|==============| 14.15%
    fg8|=======| 7.55%
    dig5|====| 4.72%
    less5|====| 4.72%
    cat5|====| 4.72%
    ps4|===| 3.77%
    ~4|===| 3.77%
    asterisk3|==| 2.83%
    /etc/init.d/bind93|==| 2.83%
    register3|==| 2.83%
    "sip.conf"3|==| 2.83%
    cd3|==| 2.83%
    w3|==| 2.83%
    screen2|=| 1.89%
    :q2|=| 1.89%
    dpkg1|| 0.94%
    more1|| 0.94%
    {EXTEN})1|| 0.94%
    ${MACRO_EXTEN})})1|| 0.94%
    host1|| 0.94%
    :q!1|| 0.94%
    ${MACRO_EXTEN:1})1|| 0.94%
    mail1|| 0.94%
    vi1|| 0.94%
    sipnet1|| 0.94%
    grep1|| 0.94%
    "extensions.conf"1|| 0.94%
    dnepr1|| 0.94%
    ____
    *) Интервалы неактивности длительностью 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$