среда, 27 марта 2013 г.

Мигаем диодами BLF на Linksys Cisco

Цветовые кнопки на терминалах Linksys и Cisco позволяют наблюдать за локальными и удаленными событиями.
Все в основном сперто отсюда
http://sbkb.cisco.com/CiscoSB/GetArticle.aspx?docid=e2a5d4a40d1e4e0291cadd5153ee7cf8_Configure_Line_Key_LED_Pattern_on_SPA300_SPA500_Series_IP_Ph.xml&pid=2&converted=0

http://www.smartvox.co.uk/astfaq_asterisk_sla.htm

http://www.cisco.com/en/US/products/ps10033/products_qanda_item09186a0080a35e40.shtml

настройка spa932
http://www.cisco.com/en/US/products/ps10033/products_qanda_item09186a0080a36aa9.shtml


Цветов немного, либо red либо green, но можно мигать с разной скоростью.(а вот недавно нашел оранжевый)
Настройка событий находится в закладке "PHONE"



p=fb, p=sb - мигать быстро, медленно     p=d     двойное мигание
c=r, c=g  - цвет красный , зеленый,   c=a    оранжевый,     с=o  выключить 

О чем мигают кнопки BLS (Busy Lamp Field)

fnc=blf+sd;sub=204@$PROXY;ext=204@$PROXY;vid=1; usr=    ; nme=   ???



1)    Idle LED Appears when the line is idle.  Defaults to blank (c=r). 
Режим ожидания.

2)   Remote Undefined LED LED pattern during the Remote Undefined state, where the shared call state is undefined (the station is still waiting for the state information from the application server). Not applicable if 
the call appearance is not shared. Leaving this entry blank indicates the default value of c=r;p=d. 
Неопределенное состояние - станция ожидает ответа от сервера приложений.

3) Local Seized LED Appears when this station seizes the call appearance to prepare for a new outbound call. Defaults to blank (c=r).
Локальное состояние. Отображает готовность к новому вызову.

4) Remote Seized LED (applicable only to  shared call appearance) Appears when the shared call ppearance is seized by another station. Defaults to blank (c=r; p=d). 
Удаленная готовность


5)Local Progressing LED Appears when this station attempts an outgoing call on this call appearance (the called number is ringing). Defaults to blank (c=r). 
Локальный набор номера.

6)Remote Progressing LED(applicable only to shared call appearance) Appears when another station attempts an outbound call on  this shared call appearance. Defaults to blank (c=r; p=d). 
Удаленный набор номера.

7)Local Ringing LED Appears when the call appearance is ringing. Defaults to blank (c=r;p=f). 
Локальный Сигнал вызова.

8) Remote Ringing LED (applicable only to shared call appearance) Appears when the shared call appearance is in ringing on another station. Defaults to blank (c=r;p=d). 
Удаленный сигнал вызова.

9)Local Active LED Appears when the call appearance is engaged in an active call. 
Defaults to blank (c=r).
Локальный активный вызов.
10) Remote Active LED
(applicable only to shared call appearance) Appears when another station is engaged in an active call on 
this shared call appearance. Defaults to blank (c=r;p=d). 
Удаленный активный  вызов.

11)Local Held LED Appears when the call appearance is held by this station. Defaults to blank (c=r;p=s). 
Локальное удержание

12)Remote Held LED
(applicable only to shared call appearance) Appears when another station places this call appearance on 
hold.Defaults to blank (c=r,p=s).
Удаленное удержание

13) Register Failed LED LED pattern when the corresponding extension has failed to 
register with the proxy server. Leaving this entry blank 
indicates the default value of c=a. 
14) Disabled LED LED pattern when the Call Appearance is disabled (not 
available for any incoming or outgoing call). Leaving this entry 
blank indicates the default value of c=o. 
15) Registering LED Appears when the corresponding extension tries to register 
with the proxy server. 
Defaults to blanks (c=r;p=s). 
16) Call Back Active LED Indicates Call Back operation is currently active on this call.
defaults to blank (c=r;p=s)



пятница, 22 марта 2013 г.

SMPP SNMP SMTP

SMTP  - простой протокол передачи почты
SMPP  - протокол передачи коротких сообщений
SNMP  - простой протокол управления сетевыми устройствами

Postfix шлем факсы и прочее

1) Поменять первоначальные настройки postfix

dpkg-reconfigure postfix

выбрать режим "site-satelite"
указать домен, SMTP

2) Проверить посылку

echo "something" | mailx -s "subject" testdestination@gmail.com

3) Результат смотреть  

tail /var/log/mail.log

понедельник, 18 марта 2013 г.

Munin+PyMunin - наблюдаем за Asterisk

1) Ставим munin-node для клиента и сервера
apt-get install munin-node

2) ставим PIP installer из под рута
curl https://bootstrap.pypa.io/get-pip.py | python

3) ставим Pymunin
pip install  Pymunin

4) делаем  символьную сылку
ln -s /usr/share/munin/plugins/asteriskstats   /etc/munin/plugins/

5) Включаем и настраиваем AMI (Asterisk management interface)
/etc/asterisk/manager.conf

 [general]
enabled = yes
port = 5038
bindaddr = 127.0.0.1
displayconnects=no ;only effects 1.6+

[admin]
secret = password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr

6) Перегружаем модуль AMI в астериске
asterisk -rx  "manager reload"

7) Правим параметры астериска в нашем случае
  /etc/munin/plugin-conf.d/munin-node

[asteriskstats]
#здесь параметры доступа к менеджеру астериска
env.amihost 123.123.123.123                                                                                                                                    env.amiport 5038
env.amiuser admin
env.amipass password
#список отображаемых графиков через запятую
env.include_graphs asterisk_calls,asterisk_channels,asterisk_peers_sip,asterisk_queue_calls,asterisk_queue_len,asterisk_queue_avg_hold,asterisk_queue_avg_tal
k,asterisk_queue_abandon_pcent,asterisk_fax_stats,asterisk_trunks,asterisk_conferences,asterisk_voicemail
#список отключеных графиков
env.exclude_graphs asterisk_peers_iax2
# список наблюдаемых каналов SIP, IAX2, dahdi, local
env.list_channels sip,local
#кодеки  alaw, ulaw
env.list_codecs
#наблюдаемые транки, называемые также как
env.list_trunks PSTN=Zap\/(?P<num>\d+)=1-3,VoIP=SIP\/(net2phone|skype)
env.include_queues NAME_queue    # Comma separ
ated list of queues to include in  graphs.(All queues included by default.)
env.exclude_queues # Comma separated list of queues to exclude from graphs.

8) перегружаем
/etc/init.d/munin-node restart

Почему на графиках десятичные числа?
Дело в том что RRDTool берет среднее значение между данными которые он периодически получает, потому получаются дробные числа.
Чтобы округлить значения до целых, можно использовать
graph_printf %.0lf
в munin.conf







четверг, 17 января 2013 г.

Asterisk+Hylafax+Avantfax решает вопрос факсов

         Итак, мы имеем рабочий Asterisk, возможно с FreePbx или без, кому как нравится. Все работает, пользователи  довольны, но не проходит и пол часа, как к вам подходит девушка - секретарь с вопросом "Как быть с факсами??"
             Хорошо если у вас есть PAP2T и KX-FT934 или что то подобное, тогда вы подключаете все к Астериску, и разница со старой аналоговой АТС будет практически не заметна. Но что делать, если факса нет или не будет, а отправить нужно сейчас?? Разве всесильная "айпи-атс" , за которую уплачены космические сумы, и возможности которой ограничены только фантазией менеджера по продаже решения, не сможет решить эту задачу?Yes, it can! 
         Работу программного факса на нашем сервер обеспечит связка ОПО (Открытое ПО):
1)Asterisk+spandsp - астериск должен быть установлен с модулем приложения app_fax.so
для этого обязательно установить spandsp, иначе мы не сможем работать с факсами.
2)iaxmodem - программные виртуальные модемы, связующие астериск и hylafax через IAX2 каналы.
3)hylafax-server -  центр обработки факса, приложения для управления модемами, и пользователями.
4)avantfax - веб интерфейс с пользователями, и управлением факсами, а также мониторингом модемов и пересылка на почту.
5) postfix - будет осуществлять рассылку факсов по почтовым ящикам.
----------------------------------------------------------------------------------------------------
         Теперь по порядку.
1) Asterisk ставим из репозиториев, либо компилируем из исходников. Spandsp пришлось компилировать. Брал здесь http://soft-switch.org
----------------------------------------------------------------------------------------------------
2) IAXMODEM - Это ставим из репозитория, плюс то что понадобится:
apt-get update
apt-get install gcc libtiff-tools libtiff4-dev
apt-get install iaxmodem 


Идем в /etc/iaxmodem/ и создаем конфигурации модемов, например если нужно 3 шт
touch ttyIAX0 ttyIAX1 ttyIAX2    
в каждом  параметы модема
device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4800
refresh 3600
server 127.0.0.1
peername 5500
secret iax2peerpass
codec alaw

 добавляем в /etc/inittab  параметры для запуска модемов
# Load modem
IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0
IA01:23:respawn:/usr/bin/iaxmodem ttyIAX1
# Faxgetty
m0:2345:respawn:/usr/sbin/faxgetty ttyIAX0
m1:2345:respawn:/usr/sbin/faxgetty ttyIAX1
и запускаем модемы  # telinit q  перезапускает все что прописано в /etc/inittab
в Астериске создаем IAX2 пиры с соответсвующими параметрами,

[667]
type=friend
secret=megapass
port=4800
host=dynamic
context=out
disallow=all
allow=alaw
requirecalltoken=no
qualify=yes

перезапускаем /etc/init.d/iaxmodem restart 
модемы должны зарегистрироватся как пиры, проверить можно 
# asterisk –rx “iax2 show peers”
Name/Username Host Mask Port Status    

667              127.0.0.1       (D)  255.255.255.255  41178         OK (1 ms) 
669              127.0.0.1       (D)  255.255.255.255  57495         OK (3 ms) 
668              127.0.0.1       (D)  255.255.255.255  38258         OK (1 ms) 
3 iax2 peers [3 online, 0 offline, 0 unmonitored]

На данный момент модемы готовы, и позвонив на них вы должны услышать "гудки". Поднимать "трубку" и слать тоны факса будет HylaFax.
------------------------------------------------------------------------

3)Ставим HylaFax
# apt-get install  hylafax-server
Программа установки задаст несколько вопросов, на многие из которых можно ответить нажав "да". Также необходимо указать имя модема, в нашем случае ttyIAX0 . Влюбой момент вы можите прервать установку <CTRL+C>. А запустить настройку faxsetup.
Добавить факс-модем можно настройкой faxaddmodem.
При добавлении факса создается его конфиг в виде  /etc/hylafax/config.ttyIAX0
в конец конфига необходимо добавить ссылки для Avantfax.
#
## Add for AvantFAX use
#
FaxRcvdCmd: bin/faxrcvd.php
DynamicConfig: bin/dynconf.php
UseJobTSI: true 
все готово для проверки работы факс тонов. /etc/init.d/hylafax restart
при наборе № пира факса вы должны услышать специфические тоны.
-----------------------------------------------------------------------------------------------------------
4) Ставим AvantFax
К этому моменту желательно иметь рабочий LAMP веб-сервер. Доставим необходимые пакеты
# apt-get install -y apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libpq5 libsqlite3-0 php5-cli php5-common mysql-server imagemagick libtiff4-dev netpbm libnetpbm10-dev libungif-bin libungif4-dev sudo php-mail php-mail-mime php-file php-db php5-mysql sudo php-mail php-mail-mime php-file php-db php5-mysql

Качаем и ставим сам авантфакс

  1.  # wget http://downloads.sourceforge.net/project/avantfax/avantfax-3.3.3.tgz
  2.  # tar -zxvf avantfax-3.3.3.tgz 
  3.  # cd avantfax-3.3.3 
  4.  # mv /usr/src/avantfax-3.3.3/avantfax /var/www/ 
  5.  # chmod -R 777 /var/www/avantfax/tmp /var/www/avantfax/faxes 
  6.  # cd /var/spool/hylafax/bin 
  7.  # mv faxrcvd faxrcvd.old 
  8.  # mv notify notify.old 
  9.  # ln -s /var/www/avantfax/includes/faxrcvd.php /var/spool/hylafax/bin/faxrcvd 
  10.  # ln -s /var/www/avantfax/includes/notify.php /var/spool/hylafax/bin/notify 
  11.  # mv /usr/bin/faxcover /usr/bin/faxcover.old 
  12.  # ln -s /var/www/avantfax/includes/faxcover.php /usr/bin/faxcover 
  13.  # cd /usr/src/avantfax-3.3.3 
  14.  # nano create_tables.sql  этот скрипт создаст нужные таблицы в базе
  15.  обязательно добавить в начале  “USE avantfax;” - имя создаваемой базы
  16.  # nano debian-prefs.txt (обязательно указать пароль суперпользователя базы ROOTMYSQLPWD (is the root MySQL user), а также указать ползователя от которого запущен веб сервер httpuser and httpgroup (проверить можно ps –ef |grep apache ) 
  17.  Для логирования Avantfax 
  18.  # mkdir /etc/apache2/logs 
  19.  # touch /etc/apache2/logs/avantfax-error_log
  20.  # /etc/init.d/apache2 restart

21 ) На самом деле это все подготовка к самому главному - запускаем сам скрипт установки
# ./debian-install.sh 
22) Во время работы скрипта будет установлен POSTFIX,  у меня он работает в режиме "сайт-спутник
23) После установки мне пришлось поправить файл
hylafax/includes/local_config.php

        define('AFDB_USER',             'avantfax');    // username
        define('AFDB_PASS',             'avantfaxpass');             // password
        define('AFDB_NAME',             'avantfax');    // database name
        define('AFDB_ENGINE',   'mysql');               // database engine: mysql
        define('AFDB_HOST',             '127.0.0.1');   // database host

а для исходящих писем
define('ADMIN_EMAIL', 'fax-server@companyfaxserver.com');

24) заходим в админку  http(s)://<IPADDRESS>/avantfax/admin.

admin
password




среда, 28 ноября 2012 г.

PBX+Internet gateway

1) Добавляем необходимые интерфейсы vlan101, vlan102
и назначаем айпишки 10.10.10.1 и 10.10.20.1
/etc/network/interfaces

auto lo eth0 vlan101 vlan102 vlan_voip


iface eth0 inet static
        address external_ip
        netmask 255.255.255.252
        network external_network
        broadcast external_br
        gateway external_gw
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers   provider_dns
        dns-search cosmonova.net.ua

#vlan_voip
iface vlan_voip  inet static
        address voip_ip
        netmask 255.255.255.0
        vlan_raw_device eth0


#LAN INET
iface vlan101 inet static
        address 10.10.10.1
        netmask 255.255.255.0
        vlan_raw_device eth0

#LAN VOIP
iface vlan102 inet static
        address 10.10.20.1
        netmask 255.255.255.0
        vlan_raw_device eth0

перезагрузм интерфейсы /etc/init.d/networking


2) Ставим и настраиваем DHCPD в /etc/dhcpd.conf

ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option nis-domain               "nameofdomen";
option domain-name              "nameofdomen";
subnet 10.10.10.0 netmask 255.255.255.0 {
option routers                  10.10.10.1;
option subnet-mask              255.255.255.0;
option broadcast-address        10.10.10.255;
option domain-name-servers      8.8.8.8;
option tftp-server-name "10.10.10.1";
range 10.10.10.10 10.10.10.30;


subnet 10.10.20.0 netmask 255.255.255.0 {
option routers                  10.10.20.1;
option subnet-mask              255.255.255.0;
option broadcast-address        10.10.20.255;
option domain-name-servers      8.8.8.8;
option tftp-server-name "10.10.20.1";
range 10.10.20.10 10.10.20.30;

перезапустим /etc/init.d/dhcpd restart

3) Качаем http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/arno-iptables-firewall_2.0.1b.tar.gz
и инсталируем через ./install.sh
проверяем чтобы скрипт сделал echo 1 >/proc/sys/net/ipv4/ip_forward
и перегружаемся

4) Правим  /etc/arno-iptables-firewall/firewall.conf

EXT_IF="eth0"
EXTERNAL_NET="external_ip/30"


INT_IF="vlan101 vlan102  vlan353"
INTERNAL_NET="10.10.10.0/24 10.10.20.0/24"

NAT="1"
NAT_STATIC_IP="external_ip"


NAT_INTERNAL_NET="10.10.10.0/24 10.10.20.0/24"
NAT_LOCAL_REDIRECT=1

NAT_FORWARD_TCP=""   #"8081>10.10.10.103~80 8082>10.10.10.104~80 8080>10.10.10.102~80"

DEFAULT_POLICY_DROP=1
TRUSTED_IF="vlan101 vlan102 vlan_voip"

IF_TRUSTS=""

LAN_OPEN_ICMP=1

LAN_INET_OPEN_ICMP=1

протестировать настройки можно несколькими способами:

1) применить до перегрузки 'invoke-rc.d arno-iptables-firewall start'
2) настроить через скрипт, configure.sh , но отказатся от автозапуска,
а если все ок, внести скрипт в автозагрузку созданием сылки
ln -sv /etc/init.d/arno-iptables-firewall /etc/rcS.d/S41arno-iptables-firewall
и
/sbin/insserv   arno-iptables-firewall
перегружаемся проверяем







четверг, 22 ноября 2012 г.

WL500GP1 "репы" для прошивки "энтузиастов"



Если вы "проапгредились" с прошивки Олега на прошивку от Энтузиастов, то столкнулись с тем что скрипт IPKG не работает. Все верно, теперь следует использовать OPKG .

Предварительно "разбив" флешку, перемонитруем в папку OPT.
$ mkdir /tmp/harddisk/opt 
$ mount -o bind /tmp/harddisk/opt /opt

Скачиваем и установливаем скрипт OPKG 
$ cd /opt 
$ wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh 
$ sh ./entware_install.sh

Просмотреть список пакетов 
$ opkg list 
Установка пакета
$ opkg install mc