เมื่อเว็บแคม BigBlueButton แสดงผลเป็นหน้าจอว่างเปล่า และเบราว์เซอร์หรือโปรแกรมประชุมแจ้งว่า “ICE Socket Connection Failed” ข้อความดังกล่าวชี้ไปที่การเชื่อมต่อสื่อล้มเหลว แต่ไม่ได้ระบุสาเหตุเดียวที่ใช้ได้กับทุกกรณี สิทธิ์การเข้าถึงกล้อง เครือข่ายของผู้ใช้ ไฟร์วอลล์ของเซิร์ฟเวอร์ การกำหนดที่อยู่ NAT และการตั้งค่ารีเลย์ TURN ล้วนมีส่วนเกี่ยวข้อง เริ่มต้นด้วยการตรวจสอบเพื่อแยกปัญหา ก่อนที่จะเปลี่ยนแปลงการกำหนดค่าเซิร์ฟเวอร์
คู่มือการแก้ไขปัญหาปัจจุบันของ BigBlueButton อธิบายข้อผิดพลาดที่เกี่ยวข้อง1007: ICE negotiation failedว่าเป็นความล้มเหลวในการเจรจาเส้นทางระหว่างเบราว์เซอร์และเซิร์ฟเวอร์มีเดีย โดยระบุถึง NAT พอร์ต UDP ที่ถูกบล็อก และความจำเป็นที่อาจต้องเปิดใช้งานเครือข่ายที่มีข้อจำกัด ข้อความที่แสดงในเบราว์เซอร์ของคุณอาจแตกต่างกันไปตามเวอร์ชันของ BigBlueButton แพลตฟอร์มโฮสติ้ง หรือไคลเอ็นต์ โปรดพิจารณาว่าเป็นเพียงเบาะแส ไม่ใช่การวินิจฉัยปัญหาอ่านคู่มือการแก้ไขปัญหา BigBlueButton 4.0เพิ่มเติม
ขั้นแรก ให้ตรวจสอบว่ากล้องหรือการเชื่อมต่อมีปัญหา
จำเป็นต้องขออนุญาตเข้าถึงกล้องก่อนที่เบราว์เซอร์จะเข้าถึงเว็บแคม และหน้าการประชุมต้องใช้บริบทที่ปลอดภัย เช่น HTTPS การตรวจสอบเหล่านี้จะพิจารณาว่าเบราว์เซอร์สามารถบันทึกวิดีโอในเครื่องได้หรือไม่ ICE คือกระบวนการ WebRTC ที่ค้นหาเส้นทางเครือข่ายสำหรับการส่งสื่อระหว่างเบราว์เซอร์และ BigBlueButton การปฏิเสธการอนุญาตเข้าถึงกล้องและเส้นทาง ICE ที่ล้มเหลวเป็นปัญหาที่แตกต่างกัน แม้ว่าทั้งสองอย่างอาจทำให้เว็บแคมใช้งานไม่ได้เอกสารMDN อธิบายข้อกำหนดเกี่ยวกับการอนุญาตเบราว์เซอร์และบริบทที่ปลอดภัย
แผงขออนุญาตใช้งานเบราว์เซอร์แบบจำลอง โดยเปิดกล้องไว้ สัญลักษณ์ต่างๆ เป็นเพียงภาพประกอบและไม่ได้จำลองหน้าจอเบราว์เซอร์หรือ BigBlueButton ใดๆ โดยเฉพาะ
ตรวจสอบไอคอนกล้องที่อยู่ข้างแถบที่อยู่และการตั้งค่าเว็บไซต์ของเบราว์เซอร์ อนุญาตการเข้าถึงกล้องสำหรับเว็บไซต์ BigBlueButton ยืนยันว่าได้เลือกกล้องที่ต้องการแล้ว และปิดแอปอื่นๆ ที่อาจกำลังใช้งานกล้องอยู่ หากเบราว์เซอร์แสดงตัวอย่างในเครื่อง แต่การประชุมยังไม่สามารถเผยแพร่วิดีโอได้ แสดงว่าการเข้าถึงอุปกรณ์ในเครื่องน่าจะทำงานได้แล้ว ให้ดำเนินการตรวจสอบเครือข่ายต่อไป หากไม่มีตัวอย่างปรากฏขึ้น ให้แก้ไขปัญหาการเลือกอุปกรณ์ การตั้งค่าความเป็นส่วนตัวของระบบปฏิบัติการ หรือการอนุญาตของเบราว์เซอร์ก่อน
ลองตรวจสอบข้อมูลผู้เข้าร่วมตามลำดับเหล่านี้ดู
- ลอง รีโหลดหน้าเว็บแล้วเข้าร่วมใหม่ออกจากการประชุม รีโหลดหน้าเว็บ แล้วเข้าร่วมอีกครั้งและลองใช้เว็บแคมอีกครั้ง วิธีนี้อาจช่วยแก้ไขปัญหาชั่วคราวของเบราว์เซอร์หรือเซสชันสื่อได้ แต่หากเกิดข้อผิดพลาด ICE ซ้ำๆ มักต้องแก้ไขปัญหาที่เครือข่ายหรือฝั่งเซิร์ฟเวอร์
- อัปเดตหรือเปลี่ยนไปใช้เบราว์เซอร์ที่รองรับลองใช้เบราว์เซอร์เดสก์ท็อปเวอร์ชันปัจจุบันอื่นที่รองรับ หากเว็บแคมใช้งานได้ในเบราว์เซอร์นั้น ให้บันทึกเบราว์เซอร์และเวอร์ชันเดิมไว้ให้ผู้จัดประชุมดู พฤติกรรมเฉพาะของเบราว์เซอร์อาจเกิดขึ้นได้ ดังนั้นเบราว์เซอร์ที่ใช้งานได้สำเร็จเพียงเบราว์เซอร์เดียวจึงไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์ได้รับการกำหนดค่าอย่างถูกต้องสำหรับผู้ใช้ทุกคน
- ลองเปรียบเทียบกับเครือข่ายอื่นดูหากได้รับอนุญาต ให้เชื่อมต่อจากฮอตสปอตของโทรศัพท์หรือเครือข่ายที่เชื่อถือได้อื่น การที่เว็บแคมใช้งานได้สำเร็จในการเชื่อมต่อครั้งที่สอง บ่งชี้อย่างชัดเจนว่า Wi-Fi, VPN, พร็อกซี หรือไฟร์วอลล์ขององค์กรเดิมกำลังจำกัดการรับส่งข้อมูลสื่ออยู่ แต่ไม่ได้พิสูจน์ว่ากฎข้อใดเป็นสาเหตุโดยเฉพาะ
- ทดสอบในห้องเดียวกันกับผู้เข้าร่วมคนอื่นหากมีหลายคนในเครือข่ายที่แตกต่างกันไม่สามารถแสดงภาพจากเว็บแคมได้ ให้รายงานปัญหาที่อาจเกิดขึ้นกับเซิร์ฟเวอร์หรือการโฮสต์ไปยังผู้ดูแลระบบการประชุม หากมีเพียงคนเดียวที่ประสบปัญหา ให้ตรวจสอบอุปกรณ์ เบราว์เซอร์ และเครือข่ายของผู้เข้าร่วมคนนั้นก่อน
- ทดสอบในห้องหรือเดโม BigBlueButton อื่นหากองค์กรของคุณอนุญาต ให้ใช้ห้องแยกต่างหากหรือบริการทดสอบอย่างเป็นทางการของ BigBlueButton หากกล้องทำงานได้ที่นั่นแต่ไม่ทำงานบนเซิร์ฟเวอร์ขององค์กรของคุณ ให้แชร์ผลการเปรียบเทียบนั้นกับผู้ดูแลระบบ
รายการฮอตสปอตจากโทรศัพท์และรายการ Wi-Fi จากแล็ปท็อปช่วยให้เปรียบเทียบได้อย่างรวดเร็วระหว่างเครือข่ายที่มีข้อจำกัดกับการเชื่อมต่อแยกต่างหาก
ผู้ดูแลระบบควรตรวจสอบอะไรบ้าง
เมื่อมีผู้ใช้งานหลายรายได้รับผลกระทบ ให้ตรวจสอบเส้นทางสื่อที่ขอบเขตเครือข่ายแต่ละแห่ง ได้แก่ ไฟร์วอลล์ของโฮสต์ กลุ่มความปลอดภัยบนคลาวด์ เราเตอร์หรืออุปกรณ์ NAT และไฟร์วอลล์เครือข่ายต้นทางใดๆ เอกสารไฟร์วอลล์ของ BigBlueButton ระบุ TCP 80 และ 443 สำหรับการรับส่งข้อมูลเว็บ และในการกำหนดค่าเริ่มต้นที่ระบุไว้ในเอกสาร จะใช้ UDP 16384–32768 สำหรับสื่อ การติดตั้งของคุณอาจใช้ช่วงที่กำหนดเองหรือสแต็กสื่อเฉพาะเวอร์ชัน ดังนั้นโปรดยืนยันการกำหนดค่าจริงก่อนที่จะเปลี่ยนแปลงกฎ อย่าเปิดช่วงที่กว้างเกินกว่าที่การติดตั้งต้องการตรวจสอบคู่มือการกำหนดค่าไฟร์วอลล์ BigBlueButton ฉบับปัจจุบัน
แผนภาพเส้นทางเครือข่ายเชิงแนวคิดแสดงให้เห็นสื่อการประชุมที่ผ่านไฟร์วอลล์ไปยังเซิร์ฟเวอร์ โปรดตรวจสอบกฎและช่วงพอร์ตที่ใช้จริงในการติดตั้งของคุณ
สำหรับเซิร์ฟเวอร์ที่อยู่หลัง NAT โปรดตรวจสอบให้แน่ใจว่าบริการสื่อประกาศที่อยู่ IP ภายนอกที่สามารถเข้าถึงได้ BigBlueButton เวอร์ชัน 2.5 และใหม่กว่าใช้ mediasoup สำหรับสื่อ HTML5 WebRTC คู่มือไฟร์วอลล์อย่างเป็นทางการอธิบายวิธีการกำหนดค่าที่อยู่ภายนอกที่ประกาศไว้ในไฟล์/etc/bigbluebutton/bbb-webrtc-sfu/production.yml. ที่อยู่ส่วนตัว ที่อยู่สาธารณะที่ล้าสมัย การส่งต่อพอร์ตที่ไม่ถูกต้อง หรือการกำหนดค่า IPv6 ที่ขาดหายไป อาจทำให้ไคลเอ็นต์ไม่สามารถเข้าถึงบริการสื่อได้ ปฏิบัติตามคำแนะนำที่ตรงกับเวอร์ชัน BigBlueButton และโครงสร้างเครือข่ายของคุณเท่านั้น จากนั้นรีสตาร์ทบริการตามคำแนะนำในคู่มือเท่านั้น
ตรวจสอบด้วยว่าผู้ใช้ที่ได้รับผลกระทบอยู่ในเครือข่ายที่บล็อกการส่งข้อมูล UDP ขาออกหรือไม่ เซิร์ฟเวอร์ TURN สามารถส่งต่อทราฟฟิก WebRTC ได้เมื่อไม่มีเส้นทางโดยตรง แต่ต้องติดตั้ง สามารถเข้าถึงได้ และกำหนดค่าให้เหมาะสมกับเวอร์ชัน BigBlueButton ที่เกี่ยวข้อง เอกสารประกอบและค่าเริ่มต้นของแพ็กเกจ TURN จะแตกต่างกันไปในแต่ละเวอร์ชัน โปรดปฏิบัติตามคำแนะนำสำหรับเวอร์ชันที่คุณใช้งาน อย่าคัดลอกข้อมูลประจำตัวหรือการตั้งค่าพอร์ตจากเวอร์ชันอื่น ตรวจสอบคำแนะนำเกี่ยวกับเซิร์ฟเวอร์ TURN ของBigBlueButton 4.0
แผนภาพแสดงเส้นทางการเชื่อมต่อ WebRTC เชิงแนวคิด แสดงให้เห็นถึงปลายทางที่ใช้เซิร์ฟเวอร์รีเลย์เมื่อไม่สามารถสร้างการเชื่อมต่อโดยตรงได้
ข้อสันนิษฐานทั่วไปที่ควรหลีกเลี่ยง
“ข้อความแสดงข้อผิดพลาดของเว็บแคมหมายความว่ากล้องเสีย”
ไม่จำเป็นเสมอไป หากภาพตัวอย่างในเครื่องปรากฏขึ้นและเบราว์เซอร์ได้รับอนุญาต อุปกรณ์อาจยังทำงานได้แม้ว่าการเชื่อมต่อสื่อจะล้มเหลวก็ตามวิธีแก้ไข:ลองใช้เครือข่ายอื่นและสอบถามว่าผู้เข้าร่วมรายอื่นได้รับผลกระทบหรือไม่ก่อนที่จะเปลี่ยนกล้อง
“การอนุญาตให้กล้องทำงานจะช่วยแก้ไขปัญหาการทำงานผิดพลาดของเว็บแคมทุกกรณี”
การอนุญาตนี้จะอนุญาตให้เบราว์เซอร์บันทึกวิดีโอเท่านั้น ไม่ได้เปิดการรับส่งข้อมูล UDP ที่ถูกบล็อก หรือแก้ไขที่อยู่ NAT ของเซิร์ฟเวอร์ขั้นตอน:หลังจากยืนยันการอนุญาตแล้ว ให้ทดสอบการเชื่อมต่อจากเครือข่ายอื่น
“การประชุมที่โหลดได้ตามปกติ แสดงให้เห็นว่าเครือข่ายสื่อของงานนั้นเปิดกว้าง”
หน้าเว็บและส่วนควบคุมการประชุมสามารถโหลดผ่าน HTTPS ได้ ในขณะที่เสียงหรือวิดีโอแบบเรียลไทม์ไม่สามารถสร้างเส้นทางสื่อแยกต่างหากได้ เอกสารของ BigBlueButton ระบุความล้มเหลวของ ICE ควบคู่ไปกับ UDP ที่ถูกบล็อกและ NAT ว่าเป็นสาเหตุที่เป็นไปได้การดำเนินการ:ใช้เว็บแคมทดสอบและเปรียบเทียบผลลัพธ์ระหว่างเครือข่ายต่างๆ
“เซิร์ฟเวอร์ทุกเครื่องควรใช้พอร์ตและการตั้งค่า TURN เดียวกัน”
ค่าเริ่มต้นที่ระบุไว้ในเอกสารนั้นมีประโยชน์สำหรับการเริ่มต้น แต่ไม่ใช่หลักฐานยืนยันการกำหนดค่าที่ใช้งานจริง พอร์ตสามารถปรับแต่งได้ และการตั้งค่า TURN จะแตกต่างกันไปตามเวอร์ชันการดำเนินการ:ตรวจสอบเวอร์ชันและการกำหนดค่าที่ใช้งานอยู่ก่อนที่จะแก้ไขกฎไฟร์วอลล์หรือกฎรีเลย์
วิธีตรวจสอบความถูกต้องของการแก้ไข
หลังจากทำการเปลี่ยนแปลงแล้ว ให้เข้าร่วมการประชุมใหม่และเปิดเว็บแคมอย่างน้อยหนึ่งนาที ตรวจสอบให้แน่ใจว่าภาพตัวอย่างในเครื่องของคุณปรากฏขึ้น ผู้เข้าร่วมคนอื่นสามารถเห็นสตรีม และการเชื่อมต่อใหม่ไม่ทำให้เกิดข้อผิดพลาด ICE ซ้ำอีก ขอให้ผู้ใช้ในเครือข่ายที่ได้รับผลกระทบก่อนหน้านี้ทำการทดสอบซ้ำ หากการทดสอบฮอตสปอตสำเร็จเพียงอย่างเดียว ให้แจ้งผลลัพธ์นั้นแก่ผู้ดูแลระบบเครือข่ายและขอให้ตรวจสอบการรับส่งข้อมูล WebRTC ขาออก หากเครือข่ายทั้งหมดล้มเหลวสำหรับผู้ใช้หลายคน ให้ส่งเวอร์ชันเซิร์ฟเวอร์ เวลาโดยประมาณ เบราว์เซอร์ที่ได้รับผลกระทบ รหัสข้อผิดพลาดหรือข้อความที่แน่นอน การทำงานของเสียง และผลลัพธ์ของการทดสอบเครือข่ายแต่ละครั้งไปยังโฮสต์ BigBlueButton หลีกเลี่ยงการโพสต์ลิงก์การประชุม โทเค็นการเข้าถึง หรือบันทึกเบราว์เซอร์ที่ไม่ได้แก้ไขต่อสาธารณะ
การวินิจฉัยที่มีประโยชน์จะช่วยจำกัดขอบเขตของปัญหาให้แคบลง เช่น การเข้าถึงกล้องในพื้นที่ การใช้งานเครือข่ายของผู้ใช้รายใดรายหนึ่ง หรือเส้นทางการรับส่งข้อมูลสื่อของเซิร์ฟเวอร์ ข้อความแจ้งเตือนเพียงอย่างเดียวไม่สามารถแยกแยะกรณีเหล่านี้ได้ แต่การตรวจสอบเหล่านี้จะช่วยให้ผู้ดูแลระบบมีหลักฐานสำหรับการเปลี่ยนแปลงครั้งต่อไป
เอกสารอ้างอิงอย่างเป็นทางการ