VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

iax2 между серверами через OpenVPN

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

iax2 между серверами через OpenVPN

Сообщение tem2016 »

Добрый день.
У меня есть два сервера на CentOS 7. Первый сервер 192.168.1.14 - офис, на нем белый айпи, поднят Asterisk 13.7.2 с SIP-каналом до провайдера и настроен OpenVPN со вторым сервером. Второй сервер-клиент 192.168.2.14 аналогично поднят на CentOS 7 с клиентом OpenVPN и Asterisk 13.7.2. OpenVPN работает без проблем, пинги от серверов ходят во все стороны. Теперь пробую подружить сервера по iax2. Конфиги:
/etc/asterisk/iax.conf офис:

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

[general]
disallow=all
allow=g729
allow=gsm
allow=alaw
allow=ulaw
bindaddr=0.0.0.0
calltokenoptional = 0.0.0.0/0.0.0.0
delayreject=yes

jitterbuffer=yes

register => server:passwords@192.168.2.14

[guest]
type=user
host=dynamic

; for incoming
[client]
type=friend
qualify=yes
auth=md5
trunk=yes
username=client
secret=passwordc
host=dynamic
context=incoming_client

/etc/asterisk/iax.conf клиент:

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

[general]
disallow=all
allow=g729
allow=gsm
allow=alaw
allow=ulaw
bindaddr=0.0.0.0
calltokenoptional = 0.0.0.0/0.0.0.0
delayreject=yes

jitterbuffer=yes

register => client:password@192.168.1.14

[guest]
type=user
host=dynamic

; for incoming
[server]
type=friend
qualify=yes
auth=md5
trunk=yes
username=server
secret=passwords
host=dynamic
context=incoming_server
Регистрации на сервере не происходит:

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

iax2 show registry
Host                                           dnsmgr  Username    Perceived                                      Refresh  State
192.168.2.14:4569                            N       client      192.168.2.14:4569                                 60  Request Sent
1 IAX2 registrations.
Вот что происходит при включенной отладке iax2 на сервере:

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

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: REGREQ 
   Timestamp: 00004ms  SCall: 04162  DCall: 00000 10.0.0.17:4569
   USERNAME        : client
   REFRESH         : 60

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: CTOKEN 
   Timestamp: 00004ms  SCall: 00001  DCall: 04162 10.0.0.17:4569
   CALLTOKEN       : 51 bytes
[code]

[b]tcpdump с туннеля на сервере по порту 4569:[/b]
[code]tcpdump -n -i tun0 port 4569
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
16:24:51.762027 IP 10.0.0.1.iax > 192.168.2.14.iax: UDP, length 26
16:24:51.766307 IP 10.0.0.17.iax > 10.0.0.1.iax: UDP, length 65
16:25:04.378250 IP 10.0.0.17.iax > 192.168.1.14.iax: UDP, length 27
16:25:04.378492 IP 10.0.0.1.iax > 10.0.0.17.iax: UDP, length 65
16:25:06.377375 IP 10.0.0.17.iax > 192.168.1.14.iax: UDP, length 27
16:25:06.377610 IP 10.0.0.1.iax > 10.0.0.17.iax: UDP, length 65
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
То есть обмен пакетами между серверами идет.
Подскажите, пожалуйста, что за пакет класса CTOKEN? И куда копать дальше в плане настройки iax?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: iax2 между серверами через OpenVPN

Сообщение ded »

; for incoming
[client]
type=friend
qualify=yes
auth=md5
trunk=yes
username=client
secret=passwordc

и

register => client:password@192.168.1.14 на другом конце.
Всего одна буковка! А сколько непонимания!
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Проверил пароли, исправил одну букву. iax2 канал также не поднялся. Вот на клиенте у нас такая картина:

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

iax2 show registry
Host                                           dnsmgr  Username    Perceived                                      Refresh  State
192.168.1.14:4569                              N       client     192.168.1.14:4569                                   60  Timeout
1 IAX2 registrations.
Судя по состоянию Timeout, сервер не отвечает на запрос клиента? При этом на сервере tcpdump -n -i tun0 port 4569 нам показывает, что обмена пакетами идет.
Кстати, стадии меняются с Request Sent на Timeout циклично.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: iax2 между серверами через OpenVPN

Сообщение Vlad1983 »

... только в обмене говорится что порт не доступен
ЛС: @rostel
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Я пока сделал следующее.
В обоих конфигах жестко прописал host=192.168.1.14 в клиенте и в сервере соответственно в описании клиента host=192.168.2.14. После этого пошел обмен пакетами PONG \ POKE (я не нагуглил, что это за пакеты такие сходу).
Вот что на сервере:

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

iax2 show peers
Name/Username    Host                                           Mask                                      Port           Status      Description                     
client/client  192.168.2.14                           (S)  255.255.255.255                           4569  (T)      UNREACHABLE        
Теперь, похоже хотя бы по адресу он знает о клиенте.

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

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: POKE   
   Timestamp: 00013ms  SCall: 02129  DCall: 00000 10.0.0.17:4569

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: PONG   
   Timestamp: 00013ms  SCall: 00001  DCall: 02129 10.0.0.17:4569
Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: POKE   
   Timestamp: 00013ms  SCall: 02129  DCall: 00000 10.0.0.17:4569

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: PONG   
   Timestamp: 00013ms  SCall: 00001  DCall: 02129 10.0.0.17:4569
И на клиенте у меня статус регистрации пока не поменялся:

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

 iax2 show registry
Host                                           dnsmgr  Username    Perceived                                      Refresh  State
192.168.1.14:4569                              N       client     192.168.1.14:4569                                   60  Request Sent
1 IAX2 registrations.
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Да, вы правы. Вот с клиента проверил порт:

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

# nmap -p 4569 10.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-25 10:39 MSK
Nmap scan report for 10.0.0.1
Host is up (0.0077s latency).
PORT     STATE  SERVICE
4569/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
# nmap -p 4569 192.168.1.14

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-25 10:40 MSK
Nmap scan report for 192.168.1.14
Host is up (0.0077s latency).
PORT     STATE  SERVICE
4569/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds
Вот сканирование с сервера:

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

 nmap -p 4569 192.168.2.14

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-25 10:42 MSK
Nmap scan report for 192.168.2.14
Host is up (0.0056s latency).
PORT     STATE  SERVICE
4569/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
# nmap -p 4569 10.0.0.17

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-25 10:42 MSK
Nmap scan report for 10.0.0.17
Host is up (0.0054s latency).
PORT     STATE  SERVICE
4569/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

На клиенте iptables выключен, если бы он был причиной - то при выключенном бы порт был открыт. Почему может быть закрыт порт, может где-то еще в конфигах надо прописать? Например, bindport в iax2.conf?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: iax2 между серверами через OpenVPN

Сообщение awsswa »

может вам платную поддержку оказать ? беру не дорого
а то вы тут еще неделю будете биться

PS в скайп
платный суппорт по мере возможностей
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

В общем погуглил хорошенько, выяснил, что через openvpn iax2 работает слегка кривовато не только у меня одного. Соединил сервера через SIP внутри OpenVPN без особых плясок с бубном, регистрация поднялась. Осталось разобраться с адресами, звонок проходит, но rtp ходит слегка не так, как надо, ну это дело поправимое, разберемся.
awsswa, тут форум или рекламная площадка? Всего-то в нужном направлении пнуть просил...
vlego
Сообщения: 153
Зарегистрирован: 11 окт 2010, 13:54
Откуда: Moscow

Re: iax2 между серверами через OpenVPN

Сообщение vlego »

iax.conf

We strongly recommend that administrators leave the IAX2 security enhancements in place where possible. However, to bypass the security enhancements completely and have Asterisk work exactly as it did before, the following options can be specified in the [general] section of iax.conf:

[general]



calltokenoptional = 0.0.0.0/0.0.0.0

maxcallnumbers = 16382

Вопрос ...
Интересно, у Вас софтфон по iax, регистрируется нормально к * ? Очень подозрительно, что с транком ничего не вышло... Ну это так. На всякий случай. Много раз делал и так и так (SIP), проблем не было, да и FreePBX вполне хватало для этой задачи.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: iax2 между серверами через OpenVPN

Сообщение ded »

tem2016 писал(а):В общем погуглил хорошенько, выяснил, что через openvpn iax2 работает слегка кривовато не только у меня одного.
Оpenvpn + iax2 работает слегка кривовато только у тех, у кого слегка кривоватые руки. Наши системы централизовано построены на openvpn + iax2 и работают уже так лет 8.
awsswa писал(а):может вам платную поддержку оказать ? беру не дорого
а то вы тут еще неделю будете биться
Различайте здоровый сарказм и дружескую иронию.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH