วันพุธที่ 14 ธันวาคม พ.ศ. 2559

บันทึกศึกษาเพิ่มเติมเกี่ยวกับ E1

หลังจากที่เจอปัญหาเกี่ยวกับ E1 ใช้ไม่ได้ก็เลยเขียนบันทึกเพิ่มเติม เพราะตอนที่คุยกับช่างเทคนิคของผู้ให้บริการก็มักจะไม่ได้รับคำตอบที่ชัดเจน อีกทั้งไม่ค่อยเข้าใจตรงกัน เลยศึกษาค้นคว้าเพิ่มเติมจากอินเตอร์เน็ตและเว็บอื่นๆ จึงขอขอบคุณผู้รู้ทั้งหลายที่เผยแพร่ความรู้เป็นวิทยาทาน


E1 หรือ T1
ระบบมาตรฐานของการ์ดจะแยกตามแต่ละภูมิภาค ประเทศไทยจะใช้ระบบ E1 ซึ่งเป็นแบบ EuropeISDN โดยจะมีแบนด์วิธ 2Mbps เมื่อแบ่งแต่ละช่องสัญญานแล้วจะได้คู่สายโทรเข้าออกได้พร้อมกัน 30 คู่สาย ส่วน T1 เป็นระบบที่ใช้ในโซนอเมริกาเหนือ ระบบอื่นๆ จะเหมือนกันหมด ยกเว้นแบนด์วิธจะเป็น 1.544 Mbps ทำให้คู่สายลดลงเหรือ 24 คู่สาย


ระบบสาย E1 ที่ใช้อยู่จะเป็นระบบ 100 หมายเลข, 30 คู่สาย ซึ่งเหมาะสมและพอเพียงสำหรับองค์กรขนาดกลาง ค่อนข้างใหญ่ ซึ่งหากต้องการขยายเพิ่มก็ขยายครั้งละ 1 ชุด จำนวนสายก็จะเพิ่มครั้งละ 100 จำนวนโทรเข้าออกก็เพิ่มครั้งละ 30 คู่สาย

งานเข้า Elastix แจ้ง D-Channel is down

วันนี้เจอปัญหาของระบบ PBX กับเครือข่ายมือถือทรู หากใช้เบอร์ของทรูโทรเข้าจะมีข้อความเสียงแจ้งว่ายังไม่เปิดใช้บริการ

ไม่แน่ใจว่าเกิดอะไรขึ้นจู่ๆ Elastix มองไม่เห็นการ์ดดื้อๆ ทั้งๆ ที่ไม่ได้เข้าไปแก้ไขอะไรส่วนอื่น นอกจาก ไฟล์ chan_dahdi.conf เท่านั้น

ลองปิดเครื่องเปิดใหม่ ก็ค้นหาการ์ดไม่เจอ เลยตัดสินใจใช้คำสั่ง wancfg_dahdi ของ Sangoma เพื่อตั้งค่าระบบกันใหม่

พอตั้งค่าเสร็จรีสตาร์ทเครื่องแล้วมองเห็น port ครบทั้ง 30 port แต่งานเข้า เพราะโทรเข้าโทรออกไม่ได้เลย เปิดดูใน Asterisk CLI ก็เห็นมีข้อความ D-Channel is down

พยายามคอนฟิกใหม่ก็แล้ว โทรหาฝ่ายเทคนิคของทรูก็แล้ว ไม่ได้คำตอบ มีการส่งตัวอย่างการคอนฟิก FreePBX มาให้ก็เป็นส่วนปลายเหตุแล้ว ไม่ใช่การคอนฟิกที่การ์ด E1

ตนแลเป็นที่พึ่งแห่งตน ค้นหา google จนจะท้อ ก็ไปเจอ wiki ของ Sangoma เรื่อง PRI Bouncing Up and Down ก็ไปเจอเรื่องการตั้งค่า HDLC ซึ่งมีการตั้งค่าแบบ Hardware หรือ Software ซึ่งในไฟล์สำคัญสองไฟล์ต้องตั้งค่าให้ถูกต้อง คือ

วันอาทิตย์ที่ 7 กุมภาพันธ์ พ.ศ. 2559

Elastix โทรออกไปยัง SIP Trunk ของ MyPBX U300

ดูจากชื่อบทความแล้วก็ซับซ้อนเหมือนกัน ก่อนอื่นขอเขียนผังระหว่าง Elastix และ U300 ให้ชัดเจนก่อน





วันเสาร์ที่ 6 กุมภาพันธ์ พ.ศ. 2559

เชื่อมต่อ MyPBX U300 กับ Elastix

ช่วงนี้ปรับเปลี่ยนระบบโดยใหม่ แต่ยังใช้หมายเลขเดิมไปก่อนจะยกเลิกบริการอีก 2 เดือนข้าง ซึ่งต้องให้สายเก่าโอนไปยังระบบคอลเซ็นเตอร์ที่เป็นสาย E1 เส้นใหม่

เส้นเดิม 7921400 เชื่อมต่อผ่าน E1 ของ MyPBX U300 (ระบบ DID จะตัด 02 ออก)
เส้นใหม่ 020304900 เชื่อต่อผ่าน E1 ของ Elastix (E1 แบบใหม่ไม่ต้องตัด 02)

โดยระบบหลักจะอยู่ที่ Elastix

การโอนสายจะเริ่มจาก Inbound ของ MyPBX U300 เป็นหมายเลข U300 แล้ว U300 จะส่งผ่านหมาเลขไปยัง Elastix ผ่าน SIP Trunk

วันพุธที่ 20 มกราคม พ.ศ. 2559

แก้ไขให้ MyPBX เรียก MISC Application ผ่าน SIP Trunk

แก้ไขไฟล์ฝั่ง MyPBX

  • แก้ไข /etc/asterisk/extensions.conf
[DID_trunk_E1Trunk1] 
exten = _020304999,1,Macro(incoming_pstnin,1,3388)
*** ปกติจะเป็น {$EXTEN:} เปลี่ยนเป็นหมายเลขของ Misc Application

ต้องทำทุกครั้งหลังจากแก้ไขและ Apply จากหน้าเว็บของ MyPBX


แก้ไขฝั่ง Elastix

  • เพิ่ม Misc Application เพื่อตรวจสอบเวลาและทำตามเงื่อนไข





  • แก้ไข /etc/asterisk/extensions_additional.conf
[from-trunk-sip-U300Out]
include => from-trunk-sip-U300Out-custom
exten => _.,1,Set(GROUP()=OUT_4)
exten => _.,n,Goto(from-internal,${EXTEN},1)
*** ใน SIP Trunk อัตโนมัติจะเป็น from-trunk ต้องเปลี่ยนเป็น from-internal เพื่อเรียกใช้ dialplan จากฝั่ง internal (ยังหาวิธีแก้แบบอื่นไม่ได้)

อย่าลืมใช้คำสั่ง  asterisk -rx "dialplan reload" ทั้งสองฝั่งและถ้ามีการแก้ไขที่หน้าเว็บเพจต้องเข้ามาทำขั้นตอนตามบทความนี้เสมอ...

วันจันทร์ที่ 18 มกราคม พ.ศ. 2559

ติดตั้ง VPN ให้กับ Elastix Server

เริ่มจากติดตั้ง Yum Repository ด้วยคำสั่ง

#rpm -Uhv http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm

ตามด้วยคำสั่ง

#yum -y install ppptpd

จากนั้นแก้ไขไฟล์ /etc/ppp/options.pptpd ดังนี้

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp 
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

และกำหนดรหัสผ่าน ใน /etc/ppp/chap-secrets

user1   *     P@$$w0rd   *
user2   *     P@$$w0rd2  *

แก้ไขไฟล์ /etc/pptpd.conf

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.xx.1
remoteip 192.168.xx.101-200
*** กำหนดให้ xx ตามที่เราต้องการ หรือจะเปลี่ยนเป็นไอพีอื่นๆ ก็แล้วแต่ถนัด

แก้ไขไฟล์ /etc/sysctl.conf

net.ipv4.ip_forward = 1

ตามด้วยคำสั่ง

#sysctl -p

กำหนดคำสั่งใน iptables

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.xx.0/24 -j MASQUERADE
service iptables save
service iptables start

หรือจกำหนดโดยตรงจากไฟล์ iptables

#nano /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -s 0/0 -p udp -m udp --dport 1701 -j ACCEPT
-A INPUT -s 192.168.xx.0/24 -j ACCEPT


การกำหนดค่าใน Client

วันจันทร์ที่ 1 ตุลาคม พ.ศ. 2555

Opensource แนวทางการพัฒนาโปรแกรมอย่างยั่งยืน

ช่วงนี้กระแส Opensource ดูเหมือนจะซบเซาไปบ้าง เพราะไม่ใช่สิ่งใหม่ ความสดใสลดลง แต่ในอีกด้านหนึ่งก็ยังคงมีการพัฒนาต่อเนื่องไม่หยุดยั้งและไม่วันจบสิ้นเสียด้วย เพราะเป็นระบบที่ต่างฝ่ายต่างได้ผลตอบแทน เรียกกันได้ว่าเป็นระบบแบบ Win-Win ก่อให้เกิดพัฒนาหลาย ๆ ด้าน

ผู้เขียนกระโดดเข้ามาใช้ OpenSource ตั้งแต่ปี 2007 ที่เรียกว่าใช้แบบเต็มตัว แต่ถ้านับแบบเริ่มใช้ MySQL และ RedHat Server ก็เริ่มตั้งแต่ปี 2002 และถ้าย้อนลึกไปตั้งแต่ใช้ PHP เป็นครั้งแรกและมีใจที่คิดจะทิ้ง Microsoft ก็เมื่อปี 2000 นับมาถึงปีนี้ก็ 12 ปีแล้วที่ใช้ OpenSource มาตลอดจึงเห็นว่าเป็นระบบที่ดี มีแนวคิดที่ดี ของดีราคาถูก มีจริงเสมอ แต่นั่นหมายความว่าเราต้องเปิดใจยอมรับ และต้องยอมที่จะทุ่มเวลา เสียเวลาศึกษาหาความรู้เพิ่มเติม และยอมรับความเสี่ยงในการเปลี่ยนเวอร์ชัน เพราะมันอาจจะทำให้ระบบงานเดิมของเราใช้ไม่ได้เลย (หากไปเผลออัพเดทเวอร์ชันใหม่)

แต่ใช่ว่าจะเป็นเฉพาะ OpenSource เพราะเวลานี้ผู้เขียนใช้ iPad ไปอัพเดท iOS 6 แล้วทำให้โปรแกรม iPages ทำงานเพี้ยนไปเลย นี่ขนาดเสียเงินซื้อยังเป็นได้เพียงนี้ นับประสาอะไรกับของแจกฟรี

และโปรแกรมแจกฟรีดี ๆ ที่ใช้หลายปีแล้วก็คือ ระบบ IPBX จากค่าย Digium ที่หลายคนคุ้นเคยตั้งแต่เป็น Asterisk แบบ Command Line มาเป็น Elastix ค่ายสเปนกันล้วนแล้วแต่เป็น OpenSource ทั้งนั้น หลายคนถามว่าการเขียนโปรแกรมแบบ OpenSource แล้วจะได้อะไร

ก็หลากหลาย หลัก ๆ แล้วก็ขายความช่วยเหลือ ขายอุปกรณ์ต่อพ่วง ขายการฝึกอบรมต่าง ๆ บางแห่งก็ขายเอกสาร คือ แจกโปรแกรมไม่แจกเอกสาร ถ้าอยากได้ก็ต้องซื้อเอกสารต่าง ๆ ไม่งั้นต้องงมเข็มกันเอาเอง...

สิ่งที่อยากจะกล่าวถึงกันตอนนี้นอกเหนือจากข้อดีจากของฟรีแล้วทำให้ได้ศึกษาวิธีการ พัฒนาระบบงาน การปรับปรุงแก้ไขอย่างเป็นระบบ ทำให้เราสามารถนำมาศึกษาและปรับปรุงรูปแบบการเขียนโปรแกรมให้กับตัวเราได้

เช่นการเขียนโปรแกรมแบบแยกส่วน แยกแกนหลัก แยกส่วนเสริม เมื่อลงลึกไประดับเขียนโปรแกรมก็มีการแบ่งส่วนของโปรแกรมเป็นชิ้น ๆ หรือเป็นอ็อบเจ็กต์ ทำให้การรวมศูนย์เกิดประโยชน์ต่อการพัฒนาต่อไป ด้วยเหตุนี้จึงอยากให้หลาย ๆ คนหันมาสนใจวิธีการเขียนโปรแกรม และตัวอย่างที่ดีคือ โปรแกรมจาก OpenSource ซึ่งสามารถสอนให้เราได้เรียนรู้อีกหลายอย่าง

และสิ่งสำคัญประการหนึ่งที่บ้านเรายังขาดคือ พัฒนาระบบโปรแกรมแบบยั่งยืน เพราะหลายครั้งหลายโปรแกรมได้ล้มหายตายจากไปพร้อมกับผู้เขียนคนแรก หรือแต่ละบริษัทในบ้านเรามมีแนวโน้มไม่ใช้ซ้ำสินค้าจากซอฟท์แวร์เฮาท์เดิม เพราะอะไร... เพราะความไม่ประทับใจ ความไม่ไว้วางใจ หรือไม่ได้ดั่งใจนั่นแหละครับ...

หวังว่าในอนาคตจะเห็น Opensource จากฝั่งคนไทย จากประเทศไทยให้มากขึ้น... หรือได้เห็นโปรแกรมดี ๆ จากคนไทยบ้างครับ... อย่ากระนั้นเลยเริ่มลงมือกันดีกว่าครับ...


- Posted using BlogPress from my iPad