จากตอนที่ 5 และ ตอนที่ 8 เรามี settings ดังนี้
Debian 8 + Asterisk 11
- 2 SIP extensions (2000, 2001)
- 1 SIP trunk (voip)
- 4 FXO ports
มี sip.conf ดังนี้
============
[general]
register=adventekvoip:This email address is being protected from spambots. You need JavaScript enabled to view it. ; Register to provider
port=5060 ; Port to bind to (SIP is 5060)
bindaddr=0.0.0.0 ; Address to bind to (all addresses on machine)
allow=all ; Allow all codecs
match_auth_username=yes
[voip] ; This is for SIP trunk
defaultuser=adventekvoip ; Username that you get from provider
type=friend
secret=xxxxxxx ; Password
nat=force_rport,comedia
host=77.72.174.128
fromuser=adventekvoip ; Username that you get from provider
fromdomain=77.72.174.128 ; SIP server
dtmfmode=rfc2833
disallow=all
defaultexpirey=20
canreinvite=no
qualify=yes
allow=g729
allow=ulaw
allow=alaw
[2000] ; This is our extension nember
type=friend ; This device takes and makes calls
defaultuser=2000 ; Username on device
qualify=yes
secret=1234 ; Password for device
host=dynamic
context=from-sip
mailbox=100@default ; Define voicemail for extension 2000
[2001] ; Same patterm as of extension 2000
type=friend
defaultuser=2001
qualify=yes
secret=1234
host=dynamic
context=from-sip
mailbox=101@default
มี chan_dahdi.conf ดังนี้
=====================
[trunkgroups]
[channels]
context = from-pstn
signalling=fxs_ks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
;Uncomment these lines if you have problems with the disconection of your analog lines
busydetect=yes
busycount=3
immediate=no
#include dahdi-channels.conf
มี dahdi-channels ดังนี้
==================
; Span 1: WCTDM/0 "Wildcard TDM410P" (MASTER)
;;; line="1 WCTDM/0/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default
;;; line="2 WCTDM/0/1"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
callerid=
group=
context=default
;;; line="3 WCTDM/0/2"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
callerid=
group=
group=
context=default
;;; line="4 WCTDM/0/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
context=default
มี extensions.conf ดังนี้
=====================
[general]
static=yes ; These two lines prevent the command-line interface
writeprotect=yes ; from overwriting the config file. Leave them here.
[from-pstn] ; incoming call จาก DAHDI trunk จะเข้าที่นี่แล้วจจะถูกส่งไปที่ extension 2000
exten => s,1,Dial(SIP/2000,30)
exten => s,2,Hangup();
; Dial the user "2000" via the SIP channel driver. Let the number
; ring for 20 seconds, and if no answer, proceed to priority 2.
;
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,2,Voicemail(100@default)
exten => 2000,3,PlayBack(vm-goodbye)
exten => 2000,4,Hangup
;
; Now, what if the number dialed was "2001"?
;
exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,Voicemail(101@default)
exten => 2001,3,PlayBack(vm-goodbye)
exten => 2001,4,Hangup
;
; Define a way so that users can dial a number to reach
; voicemail. Call the VoicemailMain application with the
; number of the caller already passed as a variable, so
; all the user needs to do is type in the password.
;
exten => 2999,1,VoicemailMain()
;
; According to SIP in sip.conf - sip outbound to mm
;
; โทรออกผ่าน SIP trunk
exten => _02XXXXXXX,1,Dial(DAHDI/g0/${EXTEN},30) ; โทร 02 ผ่าน DAHDI trunk
exten => _02XXXXXXX,2,Hangup
exten => _0[689]XXXXXXXX,2,Hangup
exten => _0[3457]XXXXXXX,2,Hangup
3. สรุป
ในตอนนี้เราได้ config SIP และ DAHDI trunk รวมทั้งสร้าง dial plan ที่สามารถเลือก trunk
ตามเบอร์ปลายทางที่เราโทรไป แต่ยังไม่ได้รวม special services เช่น 191 (emergency)
181 (เทียบเวลา) 1150 (พิซซ่า) ลองเพิ่มเติมดูได้ครับ