Комментарии 14
Если нет аккаунта на Хабре, но будут вопросы/правки/etc — все контакты в профиле.
А зачем ставить DSCP метку через Iptables, если это можно делать через sip.conf:

tos_sip=cs3; Sets TOS for SIP packets.
tos_audio=ef; Sets TOS for RTP audio packets.
tos_video=af41; Sets TOS for RTP video packets.
Спасибо за материал. У меня возник такой вопрос. Если Астериск за НАТом, то подразумевается использование параметра externip. Как вы решаете проблему автоматической смены его значения при переключении провайдеров?
Вы знаете, я тоже думал это будет проблемой, но сейчас оставил только параметр localnet, и этого оказалось достаточно.
При падении основного прова все подхватывается без проблем на резервном и возвращается назад при восстановлении.
Но даже если у вас так не получится, то будет достаточно написать простенький скрипт на сервере с PBX, который будет выставлять нужное значение в sip.conf и релоадить Asterisk при переключении основной/резервный.
В этом нет необходимости. Если в Микротике включен параметр отслеживания sip соединений, то он автоматом подставляет external ip в заголовки.
У меня 6 астерисков за NAT-ом у разных провайдеров, все работают с nat=no без установленного externip
гуру астериска, подскажите, пожалуйста — возможно ли на нем использовать различные локальные IP для подключения к различным trunk-ам?

не совсем понятно чего вы хотите добиться
Asterisk смотрящий в несколько локальных сетей(VLAN'ов например) — да, возможно
настроить так, чтобы каждый внешний транк подцеплялся через «свою» локалку — тоже возможно
есть сервер с большим количеством IP, привязанных к одному интерфейсу.

Надо, чтобы к транку «А» они делали коннект с одного Ip, к транку «Б» — с другого.

Можно ли это сделать средствами самого астериска?
Спасибо.

Надо тогда будет ещё попробовать через LD_PRELOAD, хотя идея не очень нравится.
здесь, я думаю, вам поможет iproute2, т.е. policy routing по src-ip
попробуйте
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.