ONVIF Device manager for Linux
На что можно взглянуть?
На что можно взглянуть?
Астериск (NFS-Сервер)
# cat /etc/passwd |grep asterisk
asterisk:x:102:104:Asterisk PBX daemon,,,:/var/lib/asterisk:/bin/false
# ls -l /var/spool/asterisk |grep monitor
drwxr-xr-x 2 asterisk asterisk 28672 Jul 3 17:14 monitor
# ls -l /var/spool/asterisk/monitor |head -n4
total 651528
-rw-rw---- 1 asterisk asterisk 76844 May 31 20:09 1433092155.21.wav
-rw-rw---- 1 asterisk asterisk 684 May 31 20:09 1433092163.33.wav
-rw-rw---- 1 asterisk asterisk 72364 May 31 20:15 1433092502.0.wav
..
/var/spool/asterisk/monitor/ 192.168.206.24(rw,async,no_subtree_check,all_squash)
...
На NFS-клиенте
/etc/fstab
192.168.206.4:/var/spool/asterisk/monitor /var/spool/asterisk/monitor nfs rw,async,noauto
# mount /var/spool/asterisk/monitor
mount.nfs: access denied by server while mounting 192.168.206.4:/var/spool/asterisk/monitor
..
/var/spool/asterisk/monitor/ 192.168.206.24(rw,async,no_subtree_check,all_squash,fsid=0)
...
...
192.168.206.4:/var/spool/asterisk/monitor on /var/spool/asterisk/monitor type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.206.4,mountvers=3,mountport=46193,mountproto=udp,local_lock=none,addr=192.168.206.4)
...
, но root на NFS клиенте не имеет возможности записи и чтения.
# cp /var/spool/asterisk/monitor/1433092155.21.wav /tmp
cp: невозможно открыть «/var/spool/asterisk/monitor/1433092155.21.wav» для чтения: Отказано в доступе
# ls -l /var/spool/asterisk/monitor |head -n4
итого 651528
-rw-rw---- 1 mysql mysql 76844 Май 31 20:09 1433092155.21.wav
-rw-rw---- 1 mysql mysql 684 Май 31 20:09 1433092163.33.wav
-rw-rw---- 1 mysql mysql 72364 Май 31 20:15 1433092502.0.wav
# cat /etc/passwd |grep mysql
mysql:x:102:104:MySQL Server,,,:/nonexistent:/bin/false
Подтолкните к красивому решению!
P.S.: Можно Asterisk заставить писать файлы с правами 0660 вместо 0644 в крайнем случае.
asterisk.conf
[directories](!)
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /usr/share/asterisk
astagidir => /usr/share/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
[options]
documentation_language = en_US
Из диалплана успешно читаю переменную «asterisk.conf[options]documentation_language»:
exten=> s,n,NoOp(${AST_CONFIG(asterisk.conf,options,documentation_language)})
Но при чтении переменной «asterisk.conf[directories]astspooldir»
exten=> s,n,NoOp(${AST_CONFIG(asterisk.conf,directories,astspooldir)})
[Jul 3 13:18:40] ERROR[20041]: func_config.c:168 config_function_read: 'astspooldir' not found in [directories] of 'asterisk.conf'
Как определить из диалплана директорию записи разговоров? Перменной ${ASTSPOOLDIR} нет.
Объявляю инициализацию нового устройства, в ответ получаю:
Jun 27 18:25:25 netdot netdot: ERROR - Device::_get_snmp_session: Cannot connect to 192.168.198.76. Tried communities: public
^C
root@netdot:/usr/local/src/netdot-1.0.7# snmpwalk -v2c -cpublic 192.168.198.76
iso.3.6.1.2.1.1.1.0 = STRING: "DGS-1210-28P/ME 6.00.025"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.171.10.76.30.1
iso.3.6.1.2.1.1.3.0 = Timeticks: (1118170545) 129 days, 10:01:45.45
iso.3.6.1.2.1.1.4.0 = ""
iso.3.6.1.2.1.1.5.0 = ""
iso.3.6.1.2.1.1.6.0 = ""
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
root@netdot:/usr/local/src/netdot-1.0.7# make testdeps
Testing for required Perl modules
/usr/bin/perl bin/perldeps.pl test
RRDs..............................................ok
GraphViz..........................................ok
Module::Build.....................................ok
CGI...............................................ok
Class::DBI........................................ok
Class::DBI::AbstractSearch........................ok
Apache2::Request..................................ok
HTML::Mason.......................................ok
Apache::Session...................................ok
URI::Escape.......................................ok
SQL::Translator...................................ok
SNMP::Info 2.06...................................ok
NetAddr::IP 4.042.................................ok
Apache2::AuthCookie...............................ok
Apache2::SiteControl..............................ok
Log::Dispatch.....................................ok
Log::Log4perl.....................................ok
Parallel::ForkManager.............................ok
Net::Patricia 1.20................................ok
Authen::Radius....................................ok
Test::Simple......................................ok
Net::IRR..........................................ok
Time::Local.......................................ok
File::Spec........................................ok
Net::Appliance::Session...........................ok
BIND::Config::Parser..............................ok
Net::DNS..........................................ok
Text::ParseWords..................................ok
Carp::Assert......................................ok
Digest::SHA.......................................ok
Net::DNS::ZoneFile::Fast..........................ok
Socket6...........................................ok
XML::Simple.......................................ok
root@netdot:/usr/local/src/netdot-1.0.7# dpkg -l |grep snmp
ii libsnmp-base 5.7.2.1+dfsg-1 all SNMP configuration script, MIBs and documentation
ii libsnmp-info-perl 3.20-1 all Object Oriented Perl5 Interface to Network devices and MIBs through SNMP
ii libsnmp-perl 5.7.2.1+dfsg-1 amd64 SNMP (Simple Network Management Protocol) Perl5 support
ii libsnmp30:amd64 5.7.2.1+dfsg-1 amd64 SNMP (Simple Network Management Protocol) library
ii snmp 5.7.2.1+dfsg-1 amd64 SNMP (Simple Network Management Protocol) applications
zone "rpz.zone" {
type master;
file "/etc/bind/db.rpz.zone";
allow-query {any;};
# allow-update {none;};
}
;RPZ
$TTL 10
@ IN SOA rpz.zone. rpz.zone. (
5;
3600;
300;
86400;
60 )
IN NS localhost.
domain.ru CNAME domain.local.
jabber.domain.ru CNAME jabber.domain.local.
;srvce.prot.name class rr pri weight port target
_jabber._tcp.domain.ru. IN SRV 5 0 5269 jabber.domain.ru.
_xmpp-server._tcp.domain.ru. IN SRV 5 0 5269 jabber.domain.ru.
_xmpp-client._tcp.domain.ru. IN SRV 5 0 5222 jabber.domain.ru.
SRV записи не применяются.
$ dig -t srv _xmpp-server._tcp.domain.ru
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t srv _xmpp-server._tcp.domain.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9445
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;_xmpp-server._tcp.domain.ru. IN SRV
;; ANSWER SECTION:
_xmpp-server._tcp.domain.ru. 2269 IN CNAME domain.ru.
domain.ru. 5 IN CNAME domain.local.
;; AUTHORITY SECTION:
domain.local. 604800 IN SOA domain.local. admin.domain.com. 3 604800 86400 2419200 604800
;; Query time: 83 msec
;; SERVER: 192.168.206.75#53(192.168.206.75)
;; WHEN: Mon Jun 8 11:51:33 2015
;; MSG SIZE rcvd: 143
Ejabberd обслуживает два виртуальных сервера:
jabber.1.local
jabber.2.local
Но такая конструкция добавляет только лишь членов данного «Virtual Host». Задача запихнуть в «Shared Roster Groups» всех пользователей всех «Virtual Host»!
Имеется точка где можно установить роутер TP-LINK TL-WR941ND и подключить его к провайдеру интернет
До конечной точки (меня) можно поставить еще несколько роутеров
Все роутеры прошиты openwrt OLSR Mesh. Допустим что цепочка выстроилась и сеть связалась всеми узлами. Для первого узла я указал olsrd.conf
Hna4 0.0.0.0 0.0.0.0
По такому рецепту приготовится mesh-сеть и/или что можно/нужно изменить?
Latest VirtIO drivers for Windows from Fedora сломан? Я уже неделю с разных браузеров не могу скачать virtio*.iso
Есть скрипт /var/www/test.php
<?php
echo exec('tty');
?>
# php /var/www/test.php
/dev/pts/3
not a tty
Если таки должно быть, то первичная задача передача данных из скрипта (скрипт упрощен) в exec.
nc 192.168.200.6 5038 -c $(echo ${tty})
Может какие другие варианты есть вывода в таком случае?
Чем обосновать у провайдера МТС тот факт, что он должен поправить обратную зону и внести туда PTR записи mx.example.net
nc 192.168.200.6 38 -c ./script.sh
...
#Скрипт просматривает канал и ждет собщения 123456
while [ true ]; do
if echo ${line} | grep -q "123456"
then
# Вывод скрипта
echo "Нашёл"
# Завершение скрипта
exit 0
fi
...
Но echo уходит в канал открытый nc. Как сделать так что бы команда
nc 192.168.200.6 5038 -c ./script.sh
Опускаю скрипт, потому, что сам он не важен, только части для понимания задачи.
Устанавливаю соединение с AMI
# Переменные для соединения
AMI_HOST=192.168.200.6
AMI_PORT=5038
AMI_USER=user
AMI_PASS=123
# Переменные для Вызова
CALLERID='199'
CALL_CONTEXT=phones
TARGET_CONTEXT=informer2
Посылаю LOGIN
LOGIN=$(cat <<EOFAction: Login
Username: ${AMI_USER}
Secret: ${AMI_PASS}
Events: off
EOF
)
ORIGINATE=$(cat <<EOFAction: Originate
Channel: Local/${num}@${CALL_CONTEXT}/n
CallerID: ${CALLERID}
Context: ${TARGET_CONTEXT}
Priority: 1
Async: false
Variable: File=/home/petav/test
Account: informer
EOF
)
Задача по какому критерию прервать цикл с выводом DialStatus?
Цикл логирует Event
05/18/15 23:32:37 - DEBUG - Event: Dial Privilege: call,all SubEvent: End Channel: Local/89301234567@phones-9521;2 UniqueID: 1431981137.5057 DialStatus: ANSWER
05/18/15 23:32:17 - DEBUG - Event: Newchannel Privilege: call,all Channel: Local/89301234567@phones-9521;1 ChannelState: 0 ChannelStateDesc: Down CallerIDNum: CallerIDName: AccountCode: Exten: 89301234567 Context: phones Uniqueid: 1431981137.5056
Linux petav-work 3.2.0-4-686-pae #1 SMP Debian 3.2.63-2+deb7u1 i686 GNU/Linux
sh SoapUI-x32-5.1.3.sh
Unpacking JRE ...
Preparing JRE ...
Starting Installer ...
Запускается пустое окно без каких либо сообщений.
dpkg -l |grep jre
ii default-jre 1:1.6-47 i386 Standard Java or Java compatible Runtime
ii default-jre-headless 1:1.6-47 i386 Standard Java or Java compatible Runtime (headless)
ii gcj-4.6-jre-lib 4.6.3-1 all Java runtime library for use with gcj (jar files)
ii gcj-4.7-jre 4.7.2-3 i386 Java runtime environment using GIJ/classpath
ii gcj-4.7-jre-headless 4.7.2-3 i386 Java runtime environment using GIJ/classpath (headless version)
ii gcj-4.7-jre-lib 4.7.2-3 all Java runtime library for use with gcj (jar files)
ii gcj-jre 4:4.7.2-1 i386 Java runtime environment using GIJ/classpath
ii gcj-jre-headless 4:4.7.2-1 i386 Java runtime environment using GIJ/classpath (headless version)
ii icedtea-6-jre-cacao:i386 6b35-1.13.7-1~deb7u1 i386 Alternative JVM for OpenJDK, using Cacao
ii icedtea-6-jre-jamvm:i386 6b35-1.13.7-1~deb7u1 i386 Alternative JVM for OpenJDK, using JamVM
ii openjdk-6-jre:i386 6b35-1.13.7-1~deb7u1 i386 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-6-jre-headless:i386 6b35-1.13.7-1~deb7u1 i386 OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-6-jre-lib 6b35-1.13.7-1~deb7u1 all OpenJDK Java runtime (architecture independent libraries)
# festival -v
festival: Festival Speech Synthesis System: 2.1:release November 2010
/etc/festival.scm
...
;; Debian-specific: Use aplay to play audio
;;;;(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
;;;;(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -D plug:dmix -q -c 1 -t raw -f s16 -r $SR $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'snd)
;;; Command for Asterisk begin
(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))
;;; Command for Asterisk end
;; set russian voice (comment the following 2 lines to use british_american)
(language_russian)
(set! voice_default 'voice_msu_ru_nsh_clunits)
sh /usr/share/doc/festival/examples/festival.init startexten=> s,n,Festival( - Здравствуйте! Аркадий Петрович. Вы записаны на прием к доктору Чечерену)
Где бяка спряталась?
UPD.:Ощущение, что он выигрывает время, увеличивая скорость диктора потраченное на время он-лайн синтеза.
Требуется каждое исходящее письмо дополнять рекламным сообщением. Какую реализацию посоветуете?
dpkg -l |grep zabbix
ii zabbix-agent 1:2.4.4-1+wheezy amd64 network monitoring solution - agent
ii zabbix-frontend-php 1:2.4.4-1+wheezy all network monitoring solution - PHP front-end
ii zabbix-get 1:2.4.4-1+wheezy amd64 network monitoring solution - get
ii zabbix-server-mysql 1:2.4.4-1+wheezy amd64 network monitoring solution - server (using MySQL)
nano /usr/lib/zabbix/alertscripts/mail
#!/bin/bash
to=$1
subject=$2
body=$3
echo $1 $2 $3>/tmp/1
cat <<EOF | mail -s "$subject" "$to"
$body
EOF
После срабатывания действия появляется ожидаемый файл с ожидаемым содержимым файл, письмо приходит на почту, но:
Return-Path: <zabbix@domain.ru>
Delivered-To: petav@domain.ru
Received: from zabbix?domain.ru (unknown [192.168.206.5])
(using TLSv1 with cipher AES128-SHA (128/128 bits))
(No client certificate requested)
(Authenticated sender: zabbix@domain.ru)
by mail.domain.com (Postfix) with ESMTPSA id 4E76623167
for <petav@domain.com>; Mon, 11 May 2015 00:01:34 +0300 (MSK)
Received: by zabbix@domain.ru (sSMTP sendmail emulation); Mon, 11 May 2015 00:01:34 +0300
From: zabbix@domain.ru
Date: Mon, 11 May 2015 00:01:34 +0300
To: petav@domain.com
Subject: PROBLEM: Disk I/O is overloaded on Zabbix server
User-Agent: Heirloom mailx 12.5 6/20/10
MIME-Version: 1.0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
VHJsdfpZ2dllHR0VSLk5BTUUgVHJpZ2dlciBzdGF0dXMgVFJJR0TVEFUVVMNClRy
aWdnZXIgVFsdfsdFUi5OQU1FIFRyaWdnZXIgc3RhdHVzIFRSSUdHRVIuU1RBVFVTDQpUcmln
Z2VyIFRSSUdHRVIuTkBUcmlnZ2VyIXR1cyBUUklHR0VUQVRVUw0KVHJpZ2dl
ciBUUklHR0k5BTUUgVHJpZ2dlciBGF0dXMgVFJJRsdfsdi5TVsdsdsdfVVMNClRyaWdnZXIg
VFJJR0dFUi5OQU1RyaWdnZXIgc3RhdHVzIFdHRVIuU1RBVFVTCg==
Мнения!?
Что уютней для ProxyPass с использованием ngnix на несколько разных серверов:
Ваше мнение?
183.194.100.5 - Шлюз между локальной сетью и миром имеет правила
iptables -t nat -A PREROUTING -d 183.194.100.5/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.206.18:25
iptables -t nat -A POSTROUTING -d 192.168.206.18/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 183.194.100.5
Apr 27 15:54:43 mail postfix/smtpd[9783]: NOQUEUE: reject: RCPT from unknown[183.194.100.5]: 450 4.7.1 Client host rejected: cannot find your hostname, [183.194.100.5]; from=<name@mail.ru> to=<name@mydomain.com> proto=ESMTP helo=<fallback7.mail.ru>
Пришло письмо от хостера
Уважаемый клиент!
Информируем Вас о том, что на аккаунте name.cpnl.hc.ru в ходе плановой проверки обнаружен следующий вредоносный контент: /home/name/.cagefs/tmp/phpwzxhXt: PHP.Hide
Чем реализовать такую же проверку на своем локальном apache?
| ← назад |