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

Не регистрируется второй SIP транк

0

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

localhost*CLI> sip show registry
Host                                    dnsmgr Username       Refresh State                Reg.Time
195.128.ХХХ.ХХХ:5060                     N      44ХХХХХХ          120 Unregistered
1 SIP registrations.

1. Настройки с первого транка (Интертелеком):

username=44XXXXXX type=friend
secret=XXXXXXXX rtpkeepalive=10
registerattempts=0 qualify=yes
insecure=port,invite
host=195.128.XXX.XX
fromuser=44XXXXXXX
fromdomain=89.19.XXX.XXX
dtmfmode=inband diallow=all
context=from-trunk canreinvite=no
nat=yes

Register String: 44XXXXX:PASS:44XXXXX@195.128.182.62/44XXXXX

2. Настройки с второго транка (регистрация без пароля только по IP и номеру):

username=38044XXXXXXX
type=friend
secret=
rtpkeepalive=10
registerattempts=0
qualify=yes
insecure=port,invite
host=89.19.XXX.XXX
fromuser=38044XXXXXXX
fromdomain=89.19.XXX.XXX
dtmfmode=inband
diallow=all
context=from-trunk
canreinvite=no
nat=yes

Register String: 38044XXXXXXX/89.19.XXX.XXX
удалить закрыть спам изменить тег редактировать

спросил 2014-07-18 15:52:31 +0400

Mulatik Gravatar Mulatik
1 1 2

обновил 2014-07-20 17:46:22 +0400

Comments

когда без регистрации - эту строку писать не надо - Register String: 38044XXXXXXX/89.19.XXX.XXX

awsswa ( 2014-07-18 16:06:25 +0400 )редактировать

Спасибо! вопрос решен.

Mulatik ( 2014-07-18 16:45:51 +0400 )редактировать

Никак не получается подружить два транка, возник другой вопрос. Не слышно абонента при исходящих через первый транк. Как только выключаю второй транк звук ходит в две стороны.

Mulatik ( 2014-07-18 20:15:57 +0400 )редактировать

Роутером служит FreeBSD. На сколько я понял, во FreeBSD SIPALG не используется.

В свою очередь проброшены порты:

redirect_port udp 192.168.0.106:4569 4569

redirect_port udp 192.168.0.106:5060 5060

redirect_port udp 192.168.0.106:2727 2727

redirect_port udp 192.168.0.106:9999-20001 9999-20001

И соответственно настроен IPFW

00400 divert 8668 udp from 192.168.0.106 to any dst-port 2727,4569,5060,9999-20001 out xmit rl0

00500 divert 8668 udp from 192.168.0.106 2727,4569,5060,9999-20001 to any out xmit rl0

00600 allow udp from any to 192.168.0.106 dst-port 2727,4569,5060,9999-20001

00700 allow udp from any to 192.168.0.106 src-port 2727,4569,5060,9999-20001

00800 allow udp from 192.168.0.106 to any dst-port 2727,4569,5060,9999-20001

00900 allow udp from 192.168.0.106 2727,4569,5060,9999-20001 to any

Mulatik ( 2014-07-20 18:04:36 +0400 )редактировать

хз. *BSD не поддерживаю. сходите на форум freebsd и уточните как работают ваши правила

meral ( 2014-07-20 21:37:26 +0400 )редактировать

а обратное правило диверта где ?

от 192.168.0.106 вижу, а обратное правило, чтобы пакеты из Инета попали к 192.168.0.106.

http://bit.ly/1rv2Uw8

virus_net ( 2014-07-21 08:33:21 +0400 )редактировать

обратный диверт тоже есть. это я не все правила захватил при вставке

00200 16 6523 divert 8668 udp from any to 89.XXX.XXX.XXX dst-port 2727,4560,5060,9999-20001 in recv rl0

00300 13 684 divert 8668 udp from any to 89.XXX.XXX.XXX src-port 2727,4569,5060,9999-20001 in recv rl0

00400 14 7512 divert 8668 udp from 192.168.0.106 to any dst-port 2727,4569,5060,9999-20001 out xmit rl0

00500 865 172676 divert 8668 udp from 192.168.0.106 2727,4569,5060,9999-20001 to any out xmit rl0

00600 28 12246 allow udp from any to 192.168.0.106 dst-port 2727,4569,5060,9999-20001

00700 0 0 allow udp from any to 192.168.0.106 src-port 2727,4569,5060,9999-20001

00800 14 7512 allow udp from 192.168.0.106 to any dst-port 2727,4569,5060,9999-20001

00900 865 172676 allow udp from 192.168.0.106 2727,4569,5060,9999-20001 to any

Mulatik ( 2014-07-21 12:24:15 +0400 )редактировать

вот теперь похоже на правду

включайте tcpdump и смотрите что происходит с SIP пакетами, в частности какие порты выбираются для передачи RTP и что происходит с RTP потоком, когда поднимают трубку

http://forum.asterisk.ru/download/file.php?id=136&mode=view

virus_net ( 2014-07-22 08:48:52 +0400 )редактировать

после перезагрузки конфига удается сделать один звонок, голос проходит в две стороны

tcpdump

192.168.0.106.12848 > 195.128.182.62.64054: UDP, length 172

195.128.182.62.64054 > 192.168.0.106.12848: UDP, length 172

Все последующие звонки без голоса абонента,

tcpdump

192.168.0.106.17986 > 195.128.182.62.64612: UDP, length 172

192.168.0.106.17986 > 195.128.182.62.64612: UDP, length 172

При этом RTP пакеты ходят в две стороны

Got RTP packet from 192.168.0.110:62271 (type 08, seq 036349, ts 076130, len 000160)

Sent RTP packet to 195.128.182.62:57316 (type 08, seq 006160, ts 076128, len 000160)

Got RTP packet from 192.168.0.110:62271 (type 08, seq 036350, ts 076290, len 000160)

Sent RTP packet to 195.128.182.62:57316 (type 08, seq 006161, ts 076288, len 000160)

Got RTP packet from 192.168.0.110:62271 (type 08, seq 036351, ts 076450, len 000160)

Sent RTP packet to 195.128.182.62:57316 (type 08, seq 006162, ts 076448, len 000160)

Mulatik ( 2014-07-22 15:59:17 +0400 )редактировать

ну у вас реально есть нексолько вариантов 1) разобратся самому используя tcpdump на внешнем и внутреннем интерфейсе и крепкое словце в неограниченных количествах, а также man`ы по freebsd 2) поставить linux. 3) нанять когото кто потратит свое время. угадать что не так в рамках ответов врятли получится.

meral ( 2014-07-22 16:15:10 +0400 )редактировать

за варианты конечно спасибо))

1) как бы этим и занимаюсь, правда запас "крепких слов" заканчивается ))

2) не думаю что вопрос в роутере - второй транк работает + звонки с первого транка проходят только голос иногда теряется. Грешу на настройку FreePBX

В любом случае всем спасибо за помощь!

Mulatik ( 2014-07-22 16:41:00 +0400 )редактировать

Mulatik, грешить не надо, надо взять и посмотреть что не так.

tcpdump покажет все и из него будет видно почему не работает, только пользовать его надо с ключами:

tcpdump -s0 -vni IFACE_NAME port 5060

посмотреть как проходят INVITE пакеты при вызове и какие порты выбираются для RTP. а далее разбираться по цепочке asterisk -> вн.ифейс роутера -> вн. ифейс роутера и задаваться вопросами:

пакеты уходят с ифейса ? приходят на ифейс ? что с NAT`ом (можно дебаг запустить, man natd) ? порты совпадают с выбранными при INVITE ? проходят firewall ?

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

  • выше уже есть линк на схему "разбора полетов", попробуйте последовать ей
virus_net ( 2014-07-23 08:29:27 +0400 )редактировать

Дмитрий, спасибо. Вопрос решен. В моем случае, потребовалось дополнительно открыть UDP порты в диапазоне 50000-65535 и голос пошел. Странно, но информации по работе астериска в диапазоне портов 50-65k почти нет.

Mulatik ( 2014-07-28 14:17:38 +0400 )редактировать

... потомучто он там и не работает. астриск использует порт 5060 и порты 10000-20000(или те что написаны в rtp.conf).

meral ( 2014-07-28 16:10:56 +0400 )редактировать

Mulatik, пожалуйста.

Траблшут великая вещь ;)

P.S. +1 к meral, так же обмен пакетами это двусторонняя связь и оборудование на другой стороне тоже участвует и ессно что важны и его настройки.

virus_net ( 2014-07-29 08:09:07 +0400 )редактировать

2 Ответа

0

на роутере sipalg выключить.

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

ответил 2014-07-19 00:06:09 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/
-1

Поскольку

nat=yes

То нужно проверить, прописан ли externip и localnet в [general] в sip.conf.

Также скольку уже можно твердить, что canreinvite - устарел. Пользуйтесь:

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

ответил 2014-07-21 17:33:46 +0400

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

Comments

еще если транк без регистрации, накой там fromuser и fromdomain? как и поле secret, пусть и пустое? Читать книжки умные - до просветления...

Zavr2008 ( 2014-07-21 17:35:51 +0400 )редактировать

это смотря какая версия * у ТС, в 1.4 canreinvite,а:

> canreinvite= was renamed to directmedia= in Asterisk 1.6.2 to more accurately describe what this setting does.

Посему в 1.8 например конечно стоит пользовать:

directmedia=no
directmediadeny=0.0.0.0/0
directrtpsetup=no
virus_net ( 2014-07-22 08:52:27 +0400 )редактировать

virus_net, Вы - моралист. Читайте выше у ТС в вопросе: " Настраивал через FreePBX." О каком 1.4 астере тут речь? )

Zavr2008 ( 2014-07-22 10:35:59 +0400 )редактировать

я добавляю оба вариант и не парюсь версией *

meral ( 2014-07-22 16:16:35 +0400 )редактировать

-1 поставил Out, походу у нас опять кармические войны)

Zavr2008 ( 2014-07-22 22:35:06 +0400 )редактировать

Zavr2008, сам я FreePBX никогда не пользовал (предпочитаю инструкции, консоль, и собственный web-ифейс, такой уж я) посему я никогда не интересовался когда этот самый FreePBX появился и на какой версии астера был. Я лишь заметил, то что описано в доке. + к этому: есть люди, которые могут попасть в сей тред при поиске схожего с темой треда в гугле и совсем не обязательно что они так же как и ТС будут иметь FreePBX.

Вы считаете что то что я написал это плохо ? Совсем лишнее ?

virus_net ( 2014-07-23 08:27:19 +0400 )редактировать

virus_net: я тоже не поклонник FreePBX. Просто новички сейчас врятли ставят 1.4, это уже раритет. Гораздо лучше, если они наконец научатца прописывать localnet и externip в своих конфигах. Почитай половина проблем - от этого. Ну а вторая от этого directmedia) Лично я прописываю всё "про запас".

Zavr2008 ( 2014-07-23 14:13:31 +0400 )редактировать

Zavr2008, уж лучше бы они научились читать мануалы.

Можно конечно прописывать и все, но ИМХО бессмысленно, т.к. ведь четко написано какая опция в какой версии работает.

virus_net ( 2014-07-24 07:46:21 +0400 )редактировать

прописывать надо все. ато будет принято волевое решение поменять версию * и опять те же грабли.

meral ( 2014-07-24 10:26:06 +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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2014-07-18 15:52:31 +0400

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

Обновлен: Jul 23 '14

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