Exemplo n.º 1
0
        /// <summary>
        /// Creates a phone line object and tries to register or activate it.
        /// </summary>
        /// <param name="phoneLineInfo">The information required for registration, or for activation.</param>
        public void RegisterPhoneLine(PhoneLineInfo phoneLineInfo)
        {
            if (disposed)
                return;

            if (PhoneLinesBijection.ContainsKey(phoneLineInfo))
                return;

            SIPAccount acc = phoneLineInfo.AsSIPAccount();
            IPhoneLine line;
            if (natSettings==null)
                 line = softPhone.CreatePhoneLine(acc, phoneLineInfo.TransportType, phoneLineInfo.SrtpMode);
            else
                 line = softPhone.CreatePhoneLine(acc, new NatConfiguration(natSettings.TraversalMethodType, natSettings.ServerAddress), phoneLineInfo.TransportType, phoneLineInfo.SrtpMode);
            line.PhoneLineStateChanged += PhoneLineInformation;
            softPhone.RegisterPhoneLine(line);
        }