Database for chat - Help please

Hello,

In my platform the user can send an SMS via twilio to a non-user. That non-user can then send an SMS back to the user. What is the best way to set up the database for something like this?

Quick notes:

  1. All users use the same twilio phone number. Each user should only be able to see their own conversation with the non-users.
  2. Multiple users can potentially have a conversation with the same non-user.

@staff Was wondering if anyone would provide some insight on how to do this?