返回列表 發帖

QNAP109+ Asterisk1.4.22 + oBI110 + Comnet Phone 設定心得

本帖最後由 harold 於 2016-8-11 16:38 編輯

先講背影
小弟有二部陳年舊的NAS, 一部Synology DS109j, 另一部係QNAP109+ !! 係NAS 來講, Synology 係好用過QNAP, 但唔再係到詳談!! 兩部都有Asterisk APP 可安裝!! 但 QNAP個QPKG 安裝檔案已經無得再download. 即QNAP唔再support TS109+.
我原先係用CallCentric + OBI110 + Comnet Phone 來玩VOIP, 但CallCentric 質數越來越差, 通話Delay 1-2秒, 所以決定起Asterisk Server.
平時我的Synology 只用來Data Backup, QNAP 只用來做 OpenVPN Server. 因為QNAP用無散熱扇的設計, 所以有利長時間開啟! QNAP 109+ Firmware update to 3.3.3 Build 1003T!
安裝Asterisk
先在Archive 地方download Asterisk_1.4.22.1b_arm_x09 安裝在QNAP 的QPKG!! 不要在QNAP109+ 上安裝 IPKG Asterisk, 因為QNAP 上的linux kernel 太舊, 有太多不足, 安裝後一大堆問題, 我搵咗好耐都無解決方法!!
安裝完成後, 你會看到Asterisk GUI版本!! 但這個GUI 有太多問題, 根本用不到啲個GUI! 唯一用到的, 只有GUI 內個的CLI !! 你必定要用它!! 因為在SSH 上, 你無可能用到Asterisk 上任何一個command 的!! 所以GUI 內個的CLI 係唯一一個途徑比你打CLI command 的地方!!
我用咗二個星期由Asterisk 零認識去到設定完成!!! 由摸不著頭到設定完成!! 真係嘔心瀝血!!!
有咗我啲個config, 時間會花少好多!! 因為我學藝未精, 唔一定最好!! 但我都叫好滿意!!
唔好對QNAP 的Asterisk  有咁大期望, 因為QNAP 比到你的Asterisk Function, 就可以用到, 但一啲要 Addon 安裝的, QNAP 的Asterisk  係唔會做到的!!
另外, 雖然通話質素滿意, 但當Asterisk 入到 OBI 的AA menu 時, 第一層(1,2,3 的選項)係無問題, 但去到第二層就出現Packet LOSS, 我未知乜事!! 但通話上係無問題的!
現今玩VOIP, 多數會係SmartPhone 到玩!!
IPhone 上, 免費選擇較少, 都都好穏定,設定不多 e.g. linphone, Zoiper
Android 上自身的SIP 是最好的, 但Andoird 6.0 後不再有啲個功能!!
Android上, 免費選擇較多, 都好壞一半半!! 有啲做都好複雜, 但一般來說基本設定就可以了!! e.g. csipsimple, linphone, Zoiper


Asterisk Config

Sip.conf
;Global Config
[general]
context = default
allowoverlap = no
bindport = 5060
bindaddr = 0.0.0.0
srvlookup = yes
allowexternaldomains = yes
allowguest = no
allowsubscribe = yes
allowtransfer = yes
alwaysauthreject = yes
autodomain = no
callevents = no
checkmwi = 10
defaultexpiry = 120
domain =
dtmfmode = auto
dumphistory = no
externrefresh = 10
fromdomain = “dynamic dns”
g726nonstandard = no
jbenable = yes
jbforce = yes
jbimpl = adaptive
jblog = yes
jbmaxsize = 200
jbresyncthreshold = 1000
language =
maxcallbitrate = 384
maxexpiry = 3600
minexpiry = 60
mohinterpret = default
mohsuggest =
nat = yes
notifyringing = yes
pedantic = no
progressinband = never
promiscredir = no
realm = asterisk
recordhistory = no
registerattempts = 0
registertimeout = 20
relaxdtmf = no
rtpholdtimeout =
rtptimeout =
sendrpid = no
sipdebug = no
subscribecontext =
t1min = 100
t38pt_udptl = no
trustrpid = no
useragent = IPPABX
usereqphone = no
videosupport =yes
icesupport=yes
stunaddr=stun.zoiper.com
disallow = all
allow=alaw
pedantic=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
notifymimetype=text/plain
vmexten=*9
language=en
compactheaders = yes
rtptimeout=60
rtpholdtimeout=300
externhost= “dynamic dns“
localnet=10.0.0.0/255.0.0.0
dtmfmode=rfc2833
srvlookup=yes

register => 1777xxxxxxxxx@callcentric.com:YouPasword:1777xxxxxxxxx@callcentric.com/You Extension

[callcentric]
type=peer
context=from-callcentric
host=callcentric.com
fromdomain=callcentric.com
username=1777xxxxxxxxx
fromuser=1777xxxxxxxxx
secret=YourPassword
insecure=very
canreinvite=no
allow=all


[100]
callerid="OBITrunk" <100>
username=YouUserName
type=friend
context=my-group
secret=YourPasword
host=dynamic
nat=no
canreinvite=no
transport=udp
dtmfmode = auto
mailbox=100@default
jbenable = no
jbforce = no
disallow=all
allow=alaw
allow=ulaw



extensions.conf


[DirectoryService]
exten => *0,1,Answer
exten => *0,2,Wait(1)
exten => *0,3,Directory(default,my-group,ef)

[EchoTest]
exten => *1,1,Playback(demo-echotest) ; Let them know what's going on
exten => *1,2,Echo ; Do the echo test
exten => *1,3,Playback(demo-echodone) ; Let them know it's over
exten => *1,n,hangup()

[VMail]
exten => *9,1,wait(1)
exten => *9,n,VoiceMailMain(s${CALLERIDNUM})
exten => *9,n,hangup()

[from-callcentric]
exten => s,1,Dial(SIP/100)
exten => s,n,hangup()
[obitrunk01]
exten => _1XXX,1,Dial(SIP/**1133${EXTEN}@100)
exten => _1XXXX ,1,Dial(SIP/**1133${EXTEN}@100)
exten => _1XXXXXX ,1,Dial(SIP/**1133${EXTEN}@100)

exten => _[2356789]XXXXXXX,1,Answer(1)
exten => _[2356789]XXXXXXX,n,Dial(SIP/**1${EXTEN}@100)
exten => _[2356789]XXXXXXX,n,hangup()

[StarCode]
;-------------------- **02 Call out from callcentric
exten => _**02X.,1,Answer
exten => _**02X.,2,Wait(2)
exten => _**02X.,3,Read(password,enter-password,4)
exten => _**02X.,4,GotoIf($[${password} = 0000]?5:8)
exten => _**02X.,5,playback(pls-wait-connect-call)
exten => _**02X.,6,Dial(SIP/${EXTEN:4}@callcentric)
exten => _**02X.,7,hangup()
exten => _**02X.,8,playback(privacy-incorrect)
exten => _**02X.,9,playback(goodbye)
exten => _**02X.,10,Wait(1)
exten => _**02X.,11,hangup()

;-------------------- **09 OBITalk Call
exten => _**09X.,1,Wait(1)
exten => _**09X.,n,Dial(SIP/**9${EXTEN:4}@100)
exten => _**09X.,n,hangup()

[my-group]
include =>DirectoryService
include =>EchoTest
include =>VMail
include =>StarCode

exten => 100,1,Dial(SIP/100,30)
exten => 100,n,Dial(SIP/101&SIP/102,45)
exten => 100,n,hangup()

exten => _XXX,1,Dial(SIP/${EXTEN},45)
exten => _XXX,2,VoiceMail(${EXTEN},u)
exten => _XXX,n,hangup()

voicemail.conf
; Sendmail  not work on QNAP109
attach=yes
maxmsg=10
skipms=3000
maxsilence=10
saycid=yes
4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,

Rtp.conf
;要避開OBI110 的RTP Port
rtpstart=24000
rtpend=25000

dnsmgr.conf
enable=yes

設定完後到OBI 設定, OBItalk Website, 入ObiTalk Compatible Service Providers -> Generate SIP Setting, 入Comnet Config 係SP1
設定完後再入ObiTalk Compatible Service Providers -> Generate SIP Setting, 入Asterisk Account 係SP2
然後 Obi Expert Configuration -> Enter Obi Exprt -> Voice Service -> X_InboundCallRoute ,係value 入{@>(<**1:>xx.):sp1},{@>(<**2:>xx.):sp2}{@>(<**8:>xx.):li},{@>(<**9:>xx.):pp},{(100):aa},{>100:ph}

在router上, 記得Set 返 port forwarding
Asterisk UDP 5060 Port
Asterisk RTP UDP 24000-25000 port

希望幫到各位!!

谢谢楼主的无私贡献!

TOP

都唔系好明,有無圖教學

TOP

他已经把重要的东西写上来了。

TOP

谢谢楼主的无私贡献!

TOP

谢谢!
我的callcentric在asterisk11.16上总是有点问题,挂的trunk转接分机经常会时通时不通

TOP

是否有double registration问题?就是一个account,有两个SIP devices一起去注册。

TOP

回復 7# 角色


    不知道是不是回答的我的问题。我的cc只在piaf上注册为trunk来用,因为cc机房在纽约,到大陆延迟和丢包有点利害,所以挂在小搬的美西机房,线路要更好。原来asterisk的匿名和客人呼入是打开的,直接用cc的call treatment 转到我的分机,但最近发现总有人扫描,cdr中铺天盖地的骚扰记录。我用了一个cc的did和gv捆绑。今天改了Piaf的防火墙设置,看看有没有效果。如果是vps安装或是大家选择vps的话,推荐搬瓦工的mc机房,到大陆线路非常不错

TOP

你default sip port不用5060,改用10000以上随便一个,外面的intruders几乎不再见到了。

TOP

回復 9# 角色


    我开始就不用标准的5060,但还是被扫描到了,几年了都没事,最近被找上门了

TOP

那么你把他的IP address黑了,起码减少一点。我记起好像有些settings可以set,然后对方检查不出是account不对,还有密码不对。而你的account password一定要超过8位,不能用简单的,有大小写和数字。

TOP

主要是匿名和客户呼入选项打开了,这个本身就不太安全,主要是因为这个原因。我的密码都很复杂,并且标准常用的端口我全改了,root也不允许密码登录,呵呵

TOP

本帖最後由 角色 於 2018-1-29 18:08 編輯

你说“主要是匿名和客户呼入选项打开了,这个本身就不太安全”,这个没有错,我记得也是这样。

密码不会用了UUID吧!769270ee-af85-4926-bfe1-f5ae5dc72c40

如果用UUID,我估计他一辈子也碰不到这个秘密。哈哈!

TOP

回復 13# 角色


    用了ssh key,被黑掉的可能性大大降低了。并且在我这个vps上花太大精力没有意义,大不了我用小搬的镜像恢复一下,呼出的trunk费率我都做了限制,资费高的全都拒绝了

TOP

除了上面的方法。尽量用peer方式,另把Incoming和call-limit也设置下,用指令关闭SIP以外沒用到的模組等等方式,基本差不多了不用担心了。

TOP

返回列表