2015-05-19 60 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/