protected override void Receive(SignallingMessage message) { _callingPartyCallController.ReceiveMessage(message); if (message.Operation == OperationType.CallRequestResponse && message.DestinationControlPlaneElement == ControlPlaneElementType.CPCC) { var snps = message.Payload as SubnetworkPoint; if (snps != null) { AddClient(new ClientTableRow(message.SourceClientName, 1, snps.Vpi, snps.Vci)); OnUpdateState(snps.ToString()); } else { OnUpdateState("Connection request rejected"); ClientTableRowAdded(null); } } else if (message.Operation == OperationType.CallAccept) { var result = MessageBox.Show("Connection incoming from " + ((string[])message.Payload)[0], "Connection", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk); if (result == DialogResult.No) { callConfirmation = false; } else if (result == DialogResult.Yes) { callConfirmation = true; } _callingPartyCallController.SendCallAccept(message, callConfirmation); } }
private void NetworkNodeAgentOnConfigurationReceived(object sender, Link link) { var configurationMessage = new SignallingMessage { Payload = link, Operation = OperationType.Configuration, DestinationAddress = NetworkAddress, DestinationControlPlaneElement = ControlPlaneElementType.LRM }; Receive(configurationMessage); }
private async void Peer_LocalSdpReadytoSendAsync(string type, string sdp) { var msg = new SignallingMessage { MessageType = SignallingMessage.WireMessageTypeFromString(type), Data = sdp, IceDataSeparator = "|" }; await SendMessageAsync(msg); }
private async void Peer_IceCandidateReadytoSend( string candidate, int sdpMlineindex, string sdpMid) { var msg = new SignallingMessage { MessageType = SignallingMessage.WireMessageType.Ice, Data = $"{candidate}|{sdpMlineindex}|{sdpMid}", IceDataSeparator = "|" }; await SendMessageAsync(msg); }
private void PassMessage(object sender, SignallingMessage message) { try { var destination = _controlPlaneElements[new Row(message.DestinationAddress, message.DestinationControlPlaneElement)]; //Thread.Sleep(10); destination.ReceiveMessage(message); } catch (KeyNotFoundException) { Console.WriteLine($"[ADDRESS_NOT_FOUND] {message.DestinationAddress}.{message.DestinationControlPlaneElement}"); } }
protected override void Receive(SignallingMessage signallingMessage) { switch (signallingMessage.DestinationControlPlaneElement) { case ControlPlaneElementType.CC: _connectionController.ReceiveMessage(signallingMessage); break; case ControlPlaneElementType.LRM: _linkResourceManager.ReceiveMessage(signallingMessage); break; } }
public void StreamSerializeSignallingMessageTest() { var tcpListener = new TcpListener(IPAddress.Loopback, 10000); tcpListener.Start(); var acceptTask = AcceptTask(tcpListener); var client1 = new TcpClient(); client1.Connect(IPAddress.Loopback, 10000); var client2 = acceptTask.Result; var expected = new SignallingMessage(); BinarySerializer.SerializeToStream(expected, client1.GetStream()); var actual = (SignallingMessage)BinarySerializer.DeserializeFromStream(client2.GetStream()); ; Assert.AreEqual(expected.SessionId, actual.SessionId); }
private async Task SendMessageAsync(SignallingMessage message) { await _hubConnection.InvokeAsync("SendMessage", SignallerConstants.RoomName, JsonConvert.SerializeObject(message)); }
protected void Send(SignallingMessage signallingMessage) { _controlPlaneConnectionComponent.Send(signallingMessage); }
protected abstract void Receive(SignallingMessage signallingMessage);