Skip to content

Commit d21d364

Browse files
committed
Revert "Work in progress: join bridge through network connections, avoiding the use of a mixer. Issue #1550."
This reverts commit fbf327b.
1 parent fbf327b commit d21d364

11 files changed

Lines changed: 24 additions & 235 deletions

File tree

restcomm/restcomm.mscontrol.api/src/main/java/org/restcomm/connect/mscontrol/api/messages/JoinBridge.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
package org.restcomm.connect.mscontrol.api.messages;
2323

24-
import akka.actor.ActorRef;
2524
import jain.protocol.ip.mgcp.message.parms.ConnectionMode;
2625

2726
import org.restcomm.connect.commons.annotations.concurrency.Immutable;
@@ -35,18 +34,10 @@ public final class JoinBridge {
3534

3635
private final Object endpoint;
3736
private final ConnectionMode connectionMode;
38-
private final ActorRef call;
39-
private final boolean usingMixer; // true if call controller should join using mixer, false to join using network
4037

4138
public JoinBridge(final Object endpoint, final ConnectionMode connectionMode) {
42-
this(endpoint, connectionMode, null, true);
43-
}
44-
45-
public JoinBridge(final Object endpoint, final ConnectionMode connectionMode, final ActorRef call, final boolean usingMixer) {
4639
this.endpoint = endpoint;
4740
this.connectionMode = connectionMode;
48-
this.call = call;
49-
this.usingMixer = usingMixer;
5041
}
5142

5243
public Object getEndpoint() {
@@ -56,8 +47,4 @@ public Object getEndpoint() {
5647
public ConnectionMode getConnectionMode() {
5748
return connectionMode;
5849
}
59-
60-
public ActorRef getCall() { return call; }
61-
62-
public boolean isUsingMixer() { return usingMixer; }
6350
}

restcomm/restcomm.mscontrol.api/src/main/java/org/restcomm/connect/mscontrol/api/messages/JoinBridgeNoMixer.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

restcomm/restcomm.mscontrol.api/src/main/java/org/restcomm/connect/mscontrol/api/messages/JoinCall.java

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import akka.actor.ActorRef;
2929
import org.restcomm.connect.commons.dao.Sid;
30-
import org.restcomm.connect.dao.entities.MediaAttributes;
3130

3231
/**
3332
* @author Henrique Rosa (henrique.rosa@telestax.com)
@@ -36,34 +35,22 @@
3635
@Immutable
3736
public final class JoinCall {
3837

39-
private final ActorRef inboundCall;
40-
private final ActorRef outboundCall;
41-
private final MediaAttributes mediaAttributes;
38+
private final ActorRef call;
4239
private final ConnectionMode connectionMode;
4340
private final Sid sid;
4441

4542
public JoinCall(final ActorRef call, final ConnectionMode connectionMode) {
46-
this(call, connectionMode, null, null, new MediaAttributes());
43+
this(call, connectionMode, null);
4744
}
4845

4946
public JoinCall(final ActorRef call, final ConnectionMode connectionMode, final Sid sid) {
50-
this(call, connectionMode, sid, null, new MediaAttributes());
51-
}
52-
53-
public JoinCall(final ActorRef call, final ConnectionMode connectionMode, final ActorRef outboundCall, final MediaAttributes mediaAttributes) {
54-
this(call, connectionMode, null, outboundCall, mediaAttributes);
55-
}
56-
57-
public JoinCall(final ActorRef call, final ConnectionMode connectionMode, final Sid sid, final ActorRef outboundCall, final MediaAttributes mediaAttributes) {
58-
this.inboundCall = call;
59-
this.outboundCall = outboundCall;
60-
this.mediaAttributes = mediaAttributes;
47+
this.call = call;
6148
this.connectionMode = connectionMode;
6249
this.sid = sid;
6350
}
6451

65-
public ActorRef getInboundCall() {
66-
return inboundCall;
52+
public ActorRef getCall() {
53+
return call;
6754
}
6855

6956
public ConnectionMode getConnectionMode() {
@@ -73,8 +60,4 @@ public ConnectionMode getConnectionMode() {
7360
public Sid getSid () {
7461
return sid;
7562
}
76-
77-
public ActorRef getOutboundCall() { return outboundCall; }
78-
79-
public MediaAttributes getMediaAttributes() { return mediaAttributes; }
8063
}

restcomm/restcomm.mscontrol.api/src/main/java/org/restcomm/connect/mscontrol/api/messages/ShareBridgeNetworkConnection.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

restcomm/restcomm.mscontrol.jsr309/src/main/java/org/restcomm/connect/mscontrol/jsr309/Jsr309BridgeController.java

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -379,18 +379,9 @@ private void onCreateMediaSession(CreateMediaSession message, ActorRef self, Act
379379
}
380380

381381
private void onJoinCall(JoinCall message, ActorRef self, ActorRef sender) {
382-
MediaAttributes.MediaType mediaType = message.getMediaAttributes().getMediaType();
383-
if(!mediaType.equals(MediaAttributes.MediaType.AUDIO_ONLY)){
384-
// Tell outbound call to share the network connection of its call controller
385-
// with the call controller of the inbound call, so the call controller of the inbound call
386-
// can proceed joining calls without using a mixer
387-
final JoinBridge join = new JoinBridge(this.mediaMixer, message.getConnectionMode(), message.getInboundCall(), false);
388-
message.getOutboundCall().tell(join, sender);
389-
} else {
390-
// Tell inbound call to join bridge by passing reference to the media mixer
391-
final JoinBridge join = new JoinBridge(this.mediaMixer, message.getConnectionMode());
392-
message.getInboundCall().tell(join, sender);
393-
}
382+
// Tell call to join bridge by passing reference to the media mixer
383+
final JoinBridge join = new JoinBridge(this.mediaMixer, message.getConnectionMode());
384+
message.getCall().tell(join, sender);
394385
}
395386

396387
private void onStop(Stop message, ActorRef self, ActorRef sender) throws Exception {
@@ -468,22 +459,21 @@ public void execute(Object message) throws Exception {
468459
if (MediaAttributes.MediaType.VIDEO_ONLY.equals(mediaAttributes.getMediaType())) {
469460
// video only
470461
configureVideoMediaSession(mediaAttributes);
471-
//Parameters mixerParams = createMixerParams();
472-
//mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO_VIDEO, mixerParams);
462+
Parameters mixerParams = createMixerParams();
463+
mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO_VIDEO, mixerParams);
473464
} else if (MediaAttributes.MediaType.AUDIO_VIDEO.equals(mediaAttributes.getMediaType())) {
474465
// audio and video
475466
configureVideoMediaSession(mediaAttributes);
476-
//Parameters mixerParams = createMixerParams();
477-
//mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO_VIDEO, mixerParams);
467+
Parameters mixerParams = createMixerParams();
468+
mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO_VIDEO, mixerParams);
478469
} else {
479470
// audio only
480-
//Parameters mixerParams = createMixerParams();
481-
//mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO, mixerParams);
471+
Parameters mixerParams = createMixerParams();
472+
mediaMixer = mediaSession.createMediaMixer(MediaMixer.AUDIO, mixerParams);
482473
}
483474

484-
//mediaMixer.addListener(mixerAllocationListener);
485-
//mediaMixer.confirm();
486-
fsm.transition(msg, active);
475+
mediaMixer.addListener(mixerAllocationListener);
476+
mediaMixer.confirm();
487477
// Wait for event confirmation before sending response to the conference
488478
} catch (MsControlException e) {
489479
// Move to a failed state, cleaning all resources and closing media session

restcomm/restcomm.mscontrol.jsr309/src/main/java/org/restcomm/connect/mscontrol/jsr309/Jsr309CallController.java

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import org.restcomm.connect.mscontrol.api.messages.Collect;
7575
import org.restcomm.connect.mscontrol.api.messages.CreateMediaSession;
7676
import org.restcomm.connect.mscontrol.api.messages.JoinBridge;
77-
import org.restcomm.connect.mscontrol.api.messages.JoinBridgeNoMixer;
7877
import org.restcomm.connect.mscontrol.api.messages.JoinComplete;
7978
import org.restcomm.connect.mscontrol.api.messages.JoinConference;
8079
import org.restcomm.connect.mscontrol.api.messages.Leave;
@@ -87,7 +86,6 @@
8786
import org.restcomm.connect.mscontrol.api.messages.Mute;
8887
import org.restcomm.connect.mscontrol.api.messages.Play;
8988
import org.restcomm.connect.mscontrol.api.messages.Record;
90-
import org.restcomm.connect.mscontrol.api.messages.ShareBridgeNetworkConnection;
9189
import org.restcomm.connect.mscontrol.api.messages.StartRecording;
9290
import org.restcomm.connect.mscontrol.api.messages.Stop;
9391
import org.restcomm.connect.mscontrol.api.messages.StopMediaGroup;
@@ -454,12 +452,8 @@ public void onReceive(Object message) throws Exception {
454452
onCollect((Collect) message, self, sender);
455453
} else if (Record.class.equals(klass)) {
456454
onRecord((Record) message, self, sender);
457-
} else if (ShareBridgeNetworkConnection.class.equals(klass)){
458-
onShareBridgeNetworkConnection((ShareBridgeNetworkConnection) message, self, sender);
459455
} else if (JoinBridge.class.equals(klass)) {
460456
onJoinBridge((JoinBridge) message, self, sender);
461-
} else if (JoinBridgeNoMixer.class.equals(klass)) {
462-
onJoinBridgeNoMixer((JoinBridgeNoMixer) message, self, sender);
463457
} else if (JoinConference.class.equals(klass)) {
464458
onJoinConference((JoinConference) message, self, sender);
465459
} else if (Stop.class.equals(klass)) {
@@ -727,43 +721,18 @@ private void onRecord(Record message, ActorRef self, ActorRef sender) {
727721
}
728722
}
729723

730-
private void onShareBridgeNetworkConnection(ShareBridgeNetworkConnection message, ActorRef self, ActorRef sender) throws Exception {
731-
final JoinBridgeNoMixer joinBridgeNoMixer = new JoinBridgeNoMixer(message.getEndpoint(), message.getConnectionMode(), networkConnection);
732-
message.getCall().tell(joinBridgeNoMixer, sender);
733-
}
734-
735724
private void onJoinBridge(JoinBridge message, ActorRef self, ActorRef sender) throws Exception {
736725
if (is(active)) {
737726
try {
738-
// join call leg to bridge using mixer
727+
// join call leg to bridge
739728
this.bridge = sender;
740729
this.mediaMixer = (MediaMixer) message.getEndpoint();
741730
this.networkConnection.join(Direction.DUPLEX, mediaMixer);
742731

743732
// alert call has joined successfully
744733
this.call.tell(new JoinComplete(), self);
745734
} catch (MsControlException e) {
746-
logger.error("Call bridging using mixer failed: " + e.getMessage());
747-
fsm.transition(e, failed);
748-
}
749-
}
750-
}
751-
752-
private void onJoinBridgeNoMixer(JoinBridgeNoMixer message, ActorRef self, ActorRef sender) throws Exception {
753-
if (is(active)) {
754-
try {
755-
// join call leg to bridge using network connection
756-
this.bridge = sender;
757-
final NetworkConnection bridgeNetworkConnection = (NetworkConnection) message.getNetworkConnection();
758-
this.networkConnection.join(Direction.DUPLEX, bridgeNetworkConnection);
759-
//this.networkConnection.getJoinableStream(JoinableStream.StreamType.audio).join(Direction.DUPLEX, bridgeNetworkConnection.getJoinableStream(JoinableStream.StreamType.audio));
760-
//this.networkConnection.getJoinableStream(JoinableStream.StreamType.video).join(Direction.DUPLEX, bridgeNetworkConnection.getJoinableStream(JoinableStream.StreamType.video));
761-
//this.networkConnection.joinInitiate(Direction.DUPLEX, bridgeNetworkConnection, null);
762-
763-
// alert call has joined successfully
764-
this.call.tell(new JoinComplete(), self);
765-
} catch (MsControlException e) {
766-
logger.error("Call bridging using network connection failed: " + e.getMessage());
735+
logger.error("Call bridging failed: " + e.getMessage());
767736
fsm.transition(e, failed);
768737
}
769738
}

restcomm/restcomm.mscontrol.jsr309/src/main/java/org/restcomm/connect/mscontrol/jsr309/Jsr309ConferenceController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ private void onJoinCall(JoinCall message, ActorRef self, ActorRef sender) {
341341
if (is(active)) {
342342
// Tell call to join conference by passing reference of the media mixer
343343
final JoinConference join = new JoinConference(this.mediaMixer, message.getConnectionMode(), message.getSid());
344-
message.getInboundCall().tell(join, sender);
344+
message.getCall().tell(join, sender);
345345
}
346346
}
347347

restcomm/restcomm.mscontrol.mms/src/main/java/org/restcomm/connect/mscontrol/mms/MmsBridgeController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ private void onCreateMediaSession(CreateMediaSession message, ActorRef self, Act
285285
private void onJoinCall(JoinCall message, ActorRef self, ActorRef sender) {
286286
// Tell call to join bridge by passing reference to the media mixer
287287
final JoinBridge join = new JoinBridge(this.endpoint, message.getConnectionMode());
288-
message.getInboundCall().tell(join, sender);
288+
message.getCall().tell(join, sender);
289289
}
290290

291291
private void onStop(Stop message, ActorRef self, ActorRef sender) throws Exception {

restcomm/restcomm.mscontrol.mms/src/main/java/org/restcomm/connect/mscontrol/mms/MmsConferenceController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ private void onJoinCall(JoinCall message, ActorRef self, ActorRef sender) {
382382
connectionMode = message.getConnectionMode();
383383
// Tell call to join conference by passing reference to the media mixer
384384
final JoinConference join = new JoinConference(this.cnfEndpoint, connectionMode, message.getSid());
385-
message.getInboundCall().tell(join, sender);
385+
message.getCall().tell(join, sender);
386386
}
387387

388388
/*private void onStopMediaGroup(StopMediaGroup message, ActorRef self, ActorRef sender) {

restcomm/restcomm.telephony/src/main/java/org/restcomm/connect/telephony/Bridge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public Bridging(ActorRef source) {
307307
@Override
308308
public void execute(Object message) throws Exception {
309309
// Ask mscontroller to join inbound call
310-
final JoinCall join = new JoinCall(inboundCall, ConnectionMode.SendRecv, outboundCall, mediaAttributes);
310+
final JoinCall join = new JoinCall(inboundCall, ConnectionMode.SendRecv);
311311
mscontroller.tell(join, super.source);
312312
}
313313

0 commit comments

Comments
 (0)