Форумы  ·  Войти  · 

Тема: voipdp-server теряет регистрацию

26.12.23 10:05   pgrachev  (25/23.11.20)  

доброго дня.
после нескольких дней работы сервер теряет регистрацию на астериске.
в логах сервера ничего подозрительного

root@domofon:~# tail -f /usr/local/voipdp-server/log/voipdp-server.log
[26.12.23 09:33:24.150] [IPDP]: -> UDP 0.0.0.0:5757 recive datagram from 10.0.0.250:5757
0101013c171200000000000000060301000000000030ffd605464b39325834084300000000000000000002
[26.12.23 09:33:24.151] [IPDP]: Device ‘0’ confirmed register
[26.12.23 09:33:24.153] [IPDP]: <- UDP 0.0.0.0:5757 send datagram to 10.0.0.250:5757
0102013c1712000000000000000051c3
[26.12.23 09:33:29.045] [IPDP]: -> UDP 0.0.0.0:5757 recive datagram from 10.0.0.249:5757
01010161050d00010000000000060301000000000030ffd705464b39325830084300000000000000000002
[26.12.23 09:33:29.045] [IPDP]: Device ‘1’ confirmed register
[26.12.23 09:33:29.047] [IPDP]: <- UDP 0.0.0.0:5757 send datagram to 10.0.0.249:5757
01020161050d000100000000000050c3

служба запущена, в веб пускает.
если нажать там в настройках sip - сохранить ничего не меняя - начнутся попытки регистрации и вот такое зацикливается

[26.12.23 09:35:06.711] [CORE]: Restarting SIP and IPDP moduls ...
[26.12.23 09:35:06.711] [IPDP]: Stopped
[26.12.23 09:35:06.711] [IPDP]: Deinitialization
[26.12.23 09:35:06.712] [IPDP]: Device ‘0’ change state ()
[26.12.23 09:35:06.712] [IPDP]: Device ‘0’ unregister
[26.12.23 09:35:06.713] [IPDP]: Device ‘1’ change state ()
[26.12.23 09:35:06.713] [IPDP]: Device ‘1’ unregister
[26.12.23 09:35:06.716] [SIP]: Deinitialization
[26.12.23 09:35:08.217] [SIP]: Stopped
[26.12.23 09:35:08.219] [SIP]: Initialization
[26.12.23 09:35:08.222] [IPDP]: Initialization
[26.12.23 09:35:08.224] [IPDP]: Starting ...
[26.12.23 09:35:08.224] [IPDP]: Listen on UDP socket 0.0.0.0:5757
[26.12.23 09:35:08.224] [IPDP]: Started
[26.12.23 09:35:08.224] [SIP]: Starting VoIP-DP gateway ...
[26.12.23 09:35:08.224] [STUN]: STUN server is disabled
[26.12.23 09:35:08.245] [SIP]: Binding to 0.0.0.0:5060 on UDP
[26.12.23 09:35:08.245] [SIP]: Wait for connected to host aster.loc(10.0.0.118):5060 on UDP
[26.12.23 09:35:08.245] [SIP]: Connected to host aster.loc(10.0.0.118):5060 on UDP 10.0.0.155:5060
[26.12.23 09:35:08.245] [SIP]: Started
[26.12.23 09:35:08.679] [SIP]: User ‘6040’ register
[26.12.23 09:35:08.680] [SIP]: User ‘6041’ register
[26.12.23 09:35:08.681] [SIP]: User ‘6041’ comfirmed register
[26.12.23 09:35:08.682] [SIP]: User ‘6041’ comfirmed register
[26.12.23 09:35:08.683] [SIP]: User ‘6040’ comfirmed register
[26.12.23 09:35:08.684] [SIP]: User ‘6040’ comfirmed register
[26.12.23 09:35:08.686] [SIP]: User ‘6040’ comfirmed register
[26.12.23 09:35:08.687] [SIP]: User ‘6041’ comfirmed register
[26.12.23 09:35:08.688] [SIP]: User ‘6041’ comfirmed register
[26.12.23 09:35:08.689] [SIP]: User ‘6041’ comfirmed register
[26.12.23 09:35:08.690] [SIP]: User ‘6041’ comfirmed register

в астериске при этом циклится это

[Dec 26 09:35:08] ERROR[228]: sip/reqresp_parser.c:2424 parse_via: missing sent-by in Via header
[Dec 26 09:35:08] ERROR[228]: netsock2.c:303 ast_sockaddr_resolve: getaddrinfo(”“, “(null)”, ...): Name or service not known
[Dec 26 09:35:08] WARNING[228]: chan_sip.c:19227 check_via: Could not resolve socket address for ‘’
[Dec 26 09:35:08] ERROR[228]: netsock2.c:303 ast_sockaddr_resolve: getaddrinfo(”“, “(null)”, ...): Name or service not known
[Dec 26 09:35:08] WARNING[228]: chan_sip.c:19227 check_via: Could not resolve socket address for ‘’
[Dec 26 09:35:08] ERROR[228]: sip/reqresp_parser.c:2424 parse_via: missing sent-by in Via header
[Dec 26 09:35:08] ERROR[228]: chan_sip.c:9131 process_via: error processing via header
[Dec 26 09:35:08] WARNING[228]: chan_sip.c:12364 respprep: error processing via header, will send response to originating address

в итоге помогает перезапуск демона voipdp-server
root@domofon:~# dpkg -l | grep voip
ii voipdp-server             3.5.25-26               amd64     Komendant VoIP-DP Server
Debian GNU/Linux 12 (bookworm)
root@domofon:~# uname -r
6.2.16-15-pve
оба сервиса в одной подсети, свободное место на диске есть

ps видимо опечатка в выводе comfirmed

[ #1 ]  26.12.23 12:32   Oleg [Editor]  KOMENDANT LAB  

Астериску что-то не нравится в заголовке VIA. Чтобы понять что конкретно надо сдампить sip и раскапывать. Возможно придется сопоставлять с логами окружения, что происходит в тот момент когда Астер дает отбой voipdp-server.  Это может быть все что угодно. Возможно служба по какой-то причине теряет сетевой интерфейс.  Если перебрать настройки подключения NAT (кроме STUN), в каком-то из режимов есть шанс, что этого глюка не будет.  В общем возни много, потому, перезагрузка в автомате видится не таким уж и костыльным вариантом.
PS: Служба voipdp-server для Дебиана это альтернативный вариант мини sip сервера для Windows, которую писали еще под 7/8 Дебиан, под следующие релизы не правили, т.к. использование мини sip сервера в 99% случаев так и осталось на Windows. Те же, кому требуется для Линуксов используют  Астер или подобное с контроллерами серии SIP-BSC и панелями SIP-DP.

[ #2 ]  26.12.23 14:18   pgrachev  (25/23.11.20)  

nat я поменял с авто на прямое подключение.
в моем случае сервер нужен для подключение VoIP-DPM2
их как то возможно напрямую в астериск подключить?
какая рекомендуемая схема на текущий момент для этих устройств?

[ #3 ]  26.12.23 14:22   Oleg [Editor]  KOMENDANT LAB  

VoIP-DPM2 напрямую в Астериск не подключить, там свой протокол до voipdp-server

[ #4 ]  27.12.23 13:47   pgrachev  (25/23.11.20)  

какой вариант есть, чтобы панель подключалась напрямую в asterisk?
не хочется еще и мониторить состояние voipdp-server
или только вариант поднимать это на древнем дебиане?

[ #5 ]  27.12.23 14:07   Oleg [Editor]  KOMENDANT LAB  

Если исходить из трудозатрат и времени, то самое простое это мониторинг, либо вообще костылем ребут в крон и забыть.
Древний Дебиан не вариант, потому как  если на той же машине виртуально, то это многим тяжелее, не говоря уж про вынос на отдельное железо. Есть еще третий гипотетический вариант - попробовать сделать из VoIP-DPM путем перепрошивки и возможно еще каких-то манипуляций SIP-DPM, но это потребует пересылки панели нам и обратно. И еще не факт, что это выйдет т.к. многое зависит от того, что там за процессор (были разные), потому как времена изменились, процессоры теперь другие  и прошивки панелей SIP-DPM уже к новым процессорам, выдергивать старую из архивов не особо хороший вариант т.к. там наверняка будет что-то, что в последствии подправлялось.

[ #6 ]  27.12.23 14:54   pgrachev  (25/23.11.20)  

панели у нас конечно давно. VoIP-DPM2(6) v3.1 - в конфигураторе выдает.
есть вариант узнать какой там процессор удаленно?
или как то организовать замену на прошитые версии?
еще вопрос, в панелях voip-dpm2 есть встроенные считыватели EMMarine. чтобы использовать функционал скуд, что нужно добавить в эту схему?

[ #7 ]  27.12.23 15:26   Oleg [Editor]  KOMENDANT LAB  

Узнать процессор просто - на нем есть гравировка. Замена процессоров, равно как и подбор из архивов старых версий SIP-DPM подходящих под имеющиеся процессор, с дальнейшим тестированием и т.п. - это трудный путь, много времени, много работы, а главное - нет гарантий, что не вылезет какая-то  трабла и нужно будет повторять все заново. Этот вариант я привел скорее в философском плане т.к. он явно не выглядит рациональным, он в первую очередь призван показать, что относительно ситуации - ее решение в две строчки кода выглядит куда перспективнее и дешевле во всех отношениях, чем глобальное решение на аппаратном уровне. Даже запуск отдельной виртуалки, в т.ч. и с Виндой, для  voipdp-server видится куда более рациональным, чем аппаратное вмешательство.
Считыватель на панели является всего лишь ретранслятором, встроенного контроллера СКУД у панели нет.

[ #8 ]  27.12.23 15:41   pgrachev  (25/23.11.20)  

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

[ #9 ]  27.12.23 16:20   Oleg [Editor]  KOMENDANT LAB  

Если важен формфактор, то можно поставить точно такую же панель стандартного координатного домофона Визит + sip адаптер, в итоге получится полноценный IP домофон с поддержкой ключей, кодов, трубок и т.п., всего что поддерживается стандартным аналоговым домофоном и при этом добавится sip вызов. Если формфактор не важен - подойдет любая панель с поддержкой SIP.
Чтоб для существующей панели добавить СКУД, который в принципе от панели никак не зависит кроме ретрансляции считывателя пластиковых брелков еммарин (карты считываются несколько хуже из-за того что считыватель маленький), понадобится контроллер - автономный с ручным программированием через мастер ключ или полноценный IP СКУД, с программным обеспечением. Ну и + блок питания, + считываетель на выход, на тот случай, если требуется контролировать выход, + замок, если такового нет, + блок питания для замка, если будете разносить питание.

[ #10 ]  28.12.23 10:25   pgrachev  (25/23.11.20)  

из вашей продукции какой скуд софт можно запустить на линуксе?
какой контроллер будет с ним работать?
на выход у нас кнопка, контролировать не нужно. замок есть.
сейчас отдельный считыватель стоит и аналоговый контроллер, который находится в труднодоступном месте. добавлять/удалять ключи неудобно.
это все всплыло изза двух проблем - виснущий сервер и неудобство управления ключами в текущей реализации
виртуалка со старым дебианом конечно меньше съест ресурсов, чем любая винда..

[ #11 ]  28.12.23 11:51   Oleg [Editor]  KOMENDANT LAB  

Считыватель на панели рассчитан на пластиковые ключи Еммарин, по умолчанию Визитовские.
Наш СКУД:
Контроллеры: https://komendant.pro/product/page/s04/ 
Софт: https://komendant.pro/product/page/s10/
Сердце системы СУБД MySQL, для Винды прилагается, для Линукса потребуется самостоятельно поставить определенный релиз, указан в описании.
Клиенты для администрирования и отчетности само собой все изначально Виндовые под пользовательские ПК, но оптимизированы под Вайн, так что и на Линуксе можно. Это же  касается служб связи с оборудованием.

[ #12 ]  28.12.23 13:22   pgrachev  (25/23.11.20)  

верно ли я понимаю, что службы сервера как таковой нет - только mysql, остальное - это клиенты для DB?
поясните, как работают контроллеры, если клиент скуд не запущен?

я пересмотрел все ваши продукты, в голове уже каша)
что вы можете порекомендовать в нашей ситуации?
панели находятся на улице, где довольно шумно (дорога)
вызов на 3 абонентов через SIP
есть отдельные считыватели и контроллеры С2000-2
что можно поставить для вызова, чтобы можно было открывать и с ключа и по sip?

[ #13 ]  28.12.23 13:49   Oleg [Editor]  KOMENDANT LAB  

Вот структура: https://komendant.pro/files/komendant_erp_str.gif
Контроллеры автономны, если служба не запущена, то работают по загруженным графикам и базе ключей во внутреннюю память. Статистику накапливают, если таковая переполняется - стираются самые ранние записи. Как только связь появляется - контроллеры отдают статистику, загружают накопившиеся для них новые карты, графики, настройки и т.п.. Если служба в онлайне, то все происходит в режиме реального времени, статика летит сразу в БД и отображается в клиенте онлайн управления системой. 
Что вам поставить зависит от ваших предпочтений. Если нужна полноценная IP СКУД с графиками, статистикой, учетом рабочего времени и т.п. (т.е. полный фарш), то видимо стоит поставить IP контроллер и считыватели, не мешая все это с вызывной панелью. Панель пусть живет своей жизнью, открывает тот же замок, что и контроллер СКУД, эти открытия также будут фиксироваться в статистики как “открытие по кнопке/домофону”. 
Если нужна просто вызывная панель с ключами т.е. обычный домофон, с ручным программированием ключей, то можно поставить обычный Визит, а если нужен еще SIP вызов, то добавить SIP адаптер. Если нужна база ключей то глянуть Визиты с ком портом (но это на любителя).
Можно поставить просто китайский IP домофон со встроенным контроллером ключей и управлением через web интерфейс. Это хороший вариант если нет потенциального прецедента вандализма т.к. все эти панели по большому счету пластиковые.
А можно оставить все как есть, т.е. Болидовские контроллеры, которые вроде как подключаются к ПК и через них продолжать управлять базой ключей, + имеющиеся панели, а если что-то подвисает и нет желания связываться с Виндой даже в виде виртуалки, просто поставить на мониторинг или в крон на авторебут имеющуюся службу для старого Дебиана и забыть про все это на следующие несколько лет вообще без вложений и трудозатрат.   

Komendant.pro
 ©1999-2024  Инженерная лаборатория "Комендантъ"