ต้องใช้โปรแกรม Linux Asterisk เพื่อสร้างเซิร์ฟเวอร์โทรศัพท์และ PBX เธอมีมากมาย ฟังก์ชั่นที่มีประโยชน์ซึ่งจะเหมาะสมกับสำนักงานใดๆ การประชุม, เครื่องตอบรับอัตโนมัติ, การกระจายสาย, ข้อความ, วีดีโอ, เมนูเสียงและข้อความเสียง ยูทิลิตี้นี้รองรับโปรโตคอลการสื่อสารยอดนิยม สามารถเปลี่ยนได้ แต่การติดตั้งเครื่องหมายดอกจันบน Ubuntu ไม่ใช่สิ่งที่ง่ายที่สุด แอปพลิเคชันจะถูกดาวน์โหลดและกำหนดค่าผ่านเทอร์มินัล ดังนั้นคุณต้องเรียนรู้คำสั่งคอนโซล
เครื่องหมายดอกจันที่ติดตั้งจะต้องกำหนดค่าทั้งผ่านเมนูและผ่านเทอร์มินัล ดังนั้นเปิดคอนโซลของคุณ
ในตอนนี้ หากต้องการทำงานกับ Asterisk คุณต้องมีสิทธิ์ของ superuser แต่เป็นการดีกว่าที่จะสร้าง ผู้ใช้แต่ละรายและให้เขาเข้าถึงฟังก์ชั่นของโปรแกรมได้ เมื่อต้องการทำสิ่งนี้:
ยูทิลิตี้นี้พร้อมใช้งานแล้ว ขั้นตอนต่อไปขึ้นอยู่กับเงื่อนไขที่จะใช้สถานี มีหลายไฟล์ที่มีการกำหนดค่า:
- คอนเฟิร์ม - การตั้งค่าทั่วไปเซิร์ฟเวอร์ ในนั้นคุณสามารถระบุจำนวนสมาชิกที่เชื่อมต่อได้ พวกเขาสร้างกฎการโทรออก
- conf - มันยังกำหนดค่ากฎการโทรและตั้งค่าพารามิเตอร์การโทรด้วย
- conf - การกำหนดค่าบัญชีสมาชิก
ด้วยเครื่องหมายดอกจันคุณจะสร้าง ตู้สาขาใดก็ได้ความซับซ้อน มีฟังก์ชันและโมดูลที่มีประโยชน์มากมาย หลังจากการติดตั้งและกำหนดค่า คุณจะสามารถโต้ตอบกับสถานีโดยใช้ไคลเอนต์ได้ ซอฟต์แวร์- ตัวอย่างเช่น ลินโฟน
เว็บไซต์ ฟอรั่ม และพอร์ทัลทั้งหมด เช่น voip-info.org มีไว้สำหรับการตั้งค่าเครื่องหมายดอกจันโดยเฉพาะ แต่ก็มีคนที่หัวข้อนี้เป็นป่าทึบอยู่เสมอและต้องเปิดตัวผลิตภัณฑ์ "เมื่อวานนี้" เพียงเดือนครึ่งที่แล้ว ทั้งหมดที่ฉันรู้เกี่ยวกับเครื่องหมายดอกจันก็คือว่ามันมีอยู่จริง งานนี้มีวัตถุประสงค์เพื่อทำให้ชีวิตง่ายขึ้นเล็กน้อยสำหรับผู้ที่พบว่าตัวเองตกอยู่ในสถานการณ์เดียวกันกับฉัน อาจมีข้อผิดพลาดในระดับใดก็ตาม หากคุณเป็นกูรูด้านการกำหนดค่าเครื่องหมายดอกจัน โปรดชี้ให้เห็นข้อผิดพลาด ฉันจะแก้ไขให้ถูกต้อง และลูกหลานของฉันจะขอบคุณคุณ
ตอนแรกก็มีคำว่าในช่วงเวลาหนึ่ง ความพยายามของฉันทำให้กลยุทธ์การพัฒนาโครงสร้างพื้นฐานของบริษัทกลับหัวกลับหางอย่างแท้จริง มีการร่างเป้าหมายและวัตถุประสงค์และเห็นได้ชัดว่าเราต้องการโครงสร้างพื้นฐานเซิร์ฟเวอร์มือถือแบบไดนามิกเพื่อประหยัดเงิน ดังนั้นในกรณีที่เกิดปัญหาใด ๆ เราสามารถกู้คืนและ/หรือเพิ่มขึ้นในที่อื่นได้อย่างรวดเร็ว เพื่อให้ง่ายต่อการดูแล สำหรับฮาร์ดแวร์ ฯลฯ หน้า
จากนั้นก็มีเรื่องโดยทั่วไปบนกระดาษทุกอย่างสวยงามและง่ายดาย มันเป็นเพียงเรื่องของการติดตั้งและกำหนดค่าเครื่องหมายดอกจัน
ขั้นแรก มีการซื้อเซิร์ฟเวอร์ธรรมดาสองตัว Core i7-930, หน่วยความจำ 12GB และดิสก์ SATA 12TB ฟรี Xen Server ได้รับการติดตั้งบนเซิร์ฟเวอร์เหล่านี้และปรับใช้ เซิร์ฟเวอร์เสมือนและเวิร์กสเตชันสำหรับคนทำงานระยะไกล
เช่น ที่จัดเก็บข้อมูลภายนอกฉันกำลังใช้ QNAP NAS ที่สืบทอดมา
เทราไบต์ ที่เก็บข้อมูลในเครื่องจำเป็นเพียงเพื่อจัดเก็บมีเดียแบงค์ซึ่งมีขนาดค่อนข้างใหญ่ เซิร์ฟเวอร์มีน้ำหนักรวมกันน้อยกว่า 3 เทราไบต์
หนึ่งในเซิร์ฟเวอร์คือ Asterisk เพื่อแทนที่ Panasonic TDE-200 รุ่นเก่า เพราะ บริษัทต้องการ การสื่อสารราคาถูก, เบอร์ตรงไปที่ ประเทศต่างๆและการเจรจาอย่างเสรีระหว่างพนักงาน โดยทั่วไปแล้วไม่มีทางเลือกอื่นสำหรับ 12 เชเขล
มีการตัดสินใจกำหนดค่าเครื่องหมายดอกจันบนระบบปฏิบัติการดั้งเดิมสำหรับ Citrix Xen ระบบเซนโอเอส- อันเดียวกันแต่จากด้านข้างเท่านั้น ฉันจะจองทันที: ฉันเป็นผู้ดูแลระบบ Windows มาตลอดชีวิต และฉันแค่ “เล่น” กับ *nix ในเครื่องเสมือนเท่านั้น ไม่นับเว็บเซิร์ฟเวอร์สองสามตัวบนฮาร์ดแวร์ นั่นเป็นเหตุผลว่าทำไม การใช้งานนี้เครื่องหมายดอกจันใน Citrix Xen แสดงถึงความไร้เดียงสาบางอย่างจากมุมมองของผู้มีประสบการณ์
โดยทั่วไปแล้ว ฉันปฏิบัติตามเส้นทางที่ได้รับการพิสูจน์แล้ว: คำแนะนำโดยละเอียดสำหรับหุ่นจำลองจากคู่มืออย่างเป็นทางการนั้นเปิดบนแล็ปท็อปและดำเนินการบนเซิร์ฟเวอร์ตามตัวอักษรและไม่มีความคิดริเริ่ม คุณจะสามารถเล่นเป็นผู้ปรับแต่งฮีโร่ได้ในภายหลัง เมื่อทุกอย่างได้รับการกำหนดค่าและทำงานในสถานะ "เริ่มต้น" และได้ทำการสำรองข้อมูลเต็มรูปแบบครั้งแรกแล้ว
ไม่ใช่ว่าฉันรู้สึกประหลาดใจมาก แต่ถึงกระนั้น ฉันไปหาเพื่อนด้านโทรคมนาคมเพื่อขอคำแนะนำในการตั้งค่าเครื่องหมายดอกจัน เมื่อฉันพบว่ามีเครื่องหมายดอกจันที่มีอยู่แล้วสามตัว: 1.4, 1.6 และ 1.8 แต่ละคนมีแมลงสาบและโลชั่นของตัวเอง เพราะ ฉันไม่รู้สึกยินดีกับความหวังที่จะเอาชนะเครื่องหมายดอกจันด้วยความตั้งใจ ดังนั้นฉันจึงตัดสินใจติดตั้งเวอร์ชัน 1.4 เหมือนของเพื่อน เพื่อให้มีการกำหนดค่าที่เข้ากันได้สูงสุดที่เป็นไปได้ แม้ว่าในเวลาต่อมา เราจะต้องอัปเกรดเป็น 1.6 เนื่องจากขาดการรองรับ TCP ใน 1.4 เมื่อความต้องการดังกล่าวเกิดขึ้น
เมื่อต้องการทำเช่นนี้ มีการแนบที่เก็บ digium เข้ากับ CentOS และติดตั้งเครื่องหมายดอกจันจากนั้น
การติดตั้งเป็นไปตามที่คาดไว้โดยไม่มีข้อผูกมัด โดยพื้นฐานแล้ว มีการใช้แผนงานทีละขั้นตอนที่สมเหตุสมผลพร้อมข้อมูล voip
iptables ได้รับการแก้ไขทันทีเพื่อให้สามารถรับส่งข้อมูลบนพอร์ต SIP
ยังไม่เกิดขึ้นทันที แต่ฉันแนะนำให้คนรุ่นต่อๆ ไปติดตั้งและกำหนดค่าแพ็คเกจชื่อ failed2ban ทันที ไม่เลย โปรแกรมพิเศษบนเซิร์ฟเวอร์ที่เปิดเผยต่ออินเทอร์เน็ต หนึ่งวันหลังการติดตั้ง ไต้หวันทั้งหมดตกต่ำลง โดยตัดสินโดย iptables
เริ่มจากส่วนที่สนุกกันก่อน นั่นคือการวางแผน ก่อนกระบวนการกำหนดค่าใดๆ จำเป็นต้องจดบันทึกและจัดโครงสร้างความปรารถนาทั้งหมดของลูกค้า และอย่าลืมลงนามในข้อตกลงเพื่อหลีกเลี่ยงความขัดแย้งประเภท "ไม่ ฉันพูดบางอย่างที่แตกต่างไปจากเดิมอย่างสิ้นเชิง" ในอนาคต ในกรณีของฉัน ลูกค้าคือบริษัทที่ฉันทำงานด้วย แต่สิ่งนี้ไม่ได้เปลี่ยนแปลงอะไรเลย เราเขียน เงื่อนไขการอ้างอิงเกี่ยวกับฟังก์ชันการทำงาน หารือกับผู้รับผิดชอบ ยุติข้อขัดแย้ง และลงนามในเวอร์ชันสุดท้าย และเริ่มตั้งค่าเครื่องหมายดอกจัน
ข้อมูลจำเพาะสำหรับการกำหนดค่ากลายเป็นดังนี้:
- หมายเลขโทรศัพท์เป็นตัวเลขสี่หลัก
- ตัวเลขตัวแรกคือสัญลักษณ์ของประเทศที่สำนักงานตั้งอยู่
- การนับเลขในแต่ละแผนกจะเริ่มต้นด้วยหลักแรกของหลักร้อยถัดไป
- แต่ละแผนกจะมีกลุ่มการโทรแยกกัน
- หากผู้สมัครสมาชิกที่ถูกเรียกไม่สามารถรับสายได้ไม่ว่าด้วยวิธีใดก็ตาม การโทรจะถูกโอนไปยังทั้งกลุ่ม
- ตรรกะในการให้บริการสายเรียกเข้า:
- หยิบโทรศัพท์ขึ้นมา
- เล่นทักทาย.
- เล่นโฆษณาเกี่ยวกับโปรโมชั่นปัจจุบัน
- เล่นตัวเลือกการโทรไปยังแผนกต่างๆ หรือเสนอให้กดหมายเลขสมาชิก
- เริ่มจากจุดที่ 2 รอให้ป้อนคำสั่งใด ๆ
- หลังจากเสร็จสิ้นขั้นตอนที่ 4 แล้ว ให้รออีก 10 วินาทีเพื่อให้ป้อนคำสั่ง
- หากไม่มีคำสั่ง ให้เล่นตัวเลือกการโทรอีกครั้ง
- หากสมาชิกยังโง่อยู่ให้โอนสายไปที่เลขา
- สำหรับผู้ใช้บริการที่ต้องการบริการดังกล่าว สกรู ข้อความเสียง- ในกรณีนี้ หากผู้ใช้ไม่สามารถโทรออกได้ไม่ว่าด้วยวิธีใดก็ตาม ให้โอนสายไปยังข้อความเสียง
- ตามค่าเริ่มต้น อนุญาตให้โทรได้เฉพาะในรัสเซียและอิตาลี ซึ่งเป็นประเทศที่บริษัทของเราดำเนินกิจการเป็นหลัก ทิศทางที่เหลือจะถูกเปิดตามความจำเป็นด้วยมาสก์ที่แคบที่สุดเพราะว่า เราทุกคนจำได้ เรื่องราวที่น่ากลัวเกี่ยวกับ “ผู้ให้บริการโทรศัพท์ในคิวบา” และเราไม่อยากให้วันหนึ่ง PBX ของเราเริ่มโทรไปยังเซียร์ราลีโอนทั้ง 50 ช่องอย่างกะทันหัน โดยคิดค่าบริการ 14 ดอลลาร์ต่อนาทีสำหรับแต่ละช่อง
เมื่อมองแวบแรก งานนั้นง่ายมาก และการตั้งค่าเครื่องหมายดอกจันจะใช้เวลาไม่นาน แต่ในทางปฏิบัติต้องใช้ความพยายามอย่างมากในการประสานงาน โดยเฉพาะอย่างยิ่งการตกลงห้ามทุกทิศทาง ยกเว้นที่ได้รับอนุญาตอย่างชัดเจน ลูกค้าจะต้องยอมรับสิ่งนี้เฉพาะเมื่อต้องเผชิญกับความจำเป็นที่หลีกเลี่ยงไม่ได้ในการกำหนดค่า VPN บนอุปกรณ์ทุกเครื่องที่เชื่อมต่อกับ PBX ฉันแค่พยายามทำให้การกำหนดค่าเรียบง่ายและเข้าใจง่ายที่สุดเท่าที่จะเป็นไปได้ และลูกค้ามักจะคิดว่าการเพิ่มฟังก์ชันการทำงานบางอย่างให้กับระบบคือ "เพียงกดปุ่มเพียงไม่กี่ปุ่ม"
วันที่สี่: nano sip.confมาถึงส่วนที่สนุกแล้ว: กระบวนการตั้งค่าเครื่องหมายดอกจัน
เพื่อไม่ให้ลากบทความยาวๆ ออกไปจนเป็นภาระ คำอธิบายโดยละเอียดความทุกข์ทรมานของการกำหนดค่าเริ่มต้นและการปรับแต่งในภายหลัง ฉันจะแสดงการกำหนดค่าปัจจุบันของฉันพร้อมความคิดเห็นเกี่ยวกับสิ่งที่เป็นอยู่
บริบท=ค่าเริ่มต้น ;บริบทเริ่มต้น
Allowguest=no ;ไม่มีแขก เราไม่ได้คาดหวังใคร
Allowoverlap=no ;พารามิเตอร์นี้จะกำหนดว่าเราอนุญาตให้โอนสายด้วยตัวเลขเพิ่มเติมหรือไม่ เราไม่อนุญาต
Alwaysauthreject=yes ;พารามิเตอร์นี้หมายความว่าข้อผิดพลาดทั้งหมดสำหรับไคลเอ็นต์ภายนอกมีลักษณะเหมือนกัน - ข้อผิดพลาดในการอนุญาต ออกแบบมาเพื่อทำให้การแฮ็ก PBX มีความซับซ้อน
useragent=Orgue de Barbaris ;นี่คือวิธีที่เราแนะนำตัวเองกับผู้อื่น ฉันระบุตัวเองด้วยชื่อแผ่นเสียงแผ่นแรกเพื่อให้ฝ่ายสนับสนุนด้านเทคนิคของผู้ให้บริการค้นหาการสนทนากับ PBX ของฉันได้ง่ายขึ้น เพราะ... ฉันต้องสื่อสารกับพวกเขาเป็นระยะ
defaultexpiry=360 ;ช่วงเวลาสำหรับการลงทะเบียนไคลเอนต์ใหม่ที่จำเป็น
callevents=yes ;นี่เป็นสำหรับอนาคตเพื่อให้ไคลเอนต์สามารถเล่นเพลงที่ควบคุมการพักสายได้
Limitonpeer=yes ;เรานับสายโทรออกและสายเรียกเข้าจากเพื่อนด้วยกัน
tcpenable=ใช่ ;อนุญาต โปรโตคอล TCPสำหรับจิบ
rtptimeout=60 ;ระยะเวลาที่ไคลเอ็นต์อาจไม่ตอบสนองก่อนที่จะถูกไล่ออกจากระบบ
language=ru ;ภาษาของระบบ ใช้สำหรับเมนูเสียง
bindport=5060 ;พอร์ตเริ่มต้น สามารถเปลี่ยนแปลงได้เพื่อทำให้การคำนวณและการแฮ็ก PBX ซับซ้อนขึ้น แต่วิธีแก้ปัญหายังเป็นที่ถกเถียงกันอยู่
bindaddr=0.0.0.0 ;ฉันมีเลขศูนย์เพราะ... PBX มีสองอินเทอร์เฟซและทั้งสองมีไคลเอนต์
srvlookup=ใช่
tos_sip=cs3 ; http://www.voip-info.org/wiki/view/Asterisk+sip+tos
tos_audio=efdisallow=all ;ขั้นแรกไม่อนุญาตให้ใช้ตัวแปลงสัญญาณทั้งหมด
Allow=alaw ;จากนั้นเราจะอนุญาตเฉพาะที่เราต้องการใช้เท่านั้น ลำดับไม่สำคัญ
อนุญาต=g729
อนุญาต=g723
อนุญาต=ulaw
canreinvite=no ;พารามิเตอร์นี้ป้องกันไม่ให้ไคลเอ็นต์สื่อสารโดยตรง การสื่อสารเกิดขึ้นผ่านเซิร์ฟเวอร์เท่านั้น ฉันทำเช่นนี้เพราะไคลเอนต์มือถือใช้ไคลเอนต์แบบชำระเงินด้วยโปรโตคอล g.729a และไคลเอนต์โทรศัพท์พื้นฐานใช้ ลูกค้าฟรีโดยไม่มีมัน ดังนั้น ฉันต้องการให้เซิร์ฟเวอร์เครียดด้วยการแปลงรหัส alawg.729a ทันทีเพื่อสนับสนุนคุณภาพการเชื่อมต่อสำหรับ ลูกค้ามือถือ- ยิ่งกว่านั้น Core i7-930 ไม่สังเกตเห็นภาระนี้เลย
สิ่งที่ต้องทำก่อนการติดตั้ง โปรดดูหัวข้อนี้หากคุณต้องการติดตั้ง PBX ที่ต้องรับมือ ภาระหนักและคุณไม่แน่ใจว่าซอฟต์แวร์และฮาร์ดแวร์ของคุณจะรองรับหรือไม่ ระบบปฏิบัติการ: เซิร์ฟเวอร์เครื่องหมายดอกจันใช้งานได้ดีสำหรับ ระบบลินุกซ์ก็ได้ทำเสร็จแล้วเช่นกัน เยี่ยมมากสมาชิกของโครงการเพื่อพอร์ตเซิร์ฟเวอร์ Asterisk ไปยังแพลตฟอร์ม BSD รวมถึง FreeBSD, OpenBSD และ Mac OS X อย่างไรก็ตาม ไดรเวอร์ zaptel และไดรเวอร์ช่อง ISDN อาจไม่รองรับบนแพลตฟอร์มเหล่านี้ โปรดดูส่วนระบบปฏิบัติการสำหรับเซิร์ฟเวอร์ Asterisk สำหรับข้อมูลเฉพาะระบบปฏิบัติการ หรือคุณสามารถใช้วิธีการที่อธิบายไว้ในหน้าด้านล่าง: การติดตั้ง Asterisk CDROM Asterisk Bootable CDROM คู่มือการติดตั้งด่วน อ่านภาพรวม 10 นาทีของ Asterisk Server หากคุณ ต้องการทราบว่าเซิร์ฟเวอร์ Asterisk สามารถทำอะไรได้บ้าง มิฉะนั้น คุณสามารถข้ามส่วนนี้ได้ คำแนะนำทีละขั้นตอนในการติดตั้ง Asterisk โดยคุณจะพบข้อมูลตั้งแต่การตั้งค่า Linux ไปจนถึงตัวแรก โทรศัพท์ chervez เครื่องหมายดอกจันของคุณ http://www.automated.it/guidetoasterisk.htm http://asterisk.net.au/คู่มือการติดตั้งเซิร์ฟเวอร์ Asterisk จากกูรูในเรื่องนี้ข้อกำหนดของระบบ คุณไม่จำเป็นต้องมีอุปกรณ์เฉพาะใดๆ ในการติดตั้งและรันเซิร์ฟเวอร์ Asterisk จำเป็นสำหรับ การ์ดเสียงไม่ คุณต้องติดตั้งสิ่งต่อไปนี้ แพคเกจซอฟต์แวร์ก่อนที่จะคอมไพล์เครื่องหมายดอกจัน: ไฟล์ Kernel Sources.h สำหรับเคอร์เนลของคุณ (ส่วนหัวเคอร์เนล) วัวกระทิง (จำเป็นสำหรับการประมวลผลนิพจน์ในไฟล์) แพ็คเกจ: openssl และ openssl-dev หรือ libssl-devlibnewt: จำเป็นสำหรับอินเทอร์เฟซการจัดการ astman ในการทำงาน ไม่จำเป็นสำหรับเซิร์ฟเวอร์ Asterisk แต่หากไม่มีแพ็คเกจนี้ คุณจะไม่มีแอปพลิเคชัน astman ซึ่งเป็นโปรแกรมแยกต่างหาก คุณไม่จำเป็นต้องติดตั้งแพ็คเกจ "readline" และ "readline-devel" สำหรับ Asterisk อีกต่อไป เซิร์ฟเวอร์มาพร้อมกับการใช้งานแพ็คเกจ "readline" ที่เรียกว่า "editline" หากคุณวางแผนที่จะใช้โปรแกรมเสริมเพื่อทำงานด้วย ฐานข้อมูล mysqlติดตั้งแพ็คเกจสำหรับเซิร์ฟเวอร์ mysql, mysql_devel & mysql หากคุณวางแผนที่จะใช้การ์ดอินเทอร์เฟซจาก Digium คุณจะต้องติดตั้งโมดูลเคอร์เนลเพื่อรองรับไดรเวอร์อุปกรณ์ Zaptel ก่อนจึงจะสามารถใช้งานได้ในเครื่องหมายดอกจัน อย่างไรก็ตาม คุณอาจต้องการดาวน์โหลดและติดตั้งเครื่องหมายดอกจันก่อน - ทดสอบการทำงานของโทรศัพท์ SIP และ IAX - และหลังจากนั้นให้เพิ่มการรองรับการ์ด Digium ของคุณเท่านั้น การติดตั้ง ดูส่วน "ระบบปฏิบัติการที่เซิร์ฟเวอร์ Asterisk ทำงาน" เพื่อรับซึ่งขึ้นอยู่กับระบบปฏิบัติการที่ใช้ วิธีรับตัวจับเวลา Asterisk ของเซิร์ฟเวอร์: จำเป็นสำหรับการประชุม MeetMe และสำหรับ IAX2 Trunks นักพัฒนาบุคคลที่สามโปรดตรวจสอบส่วนยูทิลิตี้ของบุคคลที่สามในหน้าหลักเฉพาะสำหรับข้อมูลเกี่ยวกับแอปพลิเคชันต่อไปนี้:เพลงรอสาย: การใช้ mpg123 ข้อความเสียง: ต้องใช้ sendmail เพื่อส่งการแจ้งเตือนทางอีเมล การบันทึกรายละเอียดการโทร: เซิร์ฟเวอร์ Asterisk สามารถบันทึกข้อมูลนี้ได้ ไฟล์ CSV, ไปยังฐานข้อมูล ข้อมูล PostgreSQLหรือใน SQLite โปรดใส่ใจกับแพ็คเกจ asterisk_addons จาก SVN .odbc: สำหรับจัดเก็บและดึงข้อมูลจากฐานข้อมูลอื่น (นอกเหนือจาก MySQL) ตัวแปลงสัญญาณ speex: จำเป็นต้องมีการติดตั้งไลบรารีเพิ่มเติม: การรู้จำคำพูดของเทศกาล: บูรณาการกับแอปพลิเคชัน Sphinx
บทความนี้เป็นหมายเหตุในกรณีที่ฉันต้องจำวิธีกำหนดค่าเครื่องหมายดอกจันเพื่อรับและส่งสาย หมายเหตุนี้ควรจะเพียงพอที่จะกำหนดค่าสถานีสำนักงานบน ip pbx Asterisk จนถึงตอนนี้ ฉันยังไม่มีความคิดหรือประสบการณ์ที่ชัดเจนในการกำหนดค่า Asterisk ให้ทำงานโดยไม่ต้องใช้ FreePbx นั่นคือการใช้เฉพาะไฟล์การกำหนดค่าและคอนโซล และตอนนี้ฉันแค่เรียนรู้สิ่งนี้ บนอินเทอร์เน็ต การตั้งค่าทั้งหมดมีไว้เพื่อแก้ไขปัญหาใดปัญหาหนึ่ง แต่ฉันไม่เห็นบทความที่สามารถให้พื้นฐานอย่างน้อยที่สุดสำหรับการกำหนดค่าขั้นต่ำของสถานี IP บางทีฉันอาจค้นหาได้ไม่ดีนัก
ดังนั้นฉันจึงสร้างและติดตั้งเครื่องหมายดอกจันในโฟลเดอร์ /etc/asterisk ไฟล์การกำหนดค่า- อะไรต่อไป?
1. ความสามารถของสมาชิกภายในในการโทรหากัน
2. การจัดตั้งสายภายนอกเพื่อให้สถานีสามารถรับบริการการเข้าถึงเส้นทางสายเมือง ตัวเลขทางไกลและรับสายเรียกเข้า
3. การกำหนดค่าความสามารถในการโทรไปยังสมาชิกไปยังหมายเลขเมืองและหมายเลขทางไกล และรับสายจากในเมือง
ต่อไปนี้เป็นงานหลักสามประการที่ต้องแก้ไข โดยธรรมชาติแล้วโครงการอาจแตกต่างกัน นั่นคือสมาชิกสามารถรวมเป็นกลุ่มได้อาจมีผู้ให้บริการโทรคมนาคมภายนอกหลายราย สายเรียกเข้าสามารถส่งไปยังผู้แจ้งข้อมูลอัตโนมัติ คิว หรือทั้งสองอย่างก็ได้ รูปแบบการบริการอาจแตกต่างกันและซับซ้อนมากขึ้น แต่จะต้องเป็นไปตามเงื่อนไขสามข้อแรกไม่ว่าในกรณีใด
ดังนั้นสิ่งแรกที่เราทำคือสร้างสมาชิกภายใน (เพียร์) ในไฟล์ sip.conf
สมาชิก A จะมีการตั้งค่าดังต่อไปนี้:
ไม่อนุญาต=ทั้งหมด
อนุญาต=ulaw
อนุญาต = อนุญาต
ประเภท=เพื่อน
ชื่อผู้ใช้=101
ความลับ=รหัสผ่าน
มีคุณสมบัติ=ใช่
บริบท=101
หมายเลขผู้โทร=101
โฮสต์ = ไดนามิก
ขีดจำกัดการโทร=1
สามารถเชิญใหม่ได้=ใช่
รหัสบัญชี=101
amaflags=การเรียกเก็บเงิน
ปฏิเสธ=0.0.0.0/0
ใบอนุญาต=192.168.0.66
ที่ไหน:
disallow=all ห้ามใช้ตัวแปลงสัญญาณทั้งหมดยกเว้น G.711
อนุญาต=ulaw
อนุญาต = อนุญาต
type=friend พารามิเตอร์นี้สามารถรับค่าได้สามค่า:
- เพื่อนประเภทนี้ใช้สำหรับโทรเข้าและโทรออก สำหรับสายเรียกเข้า ชื่อผู้ใช้และรหัสผ่านจะไม่ถูกตรวจสอบ แต่จะตรวจสอบเฉพาะที่อยู่ IP และหมายเลขพอร์ตของต้นทางการโทร
- ผู้ใช้รายการที่สามารถโทรออกได้เท่านั้น
- เพื่อนรายการที่เป็นทั้งเพียร์และผู้ใช้
ชื่อผู้ใช้=101
ความลับ=รหัสผ่าน
เข้าสู่ระบบและรหัสผ่านตามลำดับ
ส่งข้อความ SIP ประเภท Options เป็นระยะเพื่อตรวจสอบความพร้อมของอุปกรณ์สำหรับการลงทะเบียนซึ่งมีประโยชน์เมื่อทำงานผ่าน NAT เพื่อบันทึกค่าในตารางการแปล
ชื่อบริบท พร้อมด้วยกฎการกำหนดเส้นทาง
ID ผู้โทรของหมายเลขของเรา
โฮสต์ = ไดนามิก
IP โฮสต์ที่จะลงทะเบียน
ขีดจำกัดการโทร=1
(เคาน์เตอร์รับสาย)
จำกัดการโทรพร้อมกัน คุณสามารถกำหนดจำนวนช่องได้ที่นี่
สามารถเชิญใหม่ได้=ใช่
(ไดเร็กมีเดีย)
พารามิเตอร์นี้มีหน้าที่รับผิดชอบในขั้นตอนการเชิญซ้ำ หากไม่ การโทรทั้งหมดจะผ่านเครื่องหมายดอกจัน หากใช่ สตรีม RTP จะถูกส่งระหว่างอุปกรณ์สองเครื่องโดยไม่ผ่านเครื่องหมายดอกจัน
รหัสบัญชี=101
amaflags=การเรียกเก็บเงิน
บันทึก CDR สำหรับฟิลด์รหัสบัญชีจะมีค่า 101
ค่าของฟิลด์แฟล็ก AMA สำหรับการโทรออกจากผู้ใช้ SIP รายนี้
ปฏิเสธ=0.0.0.0/0
ใบอนุญาต=192.168.0.66
ACL ip ซึ่งเราจะอนุญาตให้ลงทะเบียน
ในทำนองเดียวกันสำหรับผู้สมัครสมาชิก B:
ไม่อนุญาต=ทั้งหมด
อนุญาต=ulaw
อนุญาต = อนุญาต
ประเภท=เพื่อน
ชื่อผู้ใช้=102
ความลับ=รหัสผ่าน
มีคุณสมบัติ=ใช่
บริบท=102
หมายเลขผู้โทร=102
โฮสต์ = ไดนามิก
ขีดจำกัดการโทร=1
สามารถเชิญใหม่ได้=ใช่
รหัสบัญชี=102
amaflags=การเรียกเก็บเงิน
ปฏิเสธ=0.0.0.0/0
ใบอนุญาต=192.168.0.67
ตัวเลือกเพิ่มเติมในงานฉลองที่อาจมีประโยชน์:
ขนส่ง=tcp,udp
ฉันสามารถทำงานได้ไม่เพียงแค่ใช้ udp เท่านั้น แต่ต้องตั้งค่า tcpenable=yes โดยทั่วไปด้วย
rtptimeout=180
rtpholdtimeout=420
มีประโยชน์สำหรับไคลเอนต์ SIP ที่ไม่วางสายเมื่อปิดหรือยกเลิกการเชื่อมต่อ ใน ในกรณีนี้เซสชัน RTP จะสามารถรีเซ็ตตัวเองได้โดยการหมดเวลา rtpholdtimeout - หากสายถูกพักสาย
nat=force_rport,ตลก
หากอุปกรณ์อยู่หลัง NAT เราจะแก้ไขงานผ่าน rport ส่งแพ็กเก็ต RTP กลับไปยังที่อยู่ IP และพอร์ตที่ได้รับโดยไม่สนใจข้อมูลจาก SDP
ค่าเริ่มต้นหมดอายุ=60
เวลาหมดอายุของการลงทะเบียนเป็นวินาทีสำหรับการลงทะเบียนขาเข้าและขาออก
dtmfmode=rfc2833
เราจะทำงานร่วมกับสัญญาณ DTMF อย่างไร
1. ดังนั้นงานแรก การตั้งค่าการกำหนดเส้นทางระหว่างไคลเอนต์ sip 101 และ 102 ในเวอร์ชันที่ง่ายที่สุดสามารถแก้ไขได้ด้วยหนึ่งบรรทัดในไฟล์ sip.conf และรวมการกำหนดค่า
ขยาย => _XXX,1,Dial(SIP/$(EXTEN),20,T)
สะดวกในการใช้งาน sip.conf ดังนี้:
รวม => in_out_peer_local
ตอนนี้ผู้สมัครสมาชิก 101 จะสามารถสื่อสารกับผู้สมัครสมาชิก 102 และในทางกลับกัน 102 จะสามารถโทร 101 ได้
2. เพื่อสร้างเงื่อนไขที่สมาชิกภายในจะสามารถเข้าถึงสายภายนอกได้ เราจะเชื่อมต่อสถานีกับผู้ให้บริการโทรคมนาคมโดยใช้จิบเดียวกัน
นั่นคือเราจะสร้างลำตัว
ประเภท = เพื่อน
โฮสต์=XX.XXX.XXX.XX
พอร์ต=5060
fromdomain=ip ของสถานีของเรา
แนท=ไม่
ไม่อนุญาต=ทั้งหมด
อนุญาต=ulaw
อนุญาต = อนุญาต
อนุญาต=gsm
สามารถเชิญใหม่ได้=ไม่
;อนุญาต=g722
trustpid=ใช่
sendrpid=ใช่
dtmfmode=rfc2833
มีคุณสมบัติ=ใช่
ไม่ปลอดภัย = เชิญพอร์ต
ปฏิเสธ=0.0.0.0/0.0.0.0
ใบอนุญาต=XX.XXX.XXX.XX/255.255.255.255
บริบท=ให้
การตั้งค่า Trunk นั้นคล้ายคลึงกับการตั้งค่าเพียร์มาก โดยหลักการแล้วนี่คือเพียร์ ซึ่งเป็นตัวเลือกที่สำคัญ
fromdomain – ตั้งค่า fromdomain ในแพ็กเก็ต sip เพื่อให้คุณสามารถเข้าใจว่าจะส่งแพ็กเก็ต sip กลับไปที่สถานีของเราได้ที่ไหน
trustpid=ใช่
sendrpid=ใช่
จะเชื่อถือหรือไม่ได้รับ Remote-Party-ID
ไม่ปลอดภัย = เชิญพอร์ต
เราไม่ต้องการการรับรองความถูกต้องของข้อความเชิญที่เข้ามา เราไม่ตรวจสอบหมายเลขพอร์ตเพียงเพื่อให้สอดคล้องกับที่อยู่ IP
3. มันเป็นเรื่องเล็ก ๆ น้อย ๆ ทันทีที่เปิดใช้งาน trunk คุณจะต้องลงทะเบียนเส้นทางขาออกเพื่อโทรไปยังสมาชิก A และ B
ดูเหมือนว่ามาตรฐานโดยพฤตินัยจะบอกว่าให้ตั้งค่าการสื่อสารขาออกก่อนเสมอ
การสร้างบริบทสำหรับการโทรออก
สำหรับการโทรออกไปยังเมือง
exten => _XXXXXX,1,Dial(SIP/ ผู้ให้บริการ /$(EXTEN))
ขยาย => _XXXXXX,n,วางสาย
สำหรับการโทรออกไปยังจุดหมายปลายทางทางไกล
exten => _8.,1,Dial(SIP/ ผู้ให้บริการ /$(EXTEN))
ขยาย => _8.,n,วางสาย
หลังจากที่การเชื่อมต่อขาออกใช้งานได้ เราจะตั้งค่าการเชื่อมต่อขาเข้า
ใน กรณีง่ายๆหากไม่มีตัวแจ้งอัตโนมัติ กลุ่มและคิว ก็จะมีลักษณะเช่นนี้
ขยาย => 2466754,1,Dial(SIP/$(EXTEN))
ขยาย => 2466754,n,วางสาย
สถานีใดๆ ก็ตามสามารถกำหนดค่าได้ในลักษณะเดียวกันตามหลักการที่กล่าวไว้ข้างต้น
GUI ผู้ดูแลระบบ IP – เครื่องหมายดอกจัน PBX– FreePBX มีตัวเลือกการกำหนดค่า ตัวเลือกเส้นทาง การเชื่อมต่ออุปกรณ์ต่างๆ มากมาย ตั้งแต่ ชุดโทรศัพท์และปิดท้ายด้วยเกตเวย์ ในบทความเราจะอธิบาย การตั้งค่าพื้นฐาน FreePBX เวอร์ชันที่สิบสามทันทีหลังจาก .
วิดีโอทีละขั้นตอน กำลังเชื่อมต่อกับ FreePBXหากต้องการเชื่อมต่อกับ FreePBX GUI คุณต้องป้อนที่อยู่ IP เครื่องหมายดอกจันที่คุณระบุไว้ในระหว่างขั้นตอนการติดตั้ง หากคุณลืมที่อยู่ IP ที่คุณระบุ ให้เชื่อมต่อจอภาพและแป้นพิมพ์เข้ากับเซิร์ฟเวอร์ของคุณ จากนั้นป้อนข้อมูลให้ ผู้ใช้รูทดังต่อไปนี้:
เมื่อเชื่อมต่อ คุณจะได้รับที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ หากเวอร์ชันการแจกจ่ายของคุณแตกต่างออกไป และคุณไม่เห็นผลลัพธ์เดียวกัน ให้รันคำสั่งต่อไปนี้:
#ifconfig
ผลลัพธ์ของคำสั่งจะช่วยให้คุณเห็นทุกสิ่ง อินเทอร์เฟซที่มีอยู่และที่อยู่ IP ของพวกเขา
การเปิดใช้งานและรหัสผ่านผู้ดูแลระบบเมื่อเชื่อมต่อกับ FreePBX 13 ผ่านอินเทอร์เน็ตเบราว์เซอร์ คุณจะได้รับแจ้งให้สร้างทันที บัญชีผู้ดูแลระบบโดยระบุล็อกอิน รหัสผ่าน และที่อยู่ อีเมลผู้ดูแลระบบ หลังจากสร้างสำเร็จแล้ว ให้เลือก หน้าแรกรายการการดูแลระบบ FreePBX และระบุพารามิเตอร์ที่สร้างขึ้น:
ทันทีหลังจากเชื่อมต่อ ให้ไปที่แท็บผู้ดูแลระบบ → ผู้ดูแลระบบ แล้วคลิกปุ่มเปิดใช้งาน
หลังจากนี้ ให้ทำตามคำแนะนำของโปรแกรมติดตั้ง คุณจะต้องระบุที่อยู่อีเมล รหัสผ่าน หมายเลขโทรศัพท์ และที่ตั้งเซิร์ฟเวอร์ของคุณ
การตั้งค่าจิบ
โมดูลการตั้งค่า SIP คือการแสดงภาพกราฟิกของการตั้งค่าในไฟล์ /etc/asterisk/sip_nat.conf ที่นี่ด้วยความช่วยเหลือ กุยสามารถปรับแต่งได้ พารามิเตอร์ที่สำคัญที่สุด, เช่น การตั้งค่าแนท, ที่อยู่ IP ภายนอก และการตั้งค่าตัวแปลงสัญญาณ หากต้องการไปที่การกำหนดค่า ให้คลิกที่แท็บการตั้งค่า จากนั้นเลือกการตั้งค่า Asterisk Sip
อนุญาตการโทร SIP ขาเข้าแบบไม่ระบุชื่อ
ตัวเลือกนี้ช่วยให้คุณสามารถอนุญาตหรือบล็อกสายเรียกเข้าได้ หมายเลขที่ไม่รู้จัก- เราแนะนำให้ห้าม ประเภทนี้การโทร เนื่องจากอาจอนุญาตให้มีการโทรโดยไม่ระบุชื่ออาจกลายเป็นช่องโหว่สำหรับผู้โจมตี
เครือข่ายท้องถิ่น
ป้อนที่อยู่เครือข่ายย่อยท้องถิ่น (อยู่ในเครือข่ายของคุณ) ที่เครื่องหมายดอกจันจะเชื่อถือ ตัวอย่างเช่น 192.168.2.0/255.255.255.0
ช่วง RTP
ระบุช่วงของพอร์ต RTP เราขอแนะนำให้ปล่อยให้ทุกอย่างเป็นค่าเริ่มต้น
RTP ที่เข้มงวด
เมื่อมีการสร้างสตรีม RTP ระหว่างอุปกรณ์สองเครื่อง จะมีการกำหนดที่อยู่ต้นทางและปลายทาง เมื่อเปิดใช้งานตัวเลือกนี้ แพ็กเก็ตทั้งหมดที่มาจากที่อยู่ IP อื่นจะถูกละทิ้ง เราขอแนะนำไม่ปิดการใช้งานตัวเลือกนี้
ตัวแปลงสัญญาณ
ทำเครื่องหมายที่ช่องถัดจากตัวแปลงสัญญาณที่จำเป็น
การตั้งค่า NAT ใน FreePBX
ในกรณีส่วนใหญ่ หากผู้ดูแลระบบตรวจพบปัญหาการได้ยินทางเดียว หรือการโทรหลุดหลังจากการสนทนาไม่กี่วินาที ปัญหาจะอยู่ที่ NAT นี่คือสิ่งที่คุณต้องทำเพื่อกำจัดปัญหานี้: ในการตั้งค่าโมดูลการตั้งค่า Asterisk SIP ให้ไปที่แท็บการตั้งค่า Chan SIP และสังเกตสิ่งต่อไปนี้:
แนท - ใช่
การกำหนดค่า IP - IP แบบคงที่
แทนที่ IP ภายนอก - ป้อนที่อยู่ IP ภายนอกของคุณ
อย่าลืมระบุใน การตั้งค่าท้องถิ่นเครือข่ายใน แท็บก่อนหน้าซับเน็ตท้องถิ่นของคุณ นอกจากนี้ พอร์ตส่งต่อ 5060 และช่วงของพอร์ตจากพารามิเตอร์ RTP Ranges บนเราเตอร์ของคุณ ค่าเริ่มต้นคือ 10,000-20,000
การตั้งค่า พารามิเตอร์เครือข่ายฟรีPBX
มีสาม จุดสำคัญการตั้งค่าที่กำหนด:
ที่นี่เรากำหนดค่าตัวเลือกต่อไปนี้:
- อินเทอร์เฟซเครือข่าย - อินเตอร์เฟซเครือข่ายนั่นคือเฉพาะเจาะจง การ์ดเครือข่าย(นิค)
- การกำหนด IP - เลือกแบบคงที่เพื่อกำหนดค่าที่อยู่ IP แบบคงที่
- IP แบบคงที่ - ป้อนที่อยู่ IP ของเซิร์ฟเวอร์
- เน็ตมาสก์ - เน็ตเวิร์กมาสก์
- เกตเวย์ - เกตเวย์เริ่มต้น
- เริ่มโดยอัตโนมัติ - เริ่มต้นเมื่อเซิร์ฟเวอร์บูท
มาตั้งค่าการแจ้งเตือนสำหรับเซิร์ฟเวอร์เครื่องหมายดอกจันของเราในกรณีที่เกิดข้อผิดพลาดเล็กน้อย พื้นที่ดิสก์หรือความล้มเหลวของอาร์เรย์ RAID:
เรากำหนดค่าตัวเลือกต่อไปนี้:
- ที่อยู่จาก - ที่อยู่อีเมลที่ PBX จะระบุเป็นที่อยู่ของผู้ส่งเมื่อสร้างจดหมาย
- การแจ้งเตือนที่เก็บข้อมูล - เมลสำหรับการแจ้งเตือนเกี่ยวกับปัญหาการจัดเก็บข้อมูล (ความล้มเหลวของ RAID หรือพื้นที่ดิสก์เหลือน้อย)
- IP การแจ้งเตือนการตรวจจับการบุกรุก - อีเมลสำหรับการแจ้งเตือนเกี่ยวกับการบุกรุกหรือความพยายามในการแฮ็กเซิร์ฟเวอร์
การกำหนดค่าความปลอดภัย
เครื่องหมายดอกจันมีระบบตรวจจับการบุกรุกในตัว – Fail2Ban หากต้องการกำหนดค่าระบบ ให้ไปที่แท็บผู้ดูแลระบบ → ผู้ดูแลระบบ → การตรวจจับการบุกรุก
ระบบมีความยืดหยุ่น และบางครั้งก็ตอบสนองเมื่อไม่จำเป็น :) ดังนั้น เราขอแนะนำให้คุณเพิ่มรายการที่อยู่ IP ที่จำเป็น เช่น พร็อกซี IP SIP ที่อยู่เกตเวย์ เช่น FXS ลงในไวท์ลิสต์ล่วงหน้า บางครั้งมันเกิดขึ้นที่ที่อยู่ IP ของเกตเวย์ FXS ที่โทรศัพท์อะนาล็อกในสำนักงานทั้งหมดเชื่อมต่ออยู่จะถูกแบน
- สถานะ - เราขอแนะนำให้คุณตรวจสอบสถานะของ Fail2Ban เสมอเพื่อให้สถานะกำลังทำงานอยู่
- การตรวจจับการบุกรุก - ณ จุดนี้คุณสามารถหยุดและรีสตาร์ทบริการได้
- เวลาแบน - เวลาเป็นวินาทีที่ที่อยู่ IP จะอยู่ในสถานะบล็อก
- Max Retry - จำนวนความพยายามในการเชื่อมต่อกับ PBX ที่ผู้ใช้สามารถทำได้ในระหว่าง Find Time
- Find Time - เวลาที่ผู้ใช้พยายามเชื่อมต่อกับระบบสูงสุดอีกครั้ง
- อีเมล: - ที่อยู่อีเมลที่จะส่งการแจ้งเตือนเกี่ยวกับการเพิ่มที่อยู่ IP ใหม่ลงในการแบน
- ไวท์ลิสต์คือรายการที่อยู่ IP ที่ป้อนไว้ล่วงหน้าซึ่งผู้ดูแลระบบเชื่อถือ
การตั้งค่าหมายเลขต่อ
หากต้องการกำหนดค่าโทรศัพท์และสร้างหมายเลขต่อ ให้ไปที่แท็บ แอปพลิเคชัน → ส่วนขยาย เราได้อธิบายกระบวนการสร้างหมายเลขภายใน (ส่วนขยาย) ไว้ในบทความตามลิงค์ด้านล่าง:
กำลังตั้งค่า SIP Trunk
การเชื่อมต่อกับผู้ให้บริการก็คือ ขั้นตอนที่สำคัญที่สุดในการตั้งค่าเซิร์ฟเวอร์ IP ของคุณ - Asterisk PBX เป็นการตั้งค่าผู้ให้บริการที่จะอนุญาตให้ผู้ใช้ของเราโทรออกและรับสายเรียกเข้า สำหรับ การตั้งค่าจิบ– trunk ไปที่แท็บการเชื่อมต่อ → Trunks กระบวนการสร้าง SIP trunk มีการอธิบายโดยละเอียดในบทความที่ลิงค์ด้านล่าง:
การตั้งค่าเส้นทาง
หลังจากที่เรากำหนดค่าหมายเลขภายในและ SIP Trunks เพื่อเชื่อมต่อกับผู้ให้บริการแล้ว เราจำเป็นต้องกำหนดค่าการกำหนดเส้นทางการโทร ในส่วนหนึ่งของการตั้งค่านี้ เราจะสอนเซิร์ฟเวอร์เครื่องหมายดอกจันถึงวิธีจัดการกับสายเรียกเข้าและโทรออก การเชื่อมต่อ ขออภัยที่บทความนี้ไม่มีประโยชน์สำหรับคุณ: (โปรดหากไม่ยาก ระบุเหตุผล เราจะขอบคุณมากสำหรับคำตอบโดยละเอียด ขอบคุณที่ช่วยให้เราดีขึ้น!