2015-05-19 91 views
0

我已經創建了SIP呼叫,現在我沒有任何聲音,即我沒有聲音管理器。我想爲Receiver播放一個音頻文件。即當我打電話給某人時,我希望他們聽到音頻消息。如何發送文件並使其播放?播放音頻文件並通過SIP播放

ContentLengthHeader contentLength = headerFactory.createContentLengthHeader(211); 
ContentTypeHeader contentType = 
    headerFactory.createContentTypeHeader("application", "sdp"); 

String sdpData = "v=0\n" + 
       "o=test 795808818 480847547 IN IP4 "+localIP+"\n" + 
       "s=Audio Call\n" + 
       "u=/audio/play.wav"+ 
       "c=IN IP4 "+localIP+"\n" + 
       "t=0 0\n" + 
       "m=audio 8000 RTP/AVP 0 8 101\n" + 
       "a=rtpmap:0 PCMU/8000\n" + 
       "a=rtpmap:8 PCMA/8000\n" + 
       "a=rtpmap:101 telephone-event/8000\n" + 
       "a=sendrecv"; 

byte[] contents = sdpData.getBytes();   
request.setContent(contents, contentType); 

如果我直接發送這樣的文件將它播放?還有可能發送文本並通過呼叫播放它?

+0

請先試一下,然後問一個問題。 – john

+1

你能向我推薦我可以遵循的實施方向嗎? – gourig

回答

0

SIP僅用於信令,即呼叫設置,以播放需要指示媒體服務器執行此操作的音頻文件。我會建議避免去更低層,並使用一個簡單的API來做到這一點。 RestComm將允許你這樣做。現在甚至有一個碼頭圖像http://www.telestax.com/docker-image-for-mobicents-restcomm-7-3-0/。 RestComm附帶了一些預先配置的演示,播放wav文件的人綁定到數字1234,看看如何在這裏測試http://docs.telestax.com/restcomm-testing-default-demos/