public CallSpeakResponse Speak() { CallSpeakResponse callSpeakResponse = new CallSpeakResponse(); CallControlSpeakOptions callControlSpeakOptions = new CallControlSpeakOptions { Payload = "Say this on the call", Language = "en-US", Voice = "female" }; Console.WriteLine(JsonConvert.SerializeObject(callControlSpeakOptions)); try { callSpeakResponse = callControlService.Speak(callControlSpeakOptions); Console.WriteLine(JsonConvert.SerializeObject(callSpeakResponse)); } catch (TelnyxException ex) { Console.WriteLine("exception"); Console.WriteLine(JsonConvert.SerializeObject(ex)); } return(callSpeakResponse); }
public CallSpeakResponse CallSpeak(CallSpeakRequest request) { CallSpeakResponse res = new CallSpeakResponse(); return(res); }
public CallSpeakResponse CallSpeak(CallSpeakRequest request) { CallSpeakResponse res = new CallSpeakResponse(); return res; }
public CallModule(IInboundDependency apiServer) { this.apiserver = apiServer; this.callService = new CallService(); this.RequiresAuthentication(); #region Get All Calls Get["/Accounts/{AccountSid}/Calls"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } return(Response.AsXml <IEnumerable <Call> >(callService.GetAllCalls(Context.CurrentUser.UserName))); }; #endregion #region Make Call Post["/Accounts/{AccountSid}/Calls/Call.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } var request = this.Bind <CallRequest>(); //Todo //Validation request.AccountSid = Context.CurrentUser.UserName; Call res = apiserver.GetServer().Call(request); return(Response.AsJson <Call>(res)); }; Post["/Accounts/{AccountSid}/Calls/Call"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } var request = this.Bind <CallRequest>(); request.AccountSid = Context.CurrentUser.UserName; Call res = apiserver.GetServer().Call(request); return(Response.AsXml <Call>(res)); }; #endregion #region Modify Call Post["/Accounts/{AccountSid}/Calls/{CallSid}.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } var request = this.Bind <CallRequest>(); request.AccountSid = Context.CurrentUser.UserName; Call res = apiserver.GetServer().Call(request); return(Response.AsJson <Call>(res)); }; Post["/Accounts/{AccountSid}/Calls/{CallSid}"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } var request = this.Bind <CallRequest>(); request.AccountSid = Context.CurrentUser.UserName; Call res = apiserver.GetServer().Call(request); return(Response.AsXml <Call>(res)); }; #endregion #region Play to Call Post["/Accounts/{AccountSid}/Calls/{CallSid}/Play.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallPlayRequest>(); request.AccountSid = Context.CurrentUser.UserName; request.CallSid = x.CallSid; CallPlayResponse res = apiserver.GetServer().CallPlay(request); return(Response.AsJson <CallPlayResponse>(res)); } }; Post["/Accounts/{AccountSid}/Calls/{CallSid}/Play"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallPlayRequest>(); request.CallSid = x.CallSid; request.AccountSid = Context.CurrentUser.UserName; CallPlayResponse res = apiserver.GetServer().CallPlay(request); return(Response.AsXml <CallPlayResponse>(res)); } }; #endregion #region Stop Call Play Delete["/Accounts/{AccountSid}/Calls/{CallSid}/Play"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { if (apiserver.GetServer().StopCallPlay(x.CallSid)) { return(HttpStatusCode.NoContent); } else { return(HttpStatusCode.NoResponse); } //else to do } }; #endregion #region Record Call Post["/Accounts/{AccountSid}/Calls/{CallSid}/Record.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallRecordRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallRecordResponse res = apiserver.GetServer().CallRecord(request); return(Response.AsJson <CallRecordResponse>(res)); } }; Post["/Accounts/{AccountSid}/Calls/{CallSid}/Record"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallRecordRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallRecordResponse res = apiserver.GetServer().CallRecord(request); return(Response.AsXml <CallRecordResponse>(res)); } }; #endregion #region Stop Call Record Delete["/Accounts/{AccountSid}/Calls/{CallSid}/Record"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { if (apiserver.GetServer().StopCallRecord(x.CallSid)) { return(HttpStatusCode.NoContent); } else { return(HttpStatusCode.NoResponse); } } }; #endregion #region Speak Post["/Accounts/{AccountSid}/Calls/{CallSid}/Speak.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallSpeakRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallSpeakResponse res = apiserver.GetServer().CallSpeak(request); return(Response.AsJson <CallSpeakResponse>(res)); } }; Post["/Accounts/{AccountSid}/Calls/{CallSid}/Speak"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallSpeakRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallSpeakResponse res = apiserver.GetServer().CallSpeak(request); return(Response.AsXml <CallSpeakResponse>(res)); } }; #endregion #region Digits Post["/Accounts/{AccountSid}/Calls/{CallSid}/Digit.json"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallDigitRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallDigitResponse res = apiserver.GetServer().CallDigit(request); return(Response.AsJson <CallDigitResponse>(res)); } }; Post["/Accounts/{AccountSid}/Calls/{CallSid}/Digit"] = x => { if (x.AccountSid != Context.CurrentUser.UserName) { return(HttpStatusCode.Unauthorized); } else { var request = this.Bind <CallDigitRequest>(); request.AccountSid = Context.CurrentUser.UserName; CallDigitResponse res = apiserver.GetServer().CallDigit(request); return(Response.AsXml <CallDigitResponse>(res)); } }; #endregion }