Exemplo n.º 1
0
        private void FinalizeUri()
        {
            _account = _account ?? _accountManager.DefaultAccount;
            IVoIPTransport transport = _account.Transport;

            _sb.AppendTransportSuffix(transport.TransportType);
            _call.SetAccount(_account.As <Account>());
        }
Exemplo n.º 2
0
        public IAccount Register()
        {
            if (string.IsNullOrEmpty(_registrarDomain))
            {
                throw new ArgumentNullException("domain");
            }

            IAccountInternal account = CreateAccount();

            using (account.InitializationScope())
            {
                account.Credential = new NetworkCredential(_login, _password, "*");

                var sb = new SipUriBuilder();
                sb.AppendExtension(_login).AppendDomain(_registrarDomain);
                if (!string.IsNullOrEmpty(_port))
                {
                    sb.AppendPort(_port);
                }
                _transport = _transport ?? _localRegistry.SipTransport;
                if (_transport is TcpTransport)
                {
                    sb.AppendTransportSuffix(TransportType.Tcp);
                }
                else if (_transport is TlsTransport)
                {
                    sb.AppendTransportSuffix(TransportType.Tls);
                }
                account.AccountId = sb.ToString();

                sb.Clear();

                sb.AppendDomain(_registrarDomain);
                if (!string.IsNullOrEmpty(_port))
                {
                    sb.AppendPort(_port);
                }
                if (_transport is TcpTransport)
                {
                    sb.AppendTransportSuffix(TransportType.Tcp);
                }
                else if (_transport is TlsTransport)
                {
                    sb.AppendTransportSuffix(TransportType.Tls);
                }

                account.RegistrarUri = sb.ToString();
                account.SetTransport(_transport);
                account.PublishPresence = _publish;
                if (_regTimeout != default(int))
                {
                    account.RegistrationTimeout = _regTimeout;
                }
            }

            InternalRegister(account);
            return(account);
        }
Exemplo n.º 3
0
        public ICall Call()
        {
            _account = _account ?? _accountManager.DefaultAccount;
            IVoIPTransport transport = _account.Transport;

            _sb.AppendTransportSuffix(transport.TransportType);

            return(InternalCall());
        }
Exemplo n.º 4
0
        public ICall Call()
        {
            _account = _account ?? _accountManager.DefaultAccount;
            IVoIPTransport transport = _account.Transport;

            _sb.AppendTransportSuffix(transport.TransportType);
            _call.SetAccount(_account.As <Account>());

            using (_call.InitializationScope())
                _call.SetDestinationUri(_sb.ToString());

            InternalCall();
            return(_call);
        }
Exemplo n.º 5
0
 public virtual bool DataEquals(IVoIPTransport other)
 {
     return Config.Port.Equals(other.Config.Port) && TransportType.Equals(other.TransportType);
 }
Exemplo n.º 6
0
 public IAccountBuilder Via(IVoIPTransport transport)
 {
     _transport = transport;
     return(this);
 }
Exemplo n.º 7
0
 public virtual bool DataEquals(IVoIPTransport other)
 {
     return(Config.Port.Equals(other.Config.Port) && TransportType.Equals(other.TransportType));
 }
Exemplo n.º 8
0
        public IAccount Register()
        {
            if (string.IsNullOrEmpty(_registrarDomain))
                throw new ArgumentNullException("domain");

            using (_accountScope)
            {
                _account.Credential = new NetworkCredential(_login, _password, "*");

                var sb = new SipUriBuilder();
                sb.AppendExtension(_login).AppendDomain(_registrarDomain);
                if (!string.IsNullOrEmpty(_port))
                    sb.AppendPort(_port);
                _transport = _transport ?? _localRegistry.SipTransport;
                if (_transport is TcpTransport)
                    sb.AppendTransportSuffix(TransportType.Tcp);
                else if (_transport is TlsTransport)
                    sb.AppendTransportSuffix(TransportType.Tls);
                _account.AccountId = sb.ToString();

                sb.Clear();

                sb.AppendDomain(_registrarDomain);
                if (!string.IsNullOrEmpty(_port))
                    sb.AppendPort(_port);
                if (_transport is TcpTransport)
                    sb.AppendTransportSuffix(TransportType.Tcp);
                else if (_transport is TlsTransport)
                    sb.AppendTransportSuffix(TransportType.Tls);

                _account.RegistrarUri = sb.ToString();
                _account.SetTransport(_transport);
                _account.PublishPresence = _publish;
                if (_regTimeout != default(int))
                    _account.RegistrationTimeout = _regTimeout;
            }

            InternalRegister(_account);
            return _account;
        }
Exemplo n.º 9
0
 public IAccountBuilder Via(IVoIPTransport transport)
 {
     _transport = transport;
     return this;
 }
Exemplo n.º 10
0
 public void SetTransport(IVoIPTransport transport)
 {
     Transport = transport;
 }