auto answer 的功能在 FreePBX 的選單是 Paging and Intercom,這可應用在對單一或多個分幾作廣播。
要實現 auto answer 的功能必須該網路電話或 ATA 有支援這個 feature,並且還要相容 Asterisk 主機,相容的關鍵是 SIPAddHeader 的內容:
SIPAddHeader(Alert-Info: Ring Answer);
SMCDSP-200 預設有支援 FreePBX 的 auto answer,所以直接設定 UI 就能使用,檢查 dialplan 所用到的內容如下:
[ext-paging]
include => ext-paging-custom
exten => _PAGE.,1,GotoIf($[ ${AMPUSER} = ${EXTEN:4} ]?skipself)
exten => _PAGE.,n(AVAIL),ChanIsAvail(${DB(DEVICE/${EXTEN:4}/dial)},s)
exten => _PAGE.,n,GotoIf($["${AVAILORIGCHAN}" == ""]?skipself)
exten => _PAGE.,n,GotoIf($["${DB(DND/${DB(DEVICE/${EXTEN:4}/user)})}" = "YES"]?skipself)
exten => _PAGE.,n(SKIPCHECK),Macro(autoanswer,${EXTEN:4})
exten => _PAGE.,n,Dial(${DIAL},${DTIME},${DOPTIONS})
exten => _PAGE.,n(skipself),Hangup
exten => _FPAGE.,1,GotoIf($[ ${AMPUSER} = ${EXTEN:5} ]?skipself)
exten => _FPAGE.,n(SKIPCHECK),Macro(autoanswer,${EXTEN:5})
exten => _FPAGE.,n,Dial(${DIAL},${DTIME},${DOPTIONS})
exten => _FPAGE.,n(skipself),Hangup
exten => 300,1,Answer
exten => 300,n,Macro(user-callerid,)
exten => 300,n,Set(_AMPUSER=${AMPUSER})
exten => 300,n,Set(_SIPURI=)
exten => 300,n,Set(_ALERTINFO=Alert-Info: Ring Answer)
exten => 300,n,Set(_CALLINFO=Call-Info: <uri>\;answer-after=0)
exten => 300,n,Set(_SIPURI=intercom=true)
exten => 300,n,Set(_DOPTIONS=A(beep))
exten => 300,n,Set(_DTIME=5)
exten => 300,n,Set(_ANSWERMACRO=)
exten => 300,n,Set(__FORWARD_CONTEXT=block-cf)
exten => 300,n,Page(LOCAL/PAGE215@ext-paging)
其他廠牌的電話,可以改用
SIPAddHeader(Alert-Info: Ring Answer); SIPAddHeader(Call-Info:\;Answer-After=0); SIPAddHeader(P-Auto-Answer: normal);