播放音频文件并通过SIP播放

时间:2015-05-19 12:48:18

标签: java audio sip jain-sip

我已经创建了一个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);   

如果我直接发送这样的文件会播放吗?还可以发送文本并通过电话播放吗?

1 个答案:

答案 0 :(得分:1)

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/