@@ -86,24 +86,24 @@ public async Task<TwiMLResult> ReceivedVoiceMessage([FromRoute] string agentId,
8686 }
8787
8888
89- [ HttpPost ( "anonymous/ start" ) ]
89+ [ HttpPost ( "start" ) ]
9090 public TwiMLResult InitiateConversation ( VoiceRequest request )
9191 {
9292 if ( request ? . CallSid == null ) throw new ArgumentNullException ( nameof ( VoiceRequest . CallSid ) ) ;
9393 string sessionId = $ "TwilioVoice_{ request . CallSid } ";
9494 var twilio = _services . GetRequiredService < TwilioService > ( ) ;
95- var url = $ "twiliovoice/anonymous/ { sessionId } /send/0";
96- var response = twilio . DummyInstructions ( "Hello, how may I help you? ", url , false ) ;
95+ var url = $ "twiliovoice/{ sessionId } /send/0";
96+ var response = twilio . ReturnInstructions ( "twilio/welcome.mp3 ", url , false ) ;
9797 return TwiML ( response ) ;
9898 }
9999
100- [ HttpPost ( "anonymous/ {sessionId}/send/{seqNum}" ) ]
100+ [ HttpPost ( "{sessionId}/send/{seqNum}" ) ]
101101 public async Task < TwiMLResult > SendCallerMessage ( [ FromRoute ] string sessionId , [ FromRoute ] int seqNum , VoiceRequest request )
102102 {
103103 var twilio = _services . GetRequiredService < TwilioService > ( ) ;
104104 var messageQueue = _services . GetRequiredService < TwilioMessageQueue > ( ) ;
105105 var sessionManager = _services . GetRequiredService < ITwilioSessionManager > ( ) ;
106- var url = $ "twiliovoice/anonymous/ { sessionId } /reply/{ seqNum } ";
106+ var url = $ "twiliovoice/{ sessionId } /reply/{ seqNum } ";
107107 var messages = await sessionManager . RetrieveStagedCallerMessagesAsync ( sessionId , seqNum ) ;
108108 if ( ! string . IsNullOrWhiteSpace ( request . SpeechResult ) )
109109 {
@@ -121,16 +121,16 @@ public async Task<TwiMLResult> SendCallerMessage([FromRoute] string sessionId, [
121121 From = request . From
122122 } ;
123123 await messageQueue . EnqueueAsync ( callerMessage ) ;
124- response = twilio . DummyInstructions ( "Please hold on and wait a moment. ", url , true ) ;
124+ response = twilio . ReturnInstructions ( "twilio/holdon.mp3 ", url , true ) ;
125125 }
126126 else
127127 {
128- response = twilio . HangUp ( "Thanks for calling. Good bye. " ) ;
128+ response = twilio . HangUp ( "twilio/holdon.mp3 " ) ;
129129 }
130130 return TwiML ( response ) ;
131131 }
132132
133- [ HttpPost ( "anonymous/ {sessionId}/reply/{seqNum}" ) ]
133+ [ HttpPost ( "{sessionId}/reply/{seqNum}" ) ]
134134 public async Task < TwiMLResult > ReplyCallerMessage ( [ FromRoute ] string sessionId , [ FromRoute ] int seqNum , VoiceRequest request )
135135 {
136136 var nextSeqNum = seqNum + 1 ;
@@ -144,38 +144,28 @@ public async Task<TwiMLResult> ReplyCallerMessage([FromRoute] string sessionId,
144144 VoiceResponse response ;
145145 if ( string . IsNullOrEmpty ( reply ) )
146146 {
147- response = twilio . ReturnInstructions ( null , $ "twiliovoice/anonymous/ { sessionId } /reply/{ seqNum } ", true ) ;
147+ response = twilio . ReturnInstructions ( null , $ "twiliovoice/{ sessionId } /reply/{ seqNum } ", true ) ;
148148 }
149149 else
150150 {
151151
152152 var textToSpeechService = CompletionProvider . GetTextToSpeech ( _services , "openai" , "tts-1" ) ;
153- var fileService = _services . GetRequiredService < IBotSharpFileService > ( ) ;
153+ var fileService = _services . GetRequiredService < IFileStorageService > ( ) ;
154154 var data = await textToSpeechService . GenerateSpeechFromTextAsync ( reply ) ;
155155 var fileName = $ "{ seqNum } .mp3";
156156 await fileService . SaveSpeechFileAsync ( sessionId , fileName , data ) ;
157- response = twilio . ReturnInstructions ( $ "twiliovoice/anonymous/ speeches/{ sessionId } /{ fileName } ", $ "twiliovoice/anonymous /{ sessionId } /send/{ nextSeqNum } ", true ) ;
157+ response = twilio . ReturnInstructions ( $ "twiliovoice/speeches/{ sessionId } /{ fileName } ", $ "twiliovoice/{ sessionId } /send/{ nextSeqNum } ", true ) ;
158158 }
159159 return TwiML ( response ) ;
160160 }
161161
162- [ HttpGet ( "anonymous/ speeches/{conversationId}/{fileName}" ) ]
162+ [ HttpGet ( "speeches/{conversationId}/{fileName}" ) ]
163163 public async Task < FileContentResult > RetrieveSpeechFile ( [ FromRoute ] string conversationId , [ FromRoute ] string fileName )
164164 {
165- var fileService = _services . GetRequiredService < IBotSharpFileService > ( ) ;
165+ var fileService = _services . GetRequiredService < IFileStorageService > ( ) ;
166166 var data = await fileService . RetrieveSpeechFileAsync ( conversationId , fileName ) ;
167- var result = new FileContentResult ( data . ToArray ( ) , "application/octet-stream " ) ;
167+ var result = new FileContentResult ( data . ToArray ( ) , "audio/mpeg " ) ;
168168 result . FileDownloadName = fileName ;
169169 return result ;
170170 }
171-
172- [ HttpGet ( "anonymous/text-to-speech" ) ]
173- public async Task < IActionResult > TextToSpeech ( [ FromQuery ] string text )
174- {
175- var textToSpeechService = CompletionProvider . GetTextToSpeech ( _services , "openai" , "tts-1" ) ;
176- var data = await textToSpeechService . GenerateSpeechFromTextAsync ( text ) ;
177- var fileService = _services . GetRequiredService < IBotSharpFileService > ( ) ;
178- await fileService . SaveSpeechFileAsync ( "123" , "sample.mp3" , data ) ;
179- return Ok ( ) ;
180- }
181171}
0 commit comments