BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton 회의는 정상적으로 로드되지만 참가자들이 오디오 연결 단계에서 멈춰 있는 경우가 발생할 수 있습니다. 관리자는 로그 또는 모니터링 도구에서 "SIP 등록 시간 초과", "FreeSWITCH가 등록되지 않았습니다" 또는 오디오 연결 오류를 확인할 수 있습니다. 이러한 메시지가 항상 동일한 문제를 가리키는 것은 아닙니다. 일반적인 BigBlueButton 배포 환경에서 오디오 연결 실패는 FreeSWITCH 프로세스 중지, SIP 또는 이벤트 소켓 연결 차단, NAT 뒤의 잘못된 주소 또는 WebRTC 미디어 차단으로 인해 발생할 수 있습니다. 통신 사업자 또는 PBX 게이트웨이의 실제 등록 시간 초과는 별개의 문제입니다.

먼저 타임아웃이 발생하는 구성 요소를 파악하십시오. 그런 다음 서비스 상태, 로컬 리스너, 네트워크 경로 및 주소를 순서대로 확인하십시오. 문제가 발생하는 경로를 정확히 파악하기 전까지는 SIP 설정을 변경하거나 포트를 열지 마십시오.

먼저, "등록 시간 초과"가 무엇을 의미하는지 파악하십시오.

BigBlueButton의 현재 오디오 스택은 bbb-webrtc-sfuFreeSWITCH와의 미디어 연동을 위해 해당 서비스를 사용합니다. BigBlueButton 문서에는 SFU가 FreeSWITCH의 SIP 서비스 및 이벤트 소켓 계층(ESL)에 연결하는 방식이 설명되어 있습니다. 이는 FreeSWITCH가 외부 SIP 공급자에게 아웃바운드 게이트웨이를 등록하는 것과는 다릅니다.

  • BigBlueButton 오디오 연결 문제: 사용자가 오디오에 참여할 수 없거나, FreeSWITCH에 연결할 수 없거나, SFU에서 시간 초과가 보고됩니다. FreeSWITCH, ESL, 구성된 SIP 주소 및 포트, NAT, WebRTC 전송 설정을 조사하십시오.
  • 외부 게이트웨이 등록 문제: FreeSWITCH에서 구성된 게이트웨이가 다운되었거나 등록되지 않았다고 보고합니다. 공급자 호스트 이름, 자격 증명, 전송 프로토콜, 방화벽 경로 및 공급자 측 계정 상태를 확인하십시오.

어떤 경우에 해당하는지 확실하지 않은 경우 전체 오류 텍스트와 오류를 기록한 서비스 이름을 저장하십시오. "등록 시간 초과" 오류만으로는 SIP 프로필을 변경해야 할 충분한 이유가 되지 않습니다.

1. BigBlueButton의 구성 검사를 실행합니다.

서버에서 BigBlueButton에서 권장하는 진단 도구를 실행하십시오.

sudo bbb-conf --check

모든 출력 내용을 검토하고, 특히 "필수 프로세스가 실행 중인지" 섹션을 확인하십시오 Potential problems. 이 섹션에서는 필수 프로세스가 실행 중인지 확인하고 일반적인 구성 문제를 보고합니다. 경고는 의도적인 사용자 지정 설정을 반영할 수 있으므로, 모든 제안된 해결 방법을 자동으로 적용하기보다는 자신의 설정과 비교해 보십시오.

그런 다음 서비스 상태를 확인하십시오.

sudo bbb-conf --status
sudo systemctl status freeswitch --no-pager
sudo systemctl status bbb-webrtc-sfu --no-pager

이전 버전의 BigBlueButton에서는 서비스 이름이나 구성 요소 아키텍처가 다를 수 있습니다. 설치된 버전을 확인하고 sudo bbb-conf --version해당 버전의 문서를 참조하십시오. 아래의 경로 및 예제는 주로 BigBlueButton 4.0 문서를 참조하며, 해당 버전은 현재 개발 중입니다.

2. FreeSWITCH가 실행 중이며 로컬 연결을 수락하는지 확인하십시오.

freeswitch.service해당 프로세스가 비활성화되었거나, 오류가 발생했거나, 반복적으로 재시작되는 경우 , 설정을 편집하기 전에 해당 프로세스의 로그를 읽으십시오.

sudo journalctl -u freeswitch.service -b --no-pager -n 100

최근 시작 시점에 바인딩 실패, 모듈 로딩 오류, 권한 문제 또는 데이터베이스 오류가 발생했는지 확인하십시오. BigBlueButton의 문제 해결 가이드에는 FreeSWITCH가 IPv4 또는 ESL 포트 8021에 바인딩할 수 없는 특정 사례가 설명되어 있습니다. 또한 재시작 후 FreeSWITCH 데이터베이스 손상이 가능한 원인으로 제시되어 있지만, 해당 데이터베이스 오류가 발생한 경우에만 데이터베이스 정리를 권장합니다.

어떤 주소와 포트가 수신 대기 중인지 확인하십시오.

sudo ss -luntp | grep -E ':(5060|5066|8021)\b'

정확한 SIP 리스너는 BigBlueButton 버전 및 구성에 따라 다릅니다. 리스너가 없다는 것은 FreeSWITCH가 해당 프로필을 시작하지 못했거나 다른 주소에 바인딩되었음을 의미합니다. 포트 8021은 일반적인 패키지 설치에서 로컬 ESL 제어 인터페이스이며, 일반적으로 localhost 또는 신뢰할 수 있는 사설 네트워크로 제한되어야 합니다. 공용 인터넷에 노출하지 마십시오.

FreeSWITCH가 활성화된 경우, CLI를 사용하여 SIP 프로필 상태를 확인할 수 있습니다. 표준 FreeSWITCH 명령어는 `sip profile status`입니다. sofia status모든 배포 환경에서 동일한 프로필 이름을 사용한다고 가정하지 말고, 서버에서 표시되는 프로필 이름을 사용하십시오. 프로필에 `sip profile status`로 표시되면 RUNNING프로필이 시작된 것이지만, 원격 브라우저가 오디오 미디어 경로에 접근할 수 있다는 것을 보장하는 것은 아닙니다.

3. 오류를 오류가 발생한 네트워크 경로와 연결합니다.

BigBlueButton의 방화벽 가이드에서는 WebSocket 시그널링 오류와 ICE/미디어 오류를 구분합니다. 이러한 구분 덕분에 문제 해결 범위를 좁힐 수 있습니다.

  • WebRTC 오류 1002: 브라우저가 WebSocket 연결을 설정할 수 없습니다. FreeSWITCH가 실행 중인지, SIP-over-WebSocket 경로 및 역방향 프록시 구성, 그리고 해당 신호 경로에 영향을 미치는 방화벽 규칙이 있는지 확인하십시오.
  • WebRTC 오류 1007: WebSocket에 연결되었지만 브라우저가 반환된 주소 후보를 사용하여 미디어를 설정할 수 없습니다. 공지된 IP 주소와 양방향 UDP 연결 가능성을 확인하십시오.

BigBlueButton의 기본 방화벽 구성에 대한 공식 가이드에는 16384–32768실시간 미디어용 UDP 포트 목록이 나와 있습니다. 클라우드 보안 그룹 또는 경계 방화벽과 호스트 방화벽 모두에서 필요한 포트 범위를 허용하십시오. 규칙은 서버 및 필요한 트래픽으로 제한해야 합니다. 관련 없는 SIP 포트를 광범위하게 여는 것은 올바른 NAT 및 WebRTC 구성을 대체할 수 없습니다.

예를 들어 UFW를 사용하고 있고 이 범위가 설치에 적합한지 확인했다면 기존 규칙을 검토하고 미디어 범위를 추가하십시오.

sudo ufw status numbered
sudo ufw allow 16384:32768/udp

클라우드 방화벽과 공급자 보안 그룹에서도 해당 트래픽을 허용해야 합니다. 호스트 수준 규칙은 상위 방화벽에서 차단된 트래픽을 재정의할 수 없습니다. 제한적인 네트워크에 있는 사용자만 연결에 실패하는 경우, FreeSWITCH를 반복적으로 재시작하기보다는 해당 사용자의 네트워크 경로 또는 TURN 구성을 조사하십시오.

4. NAT 및 광고된 IP 주소를 확인합니다.

NAT 뒤에 있는 서버는 올바른 로컬 리스너를 가지고 있더라도 브라우저에 도달할 수 없는 사설 IP 주소를 광고할 수 있습니다. 외부 IP 주소, 포트 포워딩 및 FreeSWITCH 구성이 일치하는지 확인하십시오. BigBlueButton의 4.0 방화벽 가이드에서는 NAT 예제로 /opt/freeswitch/conf/vars.xml및 를 사용하고 있으며 /opt/freeswitch/conf/sip_profiles/external.xml, /etc/bigbluebutton/bbb-webrtc-sfu/production.yml관련 SFU 재정의에 대해서는 을 참조하도록 안내합니다.

예시 IP 주소를 복사하거나 모든 필드에 공용 IP 주소가 입력되어야 한다고 가정하지 마십시오. NAT 환경에서 FreeSWITCH가 로컬에서 바인딩하는 주소는 FreeSWITCH가 알리는 공용 주소와 다를 수 있습니다. 네트워크 토폴로지에 맞는 버전별 지침을 적용한 후 관련 방화벽 포워딩 설정을 확인하십시오. 서버의 외부 주소가 최근에 변경된 경우 DNS 및 BigBlueButton 구성에 저장된 주소 값을 확인하십시오.

서버 프로세스가 자체 공용 호스트 이름에 접근해야 하는 경우, 헤어핀 NAT 또는 로컬 호스트 이름 확인이 중요할 수 있습니다. 공식 방화벽 가이드에서는 /etc/hosts이러한 시나리오에서 공용 호스트 이름을 방화벽 주소에 매핑하는 방법을 설명합니다. 이 방법은 오류 패턴이 외부 호스트 이름을 통한 루프백을 가리키는 경우에만 테스트해야 하며, 등록 시간 초과에 대한 보편적인 해결책은 아닙니다.

5. 로그에 외부 SIP 게이트웨이 이름이 표시되는 경우

문제가 BigBlueButton의 내부 오디오 경로가 아닌 명명된 통신 사업자 게이트웨이인 경우, 게이트웨이 상태를 별도로 확인하십시오. FreeSWITCH 문서 sofia status gateway <name>에서 게이트웨이 상태 및 sofia status로드된 프로필과 게이트웨이 상태를 확인할 수 있습니다. 공급자 호스트 이름이 서버에서 확인되는지, 구성된 SIP 사용자 이름과 암호가 일치하는지, 선택한 전송 프로토콜과 포트가 공급자의 요구 사항과 일치하는지, 그리고 아웃바운드 방화벽 규칙에서 시그널링 트래픽을 허용하는지 확인하십시오.

BigBlueButton에 포함된 SIP 프로필을 재설정하여 통신사 계정을 복구하지 마십시오. 전체 SIP 추적 로그를 공개적으로 공유하지 마십시오. 여기에는 전화번호, IP 주소, 계정 이름 또는 인증 관련 정보가 포함될 수 있습니다. 공급업체 또는 관리자에게 로그 검토를 요청하기 전에 민감한 값은 삭제하십시오.

6. 특정 변경 사항을 적용하고 다시 시작하세요.

확인된 서비스, 주소 또는 방화벽 문제를 해결한 후에는 지원되는 명령어를 사용하여 BigBlueButton을 다시 시작하십시오.

sudo bbb-conf --restart

릴리스별 문서 또는 진단 증거에서 요구하는 경우에만 사용하십시오 sudo bbb-conf --clean. 모든 SIP 타임아웃에 대한 일반적인 대응책이 아닙니다. 마찬가지로, 문서에 명시된 데이터베이스 손상 증상이 나타나지 않는 한 FreeSWITCH 데이터베이스 파일을 삭제하지 마십시오. 상태를 제거하는 복구 작업을 수행하기 전에 로그 및 구성 백업을 보존하십시오.

수리를 확인하십시오

FreeSWITCH가 정상적으로 작동 하는지 sudo bbb-conf --check다시 확인하고, bbb-webrtc-sfu서버 네트워크 외부의 브라우저에서 테스트 회의에 참여하여 마이크 또는 듣기 전용 오디오를 선택하고 연결이 완료되는지 확인하십시오. NAT 또는 방화벽 변경의 경우, 이전에 테스트에 실패했던 네트워크 중 하나 이상에서 테스트하십시오. 서비스 상태가 녹색으로 표시되는 것만으로는 UDP 미디어가 네트워크를 통해 전송될 수 있음을 보장할 수 없습니다.

타임아웃이 계속되면 BigBlueButton 버전, 전체 오류 텍스트, 관련 bbb-conf --check출력, 서비스 상태, 최근 FreeSWITCH 및 SFU 저널 항목, 네트워크 토폴로지를 수집하십시오. 비밀 키와 공개 사용자 데이터는 삭제하십시오. 이 증거는 수신기 비활성화, ESL 타임아웃, 잘못된 주소 광고, 미디어 범위 차단 및 실제 SIP 게이트웨이 등록 실패를 구분하는 데 도움이 됩니다.

공식 참고 자료

본 문서는 2026년 10월 6일에 확인되었습니다. BigBlueButton 4.0 문서에서는 이 버전을 개발 중인 버전으로 표시하고 있으므로, 서버에 설치된 릴리스 버전에 맞춰 경로와 명령어를 확인하십시오.

댓글 남기기

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버 공개 링크의 최대 만료일을 설정하고, 해당 만료일이 영향을 미치는 공유 폴더를 파악하고, 오래된 링크를 간과하지 않고 정책을 검증하세요.

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화를 구성하고, 폴링 간격을 설정하고, 테스트 동기화를 강제로 실행하고, 타임스탬프를 확인하고, 오래된 내부 또는 외부 LDAP 연락처 문제를 해결합니다.

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에 대한 LDAP 기반 로그인을 구성하고, 사용자 및 그룹을 매핑하고, 내장 또는 외부 OIDC를 선택하고, 자격 증명을 보호하고, 안전하게 인증을 확인할 수 있습니다.

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

지원되는 migrate-to-ocis 앱을 사용하여 ownCloud Classic 10에서 Infinite Scale로의 마이그레이션을 계획하세요. 전송되는 데이터와 전송되지 않는 데이터, LDAP 필수 조건, 명령어 및 전환 점검 사항에 대해 알아보세요.

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 사용자 지정 SpamAssassin 규칙을 로드하는 위치, .cf 규칙을 작성하고 유효성을 검사하는 방법, Amavis를 재시작하는 방법, 메시지 헤더를 테스트하는 방법, 그리고 안전하게 롤백하는 방법을 알아보세요.

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

zmmailbox를 사용하여 개별 Zimbra CE 사서함을 백업하고 복원할 수 있습니다. 메타데이터가 포함된 ZIP 아카이브를 내보내고, 유효성을 검사하고, 스테이징 계정에서 안전하게 복구를 테스트할 수 있습니다.

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud Infinite Scale 사용자의 개인 공간 할당량을 설정하는 방법, 이를 프로젝트 공간 및 전역 제한과 구분하는 방법, 그리고 역할별로 신규 사용자에게 기본값을 할당하는 방법을 알아보세요.

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제를 진단하려면 서비스 상태, SIP 및 ESL 리스너, NAT 주소, 방화벽 규칙 및 로그를 확인하십시오.

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱의 "연결 거부됨" 오류를 해결하는 방법

ownCloud 모바일 앱 연결 거부 오류를 해결하려면 서버 URL, HTTPS 포트, 웹 서버, 방화벽, 프록시, TLS 및 신뢰할 수 있는 도메인을 확인하세요.

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

자체 호스팅 Matrix 서버에서 사용자 등록을 제한하는 방법

Synapse에서 새로운 Matrix 계정을 제어하는 ​​다양한 방법을 비교해 보세요. 공개 등록 비활성화부터 사용 제한 토큰 발급까지, 구성 예시 및 확인 방법을 안내합니다.