コード例 #1
0
ファイル: DefaultCallManager.cs プロジェクト: xaccc/pjsip4net
        public void RegisterCall(Call call)
        {
            lock (_lock)
            {
                Helper.GuardNotNull(call);

                call.SetId(_callApi.MakeCallAndGetId(call.Account.Id, call.DestinationUri, 0));
                AddCallAndUpdateEaCache(call.DestinationUri, call);

                call.HandleSignallingStateChanged();

                _barrier.Reset();
            }
        }
コード例 #2
0
        public ICall MakeCall(IAccount account, string destinationUri)
        {
            lock (_lock)
            {
                Helper.GuardNotNull(account);
                Helper.GuardInRange(0u, MaxCalls - 1, (uint)_activeCalls.Count);

                var result = _objectFactory.Create <ICallInternal>();
                var acc    = _accMgr.GetAccount(account.Id);
                Helper.GuardNotNull(acc);
                result.SetAccount(acc);
                using (result.InitializationScope())
                    result.SetDestinationUri(destinationUri);

                result.SetId(_callApi.MakeCallAndGetId(result.Account.Id, destinationUri, 0));
                AddCallAndUpdateEaCache(destinationUri, result);

                result.HandleInviteStateChanged();

                _barrier.Reset();
                return(result);
            }
        }