การประชุม BigBlueButton อาจโหลดได้ตามปกติ แต่ผู้เข้าร่วมอาจติดปัญหาในการเชื่อมต่อเสียง ผู้ดูแลระบบอาจเห็นข้อความ “หมดเวลาการลงทะเบียน SIP” “FreeSWITCH ไม่ได้ลงทะเบียน” หรือข้อผิดพลาดในการเชื่อมต่อเสียงในบันทึกหรือเครื่องมือตรวจสอบ ข้อความเหล่านี้ไม่ได้ชี้ไปที่ความผิดพลาดเดียวกันเสมอไป ในการใช้งาน BigBlueButton มาตรฐาน การเชื่อมต่อเสียงที่ล้มเหลวอาจเกิดจากกระบวนการ FreeSWITCH ที่หยุดทำงาน การเชื่อมต่อ SIP หรือ Event Socket ที่ถูกบล็อก ที่อยู่ที่ไม่ถูกต้องหลัง NAT หรือสื่อ WebRTC ที่ถูกบล็อก การหมดเวลาการลงทะเบียนจริงสำหรับผู้ให้บริการหรือเกตเวย์ PBX เป็นกรณีที่แตกต่างออกไป
เริ่มต้นด้วยการระบุว่าส่วนประกอบใดที่หมดเวลา จากนั้นตรวจสอบสถานะการทำงานของบริการ ตัวรับฟังในเครื่อง เส้นทางเครือข่าย และที่อยู่ตามลำดับ หลีกเลี่ยงการเปลี่ยนแปลงการตั้งค่า SIP หรือการเปิดพอร์ตจนกว่าจะมีหลักฐานระบุเส้นทางที่ได้รับผลกระทบ
ขั้นแรก ให้ระบุว่า “การหมดเวลาการลงทะเบียน” หมายถึงอะไร
ระบบเสียงปัจจุบันของ BigBlueButton ใช้bbb-webrtc-sfuบริการนี้ในการประสานงานสื่อกับ FreeSWITCH เอกสารของ BigBlueButton อธิบายว่า SFU เชื่อมต่อกับบริการ SIP และ Event Socket Layer (ESL) ของ FreeSWITCH ซึ่งแตกต่างจากการที่ 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 ไม่สามารถเริ่มต้นโปรไฟล์นั้นได้ หรือผูกกับที่อยู่ IP อื่น พอร์ต 8021 คืออินเทอร์เฟซควบคุม ESL ในการติดตั้งแบบแพ็กเกจทั่วไป โดยปกติแล้วควรจำกัดการใช้งานไว้ที่ localhost หรือเครือข่ายส่วนตัวที่เชื่อถือได้เท่านั้น อย่าเปิดเผยพอร์ตนี้สู่สาธารณะทางอินเทอร์เน็ต
หาก FreeSWITCH ทำงานอยู่ คุณสามารถตรวจสอบสถานะโปรไฟล์ SIP ด้วย CLI ของ FreeSWITCH ได้ คำสั่งมาตรฐานของ FreeSWITCH คือsofia status; ให้ใช้ชื่อโปรไฟล์ที่แสดงโดยเซิร์ฟเวอร์ของคุณ แทนที่จะสันนิษฐานว่าทุกการติดตั้งใช้ชื่อเดียวกัน โปรไฟล์ที่ถูกทำเครื่องหมายRUNNINGว่าเริ่มต้นแล้ว ยืนยันว่าโปรไฟล์นั้นเริ่มทำงานแล้ว แต่ไม่ได้พิสูจน์ว่าเบราว์เซอร์ระยะไกลสามารถเข้าถึงเส้นทางสื่อเสียงได้
3. จับคู่ข้อผิดพลาดกับเส้นทางเครือข่ายที่ล้มเหลว
คู่มือไฟร์วอลล์ของ BigBlueButton แยกความแตกต่างระหว่างความล้มเหลวในการส่งสัญญาณ WebSocket กับความล้มเหลวของ ICE/สื่อ ซึ่งความแตกต่างนี้ช่วยจำกัดขอบเขตการค้นหาให้แคบลง:
- ข้อผิดพลาด WebRTC 1002:เบราว์เซอร์ไม่สามารถสร้างการเชื่อมต่อ WebSocket ได้ ตรวจสอบว่า FreeSWITCH กำลังทำงานอยู่หรือไม่ การกำหนดค่าเส้นทาง SIP-over-WebSocket และพร็อกซีแบบย้อนกลับ และกฎไฟร์วอลล์ใดๆ ที่ส่งผลกระทบต่อเส้นทางการส่งสัญญาณนั้น
- ข้อผิดพลาด WebRTC 1007:การเชื่อมต่อ WebSocket สำเร็จแล้ว แต่เบราว์เซอร์ไม่สามารถสร้างสื่อโดยใช้ที่อยู่ IP ที่ส่งกลับมาได้ โปรดตรวจสอบที่อยู่ IP ที่ประกาศและตรวจสอบการเข้าถึง UDP แบบสองทิศทาง
สำหรับการตั้งค่าไฟร์วอลล์เริ่มต้นของ BigBlueButton คู่มืออย่างเป็นทางการระบุพอร์ต UDP 16384–32768สำหรับสื่อแบบเรียลไทม์ อนุญาตช่วงพอร์ตที่ต้องการทั้งในกลุ่มความปลอดภัยบนคลาวด์หรือไฟร์วอลล์รอบนอก และไฟร์วอลล์ของโฮสต์ จำกัดกฎให้เฉพาะเซิร์ฟเวอร์และทราฟฟิกที่จำเป็นเท่านั้น การเปิดพอร์ต SIP ที่ไม่เกี่ยวข้องอย่างกว้างขวางไม่สามารถทดแทนการตั้งค่า NAT และ WebRTC ที่ถูกต้องได้
ตัวอย่างเช่น หากคุณใช้ UFW และยืนยันแล้วว่าช่วงนี้เหมาะสมกับการติดตั้งของคุณ ให้ตรวจสอบกฎที่มีอยู่และเพิ่มช่วงสื่อเข้าไป:
sudo ufw status numbered
sudo ufw allow 16384:32768/udp
ไฟร์วอลล์บนคลาวด์และกลุ่มความปลอดภัยของผู้ให้บริการจะต้องอนุญาตการรับส่งข้อมูลด้วยเช่นกัน กฎระดับโฮสต์ไม่สามารถแทนที่ไฟร์วอลล์ต้นทางที่ถูกบล็อกได้ หากมีเพียงผู้ใช้ในเครือข่ายที่มีข้อจำกัดเท่านั้นที่ล้มเหลว ในขณะที่ผู้ใช้รายอื่นสามารถเชื่อมต่อได้ ให้ตรวจสอบเส้นทางเครือข่ายหรือการกำหนดค่า TURN ของผู้ใช้เหล่านั้น แทนที่จะรีสตาร์ท FreeSWITCH ซ้ำๆ
4. ตรวจสอบ NAT และที่อยู่ IP ที่ประกาศไว้
เซิร์ฟเวอร์ที่อยู่หลัง NAT อาจมี Listener ภายในที่ถูกต้อง แต่ยังคงโฆษณาที่อยู่ IP ส่วนตัวที่ไม่สามารถเข้าถึงได้ให้กับเบราว์เซอร์ ตรวจสอบให้แน่ใจว่าที่อยู่ IP ภายนอก การส่งต่อพอร์ต และการกำหนดค่า FreeSWITCH ตรงกัน คู่มือไฟร์วอลล์เวอร์ชัน 4.0 ของ BigBlueButton ใช้/opt/freeswitch/conf/vars.xmlและ/opt/freeswitch/conf/sip_profiles/external.xmlสำหรับตัวอย่าง NAT และชี้ไปยัง/etc/bigbluebutton/bbb-webrtc-sfu/production.ymlสำหรับการตั้งค่า SFU ที่เกี่ยวข้อง
อย่าคัดลอก IP ตัวอย่าง หรือสันนิษฐานว่า IP สาธารณะนั้นควรอยู่ในทุกช่อง ในการตั้งค่า NAT ที่อยู่ซึ่ง FreeSWITCH ผูกไว้ในเครื่องอาจแตกต่างจากที่อยู่สาธารณะที่ประกาศ ปฏิบัติตามคำแนะนำเฉพาะเวอร์ชันสำหรับโครงสร้างเครือข่ายของคุณ จากนั้นตรวจสอบการส่งต่อไฟร์วอลล์ที่เกี่ยวข้อง หากที่อยู่ภายนอกของเซิร์ฟเวอร์มีการเปลี่ยนแปลงเมื่อเร็ว ๆ นี้ ให้ตรวจสอบ DNS และค่าที่อยู่ใด ๆ ที่เก็บไว้ในการกำหนดค่า BigBlueButton
เมื่อกระบวนการเซิร์ฟเวอร์ต้องเข้าถึงชื่อโฮสต์สาธารณะของตัวเอง การใช้ Hairpin NAT หรือการแก้ไขชื่อโฮสต์ภายในเครื่องก็มีความสำคัญเช่นกัน คู่มือไฟร์วอลล์อย่างเป็นทางการได้กล่าวถึงการแมปชื่อโฮสต์สาธารณะกับที่อยู่ไฟร์วอลล์ใน/etc/hostsสถานการณ์ดังกล่าว ทดสอบเฉพาะเมื่อรูปแบบความล้มเหลวชี้ไปที่การวนซ้ำผ่านชื่อโฮสต์ภายนอกเท่านั้น ไม่ใช่วิธีแก้ไขปัญหาการหมดเวลาการลงทะเบียนแบบครอบคลุม
5. หากในบันทึกระบุชื่อเกตเวย์ SIP ภายนอก
หากรายการที่ล้มเหลวคือเกตเวย์ผู้ให้บริการที่มีชื่อ แทนที่จะเป็นเส้นทางเสียงภายในของ BigBlueButton ให้ตรวจสอบสถานะเกตเวย์แยกต่างหาก เอกสาร FreeSWITCH มีข้อมูล sofia status gateway <name>เกี่ยวกับสถานะเกตเวย์ และsofia statusโปรไฟล์ที่โหลด รวมถึงสถานะเกตเวย์ ตรวจสอบว่าชื่อโฮสต์ของผู้ให้บริการสามารถแก้ไขได้จากเซิร์ฟเวอร์ ชื่อผู้ใช้และรหัสผ่าน SIP ที่กำหนดค่าไว้ตรงกัน การขนส่งและพอร์ตที่เลือกตรงกับข้อกำหนดของผู้ให้บริการ และกฎไฟร์วอลล์ขาออกอนุญาตให้มีการรับส่งข้อมูลสัญญาณ
อย่ารีเซ็ตโปรไฟล์ SIP ที่มาพร้อมกับ BigBlueButton เพื่อซ่อมแซมบัญชีผู้ให้บริการ หลีกเลี่ยงการแชร์ข้อมูลการใช้งาน SIP ทั้งหมดต่อสาธารณะ เนื่องจากอาจมีหมายเลขโทรศัพท์ ที่อยู่ IP ชื่อบัญชี หรือรายละเอียดที่เกี่ยวข้องกับการตรวจสอบสิทธิ์ ลบข้อมูลที่ละเอียดอ่อนออกก่อนขอให้ผู้ให้บริการหรือผู้ดูแลระบบตรวจสอบบันทึก
6. ปรับเปลี่ยนตามเป้าหมายแล้วเริ่มต้นใหม่อีกครั้ง
หลังจากแก้ไขปัญหาบริการ ที่อยู่ หรือไฟร์วอลล์ที่ได้รับการยืนยันแล้ว ให้รีสตาร์ท BigBlueButton โดยใช้คำสั่งที่รองรับ:
sudo bbb-conf --restart
ใช้sudo bbb-conf --cleanเฉพาะเมื่อเอกสารเฉพาะรุ่นหรือหลักฐานการวินิจฉัยระบุไว้เท่านั้น ไม่ใช่วิธีแก้ปัญหาทั่วไปสำหรับทุกกรณีที่ SIP หมดเวลา เช่นเดียวกัน ควรหลีกเลี่ยงการลบไฟล์ฐานข้อมูล FreeSWITCH เว้นแต่จะพบอาการฐานข้อมูลเสียหายตามที่ระบุไว้ในเอกสาร ควรเก็บรักษาบันทึกและสำเนาสำรองการกำหนดค่าไว้ก่อนที่จะทำการซ่อมแซมใดๆ ที่ลบสถานะ
ตรวจสอบการซ่อมแซม
เรียกใช้คำสั่งsudo bbb-conf --checkอีกครั้งและตรวจสอบว่า FreeSWITCH และเครือข่ายbbb-webrtc-sfuอยู่ในสภาพปกติ เข้าร่วมการประชุมทดสอบจากเบราว์เซอร์ที่อยู่นอกเครือข่ายของเซิร์ฟเวอร์ เลือกไมโครโฟนหรือเสียงแบบฟังอย่างเดียว และตรวจสอบว่าการเชื่อมต่อเสร็จสมบูรณ์ สำหรับการเปลี่ยนแปลง NAT หรือไฟร์วอลล์ ให้ทดสอบจากเครือข่ายอย่างน้อยหนึ่งเครือข่ายที่เคยล้มเหลวก่อนหน้านี้ สถานะบริการสีเขียวเพียงอย่างเดียวไม่ใช่หลักฐานที่ยืนยันว่าสื่อ UDP สามารถส่งผ่านเครือข่ายได้
หากยังคงเกิดการหมดเวลา ให้รวบรวมเวอร์ชันของ BigBlueButton ข้อความแสดงข้อผิดพลาดทั้งหมดbbb-conf --checkเอาต์พุตที่เกี่ยวข้อง สถานะบริการ รายการบันทึก FreeSWITCH และ SFU ล่าสุด และโทโพโลยีเครือข่าย ลบข้อมูลที่เป็นความลับและข้อมูลผู้ใช้สาธารณะ หลักฐานเหล่านี้จะช่วยแยกแยะความแตกต่างระหว่าง Listener ที่เสีย การหมดเวลาของ ESL ที่อยู่โฆษณาที่ไม่ถูกต้อง ช่วงสื่อที่ถูกบล็อก และความล้มเหลวในการลงทะเบียนเกตเวย์ SIP ที่แท้จริง
เอกสารอ้างอิงอย่างเป็นทางการ
เอกสารนี้ได้รับการตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026 เอกสารของ BigBlueButton เวอร์ชัน 4.0 ระบุว่าเวอร์ชันนี้ยังอยู่ในระหว่างการพัฒนา โปรดตรวจสอบเส้นทางและคำสั่งต่างๆ กับเวอร์ชันที่ติดตั้งบนเซิร์ฟเวอร์ของคุณ