private boolean isSDPGenerated(SdpPortManagerEvent evt) { return evt.getEventType() == SdpPortManagerEvent.ANSWER_GENERATED || evt.getEventType() == SdpPortManagerEvent.OFFER_GENERATED; }
public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.OFFER_GENERATED) { try { c2.getSdpPortManager().processSdpOffer(event.getMediaServerSdp()); } catch (MsControlException e){ e.printStackTrace(); } } else { System.out.println("BAD!BAD!BAD!"); } } });
public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.ANSWER_PROCESSED) { try { c1.getSdpPortManager().processSdpAnswer(event.getMediaServerSdp()); } catch (MsControlException e){ e.printStackTrace(); } } else { System.out.println("BAD!BAD!BAD!"); } } });
MediaGroup g2 = session.createMediaGroup(MediaGroup.PLAYER_RECORDER_SIGNALDETECTOR); c1.getSdpPortManager().addListener(new MediaEventListener<SdpPortManagerEvent>() { public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.OFFER_GENERATED) { c2.getSdpPortManager().addListener(new MediaEventListener<SdpPortManagerEvent>() { public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.ANSWER_PROCESSED) { c1.join(Direction.DUPLEX, g1); c1.getSdpPortManager().generateSdpOffer(); c2.join(Direction.DUPLEX, g2);
@Override public void execute(Object message) throws Exception { try { networkConnection.getSdpPortManager().addListener(sdpListener); networkConnection.getSdpPortManager().processSdpAnswer(remoteSdp.getBytes()); } catch (MsControlException e) { fsm.transition(e, failed); } }
public void setCodecPolicy(CodecPolicy codecPolicy) throws SdpPortManagerException { // checking codec policy: required should not be excluded String[] required = codecPolicy.getRequiredCodecs(); for (String codec : required) { if (lookup(codec, codecPolicy.getExcludedCodecs())) { throw new SdpPortManagerException("Codec " + codec + " is excluded"); } } // checking codec policy: excluded should not be in capabilities or // preferences String[] excluded = codecPolicy.getExcludedCodecs(); for (String codec : excluded) { if (lookup(codec, codecPolicy.getCodecCapabilities())) { throw new SdpPortManagerException("Codec " + codec + " is excluded but in capabilities"); } if (lookup(codec, codecPolicy.getCodecPreferences())) { throw new SdpPortManagerException("Codec " + codec + " is excluded but in preferences"); } } // assign specified policy this.codecPolicy = codecPolicy; }
/** * Event with the media server generated sdp, send it back to the sip * client. * * @param event * @param aci */ public void onAnswerGenerated(SdpPortManagerEvent event, ActivityContextInterface aci) { tracer.info("Received SDP answer."); try { finishSipSessionSetup(event.getMediaServerSdp()); } catch (Exception e) { tracer.severe("Unable to send OK response with generated SDP", e); abortSipSessionSetup(); abortMediaSessionSetup(); return; } try { finishMediaSessionSetup(aci); } catch (Exception e) { tracer.severe("Unable to initiate join.", e); terminateSipSession(); abortMediaSessionSetup(); } }
public void release() { for (MediaMixer mixer : mixers) { mixer.release(); } for (MediaGroup group : groups) { group.release(); } for (NetworkConnection connection : connections) { connection.release(); } factory.removeSession(this); }
private void onUnmute(Unmute message, ActorRef self, ActorRef sender) throws Exception { if (is(active) && (this.mediaMixer != null)) { try { this.networkConnection.join(Direction.DUPLEX, this.mediaMixer); } catch (MsControlException e) { logger.error("Could not unmute call: " + e.getMessage(), e); } } }
public void rejectSdpOffer() throws SdpPortManagerException { try { connection.fsm.signal(ConnectionTransition.CLOSE); } catch (UnknownTransitionException e) { throw new SdpPortManagerException(e.getMessage()); } }
public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.OFFER_GENERATED) { try { c2.getSdpPortManager().processSdpOffer(event.getMediaServerSdp()); } catch (MsControlException e){ e.printStackTrace(); } } else { System.out.println("BAD!BAD!BAD!"); } } });
public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.ANSWER_PROCESSED) { try { c1.getSdpPortManager().processSdpAnswer(event.getMediaServerSdp()); } catch (MsControlException e){ e.printStackTrace(); } } else { System.out.println("BAD!BAD!BAD!"); } } });
MediaGroup g2 = session.createMediaGroup(MediaGroup.PLAYER_RECORDER_SIGNALDETECTOR); c1.getSdpPortManager().addListener(new MediaEventListener<SdpPortManagerEvent>() { public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.OFFER_GENERATED) { c2.getSdpPortManager().addListener(new MediaEventListener<SdpPortManagerEvent>() { public void onEvent(SdpPortManagerEvent event) { if (event.getEventType() == SdpPortManagerEvent.ANSWER_PROCESSED) { c1.join(Direction.DUPLEX, g1); c1.getSdpPortManager().generateSdpOffer(); c2.join(Direction.DUPLEX, g2);
public void setCodecPolicy(CodecPolicy codecPolicy) throws SdpPortManagerException { // checking codec policy: required should not be excluded String[] required = codecPolicy.getRequiredCodecs(); for (String codec : required) { if (lookup(codec, codecPolicy.getExcludedCodecs())) { throw new SdpPortManagerException("Codec " + codec + " is excluded"); } } // checking codec policy: excluded should not be in capabilities or // preferences String[] excluded = codecPolicy.getExcludedCodecs(); for (String codec : excluded) { if (lookup(codec, codecPolicy.getCodecCapabilities())) { throw new SdpPortManagerException("Codec " + codec + " is excluded but in capabilities"); } if (lookup(codec, codecPolicy.getCodecPreferences())) { throw new SdpPortManagerException("Codec " + codec + " is excluded but in preferences"); } } // assign specified policy this.codecPolicy = codecPolicy; }
/** * Event with the media server generated sdp, send it back to the sip * client. * * @param event * @param aci */ public void onAnswerGenerated(SdpPortManagerEvent event, ActivityContextInterface aci) { tracer.info("Received SDP answer."); try { finishSipSessionSetup(event.getMediaServerSdp()); } catch (Exception e) { tracer.severe("Unable to send OK response with generated SDP", e); abortSipSessionSetup(); abortMediaSessionSetup(); return; } try { finishMediaSessionSetup(aci); } catch (Exception e) { tracer.severe("Unable to initiate join.", e); terminateSipSession(); abortMediaSessionSetup(); } }
public void release() { for (MediaMixer mixer : mixers) { mixer.release(); } for (MediaGroup group : groups) { group.release(); } for (NetworkConnection connection : connections) { connection.release(); } factory.removeSession(this); }
private void onMute(Mute message, ActorRef self, ActorRef sender) { if (is(active) && (this.mediaMixer != null)) { try { this.networkConnection.join(Direction.RECV, this.mediaMixer); } catch (MsControlException e) { logger.error("Could not mute call: " + e.getMessage(), e); } } }
private boolean isSDPGenerated(SdpPortManagerEvent evt) { return evt.getEventType() == SdpPortManagerEvent.ANSWER_GENERATED || evt.getEventType() == SdpPortManagerEvent.OFFER_GENERATED; }
public void rejectSdpOffer() throws SdpPortManagerException { try { connection.fsm.signal(ConnectionTransition.CLOSE); } catch (UnknownTransitionException e) { throw new SdpPortManagerException(e.getMessage()); } }
public synchronized void generateSdpOffer() throws SdpPortManagerException { if (connection.getEndpoint().concreteNameExpectedSoon()) { try { connection.getEndpoint().await(); } catch (InterruptedException e) { throw new SdpPortManagerException(e.getMessage()); } } connection.debug("Generating SDP offer"); try { connection.fsm.signal(ConnectionTransition.OPEN); } catch (UnknownTransitionException e) { throw new SdpPortManagerException(e.getMessage()); } }