|
@ -99,13 +99,13 @@ public class SIPRequestHeaderProvider { |
|
|
return request; |
|
|
return request; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Request createPlaybackInviteRequest(Device device, String channelId, String content, String viaTag, String fromTag, String toTag, CallIdHeader callIdHeader) throws ParseException, InvalidArgumentException, PeerUnavailableException { |
|
|
public Request createPlaybackInviteRequest(Device device, String channelId, String content, String viaTag, String fromTag, String toTag,String ssrc, CallIdHeader callIdHeader) throws ParseException, InvalidArgumentException, PeerUnavailableException { |
|
|
Request request = null; |
|
|
Request request = null; |
|
|
//请求行
|
|
|
//请求行
|
|
|
SipURI requestLine = sipFactory.createAddressFactory().createSipURI(device.getDeviceId(), device.getHostAddress()); |
|
|
SipURI requestLine = sipFactory.createAddressFactory().createSipURI(channelId, device.getHostAddress()); |
|
|
// via
|
|
|
// via
|
|
|
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>(); |
|
|
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>(); |
|
|
ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(device.getIp(), device.getPort(), device.getTransport(), viaTag); |
|
|
ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getIp(), device.getPort(), device.getTransport(), viaTag); |
|
|
viaHeader.setRPort(); |
|
|
viaHeader.setRPort(); |
|
|
viaHeaders.add(viaHeader); |
|
|
viaHeaders.add(viaHeader); |
|
|
//from
|
|
|
//from
|
|
@ -113,7 +113,7 @@ public class SIPRequestHeaderProvider { |
|
|
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI); |
|
|
Address fromAddress = sipFactory.createAddressFactory().createAddress(fromSipURI); |
|
|
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag); //必须要有标记,否则无法创建会话,无法回应ack
|
|
|
FromHeader fromHeader = sipFactory.createHeaderFactory().createFromHeader(fromAddress, fromTag); //必须要有标记,否则无法创建会话,无法回应ack
|
|
|
//to
|
|
|
//to
|
|
|
SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getDomain()); |
|
|
SipURI toSipURI = sipFactory.createAddressFactory().createSipURI(channelId,sipConfig.getDomain()); |
|
|
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI); |
|
|
Address toAddress = sipFactory.createAddressFactory().createAddress(toSipURI); |
|
|
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress,null); |
|
|
ToHeader toHeader = sipFactory.createHeaderFactory().createToHeader(toAddress,null); |
|
|
|
|
|
|
|
@ -127,7 +127,12 @@ public class SIPRequestHeaderProvider { |
|
|
Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); |
|
|
Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), sipConfig.getIp()+":"+sipConfig.getPort())); |
|
|
// Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort()));
|
|
|
// Address concatAddress = sipFactory.createAddressFactory().createAddress(sipFactory.createAddressFactory().createSipURI(sipConfig.getId(), device.getHost().getIp()+":"+device.getHost().getPort()));
|
|
|
request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); |
|
|
request.addHeader(sipFactory.createHeaderFactory().createContactHeader(concatAddress)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Subject
|
|
|
|
|
|
SubjectHeader subjectHeader = sipFactory.createHeaderFactory().createSubjectHeader(String.format("%s:%s,%s:%s", channelId, ssrc, sipConfig.getId(), 0)); |
|
|
|
|
|
request.addHeader(subjectHeader); |
|
|
|
|
|
|
|
|
ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "SDP"); |
|
|
ContentTypeHeader contentTypeHeader = sipFactory.createHeaderFactory().createContentTypeHeader("APPLICATION", "SDP"); |
|
|
request.setContent(content, contentTypeHeader); |
|
|
request.setContent(content, contentTypeHeader); |
|
|
return request; |
|
|
return request; |
|
|