Skip to content

mmrs: sms support #411

@cachebag

Description

@cachebag

add sms send/receive support via Modem.Messaging and Sms interfaces.

scope

  • list sms messages
  • read sms content
  • send sms
  • delete sms
  • incoming sms notification stream

api sketch

pub struct Sms {
    pub path: String,
    pub number: String,
    pub text: String,
    pub timestamp: Option<String>,
    pub state: SmsState,
}

pub enum SmsState {
    Unknown,
    Stored,
    Receiving,
    Received,
    Sending,
    Sent,
}

pub async fn list_sms(&self) -> Result<Vec<Sms>>;
pub async fn send_sms(&self, number: &str, text: &str) -> Result<()>;
pub async fn delete_sms(&self, path: &str) -> Result<()>;
pub async fn monitor_sms(&self) -> Result<impl Stream<Item = Sms> + Send>;

interfaces

  • Modem.Messaging.List() → sms paths
  • Modem.Messaging.Create(properties) → create sms object
  • Sms.Send() — send the sms
  • Sms.Number, Sms.Text, Sms.State properties

priority

marking low-priority — core modem/bearer/sim functionality comes first. sms can be a follow-up release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or requestlow-priorityDevelopment can continue without itmmrsmodemmanager bindings cratemodemmodem device and bearer management

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions