예제 #1
0
        void LinkRemoteOfferAnswer(LinkOfferAnswerArgs e)
        {
            var sdp = SDPMessage.Parse(e.OfferAnswer.SdpMessage);

            foreach (var md in sdp.MediaDescriptions)
            {
                if (md.Media.MediaType == SDPMediaType.Video)
                {
                    foreach (var ma in md.MediaAttributes)
                    {
                        if (ma is SDPReceiveOnlyAttribute || ma is SDPInactiveAttribute)
                        {
                            IS_CALL_VIDEO = true;
                            // Remote participant is NOT sending video.
                            // ReceiveOnly: not sending video, but willing to receive video
                            // Inactive: not sending video, and doesn't want to receive video either
                        }
                        else if (ma is SDPSendOnlyAttribute || ma is SDPSendReceiveAttribute)
                        {
                            //is call audio
                            IS_CALL_VIDEO = true;
                            // Remote participant IS sending video.
                            // SendOnly: sending video, but doesn't want to receive video
                            // SendReceive: sending video, and willing to receive video
                        }
                    }
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Send answer call accept over xmpp to recipient
        /// </summary>
        /// <param name="e"></param>
        private void SendSessionAccept(LinkOfferAnswerArgs e)
        {
            Messaging.Log.Debug("Signalling.SendSessionAccept");

            //Console.WriteLine ("Peer ID: " + e.PeerId);
            //Console.WriteLine ("SA SDP out:\n" + e.OfferAnswer.SdpMessage);
            App.Instance.Xmpp.SendSessionAccept(e.PeerId, e.OfferAnswer.SdpMessage);
        }
예제 #3
0
        /*
         * private void Xmpp_OnReceiveSessionTerminate(object sender, JingleEventArgs e)
         * {
         *  try {
         *      Messaging.Log.Debug("OnReceiveSessionTerminate > Conference.UnlinkAll");
         *      if (Conference != null)
         *          Conference.UnlinkAll();
         *
         *  }
         *  catch (Exception ex)
         *  {
         *      Console.WriteLine("more exception " + ex.ToString());
         *  }
         * }
         */

        /// <summary>
        /// Send call request over xmpp to recipient
        /// </summary>
        /// <param name="e"></param>
        private void SendSessionInitiate(LinkOfferAnswerArgs e)
        {
            Messaging.Log.Debug("Signalling.SendSessionInitiate");

            Console.WriteLine("Peer ID: " + e.PeerId);
            Console.WriteLine("SI SDP out: " + e.OfferAnswer.SdpMessage);
            App.Instance.Xmpp.SendSessionInitiate(e.PeerId, e.OfferAnswer.SdpMessage);
        }
예제 #4
0
        // สร้าง Offer/Answer จาก Link peerID ใน Event ของ Conference
        void Sender_OnLinkOfferAnswer(LinkOfferAnswerArgs p)
        {
            // แสดง offer ใน TextBox
            TextBox_offer.Text = p.OfferAnswer.ToJson();

            //TextBox_sdp.AppendText("\n*************** Offer ***********\n");
            //TextBox_sdp.AppendText(p.OfferAnswer.ToJson());
            //TextBox_sdp.AppendText("\n\n*************** SDP Message ***********\n");
            //TextBox_sdp.AppendText(p.OfferAnswer.SdpMessage);

            Console.WriteLine("Send Offer : " + p.OfferAnswer.ToJson());
            Console.WriteLine("Send sdp message : " + p.OfferAnswer.SdpMessage);
        }
        /// <summary>
        /// Ons the link send offer answer.
        /// </summary>
        /// <returns>The link send offer answer.</returns>
        /// <param name="e">E.</param>
        private void OnLinkSendOfferAnswer(LinkOfferAnswerArgs e)
        {
            var handler = this.ReceiveSdpEvent;

            if (handler != null)
            {
                var sdpEventArgs = new SdpEventArgs()
                {
                    IsOffer = e.OfferAnswer.IsOffer,
                    Sdp     = e.OfferAnswer.SdpMessage,
                    PeerId  = e.PeerId
                };

                handler.Invoke(this, sdpEventArgs);
            }
        }
예제 #6
0
 private void SendOfferAnswer(LinkOfferAnswerArgs e)
 {
     WebSyncClient.Notify(new NotifyArgs(new Guid(e.PeerId), e.OfferAnswer.ToJson(), "offeranswer:" + SessionId));
 }
예제 #7
0
 // สร้าง Offer/Answer จาก Link peerID ใน Event ของ Conference
 void Receiver_OnLinkOfferAnswer(LinkOfferAnswerArgs p)
 {
     Console.WriteLine("Answer : " + p.OfferAnswer.ToJson());
     TextBox_Answer.AppendText(p.OfferAnswer.ToJson());
     //TextBox_log.AppendText("\n******* Generate answer *******\n" + p.OfferAnswer.ToJson());
 }
		/// <summary>
		/// Ons the link send offer answer.
		/// </summary>
		/// <returns>The link send offer answer.</returns>
		/// <param name="e">E.</param>
		private void OnLinkSendOfferAnswer(LinkOfferAnswerArgs e)
		{
			var handler = this.ReceiveSdpEvent;
			if (handler != null)
			{
				var sdpEventArgs = new SdpEventArgs()
				{
					IsOffer = e.OfferAnswer.IsOffer,
					Sdp = e.OfferAnswer.SdpMessage,
					PeerId = e.PeerId
				};

				handler.Invoke(this, sdpEventArgs);
			}
		}
예제 #9
0
파일: Signalling.cs 프로젝트: clburns/MICE
 private void SendOfferAnswer(LinkOfferAnswerArgs e)
 {
     WebSyncClient.Notify(new NotifyArgs(new Guid(e.PeerId), e.OfferAnswer.ToJson(), "offeranswer:" + SessionId));
 }
예제 #10
0
 private async void Conference_OnLinkOfferAnswer(LinkOfferAnswerArgs p)
 {
     await _signalingService.SendOfferAnswer(p.PeerId, JsonConvert.SerializeObject(p.OfferAnswer));
 }