среда, 26 декабря 2007 г.

IP-телефония: часть 2(дополнение про FXS и FXO)

Долго не мог понять разницу между FXO и FXS интерфейсами, поэтому выкладываю очень полезную информацию с рисунками. Взято с www.3cx.ru.

Что обозначают термины FXO и FXS?
FXS и FXO – это названия портов, к которым подключаются аналоговые телефонные линии ТФОП (также известные под названием «телефонные сети общего пользования»).

Интерфейс FXS – это порт, который дает возможность подключения абонента к аналоговой телефонной линии. Другими словами «розетка в стене» выдает сигнал станции, обеспечивает батарейное питание линии и напряжение, необходимое для звонка.

Интерфейс FXO – это разъем, в который включается аналоговая телефонная линия. Это разъем на телефонном или факсимильном аппарате или разъем / разъемы на аналоговой мини-АТС. Такой порт имеет индикацию состояния трубка снята / трубка на телефоне (замыкание цепи). Так как порты (разъемы) являются частью устройства, например, телефона или факса, такое устройство часто называют «устройством FXO» или «аналоговым устройством».

Разъемы FXO и FXS всегда парные, то есть имеют «вилку» и «гнездо».

При отсутствии мини-АТС, телефон подключается прямо к розетке FXS, предоставляемой телефонной компанией.



При наличии мини-АТС, телефонные линии, ведущие от телефонной компании, подключаются к мини-АТС, к которой также подключаются абонентские телефоны. Поэтому мини-АТС должна быть оборудована портами обоих типов – для подключения портов FXS от телефонной компании и портов FXO для подключения телефонов или факсов.



FXS, FXO и VOIP

Термины FXS и FXO встречаются, когда принимается решение о покупке оборудования, позволяющего подключать аналоговые телефонные линии к телефонной системе VOIP или традиционных аналоговых мини-АТС к поставщику услуг VOIP или связывать такое оборудование по каналам Интернет.

Шлюз FXO

Для подключения аналоговых телефонных линий к IP мини-АТС необходим шлюз FXO. Это позволяет подключить порт FXS к порту FXO, имеющемуся на шлюзе, который преобразует сигнал аналоговой телефонной линии в вызов VOIP.



Шлюз FXS

Шлюз FXS используется для подключения одной или более традиционных аналоговых мини-АТС к VOIP мини-АТС или провайдеру. Шлюз FXS необходим для соединения портов FXO (которые обычно соединяются с телефонной компанией) с Интернетом или VOIP мини-АТС.



Адаптер FXS или адаптер ATA

Адаптер FXS используется для соединения аналогового телефона или факса с VOIP мини-АТС или провайдером VOIP услуг. Это необходимо для подключения порта FXO на телефонном/факс-аппарате к адаптеру.



Процедуры FXS/ FXO – как это работает

Если вы интересуетесь техническими подробностями процедур взаимодействия портов устройств FXS/FXO, вот точное описание последовательности:

При осуществлении исходящего звонка:
Абонент поднимает трубку (устройство FXO). Порт FXS определяет, что трубка поднята.
Набирается телефонный номер, который в виде двухтональных многочастотных сигналов (DTMF) передается на порт FXS.

Входящий звонок:
Порт FXS принимает звонок, затем посылает сигнал звонка с необходимым напряжением на соединенное с ним устройство FXO.
Телефон звонит.
После поднятия трубки можно говорить.

Окончание звонка – обычно порт FXS заканчивает соединение по сигналу соединенного с ним устройства FXO.

Примечание: На порт FXS подается постоянное напряжение около 50 Вольт с аналоговой телефонной линии. Поэтому прикосновение к проводникам подключенной телефонной линии вызывает слабый «электрический удар». Отдельное питание телефонной линии позволяет осуществлять звонки даже при отсутствии напряжения в сети переменного тока.

IP-телефония: часть 2.

Итак продолжение внедрения ip-телефонии... Необходимо внедрить базовую часть, т.е. внедрить хотя бы 1 номер и вести с ним экперименты. В качестве шлюза была выбрана модель компании GrandStream GXW-4104 c 4 FXO портами. Общая схема будет выглядеть следующим образом:


Характеристики GXW-4104:

Наименование товара: Grandstream GXW-4104
Тип продукта : Шлюз
Производитель: Grandstream
Модель: GXW-4104
Интерфейсы / Коннекторы: 4xFXO
поддержка H.264 кодека (до 30 кадров в сек. с разрешением CIF)
2 порта RJ45 10/100Mbps Base-T(LAN/WAN) (работа в режиме моста или маршрутизатора)
TFTP и HTTP загрузка ПО и конфигураций
Аудио Кодеки: G.711, G.723.1, G.729A/B, GSM
Питание: 12 Vdc, 1.25Amp

С начальным оборудованием определись.Продолжение следует...

вторник, 25 декабря 2007 г.

IP-телефония: часть 1.

В компании встала задача : иметь возможность слушать разговоры техподдержки с абонентами, т.к. поступила информация что в техподдержке грубо разговаривают. Решил внедрить ip- телефонию. Но т.к. я этом еще новичек пришлось понапрягаться. В первую очередь нужно было поднять сервер телефонии.
Мной был выбран Asterisk. Далее сервер был слинкован с провайдером ip-телефонии: sipnet.ru.
Вот некоторые конфигурационные файлы из /etc/asterisk:
asterisk.conf
[directories]
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run
astlogdir => /var/log/asterisk

В extensions.conf добавлено:

;Для звонков на Москоу
[nabor_7495]
exten => _7495XXXXXXX,1,SetCallerID("SipPhone" <3300562>)
exten => _7495XXXXXXX,2,Dial(SIP/sipnet1/${EXTEN},120)
exten => _7495XXXXXXX,3,PlayBack(noanswer)
exten => _7495XXXXXXX,4,HangUp
exten => _7495XXXXXXX,5,PlayBack(busy)
exten => _7495XXXXXXX,6,HangUp; Для работников, кому разрешено звонит в Москву

[office]
include => limited
include => nabor_7495

;Кому не разрешено
[limited]
exten => 200,1, Macro(stdexten,200,SIP/200)
exten => 201,1, Macro(stdexten,201,SIP/201)
exten => 202,1, Macro(stdexten,202,SIP/202)
exten => 203,1, Macro(stdexten,203,SIP/203)
exten => 204,1, Macro(stdexten,204,SIP/204)
exten => 205,1, Macro(stdexten,205,SIP/205)
exten => 206,1, Macro(stdexten,206,SIP/206)
include => confs
include => demo
В sip.conf добавлено:

[206]
type=friend
host=dynamic
username=206
secret=passwd
nat=no
canreinvite=no
context=limited
callerid="Radio" <206>
allow=gsm
allow=ulaw
allow=alaw

[sipnet1]
type=friend
username=Логин
secret=Пароль
callerid=
host=sipnet.ru
nat=no
fromuser=Логин
fromdomain=sipnet.ru
dtmfmode=rfc2833
insecure=very
context=SipNet
disallow=all
allow=alaw
Далее когда все заработало и можно звонить в Москву,-надо было иметь возможность звонить в локальную сеть с городских и наоборот. О том как это будет организовано расскажу в следующий раз...

воскресенье, 23 декабря 2007 г.

Yakuake

Есть на свете множество хороших и эргономичных программ. Одна из которых называется Yakuake. Просто установите ее (apt-get install yakuake). Закиньте в автозагрузку и при нажатии F12 у вас будет появлятся консоль как в игре Quake. :-)

понедельник, 3 декабря 2007 г.

Перегружаем DVB карту SS2

Здесь пример sh-скрипта который я использую для перезагрузки спутникового интрнета. Думаю информация будет особенна интересна людям настраивающим спутниковый интернет на Linux.

#!/bin/sh
#любой адрес например 192.168.238.238
IPDVB=""
#ваш мак который вы указали при подписке
MAC=""
#номер вашего пида
PID=""
# Ip шлюза вашего наземного провайдера
IP=""
#login в Spectrumsat
NAME=
#Включаем карту на приём данных
killall szap

#Деинициализируем устройства(вдруг они запущены)
#---------------------------

/sbin/ifconfig dvb0_0 down > /dev/null 2>&1
sleep 2s
/usr/local/bin/dvbnet -d 0 > /dev/null 2>&1
/usr/bin/killall dvbnet > /dev/null 2>&1
/sbin/modprobe -r skystar2 > /dev/null 2>&1
/sbin/ifconfig tun0 down
/usr/bin/killall -TERM openvpn
# /sbin/route del default
# /sbin/route add default dev ppp0

#Устанавливаем новые устройства
#-------------------------------
/sbin/modprobe skystar2 > /dev/null 2>&1
/usr/local/bin/szap -c /usr/local/etc/channels.conf -n 1 -p > /dev/null 2>&1

#Настраиваем фильтрацию по нужному PID
/usr/local/bin/dvbnet -p $PID -a 0 > /dev/null 2>&1
#Присваеваем карте MAC-адрес, на который оформлена подписка
/sbin/ifconfig dvb0_0 hw ether $MAC > /dev/null 2>&1
# Присваеваем DVB карте IP
/sbin/ifconfig dvb0_0 $IPDVB > /dev/null 2>&1
#Поднимаем интерфейс
/sbin/ifconfig dvb0_0 up > /dev/null 2>&1
/sbin/route del default
/sbin/ip route add default via $IP
/usr/local/bin/routing
echo 1 > /proc/sys/net/ipv4/conf/dvb0_0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/ppp0/forwarding
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
#Поднимаем OpenVPN
/usr/local/sbin/openvpn --config /etc/openvpn/$NAME.ovpn > /dev/null 2>&1&
sleep 5s
echo 1 > /proc/sys/net/ipv4/conf/tun0/forwarding
echo `date` >> /usr/local/bin/ss.log