public boolean containsFormat(String format, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { Vector<Attribute> attributes = m.getAttributes(false); for (Attribute a : attributes) { if (a.getName().equalsIgnoreCase("rtpmap") && a.getValue().toLowerCase().contains(format.toLowerCase())) { return true; } } } return false; }
public boolean containsMedia(String media, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { if (m.getMedia().getMediaType().equalsIgnoreCase(media)) { return true; } } return false; }
public boolean containsMedia(String media, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { if (m.getMedia().getMediaType().equalsIgnoreCase(media)) { return true; } } return false; }
public boolean containsFormat(String format, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { Vector<Attribute> attributes = m.getAttributes(false); for (Attribute a : attributes) { if (a.getName().equalsIgnoreCase("rtpmap") && a.getValue().toLowerCase().contains(format.toLowerCase())) { return true; } } } return false; }
public void exclude(String f, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { Collection<RTPFormat> fmts = getRTPFormats(m); for (RTPFormat rtpFormat : fmts) { if (rtpFormat.description.toLowerCase().contains(f.toLowerCase())) { this.excludeFormat(rtpFormat.id, m); this.excludeAttribute(rtpFormat.id, m); } } } }
public static synchronized HashMap<Integer, Format> getFormats(SessionDescription sdp, String mediaType) throws SdpParseException, SdpException { HashMap<Integer, Format> formats = new HashMap<Integer, Format>(); Enumeration mediaDescriptions = sdp.getMediaDescriptions(false).elements(); while (mediaDescriptions.hasMoreElements()) { MediaDescription md = (MediaDescription) mediaDescriptions.nextElement(); if (md.getMedia().getMediaType().equals(mediaType)) { HashMap<Integer, Format> fmts = getFormats(md); if (fmts != null) { formats.putAll(fmts); } } } return formats; }
public static synchronized HashMap<Integer, Format> getFormats(SessionDescription sdp, String mediaType) throws SdpParseException, SdpException { HashMap<Integer, Format> formats = new HashMap<Integer, Format>(); Enumeration mediaDescriptions = sdp.getMediaDescriptions(false).elements(); while (mediaDescriptions.hasMoreElements()) { MediaDescription md = (MediaDescription) mediaDescriptions.nextElement(); if (md.getMedia().getMediaType().equals(mediaType)) { HashMap<Integer, Format> fmts = getFormats(md); if (fmts != null) { formats.putAll(fmts); } } } return formats; }
public void exclude(String f, SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { Collection<RTPFormat> fmts = getRTPFormats(m); for (RTPFormat rtpFormat : fmts) { if (rtpFormat.description.toLowerCase().contains(f.toLowerCase())) { this.excludeFormat(rtpFormat.id, m); this.excludeAttribute(rtpFormat.id, m); } } } }
@Override public Collection<RTPInfo> getRTPInfo() { final List<RTPInfo> list = new ArrayList<RTPInfo>(); try { final Connection c = this.sdp.getConnection(); @SuppressWarnings("unchecked") final Vector<MediaDescription> mds = this.sdp.getMediaDescriptions(false); if (mds != null) { for (final MediaDescription md : mds) { final RTPInfo rtpInfo = processMediaDescription(c, md); if (rtpInfo != null) { list.add(rtpInfo); } } } } catch (final SdpException e) { throw new RuntimeException("TODO: throw real exception", e); } return list; }
public boolean checkForMinimalOffer(SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { if (m.getMedia().getMediaFormats(false) == null) { return false; } } return true; }
public boolean checkForMinimalOffer(SessionDescription sdp) throws SdpException { Vector<MediaDescription> mds = sdp.getMediaDescriptions(false); for (MediaDescription m : mds) { if (m.getMedia().getMediaFormats(false) == null) { return false; } } return true; }
@Override public Collection<RTPInfo> getRTPInfo() { final List<RTPInfo> list = new ArrayList<RTPInfo>(); try { final Connection c = this.sdp.getConnection(); @SuppressWarnings("unchecked") final Vector<MediaDescription> mds = this.sdp.getMediaDescriptions(false); if (mds != null) { for (final MediaDescription md : mds) { final RTPInfo rtpInfo = processMediaDescription(c, md); if (rtpInfo != null) { list.add(rtpInfo); } } } } catch (final SdpException e) { throw new RuntimeException("TODO: throw real exception", e); } return list; }
private String convertSDP(String sdpString) throws SdpException { SdpFactory factory = javax.sdp.SdpFactory.getInstance(); SessionDescription sd = factory.createSessionDescription(sdpString); Vector<?> mediaDescriptions = sd.getMediaDescriptions(false); for (Object object : mediaDescriptions) { MediaDescription md = (MediaDescription) object; Vector<?> attributes = md.getAttributes(false); for (Object object2 : attributes) { Attribute attribute = (Attribute) object2; if (attribute.getName().compareToIgnoreCase("rtpmap") == 0) { attribute.setValue(attribute.getValue().toUpperCase()); } } } return sd.toString(); }
private String convertSDP(String sdpString) throws SdpException { SdpFactory factory = javax.sdp.SdpFactory.getInstance(); SessionDescription sd = factory.createSessionDescription(sdpString); Vector<?> mediaDescriptions = sd.getMediaDescriptions(false); for (Object object : mediaDescriptions) { MediaDescription md = (MediaDescription) object; Vector<?> attributes = md.getAttributes(false); for (Object object2 : attributes) { Attribute attribute = (Attribute) object2; if (attribute.getName().compareToIgnoreCase("rtpmap") == 0) { attribute.setValue(attribute.getValue().toUpperCase()); } } } return sd.toString(); }
@SuppressWarnings("unchecked") private static String patch(final byte[] data, final String externalIp) throws UnknownHostException, SdpException { final String text = new String(data); if(logger.isInfoEnabled()){ logger.info("About to patch "); logger.info("SDP :" + text); logger.info("Using externalIP: " + externalIp); } final SessionDescription sdp = SdpFactory.getInstance().createSessionDescription(text); SessionName sessionName = SdpFactory.getInstance().createSessionName("Restcomm B2BUA"); sdp.setSessionName(sessionName); // Handle the connection at the session level. fix(sdp.getConnection(), externalIp); // Handle the connections at the media description level. final Vector<MediaDescription> descriptions = sdp.getMediaDescriptions(false); for (final MediaDescription description : descriptions) { fix(description.getConnection(), externalIp); } sdp.getOrigin().setAddress(externalIp); return sdp.toString(); }
final Vector<MediaDescription> descriptions = sdp.getMediaDescriptions(false); for (final MediaDescription description : descriptions) { fix(description.getConnection(), externalIp); final Vector<MediaDescription> descriptions = sdp.getMediaDescriptions(false); for (final MediaDescription description : descriptions) { fix(description.getConnection(), externalIp);
if (!sdpProcessor.containsFormat(f, sdp)) { if (f.equalsIgnoreCase("AMR")) { Vector<Attribute> attributes = ((MediaDescription)sdp.getMediaDescriptions(false).get(0)).getAttributes(false); attributes.add(sdpFactory.createAttribute("rtpmap", "99 AMR/8000"));
if (!sdpProcessor.containsFormat(f, sdp)) { if (f.equalsIgnoreCase("AMR")) { Vector<Attribute> attributes = ((MediaDescription)sdp.getMediaDescriptions(false).get(0)).getAttributes(false); attributes.add(sdpFactory.createAttribute("rtpmap", "99 AMR/8000"));
SdpFactory sdpFactory = SdpFactory.getInstance(); SessionDescription sourceSessionDescription = sdpFactory.createSessionDescription(sourceSDP); Vector<MediaDescription> sourceMediaDescriptions = sourceSessionDescription.getMediaDescriptions(false); Vector<AttributeField> attributes; Vector<BandwidthField> bandwidth;
Vector otherMediaDescriptions = otherSessionDescription.getMediaDescriptions(false); if (otherMediaDescriptions != null) { Vector newMDs = new Vector();