/// <summary> /// Receives the offer anwer. /// </summary> /// <returns>The offer anwer.</returns> /// <param name="sdp">Sdp.</param> /// <param name="isOffer">Is offer.</param> /// <param name="caller">Caller.</param> public void ReceiveOfferAnwer(string sdp, bool isOffer, string peerId) { OfferAnswer offer = new OfferAnswer(); offer.SdpMessage = sdp; offer.IsOffer = isOffer; conference.ReceiveOfferAnswer(offer, peerId); }
// Button รับ Answer จาก answer text ที่เป็นรูปแบบ JSON พร้อมทั้ง peerID Link นั้น private void btn_answer_Click(object sender, RoutedEventArgs e) { btn_answer.IsEnabled = false; Sender.ReceiveOfferAnswer(OfferAnswer.FromJson(TextBox_answer.Text), peerID_link); //TextBox_sdp.AppendText("\n\n*************** Receiver Answer ***********\n"); //TextBox_sdp.AppendText(TextBox_answer.Text); }
private void ReceiveOfferAnswerOrCandidate(NotifyReceiveArgs e) { var peerId = e.NotifyingClient.ClientId.ToString(); var peerState = e.NotifyingClient.BoundRecords; if (e.Tag == "offeranswer:" + SessionId) { Conference.ReceiveOfferAnswer(OfferAnswer.FromJson(e.DataJson), peerId, peerState); } else if (e.Tag == "candidate:" + SessionId) { Conference.ReceiveCandidate(Candidate.FromJson(e.DataJson), peerId); } }
/// <summary> /// Recipient accepted call /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Xmpp_OnReceiveSessionAccept(object sender, Messaging.Jingle.JingleSdpEventArgs e) { Messaging.Log.Debug("OnReceiveSessionAccept > Conference.ReceiveOfferAnswer " + e.From); OfferAnswer oa = new OfferAnswer(); oa.SdpMessage = e.Sdp; oa.IsOffer = false; Messaging.Log.Info("Peer ID: " + e.From); Messaging.Log.Info("SA SDP in: " + e.Sdp); if (Conference == null) { Conference = ActivityService.GetInstance.App.GetConference(); } // send candidates to Icelink to negotiate connection Conference.ReceiveOfferAnswer(oa, e.From); }
/// <summary> /// Answer incoming call /// </summary> /// <param name="conference"></param> /// <param name="to"></param> /// <param name="sdp"></param> /// <param name="callback"></param> public void Answer(FM.IceLink.Conference conference, string to, string sdp, Action <string> callback) { To = to; // Console.WriteLine ("Answer callback"); Conference = conference; Conference.OnLinkOfferAnswer += SendSessionAccept; Conference.OnLinkCandidate += SendCandidate; Conference.OnUnhandledException += Conference_OnUnhandledException; Conference.OnLinkRemoteOfferAnswer += LinkRemoteOfferAnswer; OfferAnswer oa = new OfferAnswer(); oa.SdpMessage = sdp; oa.IsOffer = true; Messaging.Log.Info("Peer ID: " + to); Messaging.Log.Info("SI SDP in:\n" + sdp); Messaging.Log.Debug("Answer > Conference.ReceiveOfferAnswer"); // send to Icelink to generate candidates Conference.ReceiveOfferAnswer(oa, to); }
// Button รับ Offer text ที่เป็นรูปแบบ JSON พร้อมทั้ง peerID Link นั้น private void btn_createAnswer_Click(object sender, RoutedEventArgs e) { btn_createAnswer.IsEnabled = false; Receiver.ReceiveOfferAnswer(OfferAnswer.FromJson(TextBox_senderOffer.Text), peerID_link); //TextBox_log.AppendText("\n\n******* Recieve offer *******\n" + TextBox_senderOffer.Text); }