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

Содержание

Журнал

Вторник (04/22/14)

/dev/pts/1
12:59:33
#l3-agent

13:00:04
#.bashrc
l3script: .bashrc: команда не найдена
13:03:18
#art get install asterisk
l3script: art: команда не найдена
/dev/pts/3
13:12:50
#man ssh-keygen
13:13:34
#apt cache search asterisk
l3script: apt: команда не найдена
13:19:39
#apt-cache search asterisk
asterisk-config - Configuration files for Asterisk
asterisk-dahdi - DAHDI devices support for the Asterisk PBX
asterisk-dbg - Debugging symbols for Asterisk
asterisk-dev - Development files for Asterisk
asterisk-doc - Source code documentation for Asterisk
asterisk-mobile - Bluetooth phone support for the Asterisk PBX
asterisk-modules - loadable modules for the Asterisk PBX
asterisk-mp3 - MP3 playback support for the Asterisk PBX
asterisk-mysql - MySQL database protocol support for the Asterisk PBX
asterisk-ooh323 - H.323 protocol support for the Asterisk PBX - ooH323c
...
op-panel - switchboard type application for the Asterisk PBX
libopenr2-3 - MFC/R2 (telephony) call setup library
python-asterisk - Asterisk Manager API interface module for Python
libsipwitch-dev - secure peer-to-peer SIP VoIP server - development files
libsipwitch1 - secure peer-to-peer SIP VoIP server - development files
libsipwitch1-dbg - secure peer-to-peer SIP VoIP server - development files
sipwitch - secure peer-to-peer VoIP server for the SIP protocol
sipwitch-cgi - secure peer-to-peer SIP VoIP server - CGI XML-RPC interface
python-starpy - Asterisk (AMI) protocols for Twisted Python
asterisk - телефонная станция для учреждений (PBX)
13:19:50
#apt-get install asterisk
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail autopoint debhelper freetds-common gettext git
  git-man html2text intltool-debian libcurl3 liberror-perl libgettextpo0 libiksemel3 libmail-sendmail-perl libodbc1 libpq5 libradiusclient-ng2 libresample1 libsaclm3 libsaevt3
  libsensors4 libsnmp-base libsnmp15 libsox-fmt-alsa libsox-fmt-base libsox2 libsqlite0 libsrtp0 libsybdb5 libsys-hostname-long-perl libvpb0 module-assistant po-debconf rsync sox
  vpb-driver-source
Предлагаемые пакеты:
  asterisk-doc asterisk-dev asterisk-ooh323 asterisk-dahdi dh-make gettext-doc git-daemon-run git-daemon-sysvinit git-doc git-el git-arch git-cvs git-svn git-email git-gui gitk
  gitweb libmyodbc odbc-postgresql tdsodbc unixodbc-bin lm-sensors snmp-mibs-downloader libsox-fmt-all srtp-utils vpb-utils libmail-box-perl
НОВЫЕ пакеты, которые будут установлены:
  asterisk asterisk-config asterisk-core-sounds-en asterisk-core-sounds-en-gsm asterisk-modules asterisk-moh-opsound-gsm asterisk-voicemail autopoint debhelper freetds-common
  gettext git git-man html2text intltool-debian libcurl3 liberror-perl libgettextpo0 libiksemel3 libmail-sendmail-perl libodbc1 libpq5 libradiusclient-ng2 libresample1 libsaclm3
  libsaevt3 libsensors4 libsnmp-base libsnmp15 libsox-fmt-alsa libsox-fmt-base libsox2 libsqlite0 libsrtp0 libsybdb5 libsys-hostname-long-perl libvpb0 module-assistant po-debconf
  rsync sox vpb-driver-source
обновлено 0, установлено 42 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 28,1 MБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 54,3 MB.
Хотите продолжить [Д/н]? n
Аварийное завершение.
/dev/pts/1
13:26:28
#art-get install asterisk
l3script: art-get: команда не найдена
/dev/pts/3
13:26:46
#apt-cache show asterisk
Package: asterisk
Version: 1:1.8.13.1~dfsg1-3+deb7u3
Installed-Size: 3772
Maintainer: Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org>
Architecture: amd64
Provides: asterisk-1.8
Depends: libc6 (>= 2.8), libcap2 (>= 2.10), libgcc1 (>= 1:4.1.1), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.1.1), libtinfo5, libxml2 (>= 2.7.4), asterisk-config (= 1:1.8.13.1~dfsg1-3+deb7u3) | asterisk-config-custom, asterisk-modules (= 1:1.8.13.1~dfsg1-3+deb7u3), adduser, asterisk-core-sounds-en-gsm | asterisk-prompt-en
Recommends: sox, asterisk-voicemail | asterisk-voicemail-storage, asterisk-moh-opsound-gsm
Suggests: asterisk-doc, asterisk-dev, asterisk-ooh323, asterisk-dahdi
Description-ru: телефонная станция для учреждений (PBX)
...
Tag: implemented-in::c, interface::daemon, interface::text-mode,
 network::server, protocol::ssl, protocol::voip, role::program,
 scope::utility, uitoolkit::ncurses, works-with::audio, works-with::db
Section: comm
Priority: optional
Filename: pool/main/a/asterisk/asterisk_1.8.13.1~dfsg1-3+deb7u3_amd64.deb
Size: 1773912
MD5sum: 447e1978d9cc3d89d65f88b0672b471e
SHA1: f953b2c863dc5d7f73f7f943c0feea35da35fbe2
SHA256: 0d744db2690fcae03bcbb1ff94a4bfe4dc92ee5571f3195d32fd8e1884ae065f
/dev/pts/1
13:26:51
#art-get install asterisk
l3script: art-get: команда не найдена
13:27:18
#art-get install asterisk
l3script: art-get: команда не найдена
/dev/pts/3
13:28:01
#apt-get install asterisk
Выбор ранее не выбранного пакета libsensors4:amd64.
Распаковывается пакет libsensors4:amd64 (из файла …/libsensors4_1%3a3.3.2-2+deb7u1_amd64.deb) …
Выбор ранее не выбранного пакета freetds-common.
Распаковывается пакет freetds-common (из файла …/freetds-common_0.91-2+deb7u1_all.deb) …
Выбор ранее не выбранного пакета libsybdb5:amd64.
Распаковывается пакет libsybdb5:amd64 (из файла …/libsybdb5_0.91-2+deb7u1_amd64.deb) …
Выбор ранее не выбранного пакета asterisk-config.
Распаковывается пакет asterisk-config (из файла …/asterisk-config_1%3a1.8.13.1~dfsg1-3+deb7u3_all.deb) …
Выбор ранее не выбранного пакета libiksemel3.
Распаковывается пакет libiksemel3 (из файла …/libiksemel3_1.2-4_amd64.deb) …
...
Настраивается пакет libmail-sendmail-perl (0.79.16-1) …
Настраивается пакет libsox2 (14.4.0-3) …
Настраивается пакет libsox-fmt-alsa (14.4.0-3) …
Настраивается пакет libsox-fmt-base (14.4.0-3) …
Настраивается пакет module-assistant (0.11.4) …
Настраивается пакет rsync (3.0.9-4) …
update-rc.d: using dependency based boot sequencing
Настраивается пакет sox (14.4.0-3) …
Настраивается пакет vpb-driver-source (4.2.55-1) …
Настраивается пакет asterisk-moh-opsound-gsm (2.03-1) …
/dev/pts/1
13:28:13
#apt-get install asterisk
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлена самая новая версия asterisk.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
/dev/pts/3
13:29:26
#dpkg -l asterisk
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
            частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя                                  Версия             Архитектура   Описание
+++-=======================================-========================-========================-====================================================================================
ii  asterisk                                1:1.8.13.1~dfsg1-3+deb7u amd64                    Open Source Private Branch Exchange (PBX)
/dev/pts/1
13:29:34
#apt get install asterisk
l3script: apt: команда не найдена
13:29:45
#apt-get install asterisk
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлена самая новая версия asterisk.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
13:29:56
#apt-get install asterisk
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлена самая новая версия asterisk.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
13:30:18
#dpkg -l asterisk
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
            частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя                      Версия       Архитекту Описание
+++-===========================-==================-==================-===========================================================
ii  asterisk                    1:1.8.13.1~dfsg1-3 amd64              Open Source Private Branch Exchange (PBX)
13:30:46
#dpkg -L asterisk
/.
/usr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/asterisk
/usr/share/doc
/usr/share/doc/asterisk
/usr/share/doc/asterisk/NEWS.Debian.gz
/usr/share/doc/asterisk/changelog.gz
...
/etc/init.d/asterisk
/etc/asterisk
/etc/logrotate.d
/etc/logrotate.d/asterisk
/etc/default
/etc/default/asterisk
/usr/share/asterisk/sounds/custom
/usr/share/asterisk/sounds/recordings
/usr/share/man/man8/rasterisk.8.gz
/usr/sbin/rasterisk
13:33:07
#asterisk -rvvvvv
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 debian4 (pid = 14620)
...
debian4*CLI> co
No such command 'co' (type 'core show help co' for other possible commands)
debian4*CLI> co
No such command 'co' (type 'core show help co' for other possible commands)
debian4*CLI> c0
No such command 'c0' (type 'core show help c0' for other possible commands)
debian4*CLI> co
No such command 'co' (type 'core show help co' for other possible commands)
debian4*CLI> quit
Executing last minute cleanups
прошло 26 минут
13:59:14
#/etc/init.d/asterisk stop
Stopping Asterisk PBX: asterisk.
14:01:00
#/etc/init.d/asterisk start
Starting Asterisk PBX: asterisk.
прошло 37 минут
14:38:40
#mv /etc/asterisk/sip.conf /etc/asteriks/sip.conf.save
mv: невозможно переместить «/etc/asterisk/sip.conf» в «/etc/asteriks/sip.conf.save»: Нет такого файла или каталога
14:41:25
#mv /etc/asterisk/sip.conf /etc/asteriks/sip.conf. save
mv: указанная цель «save» не является каталогом
14:41:33
#mv /etc/asterisk/sip.conf /etc/asteriks/sip.conf save
mv: указанная цель «save» не является каталогом
14:45:55
#mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.saved
mv: не удалось выполнить stat для «/etc/asterisk/sip.conf»: Нет такого файла или каталога
14:50:25
#contex=default
l3script: mc: команда не найдена
прошло 12 минут
15:02:46
#nano sip.conf
--- /tmp/l3-saved-9662.12507.11553	2014-04-22 16:02:49.646531461 +0300
+++ sip.conf	2014-04-22 16:03:09.266531198 +0300
@@ -1,5 +1,5 @@
 [general]
-contex=default
+context=default
 [2101]
 type=friend
 secret=1234
15:03:10
#[general]
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
 Reloading SIP
[Apr 22 16:03:25] NOTICE[14925]: chan_sip.c:28016 reload_config: Unable to load config sip.conf
debian4*CLI> quit
Executing last minute cleanups
15:03:49
#nano sip.conf
15:10:39
#[general]
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> quit
Executing last minute cleanups
прошло 33 минуты
15:43:44
#asterisk -rv
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
 Reloading SIP
[Apr 22 16:43:55] NOTICE[14925]: chan_sip.c:28016 reload_config: Unable to load config sip.conf
debian4*CLI>
debian4*CLI> exit
Executing last minute cleanups
15:43:59
#cd /etc/asterisk

15:44:05
#ls -l
итого 784
-rw-r----- 1 asterisk asterisk   140 Янв  4 03:07 adsi.conf
-rw-r----- 1 asterisk asterisk  2760 Янв  4 03:07 agents.conf
-rw-r----- 1 asterisk asterisk  2904 Янв  4 03:07 ais.conf
-rw-r----- 1 asterisk asterisk  2084 Янв  4 03:07 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  3498 Янв  4 03:07 alsa.conf
-rw-r----- 1 asterisk asterisk   767 Янв  4 03:07 amd.conf
-rw-r----- 1 asterisk asterisk  1044 Янв  4 03:07 app_mysql.conf
-rw-r----- 1 asterisk asterisk  3254 Янв  4 03:07 asterisk.adsi
-rw-r----- 1 asterisk asterisk  3465 Янв  4 03:07 asterisk.conf
...
-rw-r----- 1 asterisk asterisk   742 Янв  4 03:07 sip_notify.conf
-rw-r----- 1 asterisk asterisk  9185 Янв  4 03:07 skinny.conf
-rw-r----- 1 asterisk asterisk  6774 Янв  4 03:07 sla.conf
-rw-r----- 1 asterisk asterisk  2669 Янв  4 03:07 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 Янв  4 03:07 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   656 Янв  4 03:07 udptl.conf
-rw-r----- 1 asterisk asterisk  5096 Янв  4 03:07 unistim.conf
-rw-r----- 1 asterisk asterisk  2423 Янв  4 03:07 users.conf
-rw-r----- 1 asterisk asterisk 21238 Янв  4 03:07 voicemail.conf
-rw-r----- 1 asterisk asterisk  5939 Янв  4 03:07 vpb.conf
15:44:09
#nano sip.conf
--- /dev/null	2014-04-22 12:59:16.589672301 +0300
+++ sip.conf	2014-04-22 16:45:26.870497202 +0300
@@ -0,0 +1,10 @@
+[general]
+
+context=default
+
+
+[2101]
+type=friend
+secret=1234
+host=dynamic
+
15:45:26
#[general]
итого 788
-rw-r----- 1 asterisk asterisk   140 Янв  4 03:07 adsi.conf
-rw-r----- 1 asterisk asterisk  2760 Янв  4 03:07 agents.conf
-rw-r----- 1 asterisk asterisk  2904 Янв  4 03:07 ais.conf
-rw-r----- 1 asterisk asterisk  2084 Янв  4 03:07 alarmreceiver.conf
-rw-r----- 1 asterisk asterisk  3498 Янв  4 03:07 alsa.conf
-rw-r----- 1 asterisk asterisk   767 Янв  4 03:07 amd.conf
-rw-r----- 1 asterisk asterisk  1044 Янв  4 03:07 app_mysql.conf
-rw-r----- 1 asterisk asterisk  3254 Янв  4 03:07 asterisk.adsi
-rw-r----- 1 asterisk asterisk  3465 Янв  4 03:07 asterisk.conf
...
-rw-r----- 1 asterisk asterisk   742 Янв  4 03:07 sip_notify.conf
-rw-r----- 1 asterisk asterisk  9185 Янв  4 03:07 skinny.conf
-rw-r----- 1 asterisk asterisk  6774 Янв  4 03:07 sla.conf
-rw-r----- 1 asterisk asterisk  2669 Янв  4 03:07 smdi.conf
-rw-r----- 1 asterisk asterisk  1384 Янв  4 03:07 telcordia-1.adsi
-rw-r----- 1 asterisk asterisk   656 Янв  4 03:07 udptl.conf
-rw-r----- 1 asterisk asterisk  5096 Янв  4 03:07 unistim.conf
-rw-r----- 1 asterisk asterisk  2423 Янв  4 03:07 users.conf
-rw-r----- 1 asterisk asterisk 21238 Янв  4 03:07 voicemail.conf
-rw-r----- 1 asterisk asterisk  5939 Янв  4 03:07 vpb.conf
15:45:30
#asterisk -rv
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
...
[Apr 22 16:49:13] WARNING[14925]: chan_sip.c:14460 check_auth: username mismatch, have <2101>, digest has <612>
[Apr 22 16:49:13] NOTICE[14925]: chan_sip.c:25030 handle_request_register: Registration from '<sip:2101@192.168.12.4;user=phone>' failed for '192.168.12.203:5060' - Username/auth name mismatch
[Apr 22 16:49:43] WARNING[14925]: chan_sip.c:14460 check_auth: username mismatch, have <2101>, digest has <612>
[Apr 22 16:49:43] NOTICE[14925]: chan_sip.c:25030 handle_request_register: Registration from '<sip:2101@192.168.12.4;user=phone>' failed for '192.168.12.203:5060' - Username/auth name mismatch
[Apr 22 16:50:13] WARNING[14925]: chan_sip.c:14460 check_auth: username mismatch, have <2101>, digest has <612>
[Apr 22 16:50:13] NOTICE[14925]: chan_sip.c:25030 handle_request_register: Registration from '<sip:2101@192.168.12.4;user=phone>' failed for '192.168.12.203:5060' - Username/auth name mismatch
[Apr 22 16:50:43] WARNING[14925]: chan_sip.c:14460 check_auth: username mismatch, have <2101>, digest has <612>
[Apr 22 16:50:43] NOTICE[14925]: chan_sip.c:25030 handle_request_register: Registration from '<sip:2101@192.168.12.4;user=phone>' failed for '192.168.12.203:5060' - Username/auth name mismatch
debian4*CLI> exit
Executing last minute cleanups
15:51:00
#X-Lite
l3script: X-Lite: команда не найдена
15:52:34
#install X-Lite
install: после «X-Lite» пропущен операнд, задающий целевой файл
Попробуйте «install --help» для получения более подробного описания.
15:53:38
#nano sip.conf
15:57:19
#[general]
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
...
debian4*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status
2101/2101                  192.168.12.203                           D   N             5060     Unmonitored
1 sip peers [Monitored: 0 online, 0 offline Unmonitored: 1 online, 0 offline]
debian4*CLI> sip show peers
Name/username              Host                                    Dyn Forcerport ACL Port     Status
2101/2101                  192.168.12.203                           D   N             5060     Unmonitored
1 sip peers [Monitored: 0 online, 0 offline Unmonitored: 1 online, 0 offline]
debian4*CLI> exit
Executing last minute cleanups
15:59:29
#nano sip.conf
--- /tmp/l3-saved-9662.28335.19604	2014-04-22 16:59:31.210485884 +0300
+++ sip.conf	2014-04-22 17:01:39.530484169 +0300
@@ -8,3 +8,7 @@
 secret=1234
 host=dynamic
 
+[2102]
+type=fried
+secret=1234
+host=dynamic
16:01:39
#[general]
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
 Reloading SIP
  == Parsing '/etc/asterisk/sip.conf':   == Found
  == Parsing '/etc/asterisk/users.conf':   == Found
  == Using SIP CoS mark 4
[Apr 22 17:01:44] WARNING[14925]: chan_sip.c:28974 reload_config: Unknown type 'fried' for '2102' in sip.conf
  == Parsing '/etc/asterisk/sip_notify.conf':   == Found
debian4*CLI> exit
Executing last minute cleanups
16:01:48
#nano sip.conf
--- /tmp/l3-saved-9662.12073.23283	2014-04-22 17:01:49.970484024 +0300
+++ sip.conf	2014-04-22 17:01:57.582483926 +0300
@@ -9,6 +9,6 @@
 host=dynamic
 
 [2102]
-type=fried
+type=friend
 secret=1234
 host=dynamic
16:01:57
#[general]
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.
=========================================================================
Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u3 currently running on debian4 (pid = 14887)
Verbosity is at least 3
debian4*CLI> sip reload
...
2102/2102                  192.168.12.104                           D   N             5060     Unmonitored
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 2 online, 0 offline]
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
    -- Remote UNIX connection
    -- Remote UNIX connection disconnected
debian4*CLI> exit
Executing last minute cleanups
прошло 10 минут
16:12:48
#/etc/asterisk/extensions.conf
l3script: /etc/asterisk/extensions.conf: Отказано в доступе
16:22:10
#/etc/asterisk/extensions.conf
l3script: /etc/asterisk/extensions.conf: Отказано в доступе
16:22:41
#mv /etc/asterisk/extensions.conf
mv: после «/etc/asterisk/extensions.conf» пропущен операнд, задающий целевой файл
Попробуйте «mv --help» для получения более подробного описания.
16:24:32
#mv /etc/asterisk/extensions.conf
mv: после «/etc/asterisk/extensions.conf» пропущен операнд, задающий целевой файл
Попробуйте «mv --help» для получения более подробного описания.
16:27:09
#cat /etc/asterisk/extensions.conf
; extensions.conf - the Asterisk dial plan
;
; Static extension configuration file, used by
; the pbx_config module. This is where you configure all your
; inbound and outbound calls in Asterisk.
;
; This configuration file is reloaded
; - With the "dialplan reload" command in the CLI
; - With the "reload" command (that reloads everything) in the CLI
;
...
exten => _X.,n,SayDigits(${CALLERID(ani)})      ; playback again in case of missed digit
exten => _X.,n,Return()
; For more information on applications, just type "core show applications" at your
; friendly Asterisk CLI prompt.
;
; "core show application <command>" will show details of how you
; use that particular application in this file, the dial plan.
; "core show functions" will list all dialplan functions
; "core show function <COMMAND>" will show you more information about
; one function. Remember that function names are UPPER CASE.
16:31:36
#{GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})

16:32:23
#; extensions.conf - the Asterisk dial plan

16:33:12
#[iaxtel700]

прошло 15 минут
16:48:18
#; extensions.conf - the Asterisk dial plan a single context, thisrovidings.conf}})})

16:50:49
#; extensions.conf - the Asterisk dial plan

16:51:53
#; extensions.conf - the Asterisk dial plan

Среда (04/23/14)

08:13:12
#; extensions.conf - the Asterisk dial plan

прошло 18 минут
08:31:40
#sip relosd
l3script: sip: команда не найдена

Четверг (04/24/14)

/dev/pts/3
09:24:24
#{VARIABLE:start:length}
l3script: /var/spool/asterisk: Это каталог
09:24:53
#dir

09:24:58
#ls /var/spool/asterisk
dictate  meetme  monitor  outgoing  system  tmp  voicemail
09:25:50
#ls /var/spool/asterisk/monitor

09:26:20
#ls /var/spool/asterisk/monitor

09:27:21
#ls /var/spool/asterisk/monitor

09:33:07
#[general]

прошло 16 минут
09:49:53
#{VARIABLE:start:length}

09:58:59
#ls /var/spool/asterisk/monitor

прошло 55 минут
10:54:39
#apt-get install samba
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  samba-common samba-common-bin tdb-tools
Предлагаемые пакеты:
  openbsd-inetd inet-superserver smbldap-tools ldb-tools ctdb
НОВЫЕ пакеты, которые будут установлены:
  samba samba-common samba-common-bin tdb-tools
обновлено 0, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
...
Добавляется группа «sambashare» (GID 120) ...
Готово.
update-alternatives: используется /usr/bin/smbstatus.samba3 для предоставления /usr/bin/smbstatus (smbstatus) в автоматический режим
Starting Samba daemons: nmbd smbd.
Настраивается пакет samba-common-bin (2:3.6.6-6+deb7u2) …
update-alternatives: используется /usr/bin/nmblookup.samba3 для предоставления /usr/bin/nmblookup (nmblookup) в автоматический режим
update-alternatives: используется /usr/bin/net.samba3 для предоставления /usr/bin/net (net) в автоматический режим
update-alternatives: используется /usr/bin/testparm.samba3 для предоставления /usr/bin/testparm (testparm) в автоматический режим
Настраивается пакет tdb-tools (1.2.10-2) …
update-alternatives: используется /usr/bin/tdbbackup.tdbtools для предоставления /usr/bin/tdbbackup (tdbbackup) в автоматический режим
10:55:11
#smbpassword -a user
l3script: smbpassword: команда не найдена
10:55:43
#smbpassword -a user
l3script: smbpassword: команда не найдена
10:56:43
#smbpasswd -a user
New SMB password:
Retype new SMB password:
Mismatch - password unchanged.
Unable to get new password.
10:57:45
#nano /etc/samba/smb.conf
10:59:07
#;[cdrom]

11:04:13
# path = /var/lib/samba/printers
l3script: nbtscan: команда не найдена
11:04:26
#vim /etc/samba/smb.conf dg
прошло 74 минуты
12:19:07
#nano /etc/asterisk/voicemaill
12:25:11
#[globals]

12:26:57
#;

12:27:56
#[general]
  GNU nano 2.2.6                Файл: /etc/asterisk/extensions.conf                         Изменён
; exten => _1XXX,1,Dial(SIP/vienna/${EXTEN})
; exten => _3XXX,1,Dial(SIP/vienna/${EXTEN})
[national]
[internal]
exten => _80XX,1,Answer
exten => _80XX,n,Record(/var/tmp/asterisk/message${EXTEN:2}:gsm,2)
exten => _80XX,n,Playback(/var/tmp/asterisk/message${EXTEN:2})
exten => _80XX,n,Hangup
; gsm - codek
; :2 obrezka 2-x strok
; ${VARIABLE:start:length}
#include "/etc/asterisk/extensions1.conf"
[macro-outgoingcall]
exten => s,1,Answer
exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${EPOCH})
^G Помощь  ^O Записать      ^R ЧитФайл       ^Y ПредCтр       ^K Вырезать      ^C ТекПозиц
^X Выход    ^J Выровнять     ^W ПоÐ^V СледCтр       ^U ОтмВырезк     ^T Словарь
прошло 10 минут
12:38:51
#{EXTEN})
su: неверный ключ -- «u»
Использование: su [параметры] [ПОÐ
, --command КОМАНДА         передать КОМАНДУ вызываемой оболочке
  -h, --help                    показать данное сообщение и закончить работу
  -, -l, --login                запускать оболочку как регистрационную
  -m, -p,
  --preserve-environment        не сбрасывать переменные окружения и
                                сохранить запустившую оболочку
  -s, --shell ОБОÐ
                          вместо значения из файла passwd

Пятница (04/25/14)

/dev/pts/3
09:01:10
#; gsm - codek

09:01:11
#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 debian4 (pid = 17880)
...
  == Using SIP RTP CoS mark 5
    -- Executing [2101@gr1:1] Dial("SIP/2102-00000134", "SIP/2101,3") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2101
    -- SIP/2101-00000135 is ringing
    -- SIP/2101-00000135 answered SIP/2102-00000134
    -- Locally bridging SIP/2102-00000134 and SIP/2101-00000135
  == Spawn extension (gr1, 2101, 1) exited non-zero on 'SIP/2102-00000134'
debian4*CLI> quit
Executing last minute cleanups
09:03:04
#{COUNTRY})
; :2 obrezka 2-x strok
; ${VARIABLE:start:length}
H:%M:%S")})
#include "/etc/asterisk/extensions1.conf"
exten => s,n,System(/usr/local/bin/jabber-send user4@lab0.xgu.ru ${CALLERID(num) is calling)
exten => s,n,Monitor(wav,${CALLFILENAME},m)
[macro-outgoingcall]
exten => s,n,Dial(${ARG1})
exten => s,1,Answer
[macro-localcall]
exten => s,n,Set(CALLFILENAME=${MACRO_EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%%
exten => s,1,NoOp(Answering ${MACRO_EXTEN})
exten => s,n,NoOp(DialStatus: ${DIALSTATUS})
;exten => s,1,Answer
exten => s,n,Monitor(wav,monitor,m)
09:03:40
#{ARG1},2)
1398348230-SIP-2101-00000113.wav  1398408933-SIP-2101-00000125.wav    3101-2101-1398326644.wav
1398349497-SIP-2101-0000011d.wav  2201-2101-1398335337.wav            3201-2101-1398326732.wav
1398350470-SIP-2101-00000121.wav  2201-2101- 2014-04-25-09:59:31.wav
1398350504-SIP-2101-00000123.wav  2201-2102- 2014-04-25-10:00:44.wav
09:03:46
#ls /var/spool/asterisk/monitor/
1398348230-SIP-2101-00000113.wav  1398408933-SIP-2101-00000125.wav    2201-2102-2014-04-25-10:03:56.wav
1398349497-SIP-2101-0000011d.wav  2201-2101-1398335337.wav            3101-2101-1398326644.wav
1398350470-SIP-2101-00000121.wav  2201-2101- 2014-04-25-09:59:31.wav  3201-2101-1398326732.wav
1398350504-SIP-2101-00000123.wav  2201-2102- 2014-04-25-10:00:44.wav
09:10:12
#; gsm - codek
> ^C
прошло 12 минут
09:22:35
#asteriskALL=(ALL:ALL)/usr/local/bin/restart-samba

прошло 107 минут
11:10:16
#for i in {1..10}; do asterisk -rx "database put order 1000 2"
> ^C
11:12:14
#for i in {1..10}; do asterisk -rx "database put order $i $[2+RANDOM%3]" ; done
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully
Updated database successfully

Файлы

  • /etc/asterisk/extensions.conf
  • /etc/asterisk/extensions.conf
    >
    ; extensions.conf - the Asterisk dial plan
    ;
    ; Static extension configuration file, used by
    ; the pbx_config module. This is where you configure all your
    ; inbound and outbound calls in Asterisk.
    ;
    ; This configuration file is reloaded
    ; - With the "dialplan reload" command in the CLI
    ; - With the "reload" command (that reloads everything) in the CLI
    ;
    ; The "General" category is for certain variables.
    ;
    [general]
    ;
    ; If static is set to no, or omitted, then the pbx_config will rewrite
    ; this file when extensions are modified.  Remember that all comments
    ; made in the file will be lost when that happens.
    ;
    ; XXX Not yet implemented XXX
    ;
    static=yes
    ;
    ; if static=yes and writeprotect=no, you can save dialplan by
    ; CLI command "dialplan save" too
    ;
    writeprotect=no
    ;
    ; If autofallthrough is set, then if an extension runs out of
    ; things to do, it will terminate the call with BUSY, CONGESTION
    ; or HANGUP depending on Asterisk's best guess. This is the default.
    ;
    ; If autofallthrough is not set, then if an extension runs out of
    ; things to do, Asterisk will wait for a new extension to be dialed
    ; (this is the original behavior of Asterisk 1.0 and earlier).
    ;
    ;autofallthrough=no
    ;
    ;
    ;
    ; If extenpatternmatchnew is set (true, yes, etc), then a new algorithm that uses
    ; a Trie to find the best matching pattern is used. In dialplans
    ; with more than about 20-40 extensions in a single context, this
    ; new algorithm can provide a noticeable speedup.
    ; With 50 extensions, the speedup is 1.32x
    ; with 88 extensions, the speedup is 2.23x
    ; with 138 extensions, the speedup is 3.44x
    ; with 238 extensions, the speedup is 5.8x
    ; with 438 extensions, the speedup is 10.4x
    ; With 1000 extensions, the speedup is ~25x
    ; with 10,000 extensions, the speedup is 374x
    ; Basically, the new algorithm provides a flat response
    ; time, no matter the number of extensions.
    ;
    ; By default, the old pattern matcher is used.
    ;
    ; ****This is a new feature! *********************
    ; The new pattern matcher is for the brave, the bold, and
    ; the desperate. If you have large dialplans (more than about 50 extensions
    ; in a context), and/or high call volume, you might consider setting
    ; this value to "yes" !!
    ; Please, if you try this out, and are forced to return to the
    ; old pattern matcher, please report your reasons in a bug report
    ; on https://issues.asterisk.org. We have made good progress in providing
    ; something compatible with the old matcher; help us finish the job!
    ;
    ; This value can be switched at runtime using the cli command "dialplan set extenpatternmatchnew true"
    ; or "dialplan set extenpatternmatchnew false", so you can experiment to your hearts content.
    ;
    ;extenpatternmatchnew=no
    ;
    ; If clearglobalvars is set, global variables will be cleared
    ; and reparsed on a dialplan reload, or Asterisk reload.
    ;
    ; If clearglobalvars is not set, then global variables will persist
    ; through reloads, and even if deleted from the extensions.conf or
    ; one of its included files, will remain set to the previous value.
    ;
    ; NOTE: A complication sets in, if you put your global variables into
    ; the AEL file, instead of the extensions.conf file. With clearglobalvars
    ; set, a "reload" will often leave the globals vars cleared, because it
    ; is not unusual to have extensions.conf (which will have no globals)
    ; load after the extensions.ael file (where the global vars are stored).
    ; So, with "reload" in this particular situation, first the AEL file will
    ; clear and then set all the global vars, then, later, when the extensions.conf
    ; file is loaded, the global vars are all cleared, and then not set, because
    ; they are not stored in the extensions.conf file.
    ;
    clearglobalvars=no
    ;
    ; User context is where entries from users.conf are registered.  The
    ; default value is 'default'
    ;
    ;userscontext=default
    ;
    ; You can include other config files, use the #include command
    ; (without the ';'). Note that this is different from the "include" command
    ; that includes contexts within other contexts. The #include command works
    ; in all asterisk configuration files.
    ;#include "filename.conf"
    ;#include <filename.conf>
    ;#include filename.conf
    ;
    ; You can execute a program or script that produces config files, and they
    ; will be inserted where you insert the #exec command. The #exec command
    ; works on all asterisk configuration files.  However, you will need to
    ; activate them within asterisk.conf with the "execincludes" option.  They
    ; are otherwise considered a security risk.
    ;#exec /opt/bin/build-extra-contexts.sh
    ;#exec /opt/bin/build-extra-contexts.sh --foo="bar"
    ;#exec </opt/bin/build-extra-contexts.sh --foo="bar">
    ;#exec "/opt/bin/build-extra-contexts.sh --foo=\"bar\""
    ;
    ; The "Globals" category contains global variables that can be referenced
    ; in the dialplan with the GLOBAL dialplan function:
    ; ${GLOBAL(VARIABLE)}
    ; ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
    ; Unix/Linux environmental variables can be reached with the ENV dialplan
    ; function: ${ENV(VARIABLE)}
    ;
    [globals]
    CONSOLE=Console/dsp                             ; Console interface for demo
    ;CONSOLE=DAHDI/1
    ;CONSOLE=Phone/phone0
    IAXINFO=guest                                   ; IAXtel username/password
    ;IAXINFO=myuser:mypass
    TRUNK=DAHDI/G2                                  ; Trunk interface
    ;
    ; Note the 'G2' in the TRUNK variable above. It specifies which group (defined
    ; in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use
    ; in the specified group. The four possible options are:
    ;
    ; g: select the lowest-numbered non-busy DAHDI channel
    ;    (aka. ascending sequential hunt group).
    ; G: select the highest-numbered non-busy DAHDI channel
    ;    (aka. descending sequential hunt group).
    ; r: use a round-robin search, starting at the next highest channel than last
    ;    time (aka. ascending rotary hunt group).
    ; R: use a round-robin search, starting at the next lowest channel than last
    ;    time (aka. descending rotary hunt group).
    ;
    TRUNKMSD=1                                      ; MSD digits to strip (usually 1 or 0)
    ;TRUNK=IAX2/user:pass@provider
    ;FREENUMDOMAIN=mydomain.com                     ; domain to send on outbound
                                                    ; freenum calls (uses outbound-freenum
                                                    ; context)
    ;
    ; WARNING WARNING WARNING WARNING
    ; If you load any other extension configuration engine, such as pbx_ael.so,
    ; your global variables may be overridden by that file.  Please take care to
    ; use only one location to set global variables, and you will likely save
    ; yourself a ton of grief.
    ; WARNING WARNING WARNING WARNING
    ;
    ; Any category other than "General" and "Globals" represent
    ; extension contexts, which are collections of extensions.
    ;
    ; Extension names may be numbers, letters, or combinations
    ; thereof. If an extension name is prefixed by a '_'
    ; character, it is interpreted as a pattern rather than a
    ; literal.  In patterns, some characters have special meanings:
    ;
    ;   X - any digit from 0-9
    ;   Z - any digit from 1-9
    ;   N - any digit from 2-9
    ;   [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
    ;   . - wildcard, matches anything remaining (e.g. _9011. matches
    ;       anything starting with 9011 excluding 9011 itself)
    ;   ! - wildcard, causes the matching process to complete as soon as
    ;       it can unambiguously determine that no other matches are possible
    ;
    ; For example, the extension _NXXXXXX would match normal 7 digit dialings,
    ; while _1NXXNXXXXXX would represent an area code plus phone number
    ; preceded by a one.
    ;
    ; Each step of an extension is ordered by priority, which must always start
    ; with 1 to be considered a valid extension.  The priority "next" or "n" means
    ; the previous priority plus one, regardless of whether the previous priority
    ; was associated with the current extension or not.  The priority "same" or "s"
    ; means the same as the previously specified priority, again regardless of
    ; whether the previous entry was for the same extension.  Priorities may be
    ; immediately followed by a plus sign and another integer to add that amount
    ; (most useful with 's' or 'n').  Priorities may then also have an alias, or
    ; label, in parentheses after their name which can be used in goto situations.
    ;
    ; Contexts contain several lines, one for each step of each extension.  One may
    ; include another context in the current one as well, optionally with a date
    ; and time.  Included contexts are included in the order they are listed.
    ; Switches may also be included within a context.  The order of matching within
    ; a context is always exact extensions, pattern match extensions, includes, and
    ; switches.  Includes are always processed depth-first.  So for example, if you
    ; would like a switch "A" to match before context "B", simply put switch "A" in
    ; an included context "C", where "C" is included in your original context
    ; before "B".
    ;
    ;[context]
    ;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...)
    ;
    ; Timing list for includes is
    ;
    ;   <time range>,<days of week>,<days of month>,<months>[,<timezone>]
    ;
    ; Note that ranges may be specified to wrap around the ends.  Also, minutes are
    ; fine-grained only down to the closest even minute.
    ;
    ;include => daytime,9:00-17:00,mon-fri,*,*
    ;include => weekend,*,sat-sun,*,*
    ;include => weeknights,17:02-8:58,mon-fri,*,*
    ;
    ; ignorepat can be used to instruct drivers to not cancel dialtone upon receipt
    ; of a particular pattern.  The most commonly used example is of course '9'
    ; like this:
    ;
    ;ignorepat => 9
    ;
    ; so that dialtone remains even after dialing a 9.  Please note that ignorepat
    ; only works with channels which receive dialtone from the PBX, such as DAHDI,
    ; Phone, and VPB.  Other channels, such as SIP and MGCP, which generate their
    ; own dialtone and converse with the PBX only after a number is complete, are
    ; generally unaffected by ignorepat (unless DISA or another method is used to
    ; generate a dialtone after answering the channel).
    ;
    ;
    ; Sample entries for extensions.conf
    ;
    ;
    [dundi-e164-canonical]
    ;include => stdexten
    ;
    ; List canonical entries here
    ;
    ;exten => 12564286000,1,Gosub(6000,stdexten(IAX2/foo))
    ;exten => 12564286000,n,Goto(default,s,1)       ; exited Voicemail
    ;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})
    [dundi-e164-customers]
    ;
    ; If you are an ITSP or Reseller, list your customers here.
    ;
    ;exten => _12564286000,1,Dial(SIP/customer1)
    ;exten => _12564286001,1,Dial(IAX2/customer2)
    [dundi-e164-via-pstn]
    ;
    ; If you are freely delivering calls to the PSTN, list them here
    ;
    ;exten => _1256428XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Expose all of 256-428
    ;exten => _1256325XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Ditto for 256-325
    [dundi-e164-local]
    ;
    ; Context to put your dundi IAX2 or SIP user in for
    ; full access
    ;
    include => dundi-e164-canonical
    include => dundi-e164-customers
    include => dundi-e164-via-pstn
    [dundi-e164-switch]
    ;
    ; Just a wrapper for the switch
    ;
    switch => DUNDi/e164
    [dundi-e164-lookup]
    ;
    ; Locally to lookup, try looking for a local E.164 solution
    ; then try DUNDi if we don't have one.
    ;
    include => dundi-e164-local
    include => dundi-e164-switch
    ;
    ; DUNDi can also be implemented as a Macro instead of using
    ; the Local channel driver.
    ;
    [macro-dundi-e164]
    ;
    ; ARG1 is the extension to Dial
    ;
    ; Extension "s" is not a wildcard extension that matches "anything".
    ; In macros, it is the start extension. In most other cases,
    ; you have to goto "s" to execute that extension.
    ;
    ; For wildcard matches, see above - all pattern matches start with
    ; an underscore.
    exten => s,1,Goto(${ARG1},1)
    include => dundi-e164-lookup
    ;
    ; Here are the entries you need to participate in the IAXTEL
    ; call routing system.  Most IAXTEL numbers begin with 1-700, but
    ; there are exceptions.  For more information, and to sign
    ; up, please go to www.gnophone.com or www.iaxtel.com
    ;
    [iaxtel700]
    exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)
    ;
    ; The SWITCH statement permits a server to share the dialplan with
    ; another server. Use with care: Reciprocal switch statements are not
    ; allowed (e.g. both A -> B and B -> A), and the switched server needs
    ; to be on-line or else dialing can be severly delayed.
    ;
    [iaxprovider]
    ;switch => IAX2/user:[key]@myserver/mycontext
    [trunkint]
    ;
    ; International long distance through trunk
    ;
    exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
    exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})
    [trunkld]
    ;
    ; Long distance context accessed through trunk
    ;
    exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
    exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    [trunklocal]
    ;
    ; Local seven-digit dialing accessed through trunk interface
    ;
    exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    [trunktollfree]
    ;
    ; Long distance context accessed through trunk interface
    ;
    exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    [international]
    ;
    ; Master context for international long distance
    ;
    ignorepat => 9
    include => longdistance
    include => trunkint
    [longdistance]
    ;
    ; Master context for long distance
    ;
    ignorepat => 9
    include => local
    include => trunkld
    [local]
    ;
    ; Master context for local, toll-free, and iaxtel calls only
    ;
    ignorepat => 9
    include => default
    include => trunklocal
    include => iaxtel700
    include => trunktollfree
    include => iaxprovider
    ;Include parkedcalls (or the context you define in features conf)
    ;to enable call parking.
    include => parkedcalls
    ;
    ; You can use an alternative switch type as well, to resolve
    ; extensions that are not known here, for example with remote
    ; IAX switching you transparently get access to the remote
    ; Asterisk PBX
    ;
    ; switch => IAX2/user:password@bigserver/local
    ;
    ; An "lswitch" is like a switch but is literal, in that
    ; variable substitution is not performed at load time
    ; but is passed to the switch directly (presumably to
    ; be substituted in the switch routine itself)
    ;
    ; lswitch => Loopback/12${EXTEN}@othercontext
    ;
    ; An "eswitch" is like a switch but the evaluation of
    ; variable substitution is performed at runtime before
    ; being passed to the switch routine.
    ;
    ; eswitch => IAX2/context@${CURSERVER}
    ; The following two contexts are a template to enable the ability to dial
    ; ISN numbers. For more information about what an ISN number is, please see
    ; http://www.freenum.org.
    ;
    ; This is the dialing hook.  use:
    ; include => outbound-freenum
    [outbound-freenum]
    ; We'll add more digits as needed. The purpose is to dial things
    ; like extension numbers at domains (ITAD number) so we're matching
    ; on lengths of 1 through 6 prior to the separator (the asterisk [*])
    ;
    exten => _X*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    exten => _XX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    exten => _XXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    exten => _XXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    exten => _XXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
    [outbound-freenum2]
    ; This is the handler which performs the dialing logic. It is called
    ; from the [outbound-freenum] context
    ;
    exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
    same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)})                                ; make sure the suffix is all digits as well
    same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
                                                                            ; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
    same => n,Set(TIMEOUT(absolute)=10800)
    same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)})     ; perform our lookup with freenum.org
    same => n,GotoIf($["${isnresult}" != ""]?from)
    same => n,Set(DIALSTATUS=CONGESTION)
    same => n,Goto(fn-CONGESTION,1)
    same => n(from),Set(__SIPFROMUSER=${CALLERID(num)})
    same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial)               ; check if we set the FREENUMDOMAIN global variable in [global]
    same => n,Set(__SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)})                 ;    if we did set it, then we'll use it for our outbound dialing domain
    same => n(dial),Dial(SIP/${isnresult},40)
    same => n,Goto(fn-${DIALSTATUS},1)
    exten => fn-BUSY,1,Busy()
    exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
    same => n,Congestion()
    [macro-trunkdial]
    ;
    ; Standard trunk dial macro (hangs up on a dialstatus that should
    ; terminate call)
    ;   ${ARG1} - What to dial
    ;
    exten => s,1,Dial(${ARG1})
    exten => s,n,Goto(s-${DIALSTATUS},1)
    exten => s-NOANSWER,1,Hangup
    exten => s-BUSY,1,Hangup
    exten => _s-.,1,NoOp
    [stdexten]
    ;
    ; Standard extension subroutine:
    ;   ${EXTEN} - Extension
    ;   ${ARG1} - Device(s) to ring
    ;   ${ARG2} - Optional context in Voicemail
    ;
    ; Note that the current version will drop through to the next priority in the
    ; case of their pressing '#'.  This gives more flexibility in what do to next:
    ; you can prompt for a new extension, or drop the call, or send them to a
    ; general delivery mailbox, or...
    ;
    ; The use of the LOCAL() function is purely for convenience.  Any variable
    ; initially declared as LOCAL() will disappear when the innermost Gosub context
    ; in which it was declared returns.  Note also that you can declare a LOCAL()
    ; variable on top of an existing variable, and its value will revert to its
    ; previous value (before being declared as LOCAL()) upon Return.
    ;
    exten => _X.,50000(stdexten),NoOp(Start stdexten)
    exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
    exten => _X.,n,Set(LOCAL(dev)=${ARG1})
    exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
    exten => _X.,n,Set(LOCAL(mbx)=${ext}${IF($[!${ISNULL(${cntx})}]?@${cntx})})
    exten => _X.,n,Dial(${dev},20)                          ; Ring the interface, 20 seconds maximum
    exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)           ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
    exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)        ; If unavailable, send to voicemail w/ unavail announce
    exten => stdexten-NOANSWER,n,Return()                   ; If they press #, return to start
    exten => stdexten-BUSY,1,Voicemail(${mbx},b)            ; If busy, send to voicemail w/ busy announce
    exten => stdexten-BUSY,n,Return()                       ; If they press #, return to start
    exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)    ; Treat anything else as no answer
    exten => a,1,VoicemailMain(${mbx})                      ; If they press *, send the user into VoicemailMain
    exten => a,n,Return()
    [stdPrivacyexten]
    ;
    ; Standard extension subroutine:
    ;   ${ARG1} - Extension
    ;   ${ARG2} - Device(s) to ring
    ;   ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
    ;   ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
    ;   ${ARG5} - Context in voicemail (if empty, then "default")
    ;
    ; See above note in stdexten about priority handling on exit.
    ;
    exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
    exten => _X.,n,Set(LOCAL(ext)=${ARG1})
    exten => _X.,n,Set(LOCAL(dev)=${ARG2})
    exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
    exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
    exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
    exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
    exten => _X.,n,Dial(${dev},20,p)                        ; Ring the interface, 20 seconds maximum, call screening
                                                    ; option (or use P for databased call _X.creening)
    exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)           ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
    exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)        ; If unavailable, send to voicemail w/ unavail announce
    exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
    exten => stdexten-NOANSWER,n,Return()                   ; If they press #, return to start
    exten => stdexten-BUSY,1,Voicemail(${mbx},b)            ; If busy, send to voicemail w/ busy announce
    exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
    exten => stdexten-BUSY,n,Return()                       ; If they press #, return to start
    exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1)      ; Callee chose to send this call to a polite "Don't call again" script.
    exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1)       ; Callee chose to send this call to a telemarketer torture script.
    exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)    ; Treat anything else as no answer
    exten => a,1,VoicemailMain(${mbx})              ; If they press *, send the user into VoicemailMain
    exten => a,n,Return
    [macro-page];
    ;
    ; Paging macro:
    ;
    ;       Check to see if SIP device is in use and DO NOT PAGE if they are
    ;
    ;   ${ARG1} - Device to page
    exten => s,1,ChanIsAvail(${ARG1},s)                     ; s is for ANY call
    exten => s,n,GoToIf($[${AVAILSTATUS} = "1"]?autoanswer:fail)
    exten => s,n(autoanswer),Set(_ALERT_INFO="RA")                  ; This is for the PolyComs
    exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)    ; This is for the Grandstream, Snoms, and Others
    exten => s,n,NoOp()                                     ; Add others here and Post on the Wiki!!!!
    exten => s,n,Dial(${ARG1})
    exten => s,n(fail),Hangup
    [demo]
    include => stdexten
    ;
    ; We start with what to do when a call first comes in.
    ;
    exten => s,1,Wait(1)                    ; Wait a second, just for fun
    exten => s,n,Answer                     ; Answer the line
    exten => s,n,Set(TIMEOUT(digit)=5)      ; Set Digit Timeout to 5 seconds
    exten => s,n,Set(TIMEOUT(response)=10)  ; Set Response Timeout to 10 seconds
    exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message
    exten => s,n(instruct),BackGround(demo-instruct)        ; Play some instructions
    exten => s,n,WaitExten                  ; Wait for an extension to be dialed.
    exten => 2,1,BackGround(demo-moreinfo)  ; Give some more information.
    exten => 2,n,Goto(s,instruct)
    exten => 3,1,Set(LANGUAGE()=fr)         ; Set language to french
    exten => 3,n,Goto(s,restart)            ; Start with the congratulations
    exten => 1000,1,Goto(default,s,1)
    ;
    ; We also create an example user, 1234, who is on the console and has
    ; voicemail, etc.
    ;
    exten => 1234,1,Playback(transfer,skip)         ; "Please hold while..."
                                            ; (but skip if channel is not up)
    exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
    exten => 1234,n,Goto(default,s,1)               ; exited Voicemail
    exten => 1235,1,Voicemail(1234,u)               ; Right to voicemail
    exten => 1236,1,Dial(Console/dsp)               ; Ring forever
    exten => 1236,n,Voicemail(1234,b)               ; Unless busy
    ;
    ; # for when they're done with the demo
    ;
    exten => #,1,Playback(demo-thanks)      ; "Thanks for trying the demo"
    exten => #,n,Hangup                     ; Hang them up.
    ;
    ; A timeout and "invalid extension rule"
    ;
    exten => t,1,Goto(#,1)                  ; If they take too long, give up
    exten => i,1,Playback(invalid)          ; "That's not valid, try again"
    ;
    ; Create an extension, 500, for dialing the
    ; Asterisk demo.
    ;
    exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
    exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default)        ; Call the Asterisk demo
    exten => 500,n,Playback(demo-nogo)      ; Couldn't connect to the demo site
    exten => 500,n,Goto(s,6)                ; Return to the start over message.
    ;
    ; Create an extension, 600, for evaluating echo latency.
    ;
    exten => 600,1,Playback(demo-echotest)  ; Let them know what's going on
    exten => 600,n,Echo                     ; Do the echo test
    exten => 600,n,Playback(demo-echodone)  ; Let them know it's over
    exten => 600,n,Goto(s,6)                ; Start over
    ;
    ;       You can use the Macro Page to intercom a individual user
    exten => 76245,1,Macro(page,SIP/Grandstream1)
    ; or if your peernames are the same as extensions
    exten => _7XXX,1,Macro(page,SIP/${EXTEN})
    ;
    ;
    ; System Wide Page at extension 7999
    ;
    exten => 7999,1,Set(TIMEOUT(absolute)=60)
    exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
    ; Give voicemail at extension 8500
    ;
    exten => 8500,1,VoicemailMain
    exten => 8500,n,Goto(s,6)
    ;
    ; Here's what a phone entry would look like (IXJ for example)
    ;
    ;exten => 1265,1,Dial(Phone/phone0,15)
    ;exten => 1265,n,Goto(s,5)
    ;
    ;       The page context calls up the page macro that sets variables needed for auto-answer
    ;       It is in is own context to make calling it from the Page() application as simple as
    ;       Local/{peername}@page
    ;
    [page]
    exten => _X.,1,Macro(page,SIP/${EXTEN})
    ;[mainmenu]
    ;
    ; Example "main menu" context with submenu
    ;
    ;exten => s,1,Answer
    ;exten => s,n,Background(thanks)                ; "Thanks for calling press 1 for sales, 2 for support, ..."
    ;exten => s,n,WaitExten
    ;exten => 1,1,Goto(submenu,s,1)
    ;exten => 2,1,Hangup
    ;include => default
    ;
    ;[submenu]
    ;exten => s,1,Ringing                                   ; Make them comfortable with 2 seconds of ringback
    ;exten => s,n,Wait,2
    ;exten => s,n,Background(submenuopts)   ; "Thanks for calling the sales department.  Press 1 for steve, 2 for..."
    ;exten => s,n,WaitExten
    ;exten => 1,1,Goto(default,steve,1)
    ;exten => 2,1,Goto(default,mark,2)
    [default]
    ;
    ; By default we include the demo.  In a production system, you
    ; probably don't want to have the demo there.
    ;
    include => demo
    ;
    ; An extension like the one below can be used for FWD, Nikotel, sipgate etc.
    ; Note that you must have a [sipprovider] section in sip.conf
    ;
    ;exten => _41X.,1,Dial(SIP/${FILTER(0-9,${EXTEN:2})}@sipprovider,,r)
    ; Real extensions would go here. Generally you want real extensions to be
    ; 4 or 5 digits long (although there is no such requirement) and start with a
    ; single digit that is fairly large (like 6 or 7) so that you have plenty of
    ; room to overlap extensions and menu options without conflict.  You can alias
    ; them with names, too, and use global variables
    ;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1(Joe Schmoe) ; Channel hints for presence
    ;exten => 6245,1,Dial(SIP/Grandstream1,20,rt)   ; permit transfer
    ;exten => 6245,n(dial),Dial(${HINT},20,rtT)     ; Use hint as listed
    ;exten => 6245,n,Voicemail(6245,u)              ; Voicemail (unavailable)
    ;exten => 6245,s+1,Hangup                       ; s+1, same as n
    ;exten => 6245,dial+101,Voicemail(6245,b)       ; Voicemail (busy)
    ;exten => 6361,1,Dial(IAX2/JaneDoe,,rm)         ; ring without time limit
    ;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14)
    ;exten => 6390,1,Dial(JINGLE/caller/callee) ; Dial via jingle using labels
    ;exten => 6391,1,Dial(JINGLE/asterisk@digium.com/mogorman@astjab.org) ;Dial via jingle using asterisk as the transport and calling mogorman.
    ;exten => 6394,1,Dial(Local/6275/n)             ; this will dial ${MARK}
    ;exten => 6275,1,Gosub(${EXTEN},stdexten(${MARK}))
                                                    ; assuming ${MARK} is something like DAHDI/2
    ;exten => 6275,n,Goto(default,s,1)              ; exited Voicemail
    ;exten => mark,1,Goto(6275,1)                   ; alias mark to 6275
    ;exten => 6536,1,Gosub(${EXTEN},stdexten(${WIL}))
                                                    ; Ditto for wil
    ;exten => 6536,n,Goto(default,s,1)              ; exited Voicemail
    ;exten => wil,1,Goto(6236,1)
    ;If you want to subscribe to the status of a parking space, this is
    ;how you do it. Subscribe to extension 6600 in sip, and you will see
    ;the status of the first parking lot with this extensions' help
    ;exten => 6600,hint,park:701@parkedcalls
    ;exten => 6600,1,noop
    ;
    ; Some other handy things are an extension for checking voicemail via
    ; voicemailmain
    ;
    ;exten => 8500,1,VoicemailMain
    ;exten => 8500,n,Hangup
    ;
    ; Or a conference room (you'll need to edit meetme.conf to enable this room)
    ;
    ;exten => 8600,1,Meetme(1234)
    ;
    ; Or playing an announcement to the called party, as soon it answers
    ;
    ;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
    ;
    ; example of a compartmentalized company called "acme"
    ;
    ; this is the context that your incoming IAX/SIP trunk dumps you in...
    ;[acme-incoming]
    ;exten => s,1,Wait(1)
    ;exten => s,n,Answer()
    ;exten => s,n(menu),Playback(acme/vm-brief-menu)
    ;exten => s,n(exten),Background(vm-enter-num-to-call)
    ;exten => s,n,WaitExten(5)
    ;exten => s,n(goodbye),Playback(vm-goodbye)
    ;exten => s,n(end),Hangup()
    ;
    ;include  => acme-extens
    ;
    ;exten => i,1,Playback(vm-invalid)
    ;exten => i,n,Goto(s,exten)                     ; optionally, transfer to operator
    ;
    ;exten => t,1,Goto(s,goodbye)
    ;
    ; this is the context our internal SIP hardphones use (see sip.conf)
    ;
    ;[acme-internal]
    ;exten => s,1,Answer()
    ;exten => s,n(exten),Background(vm-enter-num-to-call)
    ;exten => s,n,WaitExten(5)
    ;exten => s,n(goodbye),Playback(vm-goodbye)
    ;exten => s,n(end),Hangup()
    ;
    ;include => trunkint
    ;include => trunkld
    ;include => trunklocal
    ;
    ;include => acme-extens
    ;
    ; you can test what your system sounds like to outside callers by dialing this
    ;exten => 777,1,DISA(no-password,acme-incoming)
    ;
    ; grouping of acme's extensions... never used directly, always included.
    ;
    ;[acme-extens]
    ;include => stdexten
    ;exten => 111,1,Gosub(111,stdexten(SIP/pete_1,acme))
    ;exten => 111,n,Goto(s,exten)
    ;
    ;exten => 112,1,Gosub(112,stdexten(SIP/nancy_1,acme))
    ;exten => 112,n,Goto(s,end)
    ;
    ; end of acme example
    ;
    ; Time context: you can patch this in via the following.
    ;
    ; [acme-internal]
    ; ...
    ; exten => 777,1,Gosub(time)
    ; exten => 777,n,Hangup()
    ;
    ; ...
    ; include => time
    ;
    ; Note: if you're geographically spread out, you can have SIP extensions
    ; specify their own local timezone in sip.conf as:
    ;
    ; [boi]
    ; type=friend
    ; context=acme-internal
    ; callerid="Boise Ofc. <2083451111>"
    ; ...
    ; ; use system-wide default timezone of MST7MDT
    ;
    ; [lws]
    ; type=friend
    ; context=acme-internal
    ; callerid="Lewiston Ofc. <2087431111>"
    ; ...
    ; setvar=timezone=PST8PDT
    ;
    ; "timezone" isn't a 'reserved' name in any way, and other places where
    ; the timezone is significant (e.g. calls to "SayUnixTime()", etc) will
    ; require modification as well.  Note that voicemail.conf already has
    ; a mechanism for timezones.
    ;
    [time]
    exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
    exten => _X.,n,Wait(0.25)
    exten => _X.,n,Answer()
    ; the amount of delay is set for English; you may need to adjust this time
    ; for other languages if there's no pause before the synchronizing beep.
    exten => _X.,n,Set(FUTURETIME=$[${EPOCH} + 12])
    exten => _X.,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
    exten => _X.,n,SayPhonetic(z)
    ; use the timezone associated with the extension (sip only), or system-wide
    ; default if one hasn't been set.
    exten => _X.,n,SayUnixTime(${FUTURETIME},${timezone},HNS)
    exten => _X.,n,Playback(spy-local)
    exten => _X.,n,WaitUntil(${FUTURETIME})
    exten => _X.,n,Playback(beep)
    exten => _X.,n,Return()
    ;
    ; ANI context: use in the same way as "time" above
    ;
    [ani]
    exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
    exten => _X.,n,Wait(0.25)
    exten => _X.,n,Answer()
    exten => _X.,n,Playback(vm-from)
    exten => _X.,n,SayDigits(${CALLERID(ani)})
    exten => _X.,n,Wait(1.25)
    exten => _X.,n,SayDigits(${CALLERID(ani)})      ; playback again in case of missed digit
    exten => _X.,n,Return()
    ; For more information on applications, just type "core show applications" at your
    ; friendly Asterisk CLI prompt.
    ;
    ; "core show application <command>" will show details of how you
    ; use that particular application in this file, the dial plan.
    ; "core show functions" will list all dialplan functions
    ; "core show function <COMMAND>" will show you more information about
    ; one function. Remember that function names are UPPER CASE.
    

    Статистика

    Время первой команды журнала12:59:33 2014- 4-22
    Время последней команды журнала11:12:14 2014- 4-25
    Количество командных строк в журнале89
    Процент команд с ненулевым кодом завершения, %17.98
    Процент синтаксически неверно набранных команд, %15.73
    Суммарное время работы с терминалом *, час 4.46
    Количество командных строк в единицу времени, команда/мин 0.33
    Частота использования команд
    nano8|========| 8.79%
    [general]8|========| 8.79%
    ls7|=======| 7.69%
    apt-get6|======| 6.59%
    mv6|======| 6.59%
    extensions.conf5|=====| 5.49%
    asterisk4|====| 4.40%
    dpkg3|===| 3.30%
    art-get3|===| 3.30%
    /etc/init.d/asterisk2|==| 2.20%
    /etc/asterisk/extensions.conf2|==| 2.20%
    {VARIABLE:start:length}2|==| 2.20%
    do2|==| 2.20%
    smbpassword2|==| 2.20%
    gsm2|==| 2.20%
    for2|==| 2.20%
    apt2|==| 2.20%
    apt-cache2|==| 2.20%
    smbpasswd1|=| 1.10%
    .bashrc1|=| 1.10%
    man1|=| 1.10%
    path1|=| 1.10%
    art1|=| 1.10%
    cd1|=| 1.10%
    cat1|=| 1.10%
    dir1|=| 1.10%
    [iaxtel700]1|=| 1.10%
    contex=default1|=| 1.10%
    restart-samba1|=| 1.10%
    [globals]1|=| 1.10%
    {EXTEN})1|=| 1.10%
    l3-agent1|=| 1.10%
    ${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})1|=| 1.10%
    {COUNTRY})1|=| 1.10%
    {ARG1},2)1|=| 1.10%
    install1|=| 1.10%
    vim1|=| 1.10%
    [cdrom]1|=| 1.10%
    sip1|=| 1.10%
    done1|=| 1.10%
    X-Lite1|=| 1.10%
    ____
    *) Интервалы неактивности длительностью 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$