@@ -43,14 +43,10 @@ public async Task<TwiMLResult> InitiateConversation(ConversationalVoiceRequest r
43
43
}
44
44
45
45
VoiceResponse response = null ;
46
- request . ConversationId = $ "TwilioVoice_{ request . CallSid } ";
47
-
48
46
var instruction = new ConversationalVoiceResponse
49
47
{
50
48
SpeechPaths = [ "twilio/welcome.mp3" ] ,
51
- CallbackPath = $ "twilio/voice/{ request . ConversationId } /receive/0",
52
- ActionOnEmptyResult = true ,
53
- Timeout = 2
49
+ ActionOnEmptyResult = true
54
50
} ;
55
51
await HookEmitter . Emit < ITwilioSessionHook > ( _services , async hook =>
56
52
{
@@ -60,7 +56,8 @@ await HookEmitter.Emit<ITwilioSessionHook>(_services, async hook =>
60
56
OnlyOnce = true
61
57
} ) ;
62
58
63
- instruction . CallbackPath = $ "{ instruction . CallbackPath } ?{ GenerateStatesParameter ( request . States ) } ";
59
+ request . ConversationId = $ "TwilioVoice_{ request . CallSid } ";
60
+ instruction . CallbackPath = $ "twilio/voice/{ request . ConversationId } /receive/0?{ GenerateStatesParameter ( request . States ) } ";
64
61
65
62
var twilio = _services . GetRequiredService < TwilioService > ( ) ;
66
63
if ( string . IsNullOrWhiteSpace ( request . Intent ) )
@@ -109,7 +106,6 @@ public async Task<TwiMLResult> ReceiveCallerMessage(ConversationalVoiceRequest r
109
106
var twilio = _services . GetRequiredService < TwilioService > ( ) ;
110
107
var messageQueue = _services . GetRequiredService < TwilioMessageQueue > ( ) ;
111
108
var sessionManager = _services . GetRequiredService < ITwilioSessionManager > ( ) ;
112
-
113
109
var messages = await sessionManager . RetrieveStagedCallerMessagesAsync ( request . ConversationId , request . SeqNum ) ;
114
110
string text = ( request . SpeechResult + "\r \n " + request . Digits ) . Trim ( ) ;
115
111
@@ -148,7 +144,7 @@ await HookEmitter.Emit<ITwilioSessionHook>(_services, async hook =>
148
144
else
149
145
{
150
146
// keep waiting for user response
151
- if ( request . Attempts > 2 )
147
+ if ( request . Attempts > 3 )
152
148
{
153
149
var instruction = new ConversationalVoiceResponse
154
150
{
@@ -187,7 +183,7 @@ await HookEmitter.Emit<ITwilioSessionHook>(_services, async hook =>
187
183
ActionOnEmptyResult = true
188
184
} ;
189
185
190
- if ( request . Attempts == 2 )
186
+ if ( request . Attempts == 3 )
191
187
{
192
188
instruction . SpeechPaths . Add ( $ "twilio/say-it-again-{ Random . Shared . Next ( 1 , 5 ) } .mp3") ;
193
189
}
@@ -220,7 +216,6 @@ public async Task<TwiMLResult> ReplyCallerMessage(ConversationalVoiceRequest req
220
216
var sessionManager = _services . GetRequiredService < ITwilioSessionManager > ( ) ;
221
217
var twilio = _services . GetRequiredService < TwilioService > ( ) ;
222
218
var fileStorage = _services . GetRequiredService < IFileStorageService > ( ) ;
223
-
224
219
if ( request . SpeechResult != null )
225
220
{
226
221
await sessionManager . StageCallerMessageAsync ( request . ConversationId , nextSeqNum , request . SpeechResult ) ;
0 commit comments