3 回答

TA貢獻1815條經(jīng)驗 獲得超13個贊
你的調(diào)用文件有重試參數(shù),所以它認為調(diào)用失敗并重試。
您在這里有 3 個選擇
1)在不需要的情況下刪除文件
2) 掛斷前接聽電話。
3) 刪除重試。

TA貢獻1833條經(jīng)驗 獲得超4個贊
調(diào)用文件非常適合調(diào)度,但我會使用 PHP AGI 而不是撥號計劃來做 web 端。
您可以讓呼叫文件使用目標電話號碼和查詢 Web 服務(wù)所需的任何參數(shù)(用戶 ID、電子郵件等)撥打本地分機號。然后 AGI 執(zhí)行 curl 請求,您可以繼續(xù)從 AGI 內(nèi)部撥號。我猜這對你來說比撥號計劃更舒服。它將消除“出于某種原因它做了 X”的困惑部分,因為您可以在 PHP 中直接控制調(diào)用,并且可以從您的 AGI 腳本中記錄到文件。
您還可以執(zhí)行更高級的 API 查詢,例如需要身份驗證令牌的外部 API、處理更復(fù)雜的輸出等。

TA貢獻1785條經(jīng)驗 獲得超4個贊
從 Asterisk 社區(qū)得到了一些很大的幫助。主要問題是需要兩個上下文,一個用于呼叫的每一段。
使用 Dial 進行呼叫的一種上下文(下面的 message_dial)
播放聲音文件的另一個上下文。(下方留言)
這是有效的 extensions.conf 文件。只需在撥號命令之前在 message_dial 的撥號計劃中添加任何條件:
[message_dial]
exten => s,1,NoOp()
same => n,Dial(SIP/voxbeam_outbound/${PHONE_NUMBER})
[message]
exten => s,1,NoOp()
same => n,Playback(message)
same => n,Hangup
調(diào)用文件可能如下所示
Channel: Local/s@message_dial
CallerID: +46<hidden>
MaxRetries: 3
RetryTime: 15
Context: message
Extension: s
Priority: 1
Archive: Yes
SetVar: PHONE_NUMBER=+46<hidden>
所以看看最終的解決方案,對于任何精通 Asterisk 的人來說,實現(xiàn)它真的很簡單。
- 3 回答
- 0 關(guān)注
- 149 瀏覽
添加回答
舉報