Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Asterisk за NAT, клиент (провайдер) на белом IP. Грабли

1

Добрый день.

Тема старая, рассмотренная со всех сторон, но я все равно нашел в ней свои "грабли". В процессе выяснения даже пришел к выводу почему так происходит, но не могу понять как это исправить. В общем суть проблемы:

Asterisk находится за NAT, провайдер на котором регится Asterisk на белом IP. Исходящая связь с Asteriska работает нормально, а вот при входящей проблема, звонок рвется через 6 секунд (после шести ретрансляций Asteriskом сообщения 200 OK/SDP). Эти 6 секунд можно вполне нормально разговаривать.

Как я уже говорил после установления соединения Asterisk 6 раз посылает сообщение 200 OK/SDP и не получив ответа рвет соединение, но вышестоящая АТС всетаки отвечает ASK на 200 OK/SDP но почему то оно никогда не доходит до Asteriska.

Собственно конфиг и трейсы в прикрепленном файле.

Ссылка на Яндекс Диске. https://yadi.sk/d/_W5FxAAQbTTK8

Файлы достаточно большие не хочу засорять форум.

Заранее благодарен за помощь. Я уже совсем в тупик зашел.

удалить закрыть спам изменить тег редактировать

спросил 2014-09-13 15:28:30 +0400

StereoRu Gravatar StereoRu
11 2 3

Comments

А у вас сколько сетевых интерфейсов?

litnimax ( 2014-09-13 15:30:44 +0400 )редактировать

на астере один.

StereoRu ( 2014-09-13 15:39:06 +0400 )редактировать

NAT твой? Можешь на нем ip_contrack посмотреть?

litnimax ( 2014-09-13 15:48:19 +0400 )редактировать

У меня в качестве НАТ используется Циска. Я тоже сначала думал, что дело в маршрутизации, но тогда бы не проходили другие пакеты... Собственно вот вырезка из конфига Циски. Вроде ошибаться негде.

https://yadi.sk/i/PZWhTYYabTUqX

StereoRu ( 2014-09-13 16:09:49 +0400 )редактировать

Сорри что логи не смотрю а вопросы задаю. На Астериске если tcpdump запустить видны пакеты прошедшие через cisco?

litnimax ( 2014-09-13 16:17:12 +0400 )редактировать

конечно, видны пакеты прошедшие из интернета через нат циски и попавшие на астериск

StereoRu ( 2014-09-13 16:21:44 +0400 )редактировать

Здесь tcpdump на астериске не поможет. Нужно смотреть на самой циске .

zzuz ( 2014-09-13 16:59:28 +0400 )редактировать

ясно, давно хотел линуксовый шлюз поставить, видно придется ускорить процесс...

StereoRu ( 2014-09-13 17:16:34 +0400 )редактировать

но вот вопрос, как тогда другие пакеты проходят??

StereoRu ( 2014-09-13 17:17:17 +0400 )редактировать

Надо внимательно смотреть на датаграмму. Понять, почему Asterisk ее не кушает. Не ждет видимо. Порты видимо не те. А дебаг максимальный на sip включал? SIP стек по идее должен выматериться на неопознанную датаграмму.

litnimax ( 2014-09-13 17:46:19 +0400 )редактировать

Можно поставить pjsip, посмотреть разницу...

litnimax ( 2014-09-13 17:46:33 +0400 )редактировать

вопрос: как включить максимальный дебаг SIP?

StereoRu ( 2014-09-13 18:12:17 +0400 )редактировать

Проверить в logger.conf что debug выводится хоть куда-то, далее

core set debug 99

core set verbose 99

sip set debug peer xxxx

Ну и разгребать :-)

litnimax ( 2014-09-13 18:19:44 +0400 )редактировать

а где к конфиге циски проброс портов для RTP ?

https://www.google.ru/search?q=asterisk+cisco+nat+configuration

virus_net ( 2014-09-14 09:02:18 +0400 )редактировать

Да причем тут RTP?

Звук отлично проходит, проброс не нужен. Эти 6 секунд что удается поговорить слышемость отличная.

StereoRu ( 2014-09-14 13:21:47 +0400 )редактировать

3 Ответа

1

Ошибка происходит из-за sip-alg который по умолчанию работает на роутере cisco. Для отключения наберите

enable 
conf t
no ip nat service sip udp port 5060
ссылка удалить спам редактировать

ответил 2014-09-21 10:32:59 +0400

vanomel Gravatar vanomel
180 3 4

обновил 2014-09-21 10:34:43 +0400

Comments

Вот , кто-то наконец-то показал наглядно , что SIP циской прекрасно контролится.

zzuz ( 2014-09-21 13:18:34 +0400 )редактировать
0

Типичная проблема..

звонок рвется через 6 секунд (после шести ретрансляций Asteriskом сообщения 200 OK/SDP).

Нужно:

  1. установить externip= и localnet= в general у sip.conf

  2. у пира поставить nat=yes и directmedia=no

ссылка удалить спам редактировать

ответил 2014-09-14 17:35:50 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/

обновил 2014-09-14 17:36:13 +0400

Comments

ну как, помогло?

Zavr2008 ( 2014-09-15 11:39:45 +0400 )редактировать

Всем привет!

Коллеги прошу прощения, задержался я с результатами моих "деяний"... Всего на пол года, но лучше поздно чем никогда :-)

Вобщем решение проблемы выглядело банально, в качестве вышестоящей АТС использовался Eltex SMG 1016M. На нем то и была проблема, в tcpdump SMG был видел этот злополучный ASK на 200 OK/SDP от астера, но с интерфейса он не улетал!!! Производители отказывались в это верить, но после недели споров всетаки решили подебажить свою прошивку и нашелся баг.

В итоге перепрошивка вышестоящей АТС решила все вопросы, а я стал ярым противником SIP за NAT :-)

StereoRu ( 2015-02-26 15:38:47 +0400 )редактировать

SIP за NAT думаю тут совсем непричем - просто есть Элтекс)))

Zavr2008 ( 2015-02-27 19:31:19 +0400 )редактировать

хотя в последнее время вроде (тьфу-тьфу) поисправились, а то у нас есть SIP-транк от одного из местных провов, там тоже они на дешивизну "софтсвич-всё-в-одном" клюнули и у всех регистрации дохли раз в неделю..

Zavr2008 ( 2015-02-27 19:33:25 +0400 )редактировать
0

Возможно поможет команда traffic-export на киске.

И вот здесь еще почитай

http://www.asterisk-pbx.ru/wiki/doku.php/artikle/nat

ссылка удалить спам редактировать

ответил 2014-09-13 18:36:08 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1388 25 20 38

обновил 2014-09-15 11:24:13 +0400

Comments

циска мега старая, 871 модель, такой команды нет:(((

Только если зеркалить

StereoRu ( 2014-09-13 18:54:07 +0400 )редактировать

в астере - rtp set debug on - посмотрите куда астер шлет rtp пакеты

awsswa ( 2014-09-13 20:56:30 +0400 )редактировать

Да причем тут RTP?

Звук отлично проходит, проброс не нужен. Эти 6 секунд что удается поговорить слышемость отличная.

А шлет он их по нужному адресу

Got RTP packet from YYYY.YYY.YYY.130:28238 (type 00, seq 032765, ts 2075968927, len 000160)

Sent RTP packet to YYY.YYY.YYY.130:28238 (type 00, seq 042600, ts 046080, len 000160)

StereoRu ( 2014-09-14 13:23:26 +0400 )редактировать

коллеги, есть идея.

Думается мне что дело в вышестоящей АТС, но для проверки надо зарегистрироваться и прозвониться с другой АТС, а ее нет, также не получится softphone зарегить, т.к. для чистоты эксперимента нужен белый IP а его нет.

Может ктонибудь сможет мне помочь дав позвонить через свою атс которая на белом IP стоит???

пишите в почту demin.ds@mail.ru

StereoRu ( 2014-09-14 13:43:19 +0400 )редактировать

Подключитесь к любому публичному провайдеру на общих основаниях и пробуйте (например, к Comtube.ru)

yks ( 2014-09-15 09:31:53 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-09-13 15:28:30 +0400

Просмотрен: 1,588 раз

Обновлен: Sep 21 '14

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.