internal DialedNumberTester(Extension origin,string dialedNumber,string pin,DateTime? currentTime)
 {
     _origin = origin;
     _context = origin.Context.Name;
     _domain = origin.Domain.Name;
     _dialedNumber = dialedNumber;
     _pin = pin;
     _results = new StringBuilder();
     _hungUp = false;
     if (currentTime == null)
         _currentTime = DateTime.Now;
     else
         _currentTime = currentTime.Value;
 }
 public static DialedNumberTester TestDialNumber(Extension originatingCall, string dialNumber, string pin, DateTime? currentTime)
 {
     DialedNumberTester tester = new DialedNumberTester(originatingCall, dialNumber, pin, currentTime);
     ADialPlan[] plans = new ADialPlan[0];
     lock (_plans)
     {
         plans = _plans.ToArray();
     }
     bool exit=false;
     while(!exit){
         bool startFromTop=false;
         foreach (ADialPlan plan in plans)
         {
             //build code here to test dialplans
             //plan.RunDialPlanWithConditions(tester, out exit, out startFromTop);
             if (exit || startFromTop)
                 break;
         }
     }
     return tester;
 }
예제 #3
0
 internal static CDR Create(string domainName,string callerIDName,string callerIDNumber,string DestinationNumber,
     DateTime callStart,DateTime? answerTime,DateTime endTime,long duration,long billableSecs,
     Context context,string uniqueID,string coreUUID,string hangupCause,Extension internalExtension,string pin)
 {
     CDR ret = new CDR();
     ret.OwningDomain = Domain.Load(domainName);
     ret.CallerIDName = callerIDName;
     ret.CallerIDNumber = callerIDNumber;
     ret.DestinationNumber = DestinationNumber;
     ret.CallStart = callStart;
     ret.CallAnswerTime = answerTime;
     ret.CallEndTime = endTime;
     ret.Duration = duration;
     ret.BillableDuration = billableSecs;
     ret.CallContext = context;
     ret.UniqueID = uniqueID;
     ret.CoreUUID = coreUUID;
     ret.InternalExtension = internalExtension;
     ret.HangupCause = hangupCause;
     ret.Pin = pin;
     Connection conn = ConnectionPoolManager.GetConnection(typeof(CDR));
     ret = (CDR)conn.Save(ret);
     conn.Commit();
     conn.CloseConnection();
     return ret;
 }
예제 #4
0
 private Pin(PinSet owner, Extension number, string pin)
 {
     _owningSet = owner;
     _extension = number;
     _pinNumber = pin;
 }
 public void ChangeOrigin(Extension newOrigin)
 {
     _origin = newOrigin;
     _results.AppendLine("Switch origin number to " + newOrigin.Number);
 }
 public sDeployedExtension(Extension ext)
 {
     _domainName = ext.Domain.Name;
     _number = ext.Number;
     _password = ext.Password;
     _vm = null;
     _context = ext.Context.Name;
     _internalCallerID = ext.InternalCallerID;
     _internalCallerIDName = ext.InternalCallerIDName;
     _externalCallerID = ext.ExternalCallerID;
     _externalCallerIDName = ext.ExternalCallerIDName;
     _voicemailTimeout = ext.VoicemailTimeout;
     if (ext.HasVoicemail)
         _vm = new sDeployedVoicemail(VoiceMail.Load(ext.Number,ext.Context), Number,DomainName);
 }
예제 #7
0
 public static User Create(string username, string firstname, string lastname, string password,string email, Extension extension,UserRight[] rights)
 {
     Log.Trace("Creating new user with username " + username);
     if (LoadByUsername(username)!=null)
         throw new Exception("Unable to create user, one already exists with that username.");
     User ret = new User();
     ret.UserName = username;
     ret.FirstName = firstname;
     ret.LastName = lastname;
     ret.SetPassword(password, Constants.HTTP_AUTH_REALM);
     ret.UserExtension = extension;
     ret.Rights = rights;
     ret.Email = email;
     Connection conn = ConnectionPoolManager.GetConnection(typeof(User));
     ret = (User)conn.Save(ret);
     conn.CloseConnection();
     return ret;
 }