หน้า 1 จากทั้งหมด 1

เปลี่ยนชื่อใน User-Agent ของ PJSIP

โพสต์โพสต์แล้ว: 01 ส.ค. 2018 00:39
โดย nuiz
บทความนี้เป็นลูกเล่นเล็กๆน้อยๆ เผื่อว่าไม่อยากให้ใครรู้ว่าเราใช้อะไรเป็น SIP Server

สำหรับ PJSIP ครับ

ใน SIP Messages ที่ FreePBX ส่งไปหา SIP อื่นทั้ง SIP Servers และ SIP Clients จะมี Header ชื่อว่า User-Agent ส่งไปด้วย และมักมีค่าเป็นแบบนี้ User-Agent: FPBX-14.0.3.6(15.5.0) เดาไม่ยากครับว่าใช้อะไรเป็น SIP Server ลองดูตัวอย่าง OPTIONS ต่อไปนี้

โค้ด: เลือกทั้งหมด
OPTIONS sip:101@203.XXX.XXX.XXX:21790 SIP/2.0
Via: SIP/2.0/UDP 27.XXX.XXX.XXX:5060;rport;branch=z9hG4bKPj4ccc2eda-08e3-40f0-a866-7af8070613f0
From: <sip:101@27.XXX.XXX.XXX>;tag=5cb92531-1396-4a0a-8af2-4a8686a1b924
To: <sip:101@203.XXX.XXX.XXX>
Contact: <sip:101@27.XXX.XXX.XXX:5060>
Call-ID: 774ced01-bc75-439f-9237-a29394f7deec
CSeq: 38602 OPTIONS
Max-Forwards: 70
User-Agent: FPBX-14.0.3.6(15.5.0)
Content-Length:  0


ค่าเหล่านี้มีกำหนดไว้ในไฟล์ /etc/asterisk/pjsip.conf บรรทัด user_agent ก็จริงอยู่ แต่ค่านี้เราจะแก้ไขในไฟล์นี้ไม่ได้นะครับ เพราะ FreePBX จะเขียนข้อมูลทับ เราต้องแก้ไขในดาต้าเบสโดยตรง ซึ่ง FreePBX จะเอาข้อมูลจากในดาต้าเบสมาไรท์ลงไฟล์นี้

คำสั่งต่อไปนี้เป็นคำสั่งของ MySQL เราต้องเข้าไปใน MySQL ก่อนถึงจะพิมพ์คำสั่งนี้ได้
โค้ด: เลือกทั้งหมด
mysql

ถ้าไม่ได้ใส่ root password ไว้ก็จะเข้าพร้อมท์ MariaDB [(none)]> ได้เลย จากนั้นก็พิมพ์คำสั่งในพรอมท์นี้ ทีละคำสั่ง

เปลี่ยน FPBX เป็นค่าอื่นเช่น CSCO
โค้ด: เลือกทั้งหมด
UPDATE asterisk.freepbx_settings SET value = 'CSCOO' WHERE asterisk.freepbx_settings.keyword = 'SIPUSERAGENT';


เปลี่ยน 14.0.3.6 เป็น 14.0.3.7
โค้ด: เลือกทั้งหมด
update asterisk.admin set value='14.0.3.7' where asterisk.admin.variable='version';


เปลี่ยน 15.5.0 เป็น 15.6.1
โค้ด: เลือกทั้งหมด
UPDATE asterisk.freepbx_settings SET value = '15.6.1' WHERE asterisk.freepbx_settings.keyword = 'ASTVERSION';


ออกจากพร้อมท์ MariaDB [(none)]> ให้พิมพ์ exit
โค้ด: เลือกทั้งหมด
MariaDB [(none)]> exit

จะกลับมาเป็นเพร้อมท์ Linux

และสุดท้าย รันคำสั่งนี้เพื่อให้มีผล
โค้ด: เลือกทั้งหมด
fwconsole reload


ลองดูครับ เวิร์คแน่นอน
ส่วนถ้าอยากจะเอาเครื่องหมาย () ออกนี่ ต้องหาวิธีเองนะครับ คาดว่ามันคงจะอยู่ในไฟล์ *.php สักไฟล์ในเครื่อง

บทความที่เกี่ยวข้อง
เทคนิคการรีเซ็ตพาสเวอร์ดเข้าหน้าเว็บ FreePBX
เทคนิคการแบ็คอัพ FreePBX/Elastix โดยวิธีอัพโหลดผ่านทาง SSH
เทคนิคการติดตั้ง FreePBX
เทคนิคการติดตั้ง FreePBX 14 แบบ Manual บน CentOS 7
ตรวจสอบว่า Asterisk กำลังใช้ Codecs อะไรอยู่และการปรับแต่ง
เทคนิคการตรวจสอบว่า Asterisk กำลังใช้ Codec อะไร และการปรับแต่ง Codecs
การแก้ไขรูปแบบการแสดงวันที่และเวลาใน Reports > CDR Reports