請教備用路由設定方法

72 views
Skip to first unread message

夢見草

unread,
Jan 6, 2017, 2:57:21 AM1/6/17
to Taiwan Asterisk Users' Group - www.osslab.com.tw
各位前輩好:

我有3個外撥的路由(sip trunk),一個為主要的,另外兩個為備用的,考慮到主要的外撥路由萬一斷線時,備用路由能自動補上,

底下是我的 extensions.conf 裡設定方法:

;手機路由
exten => _09XXXXXXXX,1,Noop(${CALLERID(number)})
  same => n,Dial(SIP/trunk1/${EXTEN},45,XxWw)
  same => n,Dial(SIP/trunk2/${EXTEN},30,XxWw)
  same => n,Dial(SIP/trunk3/${EXTEN},30,XxWw)
 
這樣的設定方法雖然能起作用,備用路由 trunk2 和 trunk3 在主要路由 trunk1 故障時,能夠自動補上

一般手機大部份的人都有設定語音信箱,對方拒接的話,我們就會被導入語音信箱,發話端若不想留言的話,掛斷即可,問題不大
問題就在於,受話端若沒有設定語音信箱的話,那麼缺點就浮現出來了:

1. 主要路由 trunk1 撥打秒數 45秒內,對方若沒有接聽,也沒有轉入語音信箱的話,那麼就會自動啟用 trunk2 再撥打一次,然後 trunk3 再撥打一次
2. 受話方沒有設定語音信箱,拒接我們的來電時, trunk2 和 trunk3 會再各撥一次,這樣的設定會很擾民

請問各位前輩,在備用路由的設定上面,有沒有更好或更聰明的方法,能避免我上述的問題,而又能自動啟用備用路由?

補充:我使用的系統是 asterisk  11.10.2 版本

A-Lang Hsu, Asterisk/Linux/IT Expert, OSSLab Co-Founder

unread,
Jan 7, 2017, 9:00:37 PM1/7/17
to Taiwan Asterisk Users' Group - www.osslab.com.tw
以你的需求,在 dialplan 寫一些判斷式應該可解決。

google 有很多範例,幫你搜尋到一個

https://itsolutionworld.wordpress.com/2014/03/06/failover-dialplan-for-asterisk/comment-page-1/


夢見草 <domin...@gmail.com> 於 2017年1月6日 週五 下午3:57寫道:
--
You received this message because you are subscribed to the Google Groups "Taiwan Asterisk Users' Group - www.osslab.com.tw" group.
To unsubscribe from this group and stop receiving emails from it, send an email to asterisk-tw...@googlegroups.com.
To post to this group, send email to aster...@googlegroups.com.
Visit this group at https://groups.google.com/group/asterisk-tw.
For more options, visit https://groups.google.com/d/optout.

夢見草

unread,
Jan 9, 2017, 6:03:35 AM1/9/17
to Taiwan Asterisk Users' Group - www.osslab.com.tw
謝謝,我自己在網路上找到了一些參考資料,提出來分享與討論

解法1: 類同解法2,只在 extensions.conf 有些不同
http://irockasterisk.blogspot.tw/2012/08/how-to-setup-failover-for-multiple-sip.html
解法2:
http://forums.asterisk.org/viewtopic.php?f=13&t=83760
解法3: 寫巨集,這比較複雜一些
https://mikepultz.com/2010/05/automatic-dial-resource-fail-over-in-asterisk/

總評:

解法1,2 都使用 qualify 來監控 peer 的網路狀況,再用 GotoIf來跳轉斷線的路由,這種設定方法很簡便易用。
但卻無法考慮到 peer 雖在線,但忙線的狀況無法偵測到。特別是我們使用較便宜的路由時,常是跟別人共用 sip 通道,就常會發生擁擠的現象

解法3 有考慮到了 sip trunk 擁擠的狀況,寫了個巨集指令來執行撥號功能,但 peer
斷線的偵測功能好象就沒有了。

夢見草

unread,
Feb 10, 2017, 5:35:16 AM2/10/17
to Taiwan Asterisk Users' Group - www.osslab.com.tw
底下是我綜合各個方法整理出來的筆記,給大家參考
http://blog.vic.mh4u.org/2017/1567
Reply all
Reply to author
Forward
0 new messages