How mrehanmehdi/twiliocommmodule works
This is a standalone ASP.NET Core API that gates rider–driver communications by trip state, provisions Twilio chat and masked-call sessions, issues client tokens, and records webhook events for history, live status, and recordings. The main workflow runs from trip initialization through client communication and webhook persistence, then closes sessions when a trip ends. The README documents the Trips API behavior; its controller and other unsampled implementation details are represented only where documented, with uncertain links omitted.
Main entry points: AppDbContext.cs EF data context · WebhooksController.cs Webhook handlers · CommunicationsController.cs Communication API · TripsController.cs Trip lifecycle API
Components 17
API workflows
- Trip lifecycle API
Controllers/TripsController.cs - Communication API
Controllers/CommunicationsController.cs - Webhook handlers
Controllers/WebhooksController.cs - Recording API
Controllers/RecordingsController.cs - Request models
models/Requests/Requests.cs
Twilio services
- Trip status gate
Services/ITripStatusService.cs - Conversation and Proxy
Services/ConversationService.cs - Token generation
Services/TwilioTokenService.cs
Persistence
- EF data context
Data/AppDbContext.cs - Trip sessions
Data/Entities/TripSession.cs - Chat messages
Data/Entities/ChatMessage.cs - Call logs
Data/Entities/CallLog.cs - Live call status
Data/Entities/LiveCallStatus.cs
Other components
- Main app
- Flutter app
- Admin panel
- Twilio services
Connections 24
- Main app → Trip lifecycle API: initializes trip
README.md - Trip lifecycle API → Conversation and Proxy: opens or closes
README.md - Trip lifecycle API → Trip status gate: updates status
- Flutter app → Communication API: requests tokens
README.md - Communication API → Trip status gate: checks eligibility
Controllers/CommunicationsController.cs - Communication API → Token generation: generates tokens
README.md - Flutter app → Twilio services: uses tokens
README.md - Twilio services → Webhook handlers: sends events
README.md - Webhook handlers → EF data context: persists events
Controllers/WebhooksController.cs - Recording API → EF data context: reads call logs
Controllers/RecordingsController.cs - Admin panel → Recording API: requests playback
README.md - Admin panel → Webhook handlers: checks live status
README.md - Conversation and Proxy → Twilio services: manages sessions
Services/ConversationService.cs - Conversation and Proxy → EF data context: stores sessions
Services/ConversationService.cs - Communication API → EF data context: reads history
Controllers/CommunicationsController.cs - EF data context → Trip sessions: maps entity
Data/AppDbContext.cs - EF data context → Chat messages: maps entity
Data/AppDbContext.cs - EF data context → Call logs: maps entity
Data/AppDbContext.cs - EF data context → Live call status: maps entity
Data/AppDbContext.cs - Communication API → Request models: accepts requests
Controllers/CommunicationsController.cs - Webhook handlers → Chat messages: writes messages
Controllers/WebhooksController.cs - Webhook handlers → Call logs: writes call data
Controllers/WebhooksController.cs - Webhook handlers → Live call status: updates status
Controllers/WebhooksController.cs - Recording API → Twilio services: returns playback URL
Controllers/RecordingsController.cs