返回列表 發帖

來電電話過慮/廣告電話自訂黑名單 Blacklist

本帖最後由 bubblestar 於 2010-11-25 22:51 編輯

這個來電電話過慮黑名單,可以在電話鍵盤上加入拒接來電號碼,及刪除(即重新接受)在黑名單的電話號碼。
好處是不需要開著電腦在Console內進行,方便了好多。希望大家有用。
  1. extensions.conf


  2. [internal]
  3. include => blacklist-add
  4. include => blacklist-rmv

  5. [blacklist-add]
  6. exten => *22,1,Answer
  7. exten => *22,n,Playback(enter-num-blacklist)
  8. exten => *22,n,Read(blacklist,then-press-pound,0,,2,10)
  9. exten => *22,n,SayDigits(${blacklist})
  10. exten => *22,n,Playback(if-correct-press&digits/2)
  11. exten => *22,n,Noop(Waiting for input)
  12. exten => *22,n,WaitExten(60,)
  13. exten => *22,n,Playback(sorry-youre-having-problems&goodbye)
  14. exten => 2,1,Set(DB(BLACKLIST/${blacklist})=1)
  15. exten => 2,n,Playback(num-was-successfully&added)
  16. exten => 2,n,Wait(1)
  17. exten => 2,n,Hangup

  18. [blacklist-rmv]
  19. exten => #22,1,Playback(entr-num-rmv-blklist)
  20. exten => #22,n,Read(blacklist,then-press-pound,0,,2,10)
  21. exten => #22,n,SayDigits(${blacklist})
  22. exten => #22,n,Playback(if-correct-press&digits/1)
  23. exten => #22,n,Noop(Waiting for input)
  24. exten => #22,n,WaitExten(60,)
  25. exten => #22,n,Playback(sorry-youre-having-problems&goodbye)
  26. exten => 1,1,DBdel(BLACKLIST/${blacklist})
  27. exten => 1,n,playback(removed)
  28. exten => 1,n,Hangup

  29. [from-pstn]
  30. exten => s,1,GotoIf(${DB_EXISTS(BLACKLIST/${CALLERID(num)})}?reject)       
  31. exten => s,n,Answer()                                               
  32. exten => s,n,Dial(SIP/2001,,r)
  33. exten => s,n,Hangup()
  34. exten => s,n(reject),Playback(ss-noservice)               
複製代碼

這方法,還可以在設定前,能從電話中讀一次該號碼給你聽,才再按1 或 2 確定生效。
如有同時在CLI 中觀看,亦可看到屏幕在顯示它正要朗讀的號碼。

TOP

bubblestar兄,因為我用GUI關係,所以想問吓上面嘅code應該加在那個欄裏面?? 先謝謝了
1.jpg
2.jpg

TOP

回復 3# ddwrt_voip


    '
應該可以在Voice Menu 入面 SET 便可以了。

之後要在incoming calling rule 設定返進入的電話,要先接到voice menu 你剛剛建立的Blacklist 度做Checking. 不會太複雜。

TOP

本帖最後由 lawleo 於 2012-9-10 15:46 編輯

看了你們的文章,啟發了我寫了以下的
exten => _X.,1,Answer()
exten => _X.,n,MYSQL(Connect connid 127.0.0.1 username password table)
exten => _X.,n,MYSQL(Query resultid ${connid} SELECT id,cn FROM junk_caller WHERE pn='${CALLERID(number)}')
exten => _X.,n,MYSQL(Fetch fetchid ${resultid} id cn)
exten => _X.,n,MYSQL(Clear ${resultid})
exten => _X.,n,MYSQL(Disconnect ${connid});
exten => _X.,n,GotoIf($[${id}]?reject)
exten => _X.,n,Dial(SIP/10,30,Ttr)

那所有來電會先查看 mysql, 如是廣告電話便 reject...不是的話便IP Phone 會響......

但我有可能改成撥打我的手提電話嗎? 由於 cmphone 只可同一時間接受一個撥入或撥出,所以是否便不能呢? 那平時的 *21* 把所有電話飛線,又會否使用撥入的 PSTN 呢?
exten => _*21*X.,1,DBput(CFIM/${CALLERIDNUM}=${EXTEN:4})

TOP

如果是用 cmphone,應該沒法飛線往你的手提電話了,除非有2條PSTN線,便可以做到你的要求。

用2b 的話,應該可以吧,因為聽說它可以同時撥入撥出使用的。

TOP

返回列表