public void JoinConference(
            string confName
            , ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI nameType
            , string displayName
            , string password
            , ManagedEVSdk.Structs.EV_SVC_CALL_TYPE_CLI type = ManagedEVSdk.Structs.EV_SVC_CALL_TYPE_CLI.EV_SVC_CALL_CONF
            )
        {
            log.InfoFormat("Join conference. confName:{0}, display name:{1}, type: {2}, nameType: {3}", confName, displayName, type, nameType);

            UpdateUserImage(Utils.GetSuspendedVideoBackground(), Utils.GetCurrentAvatarPath());

            _conferenceDisplayName = displayName;
            ConferenceNumber       = confName;

            if (CallStatus.P2pIncoming != CurrentCallStatus)
            {
                CurrentCallStatus = CallStatus.Dialing;
            }

            bool rst = EVSdkManager.Instance.JoinConference(confName, nameType, displayName, password, type);

            if (!rst)
            {
                log.Info("Failed to join conference and change call status to ended.");
                CurrentCallStatus = CallStatus.Ended;
            }
        }
 public void RefreshJoinConfData()
 {
     _isJoinDirectly   = "join" == Utils.GetAnonymousJoinConfType();
     _joinConfProtocol = Utils.GetAnonymousJoinConfServerProtocol();
     _joinConfAddress  = Utils.GetAnonymousJoinConfServerAddress();
     _joinConfPort     = Utils.GetAnonymousJoinConfServerPort();
     _joinConfId       = Utils.GetAnonymousJoinConfId();
     if (string.IsNullOrEmpty(_joinConfId))
     {
         _joinConfId       = Utils.GetAnonymousJoinConfAlias();
         _joinConfNameType = ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI.EV_SVC_CONFERENCE_NAME_ALIAS;
     }
     else
     {
         _joinConfNameType = ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI.EV_SVC_CONFERENCE_NAME_ID;
     }
     _joinConfPassword = Utils.GetAnonymousJoinConfPassword();
     this.textBlockJoiningMeeting.Text = string.Format(LanguageUtil.Instance.GetValueByKey("JOINING_MEETING"), _joinConfId);
     this.textBoxDisplayName.Text      = Utils.GetDisplayNameInConf();
     this.turnOffCamera.IsChecked      = Utils.GetDisableCameraOnJoinConf();
     this.turnOffMicrophone.IsChecked  = Utils.GetDisableMicOnJoinConf();
 }
        public void AnonymousJoinConference(bool isJoinDirectly, bool useHttps, string domainAddress, uint domainPort, string confNumber, string confPassword, bool enableCamera, bool enableMicrophone, ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI nameType = ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI.EV_SVC_CONFERENCE_NAME_ID)
        {
            if (LoginStatus.NotLogin != CurrentLoginStatus && LoginStatus.LoginFailed != CurrentLoginStatus)
            {
                log.InfoFormat("Do not anonymous join conference, login status:{0}", CurrentLoginStatus);
                return;
            }

            if (string.IsNullOrEmpty(domainAddress))
            {
                log.InfoFormat("Do not anonymous join conference for the ip of parsed domain address is empty, domain address:{0}", domainAddress);
                return;
            }

            log.InfoFormat("Anonymous join conference, is directly:{0}", isJoinDirectly);
            EVSdkManager.Instance.EnableCamera(enableCamera);
            EVSdkManager.Instance.EnableMic(enableMicrophone);

            _serverDomainAddress = domainAddress;
            _domainPort          = domainPort;
            _useHttps            = useHttps;
            CurrentLoginStatus   = LoginStatus.AnonymousLoggingIn;
            EVSdkManager.Instance.EnableSecure(useHttps);

            UpdateValidDisplayName();
            CallController.Instance.UpdateUserImage(Utils.GetSuspendedVideoBackground(), Utils.GetDefaultUserAvatar());
            CallController.Instance.JoinConferenceWithLocation(domainAddress, domainPort, confNumber, nameType, DisplayName, confPassword);
        }
        public void JoinConferenceWithLocation(string locationServer, uint port, string conferenceName, ManagedEVSdk.Structs.EV_SVC_CONFERENCE_NAME_TYPE_CLI nameType, string displayName, string password)
        {
            log.InfoFormat("Join conference with location. location server:{0}, port:{1} conf number:{2}, display name:{3}, nameType: {4}", locationServer, port, conferenceName, displayName, nameType);
            _joinConfType          = JoinConfTypeEnum.Location;
            _conferenceServer      = locationServer;
            _conferencePort        = port;
            _conferenceDisplayName = displayName;
            ConferenceNumber       = conferenceName;
            CurrentCallStatus      = CallStatus.Dialing;
            bool rst = EVSdkManager.Instance.JoinConferenceWithLocation(locationServer, port, conferenceName, nameType, displayName, password);

            if (!rst)
            {
                log.Info("Failed to join conference with location and change call status to ended.");
                CurrentCallStatus = CallStatus.Ended;
            }
        }