Example #1
0
            internal Step(IApplication app, ISession session, ICallFlow flow)
            {
                Utc         = app.TimeSource.UTCNow;
                Session     = session == null ? "<null>" : "{0}({1})".Args(session.GetType().Name, session.User.ToString().TakeFirstChars(32, ".."));
                App         = app.AppId;
                AppInstance = app.InstanceId;
                Host        = Platform.Computer.HostName;
                Type        = flow.GetType().Name;

                ID            = flow.ID;
                DirectorName  = flow.DirectorName;
                CallerAddress = flow.CallerAddress;
                CallerAgent   = flow.CallerAgent;
                CallerPort    = flow.CallerPort;

                if (flow.Items.Any())
                {
                    m_Items = new ConcurrentDictionary <string, object>(flow.Items);
                }
            }
Example #2
0
 /// <summary>
 /// Internal framework-only method to bind thread-level/async flow context
 /// </summary>
 public static void __SetThreadLevelCallContext(ICallFlow call)
 {
     ats_CallFlow.Value = call;
 }
Example #3
0
 protected virtual void SetCallFlow(ICallFlow cf, string sessionId)
 {
     cf.SessionId        = sessionId;
     cf.RecordedAudioUri = AudioPathUri;
     SessionProvider.StoreObject(sessionId, cf as CallFlow.CallFlow);
 }