2014-01-07 43 views
0

我使用PHP和Asterisk來允許客戶通過我們的網站向我們發起呼叫。我們希望音頻文件在第一個分機播放時播放,該分機已錄製。我的問題:這是什麼東西可配置在PHP的一面,或者應該在Asterisk中配置?如果是這樣,在哪裏?我無法找到指定PHP中路徑或文件名的操作。星號和PHP - 音樂擱置?

這裏是我的PHP腳本的一大塊發起呼叫

$socket = fsockopen($host, 5038, $errnum, $errstr, $timeout) or die("Connection failed"); 
    fputs($socket, "Action: login\r\n"); 
    fputs($socket, "Events: off\r\n"); 
    fputs($socket, "Username: $username\r\n"); 
    fputs($socket, "Secret: $password\r\n\r\n"); 
    fputs($socket, "Action: originate\r\n"); 
    fputs($socket, "Channel: $strChannel\r\n"); 
    fputs($socket, "WaitTime: $timeout\r\n"); 
    fputs($socket, "CallerId: $callId\r\n"); 
    fputs($socket, "Exten: $number\r\n"); 
    fputs($socket, "Context: $strContext\r\n"); 
    fputs($socket, "Priority: $strPriority\r\n\r\n"); 
    fputs($socket, "Action: Logoff\r\n\r\n"); 

編輯
我知道了musiconhold.conf文件 - 但我正在尋找一種方式來這裏執行它如果可能的話

回答

2

您已經創建了musiconhold課程並將課程附加到頻道。

你顯示的代碼只是創建呼叫,它不顯示任何dialplan,所以沒有辦法正確回答你的問題。

最簡單的方法是在第二個通道上提供m(音樂類別)參數來撥號命令。

更復雜的方式可以使用更多的撥號規則技巧或應答宏(M PARAM)

既然你沒有表現出任何星號的相關知識,好主意是第一次讀到有關如何星號的工作簿。我可以推薦ORelly的「Asterisk電話的未來」。

+0

謝謝。我是一名已被納入該項目的PHP開發人員,因此聽起來我需要閱讀本書。不幸的是,只有擁有者才能訪問撥號方案配置文件,這就是爲什麼我希望通過創建呼叫來實現它。 – visevo

+0

您可以使用「Application:Dial」和「Data:Local/$ number \ @ $ strContext/n ,, m」來代替Exten&context其他形式,但請注意,這種方式可能會混淆CDR。無論如何dooing撥號應用程序沒有星號專業知識導致非常錯誤的系統。例如,如果您在同一時間放置大量頻道或不提供頻道,它可能會掛起。 – arheops