예제 #1
0
        public virtual VoipPhone SaveOrUpdateNumber(VoipPhone phone)
        {
            if (!string.IsNullOrEmpty(phone.Number))
            {
                phone.Number = phone.Number.TrimStart('+');
            }

            var voipNumber = new VoipNumber
            {
                Id       = phone.Id,
                Number   = phone.Number,
                Alias    = phone.Alias,
                Settings = phone.Settings.ToString(),
                TenantId = TenantID
            };

            VoipDbContext.VoipNumbers.Add(voipNumber);
            VoipDbContext.SaveChanges();

            return(phone);
        }
예제 #2
0
 /// <summary>
 /// 分派Voip用户的初始化
 /// </summary>
 /// <param name="carriers"></param>
 public void init(List<ISimulationCarrier> carriers)
 {
     foreach (SimulationCarrier carrier in carriers)
     {
         VoipNumber number = new VoipNumber();
         this.UpdateVoipNumber(carrier.UlVoiceNewAccessUserList, ref number.ulNum, ref number.ulNumRemainder);
         this.UpdateVoipNumber(carrier.DlVoiceNewAccessUserList, ref number.dlNum, ref number.dlNumRemainder);
         number.stepIndex = 0;
         this.m_CarrierVoipSteps.Add(carrier, number);
         carrier.VoiceNewUserList.AddRange(carrier.UlVoiceNewAccessUserList);
         carrier.VoiceNewUserList.AddRange(carrier.DlVoiceNewAccessUserList);
         carrier.UlVoiceNewAccessUserList.Clear();
         carrier.DlVoiceNewAccessUserList.Clear();
     }
 }
예제 #3
0
 private VoipPhone ToPhone(VoipNumber r)
 {
     return(GetProvider().GetPhone(r));
 }
예제 #4
0
 /// <summary>
 /// 获得当前TTI下最多能接入的上行和下行语音用户数
 ///(目的是把voice用户均匀的分派在前VOIP_ACCESS_STEP(默认为20)个时隙内)
 /// </summary>
 /// <param name="vn"></param>
 /// <param name="ulNumTarget">当前TTI下最多能接入的上行voice用户数</param>
 /// <param name="dlNumTarget">当前TTI下最多能接入的下行voice用户数</param>
 private void GetUserNumTarget(VoipNumber vn, out int ulNumTarget, out int dlNumTarget)
 {
     ulNumTarget = (vn.stepIndex < vn.ulNumRemainder) ? (vn.ulNum + 1) : vn.ulNum;
     dlNumTarget = (vn.stepIndex < vn.dlNumRemainder) ? (vn.dlNum + 1) : vn.dlNum;
 }