Skip to contentSkip to conversation

Multi-recipient SMS implementation proposals

RFC Guillaume Zajac 2 participants 3 messages Aug 24, 2012 – Aug 27, 2012

lore
Share & tools
lore
#0 lore raw

Hi all,

Mutli-recipient SMS implementation is needed to pass GCF test cases 34.2.9.1 and 34.2.9.2 for GSM; 16.1.9.1 and 16.1.9.2 for WCDMA. A new task should be added to oFono TODO and as requested by Denis we have to discuss first the proposals.
I have in mind 2 solutions:

1- Add a new API in message manager methods using an array of string containing all the recipients and returning an array of message paths:
GDBUS_ASYNC_METHOD("SendMultipleMessage",

         GDBUS_ARGS({ "to", "a{s}" }, { "text", "s" }),
         GDBUS_ARGS({ "paths", "a{o}" }),
         sms_send_multiple_message)

It requires also to implement a new function in core based on __ofono_sms_txq_submit() to fill in the TX queue with all recipients before submitting the message.

2-Modify existing SendMessage API in adding a new mms argument:
GDBUS_ASYNC_METHOD("SendMessage",

         GDBUS_ARGS({ "to", "s" }, { "text", "s" }, { "mms", "i" }),
         GDBUS_ARGS({ "path", "o" }),
         sms_send_message)

It requires to add a new field in struct ofono_sms like 'int send_mms'. tx_next() function should be modified to check 'int mms' option before analysing the TX queue size.
We should determine if send_mms = 2 options could be used. Even if we don't use it, send_mms should be set to 0 once all the multi-recipient SMS have been transmitted.

Kind regards,
Guillaume

#1 lore raw

Hi Guillaume,

<snip>

Quoted 5 lines

2-Modify existing SendMessage API in adding a new mms argument:
GDBUS_ASYNC_METHOD("SendMessage",

         GDBUS_ARGS({ "to", "s" }, { "text", "s" }, { "mms", "i" }),
         GDBUS_ARGS({ "path", "o" }),
         sms_send_message)

oFono 1.x has a stable API. Why are you proposing to break the API?

Regards

Marcel

#2 lore raw

Hi Marcel,

Quoted 10 lines · Marcel Holtmann

Hi Guillaume,

<snip>

Quoted 5 lines

2-Modify existing SendMessage API in adding a new mms argument:
GDBUS_ASYNC_METHOD("SendMessage",

          GDBUS_ARGS({ "to", "s" }, { "text", "s" }, { "mms", "i" }),
          GDBUS_ARGS({ "path", "o" }),
          sms_send_message)

oFono 1.x has a stable API. Why are you proposing to break the API?

Ok, and what is your opinion about the first solution?

Kind regards,
Guillaume