Страница 1 из 1

asterisk ipv6 && ipv4 listen

Добавлено: 31 июл 2017, 09:43
shader
Добрый день. Собственно, есть желание запустить Ip телефонию на IPv6.
стоит asterisk 13.15. (на другой машине 14.3)
в мануале сказано, что делается сие очень просто и без проблем.
https://wiki.asterisk.org/wiki/display/ ... p+for+IPv6
Но по факту asterisk слушает только Ipv4 адрес (при задании в конфигурации 2х адресов: v4 и v6)

Код: Выделить всё

sudo ss -ln | grep 5060
udp    UNCONN     0      0      192.168.2.244:5060                  *:* 
Часть конфига sip.conf:

Код: Выделить всё

bindaddr=2001:0:53aa:64c:28c3:b913:a88a:f2dc
bindaddr=192.168.2.244
Если убрать ipv4 из настроек, тогда начинает слушать IPv6

Код: Выделить всё

udp    UNCONN     0      0       2001:0:53aa:64c:28c3:b913:a88a:f2dc:5060                 :::*
Система: gentoo linux.

Код: Выделить всё

uname -a
Linux master_gt-PC 4.9.6-gentoo-r1
Собсно, вопрос: как заставить asterisk слушать одновременно и IPv4 и IPv6?
Кто-нибудь сталкивался с такой проблемой?

Re: asterisk ipv6 && ipv4 listen

Добавлено: 31 июл 2017, 10:22
awsswa
Двойной bind работать не будет на канале sip
либо вообще не биндить и будет так -

TLS SIP Bindaddress: [::]:5061
tcp 0 0 :::5061 :::* LISTEN 2144/asterisk

Re: asterisk ipv6 && ipv4 listen

Добавлено: 31 июл 2017, 10:27
shader
А почему не будет?
В руководстве сказано, что с версии asterisk 13+ работать должно.
К тому же, на моей dev машине на работе (везде gentoo linux) - заработало!
А вот на production и на домашнем ПК почему-то не взлетает. Не могу найти закономерности.

Re: asterisk ipv6 && ipv4 listen

Добавлено: 31 июл 2017, 10:35
april22
может PJSIP ?

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 09:20
shader
В общем, на рабочей (development) машине работает.
Но! только в такой конфигурации:

Код: Выделить всё

bindaddr=192.168.10.5 
bindaddr=[::]
При этом sip show settings показывает:

Код: Выделить всё

Global Settings:
----------------
  UDP Bindaddress:        [::]:5060
  ** Additional Info:
     [::] may include IPv4 in addition to IPv6, if such a feature is enabled in the OS.
...
Т. е. на production, похоже, не взлетает, из-за конфигурации системы. (там ядро старое, 3.14 . На Dev 4.4. ) Пойду разбираться с gentoo.

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 09:32
awsswa
я подозреваю что можно обойтись одной строкой

Код: Выделить всё

bindaddr=[::]

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 09:45
Vlad1983

Код: Выделить всё

bindaddr=[::]
сравнить выхлоп на там где работает и там где нет

Код: Выделить всё

sysctl net.ipv6.bindv6only

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 09:54
shader
Vlad1983,
sysctl net.ipv6.bindv6only везде = 0.
Но в production я указал конкретный ipv6 адрес, а не [::], а так оно действительно не "взлетает".
более того, если указать [::] и bindaddr=*some_ipv4* то, asterisk игнорирует bindaddr для ipv4 и слушает все адреса :( :(
Так что, счастье было близко, но мне обязательно нужно случать конкретный ipv4.
Ладно, пусть ветка форума останется для будущих поколений.

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 10:07
Vlad1983
chan_sip только один bindaddr возможен
april22 выход уже указал - chan_pjsip

Re: asterisk ipv6 && ipv4 listen

Добавлено: 01 авг 2017, 10:15
shader
Да, спасибо, я уже понял это.
chan_pjsip я "щупал" чуть менее года назад. Тогда всё было печально. Но, судя по change log, его активно пилят.
Есть уже кто-то, кто активно его юзает? Как отзывы?