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

Содержание

Журнал

Пятница (11/28/14)

/dev/pts/11
11:13:34
#vim /etc/dahdi/system.conf
11:13:41
#~

11:13:44
#dahdi_cfg -v
DAHDI Tools Version - 2.10.0.1-7-g631d326
DAHDI Version: 2.10.0.1-5-gee691c2
Echo Canceller(s): HWEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
31 channels to configure.
Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to mg2
...
Setting echocan for channel 22 to mg2
Setting echocan for channel 23 to mg2
Setting echocan for channel 24 to mg2
Setting echocan for channel 25 to mg2
Setting echocan for channel 26 to mg2
Setting echocan for channel 27 to mg2
Setting echocan for channel 28 to mg2
Setting echocan for channel 29 to mg2
Setting echocan for channel 30 to mg2
Setting echocan for channel 31 to mg2
11:14:30
## выгрузил драйвер

11:14:39
## загрузка с параметром e1

11:14:45
## теперь dahdi_genconf отработал нормально

11:15:07
#ls /etc/mod
modprobe.d/ modules
11:15:07
#cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
loop
11:16:00
#vim /etc/modules
11:16:19
#â„# чтобы после перезагрузки загружалась нормально

11:16:43
## давайте проверим

11:16:46
#â„# чтобы потом не было сюбрпризов

11:16:53
#reboot
Broadcast message from root@debian5 (pts/7) (Fri Nov 28 12:16:54 2014):
The system is going down for reboot NOW!
11:19:14
#ssh m5
ssh: connect to host m5 port 22: Connection refused
11:19:14
#ssh m5
ssh: connect to host m5 port 22: Connection refused
11:19:24
#ssh m5
ssh: connect to host m5 port 22: Connection refused
11:19:33
#ssh m5
ssh: connect to host m5 port 22: Connection refused
11:19:34
## что-то с машиной не так

11:20:49
#ssh m5
ssh: connect to host m5 port 22: Connection refused
11:20:50
## загрузить в single user mode

11:21:15
## в загрузчике нужно нажать e

11:21:19
## в строке ядра

11:21:34
## вам нужно дописаÑать

11:21:48
## init=/bin/bash

11:21:52
## там где vmlinuz ....

11:22:00
## после этого нажать ctrl-x

11:23:21
#ssh m5
Linux debian5 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 28 12:04:45 2014 from 192.168.12.254
11:23:21
## коварная маÐшина

11:23:25
#lsmod | grep dahdi
dahdi                 196822  2 oct612x,wcte13xp
crc_ccitt              12347  1 dahdi
11:23:45
#find /sys/ -name wcte13xp
/sys/bus/pci/drivers/wcte13xp
/sys/module/dahdi/holders/wcte13xp
/sys/module/oct612x/holders/wcte13xp
/sys/module/wcte13xp
11:23:52
#ls -l /sys/bus/pci/drivers/wcte13xp
total 0
lrwxrwxrwx 1 root root    0 Nov 28 12:22 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:14.4/0000:01:00.0
--w------- 1 root root 4096 Nov 28 12:23 bind
lrwxrwxrwx 1 root root    0 Nov 28 12:22 module -> ../../../../module/wcte13xp
--w------- 1 root root 4096 Nov 28 12:23 new_id
--w------- 1 root root 4096 Nov 28 12:23 remove_id
--w------- 1 root root 4096 Nov 28 12:23 uevent
--w------- 1 root root 4096 Nov 28 12:23 unbind
11:24:52
#less /var/log/messages
11:25:20
#Nov 28 12:22:20 debian5 kernel: [ 6.331948] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:14.2/inpu
DAHDI Tools Version - 2.10.0.1-7-g631d326
DAHDI Version: 2.10.0.1-5-gee691c2
Echo Canceller(s): HWEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
31 channels to configure.
DAHDI_SPANCONFIG failed on span 1: Invalid argument (22)
11:25:25
## она загрузилась Ñбез параметра, собака

11:25:38
#ls /etc/mod
modprobe.d/ modules
11:25:38
#ls /etc/modprobe.d/
alsa-base-blacklist.conf  alsa-base.conf  blunt-axe.conf  fbdev-blacklist.conf  radeon-kms.conf
11:25:44
#lsmod | grep dahdi
dahdi                 196822  2 oct612x,wcte13xp
crc_ccitt              12347  1 dahdi
11:26:00
#modprobe -r wcte13xp

11:26:09
## modprobe wcte13xp default_linemode=e1

11:26:26
## да, она загрузилась без параметра

11:26:31
#cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
loop
wcte13xp default_linemode=e1
11:26:48
#ls /etc/modprobe.d/
alsa-base-blacklist.conf  alsa-base.conf  blunt-axe.conf  fbdev-blacklist.conf  radeon-kms.conf
11:27:16
#cat /etc/modprobe.d/alsa-base
cat: /etc/modprobe.d/alsa-base: No such file or directory
11:27:22
#cat /etc/modprobe.d/alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
...
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
11:27:23
#vim /etc/modprobe.d/dahdi.conf
11:28:05
#cat /etc/modprobe.d/alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
...
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
11:28:12
#cat /etc/modprobe.d/dahdi.conf
options wcte13xp default_linemode=e1
11:28:19
#vim /etc/modules
11:28:35
#reboot
Broadcast message from root@debian5 (pts/2) (Fri Nov 28 12:28:42 2014):
The system is going down for reboot NOW!
11:29:39
#ssh m5
Linux debian5 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 28 12:23:20 2014 from 192.168.12.254
11:29:39
#dahdi_cfg -v
DAHDI Tools Version - 2.10.0.1-7-g631d326
DAHDI Version: 2.10.0.1-5-gee691c2
Echo Canceller(s): HWEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
31 channels to configure.
Setting echocan for channel 1 to mg2
Setting echocan for channel 2 to mg2
Setting echocan for channel 3 to mg2
...
Setting echocan for channel 22 to mg2
Setting echocan for channel 23 to mg2
Setting echocan for channel 24 to mg2
Setting echocan for channel 25 to mg2
Setting echocan for channel 26 to mg2
Setting echocan for channel 27 to mg2
Setting echocan for channel 28 to mg2
Setting echocan for channel 29 to mg2
Setting echocan for channel 30 to mg2
Setting echocan for channel 31 to mg2
11:29:44
#% # супер
bash: fg: %: no such job
11:29:47
#% # Ñупер

11:29:49
## обед

11:29:51
#uptime
 12:29:54 up 0 min,  2 users,  load average: 3.51, 1.04, 0.36
11:29:54
#cat /etc/mod
modprobe.d/ modules
11:29:54
#cat /etc/modprobe.d/dahdi.conf
options wcte13xp default_linemode=e1
прошло 63 минуты
12:33:24
#ls -lt /etc/asterisk/ | head
total 808
-rw-r--r-- 1 root     root       573 Nov 28 12:13 dahdi-channels.conf
-rw-r--r-- 1 root     root       567 Nov 28 12:02 dahdi-channels.conf.bak
-rw-r--r-- 1 root     root      8243 Nov 28 10:23 extensions.conf
-rw-r----- 1 asterisk asterisk 24012 Nov 27 15:17 queues.conf
-rw-r----- 1 asterisk asterisk  2790 Nov 27 15:05 agents.conf
-rw-r----- 1 asterisk asterisk 13795 Nov 26 16:39 features.conf
-rw-r--r-- 1 root     root      1551 Nov 26 15:56 sip.conf
-rw-r----- 1 asterisk asterisk  1753 Nov 26 14:19 meetme.conf
-rw-r----- 1 asterisk asterisk  2740 Nov 26 13:53 musiconhold.conf
12:33:56
#vim /etc/asterisk/dahdi-channels.conf
12:37:45
#cat /etc/dahdi/system.conf
# Autogenerated by /usr/sbin/dahdi_genconf on Fri Nov 28 12:13:34 2014
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCT13x/0 "Wildcard TE132/TE134 Card 0" (MASTER)
span=1,1,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31
# Global data
loadzone        = us
defaultzone     = us
12:38:03
#sed -i s/1,1/1,0/ /etc/dahdi/system.conf

12:38:29
## да, вот теперь мы не являевся иÐсточником сигнализацииб мы теперь полноценный pri_cpe

12:40:20
## мы приемник таковых импульсов

12:42:48
## на этом файл готов

12:42:52
## теперь не запускаем dahdi_genconf

12:43:05
## потому что файл перезапишется

12:43:09
#mv /etc/asterisk/dahdi-channels{,-custom}.conf

12:43:31
#ls -l /etc/asterisk/*dahdi*
-rw-r----- 1 asterisk asterisk 56496 Jan  4  2014 /etc/asterisk/chan_dahdi.conf
-rw-r--r-- 1 root     root       567 Nov 28 12:02 /etc/asterisk/dahdi-channels.conf.bak
-rw-r--r-- 1 root     root      1103 Nov 28 13:42 /etc/asterisk/dahdi-channels-custom.conf
12:43:52
## вам нужно заинклюдить этот файл в chan_dahdi.conf

12:44:18
#vim /etc/asterisk/chan_dahdi.conf
12:44:52
## всё

12:44:58
#â„# перезагружаем asterisk и смотрим

12:45:04
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
12:45:12
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian5 (pid = 4502)
...
debian5*CLI>
debian5*CLI>
debian5*CLI> pri show spans
PRI span 1/0: Up, Active
debian5*CLI>
debian5*CLI>
debian5*CLI>
    -- Span 1: Extension 1101@from-pstn does not exist.  Rejecting call from '5002'.
debian5*CLI> quit
Executing last minute cleanups
12:48:45
#vim /etc/asterisk/extensions.conf
12:50:29
#vim /etc/asterisk/extensions.conf
12:54:24
#exit
exit
Connection to m5 closed.
12:54:33
#all grep _5 /etc/asterisk/extensions.conf
5: exten => _5XXX,1,Dial(DAHDI/g1/${EXTEN})
12:54:47
#all grep _5 /etc/asterisk/extensions.conf
5: exten => _5XXX,1,Dial(DAHDI/g1/${EXTEN})
12:54:56
#all grep _5 /etc/asterisk/extensions.conf
5: exten => _5XXX,1,Dial(DAHDI/g1/${EXTEN})
12:55:01
#ssh m1
l3-agent is already running: pid=3555; pidfile=/root/.lilalo/l3-agent.pid
12:55:07
#vim /etc/asterisk/extensions.conf
13:01:24
#ssh m8
Linux debian8 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Nov 27 17:10:55 2014 from 192.168.12.254
l3-agent is already running: pid=3617; pidfile=/root/.lilalo/l3-agent.pid
13:01:24
#vim /etc/asterisk/extensions.conf
13:02:09
#vim /etc/asterisk/extensions.conf
13:02:43
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian5 (pid = 4502)
Verbosity is at least 3
debian5*CLI>
debian5*CLI>
  == Using SIP RTP CoS mark 5
[Nov 28 14:03:06] NOTICE[4542]: chan_sip.c:22753 handle_request_invite: Call from 'atlanta' (192.168.40.1:5060) to extension '5002' rejected because extension not found in context 'gr1'.
  == Using SIP RTP CoS mark 5
[Nov 28 14:03:09] NOTICE[4542]: chan_sip.c:22753 handle_request_invite: Call from 'atlanta' (192.168.40.1:5060) to extension '5002' rejected because extension not found in context 'gr1'.
debian5*CLI> quit
Executing last minute cleanups
13:02:45
#ssh m5
Linux debian5 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 28 12:29:37 2014 from 192.168.12.254
l3-agent is already running: pid=3081; pidfile=/root/.lilalo/l3-agent.pid
13:03:17
#vim /etc/asterisk/extensions.conf
13:04:27
#vim /etc/asterisk/sip.conf
13:04:52
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian5 (pid = 4502)
...
  == Using SIP RTP CoS mark 5
    -- Executing [5002@gr4:1] Dial("SIP/ny-0000000a", "DAHDI/g1/5002") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called DAHDI/g1/5002
    -- DAHDI/i1/5002-9 is proceeding passing it to SIP/ny-0000000a
    -- DAHDI/i1/5002-9 is making progress passing it to SIP/ny-0000000a
    -- Hungup 'DAHDI/i1/5002-9'
  == Spawn extension (gr4, 5002, 1) exited non-zero on 'SIP/ny-0000000a'
debian5*CLI> quit
Executing last minute cleanups
13:09:05
#vim /etc/asterisk/extensions.conf
прошло 18 минут
13:28:00
#exit
exit
Connection to m5 closed.
13:30:58
#_ +1 +2 +3 +4 +5 +6 +7 +8
+1 +2 +3 +4 +5 +6 +7 +8
13:31:18
#ssh m5
Linux debian5 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 28 14:02:43 2014 from 192.168.12.254
l3-agent is already running: pid=3081; pidfile=/root/.lilalo/l3-agent.pid
13:32:21
#cat /etc/dahdi/system.conf
# Autogenerated by /usr/sbin/dahdi_genconf on Fri Nov 28 12:13:34 2014
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCT13x/0 "Wildcard TE132/TE134 Card 0" (MASTER)
span=1,0,0,ccs,hdb3,crc4
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31
# Global data
loadzone        = us
defaultzone     = us
13:32:27
#vim /etc/dahdi/system.conf
13:34:18
# 20 defaultzone = us
exit
Connection to m5 closed.
13:34:30
#cat /etc/asterisk/*custom*
;
; Mappings for custom config file
;
; To get your CSV output in a format tailored to your liking, uncomment the
; following lines and look for the output in the cdr-custom directory (usually
; in /var/log/asterisk).  Depending on which mapping you uncomment, you may see
; Master.csv, Simple.csv, or both.
;
;[mappings]
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_Q
...
; используется e1
; для t1: national
switchtype = euroisdn
; в завивисимости от того вы АТС или нет:
; pri_cpe (Customer Premising Equipment) == вы не ATC
; pri_net                                == вы АТС
signalling = pri_cpe
; какие каналы попадают в эту группу
channel => 1-10
;15,17-31
13:34:37
#exit
exit
Connection to m5 closed.
13:34:59
#ls /var/log/asterisk/
cdr-csv  cdr-custom  messages
13:37:43
#ls /var/log/asterisk/cdr-csv/

Файлы

  • /etc/asterisk/*custom*
  • /etc/dahdi/system.conf
  • /etc/mod
  • /etc/modprobe.d/alsa-base.conf
  • /etc/modprobe.d/dahdi.conf
  • /etc/modules
  • /etc/asterisk/*custom*
    >
    ;
    ; Mappings for custom config file
    ;
    ; To get your CSV output in a format tailored to your liking, uncomment the
    ; following lines and look for the output in the cdr-custom directory (usually
    ; in /var/log/asterisk).  Depending on which mapping you uncomment, you may see
    ; Master.csv, Simple.csv, or both.
    ;
    ;[mappings]
    ;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_Q
    ;
    ; High Resolution Time for billsec and duration fields
    ;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration,f)})},${CSV_QUOTE(${CDR(billsec,f)})},${C
    ;Simple.csv => ${CSV_QUOTE(${EPOCH})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})}
    ;
    ; Mappings for custom config file
    ;
    [master] ; currently, only file "master.db" is supported, with only one table at a time.
    ;table => cdr
    ;columns => calldate, clid, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, test
    ;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
    ;Enable High Resolution Times for billsec and duration fields
    ;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration,f)}','${CDR(billsec,f)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
    ;
    ; Asterisk Channel Event Logging (CEL) - Custom CSV Backend
    ;
    ; This is the configuration file for the customizable CSV backend for CEL
    ; logging.
    ;
    ; In order to create custom CSV logs for CEL, uncomment the template below
    ; (Master.csv) and start Asterisk.  Once CEL events are generated, a file will
    ; appear in the following location:
    ;
    ;                 /var/log/asterisk/cel-custom/Master.csv
    ;
    ; (Note that /var/log/asterisk is the default and may differ on your system)
    ;
    ; You can also create more than one template if desired.  All logs will appear
    ; in the cel-custom directory under your Asterisk logs directory.
    ;
    ;
    ; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
    ; details from the CEL event.  There are also a few variables created by this
    ; module that can be used in a mapping:
    ;
    ;    eventtype   - The name of the CEL event.
    ;    eventtime   - The timestamp of the CEL event.
    ;    userdeftype - User defined event type name from CELGenUserEvent().
    ;    eventextra  - Extra data included with this CEL event, typically along with
    ;                  an event of type USER_DEFINED from CELGenUserEvent().
    ;    BRIDGEPEER  - Bridged peer channel name at the time of the CEL event.
    ;                  CHANNEL(peer) could also be used.
    ;
    [mappings]
    ;Master.csv => ${CSV_QUOTE(${eventtype})},${CSV_QUOTE(${eventtime})},${CSV_QUOTE(${CALLERID(name)})},${CSV_QUOTE(${CALLERID(num)})},${CSV_QUOTE(${CALLERID(ANI)})},${CSV_QUOTE(${CALLERID(RDNIS)})},${CSV_QUOTE(${CALLERID(DNID)})},${CSV_QUOTE(${CHANNEL(exten)})},${CSV_QUOTE(${CHANNEL(context)})},${CSV_QUOTE(${CHANNEL(channame)})},${CSV_QUOTE(${CHANNEL(appname)})},${CSV_QUOTE(${CHANNEL(appdata)})},${C
    ;
    ; Asterisk Channel Event Logging (CEL) - SQLite 3 Backend
    ;
    ;
    ; Mappings for sqlite3 config file
    ;
    ; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
    ; details from the CEL event.  There are also a few variables created by this
    ; module that can be used in a mapping:
    ;
    ;    eventtype   - The name of the CEL event.
    ;    eventtime   - The timestamp of the CEL event.
    ;    userdeftype - User defined event type name from CELGenUserEvent().
    ;    eventextra  - Extra data included with this CEL event, typically along with
    ;                  an event of type USER_DEFINED from CELGenUserEvent().
    ;    BRIDGEPEER  - Bridged peer channel name at the time of the CEL event.
    ;                  CHANNEL(peer) could also be used.
    ;
    ;[master] ; currently, only file "master.db" is supported, with only one table at a time.
    ;table  => cel
    ;columns        => eventtype, eventtime, cidname, cidnum, cidani, cidrdnis, ciddnid, context, exten, channame, appname, appdata, amaflags, accountcode, uniqueid, userfield, peer, userdeftype, eventextra
    ;values => '${eventtype}','${eventtime}','${CALLERID(name)}','${CALLERID(num)}','${CALLERID(ANI)}','${CALLERID(RDNIS)}','${CALLERID(DNID)}','${CHANNEL(context)}','${CHANNEL(exten)}','${CHANNEL(channame)}','${CHANNEL(appname)}','${CHANNEL(appdata)}','${CHANNEL(amaflags)}','${CHANNEL(accountcode)}','${CHANNEL(uniqueid)}','${CHANNEL(userfield)}','${BRIDGEPEER}','${userdeftype}','${eventextra}'
    ; Autogenerated by /usr/sbin/dahdi_genconf on Fri Nov 28 12:13:34 2014
    ; If you edit this file and execute /usr/sbin/dahdi_genconf again,
    ; your manual changes will be LOST.
    ; Dahdi Channels Configurations (chan_dahdi.conf)
    ;
    ; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
    ; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
    ;
    ; Span 1: WCT13x/0 "Wildcard TE132/TE134 Card 0" (MASTER)
    ; это уже готовый файл для использования в Asterisk
    ; группа 1, сюда отправим все каналы
    group=1
    ; если приходит звонок по pri, попадает в контекст from-pstn
    context=from-pstn
    ; используется e1
    ; для t1: national
    switchtype = euroisdn
    ; в завивисимости от того вы АТС или нет:
    ; pri_cpe (Customer Premising Equipment) == вы не ATC
    ; pri_net                                == вы АТС
    signalling = pri_cpe
    ; какие каналы попадают в эту группу
    channel => 1-10
    ;15,17-31
    
    /etc/dahdi/system.conf
    >
    # Autogenerated by /usr/sbin/dahdi_genconf on Fri Nov 28 12:13:34 2014
    # If you edit this file and execute /usr/sbin/dahdi_genconf again,
    # your manual changes will be LOST.
    # Dahdi Configuration File
    #
    # This file is parsed by the Dahdi Configurator, dahdi_cfg
    #
    # Span 1: WCT13x/0 "Wildcard TE132/TE134 Card 0" (MASTER)
    span=1,0,0,ccs,hdb3,crc4
    # termtype: te
    bchan=1-15,17-31
    dchan=16
    echocanceller=mg2,1-15,17-31
    # Global data
    loadzone        = us
    defaultzone     = us
    
    /etc/mod
    >
    modprobe.d/ modules
    
    /etc/modprobe.d/alsa-base.conf
    >
    # autoloader aliases
    install sound-slot-0 /sbin/modprobe snd-card-0
    install sound-slot-1 /sbin/modprobe snd-card-1
    install sound-slot-2 /sbin/modprobe snd-card-2
    install sound-slot-3 /sbin/modprobe snd-card-3
    install sound-slot-4 /sbin/modprobe snd-card-4
    install sound-slot-5 /sbin/modprobe snd-card-5
    install sound-slot-6 /sbin/modprobe snd-card-6
    install sound-slot-7 /sbin/modprobe snd-card-7
    # Cause optional modules to be loaded above generic modules
    install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
    install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
    install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
    # Keep snd-pcsp from beeing loaded as first soundcard
    options snd-pcsp index=-2
    # Keep snd-usb-audio from beeing loaded as first soundcard
    options snd-usb-audio index=-2
    # Prevent abnormal drivers from grabbing index 0
    options bt87x index=-2
    options cx88_alsa index=-2
    options snd-atiixp-modem index=-2
    options snd-intel8x0m index=-2
    options snd-via82xx-modem index=-2
    
    /etc/modprobe.d/dahdi.conf
    >
    options wcte13xp default_linemode=e1
    
    /etc/modules
    >
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.
    # Parameters can be specified after the module name.
    loop
    wcte13xp default_linemode=e1
    

    Статистика

    Время первой команды журнала11:13:34 2014-11-28
    Время последней команды журнала13:37:43 2014-11-28
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %18.81
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 1.34
    Количество командных строк в единицу времени, команда/мин 1.25
    Частота использования команд
    #24|=======================| 23.08%
    vim15|==============| 14.42%
    cat11|==========| 10.58%
    ssh11|==========| 10.58%
    ls9|========| 8.65%
    asterisk3|==| 2.88%
    â„#3|==| 2.88%
    all3|==| 2.88%
    exit3|==| 2.88%
    %2|=| 1.92%
    reboot2|=| 1.92%
    dahdi_cfg2|=| 1.92%
    grep2|=| 1.92%
    lsmod2|=| 1.92%
    201|| 0.96%
    _1|| 0.96%
    /etc/init.d/asterisk1|| 0.96%
    head1|| 0.96%
    uptime1|| 0.96%
    modprobe1|| 0.96%
    less1|| 0.96%
    Nov1|| 0.96%
    sed1|| 0.96%
    ~1|| 0.96%
    find1|| 0.96%
    mv1|| 0.96%
    ____
    *) Интервалы неактивности длительностью 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$