By Mark Spencer <[email protected]> and the Asterisk.org developer community.
Copyright (C) 2001-2021 Sangoma Technologies Corporation and other copyright holders.
จำเป็นที่คุณจะต้องอ่านและทำความเข้าใจเนื้อหาของเอกสารข้อมูลความปลอดภัยให้ครบถ้วน ก่อนที่คุณจะพยายามกำหนดค่าและรันเซิร์ฟเวอร์ Asterisk
ดูข้อควรพิจารณาด้านความปลอดภัยที่สำคัญสำหรับข้อมูลเพิ่มเติม
เครื่องหมายดอกจันเป็นชุดเครื่องมือ Open Source PBX และโทรศัพท์ ในแง่หนึ่ง มันคือมิดเดิลแวร์ระหว่างอินเทอร์เน็ตและช่องโทรศัพท์ที่ด้านล่าง และแอปพลิเคชันอินเทอร์เน็ตและระบบโทรศัพท์ที่ด้านบน อย่างไรก็ตาม เครื่องหมายดอกจันรองรับอินเทอร์เฟซระบบโทรศัพท์มากกว่าระบบโทรศัพท์ผ่านอินเทอร์เน็ต เครื่องหมายดอกจันยังรองรับระบบโทรศัพท์ PSTN แบบเดิมอีกด้วย
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงการ โปรดไปที่หน้าแรกของเครื่องหมายดอกจันและเอกสารอย่างเป็นทางการ นอกจากนี้ คุณจะพบข้อมูลมากมายที่รวบรวมโดยชุมชน Asterisk ที่ voip-info.org
มีหนังสือเกี่ยวกับเครื่องหมายดอกจันจัดพิมพ์โดย O'Reilly ภายใต้ Creative Commons License มีจำหน่ายในร้านหนังสือและในเวอร์ชันดาวน์โหลดบนเว็บไซต์ asteriskdocs.org
Asterisk Open Source PBX ได้รับการพัฒนาและทดสอบบนระบบปฏิบัติการ GNU/Linux เป็นหลัก และได้รับการสนับสนุนบนการกระจาย GNU/Linux หลักทุกรายการ
เครื่องหมายดอกจันได้รับการ 'ย้าย' และมีรายงานว่าทำงานอย่างถูกต้องบนระบบปฏิบัติการอื่นเช่นกัน รวมถึง Sun Solaris, Mac OS X ของ Apple, Cygwin และตัวแปร BSD
ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่รองรับ (แต่โปรดทราบว่าคุณไม่จำเป็นต้องมีฮาร์ดแวร์พิเศษใดๆ แม้แต่การ์ดเสียง) เพื่อติดตั้งและรัน Asterisk
ฮาร์ดแวร์โทรศัพท์ที่รองรับประกอบด้วย:
หากคุณกำลังอัปเดตจาก Asterisk เวอร์ชันก่อนหน้า ตรวจสอบให้แน่ใจว่าคุณได้อ่านไฟล์ UPGRADE.txt ในไดเร็กทอรีต้นทาง มีไฟล์และตัวเลือกการกำหนดค่าบางส่วนที่คุณจะต้องเปลี่ยนแปลง แม้ว่าเราจะพยายามทุกวิถีทางที่จะรักษาความเข้ากันได้แบบย้อนหลังไว้แล้วก็ตาม
หากต้องการค้นพบคุณสมบัติใหม่ๆ ที่จะใช้ โปรดตรวจสอบตัวอย่างการกำหนดค่าในไดเร็กทอรี configs ของการแจกจ่ายซอร์สโค้ด หากต้องการทราบรายการคุณลักษณะใหม่ในเครื่องหมายดอกจันเวอร์ชันนี้ โปรดดูไฟล์การเปลี่ยนแปลง
ตรวจสอบให้แน่ใจว่าระบบของคุณมีคอมไพเลอร์และไลบรารีการพัฒนาที่เข้ากันได้ เครื่องหมายดอกจันต้องใช้ GNU Compiler Collection (GCC) เวอร์ชัน 4.1 ขึ้นไป หรือคอมไพเลอร์ที่รองรับข้อกำหนด C99 และส่วนขยายภาษา gcc บางส่วน นอกจากนี้ ระบบของคุณจำเป็นต้องมีส่วนหัวไลบรารี C และส่วนหัวและไลบรารีสำหรับ ncurses
มีหลายโมดูลที่มีการขึ้นต่อกันเพิ่มเติม หากต้องการดูว่าไลบรารีใดที่ถูกค้นหา โปรดดูที่ ./configure --help
หรือรัน make menuselect
เพื่อดูการขึ้นต่อกันของโมดูลเฉพาะ
ในการแจกแจงจำนวนมาก การพึ่งพาเหล่านี้ได้รับการติดตั้งโดยแพ็คเกจที่มีชื่อเช่น 'glibc-devel', 'ncurses-devel', 'openssl-devel' และ 'zlib-devel' หรือคล้ายกัน
เอาล่ะ เรามาดำเนินการต่อ:
มีเอกสารมากกว่านี้ในไดเร็กทอรี doc คุณอาจต้องการตรวจสอบไฟล์การกำหนดค่าที่มีตัวอย่างและคำแนะนำอ้างอิงในไดเร็กทอรี configs
./configure
configure ดำเนินการสคริปต์กำหนดค่าเพื่อคาดเดาค่าสำหรับตัวแปรที่ขึ้นอยู่กับระบบที่ใช้ระหว่างการคอมไพล์ หากสคริปต์ระบุว่าคอมโพเนนต์ที่จำเป็นหายไป คุณสามารถรัน ./contrib/scripts/install_prereq install
เพื่อติดตั้งคอมโพเนนต์ที่จำเป็น โปรดทราบว่าการดำเนินการนี้จะติดตั้งการขึ้นต่อกันทั้งหมดสำหรับทุกฟังก์ชันการทำงานของเครื่องหมายดอกจัน หลังจากรันสคริปต์แล้ว คุณจะต้องรัน ./configure
configure อีกครั้ง
make menuselect
[ตัวเลือก]นี่เป็นสิ่งจำเป็นหากคุณต้องการเลือกโมดูลที่จะถูกคอมไพล์และเพื่อตรวจสอบการขึ้นต่อกันของโมดูลเสริมต่างๆ
make
สมมติว่าการสร้างเสร็จสมบูรณ์สำเร็จ:
make install
หากนี่เป็นครั้งแรกที่คุณทำงานกับ Asterisk คุณอาจต้องการติดตั้ง PBX ตัวอย่างพร้อมส่วนขยายการสาธิต ฯลฯ หากเป็นเช่นนั้น ให้รัน:
make samples
การทำเช่นนี้จะเขียนทับไฟล์การกำหนดค่าที่มีอยู่ที่คุณติดตั้งไว้
# asterisk -vvvc
คุณจะเห็นข้อความแบบละเอียดจำนวนมากลอยผ่านหน้าจอของคุณขณะที่เครื่องหมายดอกจันเริ่มต้น (นั่นคือโหมด "แบบละเอียดมาก") เมื่อพร้อม หากคุณระบุ "c" คุณจะได้รับคอนโซลบรรทัดคำสั่งที่มีลักษณะดังนี้:
*CLI>
คุณสามารถพิมพ์ "core show help" ได้ตลอดเวลาเพื่อรับความช่วยเหลือเกี่ยวกับระบบ หากต้องการความช่วยเหลือเกี่ยวกับคำสั่งเฉพาะ ให้พิมพ์ "core show help" หากต้องการเริ่ม PBX โดยใช้การ์ดเสียงของคุณ คุณสามารถพิมพ์ "console dial" เพื่อโทรไปที่ PBX จากนั้นคุณสามารถใช้ "console answer", "console hangup" และ "console dial" เพื่อจำลองการทำงานของโทรศัพท์ โปรดจำไว้ว่า หากคุณไม่มีการ์ดเสียงฟูลดูเพล็กซ์ (และเครื่องหมายดอกจันจะบอกคุณในข้อความโดยละเอียดหากคุณมีหรือไม่มี) การ์ดเสียงก็จะทำงานไม่ถูกต้อง (ยังไม่ใช่)
"man asterisk" ที่พรอมต์คำสั่ง Unix/Linux จะให้ข้อมูลโดยละเอียดเกี่ยวกับวิธีการเริ่มและหยุดเครื่องหมายดอกจัน รวมถึงตัวเลือกบรรทัดคำสั่งทั้งหมดสำหรับการเริ่มเครื่องหมายดอกจัน
อย่าลังเลที่จะดูไฟล์การกำหนดค่าใน /etc/asterisk
ซึ่งคุณจะพบข้อมูลมากมายเกี่ยวกับสิ่งที่คุณสามารถทำได้ด้วยเครื่องหมายดอกจัน
ไฟล์การกำหนดค่าเครื่องหมายดอกจันทั้งหมดใช้รูปแบบร่วมกัน ความคิดเห็นคั่นด้วย ';' (เนื่องจาก '#' แน่นอนว่าการเป็นเลข DTMF อาจเกิดขึ้นได้หลายแห่ง) ไฟล์การกำหนดค่าแบ่งออกเป็นส่วนซึ่งมีชื่อปรากฏใน [] โดยทั่วไปแต่ละส่วนจะมีข้อความสองประเภท ได้แก่ ข้อความในรูปแบบ 'variable = value' และข้อความในรูปแบบ 'object => พารามิเตอร์' การใช้ '=' และ '=>' ภายในนั้นเหมือนกันทุกประการ ดังนั้นจึงใช้เพื่อช่วยให้ไฟล์การกำหนดค่าเข้าใจง่ายขึ้นเท่านั้น และไม่ส่งผลต่อวิธีการแยกวิเคราะห์จริง
รายการในรูปแบบ 'variable=value' จะตั้งค่าของพารามิเตอร์บางตัวเป็นเครื่องหมายดอกจัน ตัวอย่างเช่น ใน chan_dahdi.conf อาจระบุ:
switchtype=national
เพื่อแจ้งให้ดอกจันทราบว่าสวิตช์ที่พวกเขากำลังเชื่อมต่ออยู่นั้นเป็นสวิตช์ประเภท "national" โดยทั่วไป พารามิเตอร์จะนำไปใช้กับอินสแตนซ์ที่เกิดขึ้นต่ำกว่าข้อกำหนดเฉพาะ ตัวอย่างเช่น หากไฟล์การกำหนดค่าอ่านว่า:
switchtype = national
channel => 1-4
channel => 10-12
switchtype = dms100
channel => 25-47
ประเภทสวิตช์ "national" จะใช้กับช่องที่ 1 ถึง 4 และช่อง 10 ถึง 12 ในขณะที่ประเภทสวิตช์ "dms100" จะใช้กับช่อง 25 ถึง 47
"พารามิเตอร์ => วัตถุ" สร้างอินสแตนซ์วัตถุด้วยพารามิเตอร์ที่กำหนด ตัวอย่างเช่น บรรทัด "channel => 25-47" จะสร้างอ็อบเจ็กต์สำหรับช่อง 25 ถึง 47 ของการ์ด โดยรับการตั้งค่าจากตัวแปรที่ระบุไว้ข้างต้น
ผู้ที่ใช้โทรศัพท์ SIP ควรทราบว่าเครื่องหมายดอกจันไวต่อการเปลี่ยนแปลงครั้งใหญ่ของเวลา การเปลี่ยนเวลาของระบบด้วยตนเองโดยใช้วันที่ (1) (หรือคำสั่งอื่นที่คล้ายคลึงกัน) อาจทำให้การลงทะเบียน SIP และกระบวนการภายในอื่น ๆ ล้มเหลว หากระบบของคุณไม่สามารถรักษาเวลาที่แม่นยำได้ด้วยตัวเอง ให้ใช้ NTP เพื่อให้นาฬิการะบบซิงโครไนซ์กับ "เรียลไทม์" NTP ได้รับการออกแบบมาเพื่อให้นาฬิกาของระบบซิงโครไนซ์โดยการเร่งความเร็วหรือชะลอนาฬิกาของระบบจนกว่าจะซิงโครไนซ์กับ "เรียลไทม์" แทนที่จะข้ามเวลาและทำให้เกิดความไม่ต่อเนื่อง ลีนุกซ์รุ่นส่วนใหญ่มี NTP เวอร์ชันพรีคอมไพล์ด้วย ระวังวิธีการซิงโครไนซ์เวลาที่รับเวลาจริงที่ถูกต้องเป็นระยะๆ จากนั้นจึงตั้งค่านาฬิการะบบด้วยตนเอง
การเปลี่ยนแปลงเวลาที่ปรากฏเนื่องจากเวลาออมแสงเป็นเพียงสิ่งที่ชัดเจนเท่านั้น การใช้การปรับเวลาออมแสงในระบบ Linux เป็นเพียงปัญหาอินเทอร์เฟซผู้ใช้เท่านั้น และไม่ส่งผลกระทบต่อการทำงานของเคอร์เนล Linux หรือเครื่องหมายดอกจัน นาฬิการะบบบนเคอร์เนล Linux ทำงานบน UTC UTC ไม่ใช้เวลาออมแสง
โปรดทราบว่าปัญหานี้แยกจากการตอกบัตรของช่อง TDM และเป็นที่ทราบกันว่าอย่างน้อยส่งผลต่อการลงทะเบียน SIP
ขึ้นอยู่กับขนาดของระบบและการกำหนดค่าของคุณ เครื่องหมายดอกจันสามารถใช้ตัวอธิบายไฟล์จำนวนมาก ใน UNIX ตัวอธิบายไฟล์ถูกใช้มากกว่าแค่ไฟล์บนดิสก์ ตัวอธิบายไฟล์ยังใช้สำหรับการจัดการการสื่อสารเครือข่าย (เช่น การโทร SIP, IAX2 หรือ H.323) และการเข้าถึงฮาร์ดแวร์ (เช่น ฮาร์ดแวร์ทรังก์แบบอะนาล็อกและดิจิทัล) เครื่องหมายดอกจันเข้าถึงไฟล์บนดิสก์จำนวนมากสำหรับทุกสิ่งตั้งแต่ข้อมูลการกำหนดค่าไปจนถึงที่เก็บข้อมูลวอยซ์เมล
ระบบส่วนใหญ่จะจำกัดจำนวนตัวอธิบายไฟล์ที่เครื่องหมายดอกจันสามารถเปิดได้ในคราวเดียว ซึ่งสามารถจำกัดจำนวนการโทรพร้อมกันที่ระบบของคุณสามารถจัดการได้ ตัวอย่างเช่น หากตั้งค่าขีดจำกัดไว้ที่ 1024 (ค่าเริ่มต้นทั่วไป) เครื่องหมายดอกจันสามารถรองรับการโทร SIP ได้ประมาณ 150 รายการพร้อมกัน หากต้องการเปลี่ยนจำนวนตัวอธิบายไฟล์ให้ทำตามคำแนะนำสำหรับระบบของคุณด้านล่าง:
หากระบบของคุณใช้ PAM (Pluggable Authentication Modules) ให้แก้ไข /etc/security/limits.conf
เพิ่มบรรทัดเหล่านี้ที่ด้านล่างของไฟล์:
root soft nofile 4096
root hard nofile 8196
asterisk soft nofile 4096
asterisk hard nofile 8196
(ปรับตัวเลขได้ตามชอบ) คุณอาจต้องรีบูทระบบเพื่อให้การเปลี่ยนแปลงเหล่านี้มีผล
หากไม่มีคำแนะนำที่ปรับให้เข้ากับระบบของคุณโดยเฉพาะข้างต้น คุณสามารถลองเพิ่มคำสั่ง ulimit -n 8192
ให้กับสคริปต์ที่เริ่มเครื่องหมายดอกจัน
ดูไดเร็กทอรี doc สำหรับเอกสารเพิ่มเติมเกี่ยวกับคุณสมบัติต่างๆ โปรดอ่านตัวอย่างการกำหนดค่าทั้งหมดที่มีเอกสารประกอบเกี่ยวกับตัวเลือกการกำหนดค่าอีกครั้ง
สุดท้ายนี้ คุณอาจต้องการเยี่ยมชมเว็บไซต์สนับสนุนและเข้าร่วมรายชื่ออีเมลหากคุณสนใจรับข้อมูลเพิ่มเติม
ยินดีต้อนรับสู่ชุมชนผู้ใช้ Asterisk ที่กำลังเติบโตทั่วโลก!
Mark Spencer, and the Asterisk.org development community
เครื่องหมายดอกจันเป็นเครื่องหมายการค้าของ Sangoma Technologies Corporation