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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions