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 เป็นต้น