1. คอนฟิก SIP trunk
คอนฟิกไฟล์จะอยู่ที่ directory /usr/local/freeswitch/conf/sip_profiles/external
สร้างไฟล์ siptrunk_01.xml ตามรายละเอียด ดังนี้
<include>
<gateway name="siptrunk_01">
<param name="username" value="adventekvoip"/>
<param name="password" value="2007"/>
<param name="proxy" value="77.72.174.128"/>
<param name="register" value="true"/>
<param name="ping" value="25"/>
</gateway>
</include>
โดยที่ username/password ได้จาก sip trunk provider
proxy = ip address ของ sip server ของ sip trunk provider
เมื่อ save ไฟล์เรียบร้อยแล้วไปที่ FreeSWITCH console
แล้ว reload mod_sofia (sip module ของ FreeSWITCH)
============================================
access เข้า mode cli ของ freeswitch
#/usr/local/freeswitch/bin/fs_cli
freeswitch@debian> reload mod_sofia
============================================
เช็ค status
============================================
freeswitch@debian> sofia status
Name Type Data State
=================================================================================================
external-ipv6 profile sip:mod_sofia@[::1]:5080 RUNNING (0)
external profile sip:This email address is being protected from spambots. You need JavaScript enabled to view it.:5080 RUNNING (0)
external::example.com gateway sip:This email address is being protected from spambots. You need JavaScript enabled to view it. NOREG
external::siptrunk_01 gateway sip:This email address is being protected from spambots. You need JavaScript enabled to view it. REGED
192.168.2.250 alias internal ALIASED
internal-ipv6 profile sip:mod_sofia@[::1]:5060 RUNNING (0)
internal profile sip:This email address is being protected from spambots. You need JavaScript enabled to view it.:5060 RUNNING (0)
=================================================================================================
4 profiles 1 alias
จะเห็นว่า siptrunk_01 registered กับ SIP server 77.72.174.128 เรียบร้อยแล้ว (state = REGED)
ออกจาก mode cli ของ freeswitch โดยใช้คำสั่ง
freeswitch@debian> /quit
2. คอนฟิก Dialplan
คอนฟิกไฟล์จะอยู่ที่ directory /usr/local/freeswitch/conf/dialplan/default
สร้างไฟล์ 02_sipout.xml ตามรายละเอียด ดังนี้
<include>
<extension name="outsip-to-pstn">
<condition field="destination_number" expression="^0(\d{8})$">
<action application="bridge" data="sofia/gateway/siptrunk_01/0000066$1"/>
</condition>
</extension>
<extension name="outsip-to-mobile">
<condition field="destination_number" expression="^0(\d{9})$">
<action application="bridge" data="sofia/gateway/siptrunk_01/0000066$1"/>
</condition>
</extension>
</include>
โดยที่ ^0(\d{8})$ หมายถึง dialplan จะ match เบอร์โทรที่ขึ้นต้นด้วย 0 และตามด้วยตัวเลขอีก 8 ตัว
โดยจะตัด 0 ทิ้งแล้วเก็บตัวเลขทั้ง 8 ตัวไว้ในตัวแปร $1 แล้วโทรออกที่ siptrunk_01 โดยจะแปะ 0000066
เข้าข้างหน้า (การแปะ prefix ขึ้นอยู่กับ sip trunk provider แต่ละรายจะแตกต่างกันไป)
^0(\d{9})$ ก็เช่นกัน แต่จะ match เบอร์มือถือ
เมื่อ save ไฟล์เรียบร้อย ให้ reloadxml ที่ FreeSWITCH console แล้วลองโทรออก อาจจะใช้ account
ของ TOT netcall แต่อาจจะต้องเพิ่ม parameters บางตัว เช่น from-user, from-domain เป็นต้น