LINUX.ORG.RU
ФорумAdmin

Asterisk и виндовый контроллер домена. Зачем он ему?

 , ,


0

1

Здравствуйте.

С незапамятных времен в организации трудится Asterisk 11.7 в составе эластикса.

И вот что за ним замечено. Если вдруг отключить сеть или просто погасить контроллер домена (один, конкретный, из двух имеющихся), то телефоны тут же перестают звонить, в логах астериска попытки звонков вовсе никак не отображаются. Пиры выпадают в unreachable. При этом с астериска отлично пингуются.

Судя по всему, контроллер домена на кой-то нужен именно телефонам. На нем развернута dns, думал, может как-то связано с ним, но пробовал коннектить ТА к астериску не по хосту, а по ip - нифига не меняется. Так же днс есть и на втором контроллере домена, так что при отключении первого телефонам было бы логично воспользоваться вторым. Телефонов много, в разных подсетях, некоторые с астериском в одной подсети. Отлетают все. Линфон на компьютере так же теряет связь, несмотря на то, что комп нормально пингует астериск.

Зачем он им требуется - загадка. Может, подскажете, в какую сторону копать.


Если вдруг отключить сеть или просто погасить контроллер домена (один, конкретный, из двух имеющихся), то телефоны тут же перестают звонить, в логах астериска попытки звонков вовсе никак не отображаются. Пиры выпадают в unreachable. При этом с астериска отлично пингуются.

В asterisk настроены транки по dns именам, а dns-сервером является домен-контроллер?

Давольно частый баг с chan_sip, самый надежный вариант - менять имена на ip или в hosts прописывать.

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

Да, так и есть. Транки по именам, dc это dns сервер.

Но есть еще один dc и он тоже с dns. При недоступности первого чего он второй то не использует? Более того, я вчера в resolv.conf попробовал 8.8.8.8 провписать. Нифига не изменилось.

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

stabst
() автор топика
Ответ на: комментарий от stabst

При недоступности первого чего он второй то не использует?

Если в resolve прописано, то вообще должен, но у меня на практике был один dns прописан когда такой баг ловил, может он и не пробует резолвить по второму (можно на tcpdump посмотреть если очень интересно).

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

Это баг chan_sip, лучшим решением переход на pjsip, в нем такого не встречал, но на asterisk 11.7 оно если и есть то очень сырое...

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

Непобедимо желание сервера астериска все таки получать ресолв с днс сервера:) И больше всего его login.mtt.ru интересует. Хотя и не только.

Добавил в hosts

80.75.130.83 login.mtt.ru

Пофигу, tcpdump показывает, что мы все равно лезем на DC за тем ,чтоб уточнить а что же это такое. Сначала в домене поиска «domainname.lan», а потом и без него.

13:05:58.763004 IP asterisk.domainname.lan.33685 > dc.domainname.lan.domain: 30666+ SRV? _sip._tcp.login.mtt.ru.domainname.lan. (50)

13:05:58.764344 IP asterisk.domainname.lan.33606 > dc.domainname.lan.domain: 65114+ SRV? _sip._tcp.login.mtt.ru. (40)

13:05:58.764794 IP asterisk.domainname.lan.34823 > dc.domainname.lan.domain: 22213+ SRV? _sip._tcp.login.mtt.ru.domainname.lan. (50)

13:05:58.765937 IP asterisk.domainname.lan.46405 > dc.domainname.lan.domain: 18044+ SRV? _sip._tcp.login.mtt.ru. (40)

13:05:58.766277 IP asterisk.domainname.lan.55097 > dc.domainname.lan.domain: 33315+ SRV? _sip.tcp.login.mtt.ru.domainname.lan. (50)

При этом hosts он не игнорирует, если туда добавить

192.168.0.1 test.local

То в днс он не лезет и нормально его пингует по test.local.

stabst
() автор топика
Ответ на: комментарий от stabst

/etc/resolv.conf допишите

options attempts:1
options timeout:1


Если адрес пира не в SRV отдается, то еще это добавьте:
/etc/asterisk/sip.conf ([general])
srvlookup=no

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от Kolins

Да, помогло отключение «srvlookup=no». Спасибо!

stabst
() автор топика
Ответ на: комментарий от Kolins

Chan_sip.so - имеет проблемы.

  • реализация протокола sip своеобразная - например, нельзя подключится под одним логином с разных устройств, рабочий и мобильный.
  • однопоточная реализация - если написать простую программу, которая отправляет запросы на порт сервера, то сервер легко убить.
Nurmukh ★★★
()
Ответ на: комментарий от Nurmukh

Да я в курсе, сам на это нарывался и решал переходом на pjsip, но у ТС не голый астер, а в составе Elastix который может быть скриптами завязан на chan_sip и обновление+перевод на pjsip ему всю «коробку» поломает.

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

у меня когда-то был elastic. я решил проблему установив дополнительно opensips + mediagate.

Позволяет скрыть сам астериск и его кучу портов за opensips.

Возможно, моя ссылка будет также полезна.

Nurmukh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.