예제 #1
0
파일: ArkeCall.cs 프로젝트: seiggy/arke
 public ArkeCall(ISipApiClient sipApiClient, ISipLineApi sipLineApi, ISipBridgingApi sipBridgeApi,
                 ISipPromptApi sipPromptApi, ISipRecordingApi sipRecordingApi, ILogger logger)
 {
     Logger                     = logger;
     SipApiClient               = sipApiClient;
     SipLineApi                 = sipLineApi;
     SipBridgingApi             = sipBridgeApi;
     _logFields                 = new Dictionary <string, string>();
     _promptPlayer              = new ArkePromptPlayer(this, sipPromptApi);
     _asteriskPhoneInputHandler = new AsteriskPhoneInputHandler(this, _promptPlayer);
     RecordingManager           = new ArkeRecordingManager(sipRecordingApi, this);
     DslProcessor               = new DslProcessor(this);
     _arkeBridgeFactory         = new ArkeBridgeFactory(SipBridgingApi);
     CallStateMachine           = new CallStateMachine(this, _promptPlayer);
     CallStateMachine.SetupFiniteStateMachine();
     LanguageSelectionPromptPlayer = new AsteriskLanguageSelectionPromptPlayer(this, sipPromptApi, sipApiClient);
 }
예제 #2
0
 public ArkeRecordingManager(ISipRecordingApi ariClient, ICall call)
 {
     _ariClient        = ariClient;
     _call             = call;
     _creationDateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
 }