Pull to refresh

Домашний сервер: прокси для SIP

Configuring Linux
У меня есть стационарный ip телефон, и раутер под ubuntu-server раздающий интернет. Проблема в том, что телефон отдает свой локальный ип (192.168.0.6) sip серверу, и соответственно дозвонится мне уже не возможно. Проброска портов здесь тоже не поможет.
Первое что пришло в голову — завести Asterisk PBX (программная АТС), но данное решение кажется избыточным для дома с одним телефоном, одним SIP провайдером и без FXO интерфейса. Совершенно случайно нашел небольшую утилиту реализующую как раз-то, что нужно: siproxd. Данная программа есть в репозитории дебиана и убунты.

Настройка siproxd.conf:

# Интерфейс на котором висят sip телефоны и клиенты (да, siproxd может проксировать множество клиентов)
if_inbound  = eth0
# Интерфейс к которому подключен интернет (важно чтобы интерфейс имел реальный ip адрес,
# т.к. именно на него будут поступать звонки). В моём случае это интерфейс PPPoE, к которому
# подключается сервер через adsl
if_outbound = ppp0
# Подсети с которых могут подключатся sip клиенты (через запятую, без пробелов)
hosts_allow_reg = 192.168.0.0/24
# Подсети с которых разрешен SIP трафик, т.е. звонящие на телефон.
#hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16
# Подсети с которых запрещен SIP трафик.
#hosts_deny_sip  = 10.0.0.0/8,11.0.0.0/8

Остальные опции менять не нужно. Так же можно настроить быстрый набор:

# Включаем необходимый плагин
pi_shortdial_enable = 1
# Задаем промежуток для номеров быстрого набора (*00 -- от *01 до *99)
pi_shortdial_akey = *00
# номер для записи выбирается по порядку добавления в конфигурационном файле.
# т.е. для промежутка от *01 до *99 первая запись будет *01,
pi_shortdial_entry = 11111@test.com
# а вторая *02
pi_shortdial_entry = 22222@test.com

Как выглядит настройка на телефоне Cisco 7912g (настройки для других телефон скорее всего будут подобными):
  • OutBoundProxy: адрес сервера с siproxd
  • Proxy: адрес sip сервера провайдера
  • UID: Ваш UID у sip провайдера
  • PWD: Ваш пароль
Если в Proxy написать адрес сервера с siproxd, то можно звонить между подключенными к данному серверу телефонами. Довольно удобная вещь.
В чем плюсы данного подхода:
  1. Нет необходимости запускать и настраивать полноценную АТС
  2. Довольно легко настраивать
  3. Прокси поддерживает авторизацию, соответственно можно сделать небольшой прокси сервер внутри организации с возможностью звонков между телефонами по короткому номеру.
  4. Можно использовать аппаратные sip телефоны за NAT (программные в основном и так прекрасно работают, благодаря STUN и другим технологиям)


кросс пост с моего блога
Tags:sipproxyhome serverubuntu-serverdebian
Hubs: Configuring Linux
Total votes 17: ↑16.5 and ↓0.5 +16
Views41.1K

Popular right now

SUSE Linux Enterprise Server 15 - Администрирование
July 5, 202150,000 ₽Сетевая Академия ЛАНИТ
SUSE Linux Enterprise Server 15 - Продвинутое администрирование
July 12, 202150,000 ₽Сетевая Академия ЛАНИТ
WEB-разработчик
June 19, 202196,000 ₽GeekBrains
Программист Android
June 19, 202184,000 ₽GeekBrains
PHP программист
June 19, 202148,000 ₽GeekBrains

Top of the last 24 hours