Здравствуйте, я только что установил новую конфигурацию звездочки с помощью freepbx и подписал учетную запись SIP.
Я настроил SIP-транк с данными моего провайдера, запустил консоль с звездочка -vvvr команда для отладки, тогда я заметил, что журналы заполнены такими записями:
== Using SIP RTP CoS mark 5
-- Executing [00088884600972595117946@from-sip-external:1] NoOp("SIP/XXX.XXX.58.107-00000355", "Received incoming SIP connection from unknown peer to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:2] Set("SIP/XXX.XXX.58.107-00000355", "DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-sip-external:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,1") in new stack
-- Goto (from-sip-external,s,1)
-- Executing [s@from-sip-external:1] GotoIf("SIP/XXX.XXX.58.107-00000355", "1?checklang:noanonymous") in new stack
-- Goto (from-sip-external,s,2)
-- Executing [s@from-sip-external:2] GotoIf("SIP/XXX.XXX.58.107-00000355", "0?setlanguage:from-trunk,00088884600972595117946,1") in new stack
-- Goto (from-trunk,00088884600972595117946,1)
-- Executing [00088884600972595117946@from-trunk:1] Set("SIP/XXX.XXX.58.107-00000355", "__FROM_DID=00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:2] NoOp("SIP/XXX.XXX.58.107-00000355", "Received an unknown call with DID set to 00088884600972595117946") in new stack
-- Executing [00088884600972595117946@from-trunk:3] Goto("SIP/XXX.XXX.58.107-00000355", "s,a2") in new stack
-- Goto (from-trunk,s,2)
-- Executing [s@from-trunk:2] Answer("SIP/XXX.XXX.58.107-00000355", "") in new stack
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/9.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-0000034f> Playing 'digits/6.ulaw' (language 'en')
-- Executing [s@from-trunk:5] SayAlpha("SIP/XXX.XXX.58.107-00000353", "00088884400972595117946") in new stack
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- Executing [s@from-trunk:3] Wait("SIP/XXX.XXX.58.107-00000355", "2") in new stack
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/8.ulaw' (language 'en')
-- Executing [s@from-trunk:6] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (from-trunk, s, 6) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- Executing [h@from-trunk:1] Macro("SIP/XXX.XXX.58.107-0000034f", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/XXX.XXX.58.107-0000034f", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/XXX.XXX.58.107-0000034f", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/XXX.XXX.58.107-0000034f", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f' in macro 'hangupcall'
== Spawn extension (from-trunk, h, 1) exited non-zero on 'SIP/XXX.XXX.58.107-0000034f'
-- <SIP/XXX.XXX.58.107-00000351> Playing 'digits/7.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000350> Playing 'digits/1.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000353> Playing 'digits/0.ulaw' (language 'en')
-- <SIP/XXX.XXX.58.107-00000352> Playing 'digits/4.ulaw' (language 'en')
Я просто не могу отладить свой транк из-за надоедливых подключений от неизвестных узлов, что это за вызовы, как я могу отследить их происхождение, может ли это быть неисправный инструмент тестирования от моего провайдера?
Даже если GUEST выключен, ваш сервер Asterisk все равно подвергнется атакам SIP-взлома. Вам следует установить что-то еще для отслеживания атак и управления ими. Посмотри на Безопасность Asterisk для предложений и даже основ того, как защитить свой сервер Asterisk. (Гость не достаточно)
Думаю, все зависит от обстоятельств - я полагаю, вы используете Asterisk на каком-то Linux? Я делал это несколько раз, и тут и там это может быть немного сложно. Но - когда дело доходит до отладки, есть ряд инструментов, которые могут помочь.
Неизвестные клиенты могут быть заблокированы, например, с помощью IPTables. Если вы знаете, откуда должны поступать ваши вызовы, вы можете настроить правила брандмауэра, чтобы блокировать все, кроме этого. Именно это я и сделал - убедился, что разговаривать могут только мои собственные клиенты плюс любые вышестоящие системы PBX.
Чтобы выяснить, кто на самом деле неизвестные клиенты, вы можете использовать такие инструменты, как Wireshark фильтровать соединения по типу и т.п. Обычно это дает четкое представление о том, что происходит.
Это просто указатели. Возможно, вы захотите немного подробнее рассказать о своей настройке - тогда я могу быть более конкретным.
Ну, я узнал, что разрешаю SIP-гостей. Похоже, многие боты ищут незащищенные серверы для рассылки спама или ретрансляции.
Поэтому я просто отключил эту опцию, и теперь мои журналы вернулись в нормальное состояние.
По памяти это можно отключить на серверах Trixbox через PBX> Config File Editor> sip_general_additional.conf
Добавьте в нижнюю строку:
allowguest=no
нажмите обновить.
затем перейдите в систему> обслуживание системы> сбросить сейчас.
Все сделано.