皆さんこんにちは、Centos 7サーバーでAsterisk 18 Cookedを使用しています。wavファイル、モノラルpcm s16 le 8000 hzを再生したいのですが、MyWavFile.wavと呼びます。BackGroundまたはMP3Playerアプリケーションを使用して再生しようとすると、非常によく似た応答が得られます。
-- Executing [112@local:1] Answer("PJSIP/5020-00000000", "") in new stack
-- Executing [112@local:2] BackGround("PJSIP/5020-00000000", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
[Jul 12 23:26:49] WARNING[8272][C-00000001]: file.c:824 ast_openstream_full: File /var/lib/asterisk/moh/MyWavFile.wav does not exist in any format
[Jul 12 23:26:49] WARNING[8272][C-00000001]: file.c:1303 ast_streamfile: Unable to open /var/lib/asterisk/moh/MyWavFile.wav (format (ulaw)): No such file or directory
[Jul 12 23:26:49] WARNING[8272][C-00000001]: pbx_builtins.c:1256 pbx_builtin_background: ast_streamfile failed on PJSIP/5020-00000000 for /var/lib/asterisk/moh/MyWavFile.wav
-- Executing [112@local:3] Hangup("PJSIP/5020-00000000", "") in new stack
-- Executing [112@local:1] Answer("PJSIP/5020-00000001", "") in new stack
-- Executing [112@local:2] MP3Player("PJSIP/5020-00000001", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
[Jul 12 23:27:42] WARNING[8288][C-00000002]: app_mp3.c:258 mp3_exec: MP3 stream '/var/lib/asterisk/moh/MyWavFile.wav' is broken or nonexistent
-- Executing [112@local:3] Hangup("PJSIP/5020-00000001", "") in new stack
しかし、MOH と同じファイルを使用すると、MMMM が再生されますが、これに欠けているものは何でしょうか?
皆様のご協力に感謝します!
答え1
Asterisk はマルチフォーマット PBX です。ファイルは .wav ではなく .g729 または .gsm で終わる場合があります。
同じ名前のファイルが複数ある場合があり、アスタリスクはコーデック パスに基づいて 1 つを選択します。
したがって、この
Executing [112@local:2] BackGround("PJSIP/5020-00000000", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
動作しないはずです。次のように拡張子なしのファイル名を入力しました
exten => 112,2,BackGround(/var/lib/asterisk/moh/MyWavFile)
ps あなたの場合、コーデックは ulaw であり、-> .ulaw -> .sln -> .wav -> .alaw -> .WAV(gsm) -> .gsm などのように検索されます。