Pablo Neira Ayuso | 2 May 2012 09:45

Re: [PATCH] wavecom: add support for Wavecom Q2403/Q2686 modems

Hi Denis,

On Sun, Apr 29, 2012 at 10:51:17PM -0500, Denis Kenzior wrote:
> Hi Pablo,
> 
> >>> +	/* AT+CRSM not supported by Q2403. */
> >>> +	if (sd->vendor == OFONO_VENDOR_WAVECOM_Q) {
> >>> +		unsigned char access[3] = { 0x00, 0x00, 0x00 };
> >>> +
> >>> +		CALLBACK_WITH_SUCCESS(cb, 4, 0, 0, access,
> >>> +					EF_STATUS_VALID, data);
> >>
> >> Why don't you simply return an error here?
> > 
> > Without it, the modem initialization does not complete.
> 
> Can you fallback to CSIM?

I don't know what you mean, could you provide more information?

<snip>
> >>> -		for (mem = 0; mem < 3; mem++) {
> >>> +		/* Wavecom Q replies something like this:
> >>> +		 *
> >>> +		 * +CPMS: (("SM","BM","SR"),("SM"))
> >>> +		 *
> >>> +		 * It does not provide the way income messages are stored.
> >>> +		 * 3GPP TS 07.05 allows mem2 and mem3 to be optional.
> >>> +		 */
> >>
(Continue reading)

Sébastien Bianti | 2 May 2012 10:43
Picon

[PATCH 0/1] mmsd: error management

Hi,

This patch updates the TODO file with regard to lastest commit applied

Sébastien Bianti (1):
  TODO: task complete

 TODO |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

--

-- 
1.7.4.4

_______________________________________________
ofono mailing list
ofono <at> ofono.org
http://lists.ofono.org/listinfo/ofono
Sébastien Bianti | 2 May 2012 10:43
Picon

[PATCH 1/1] TODO: task complete

---
 TODO |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/TODO b/TODO
index 95a40c7..8d82b90 100644
--- a/TODO
+++ b/TODO
 <at>  <at>  -16,20 +16,6  <at>  <at>  Background
   once the task is better understood.

 
-MMS Submission
-==============
-
-- Add MMS submit support.
-  In case of error (HTTP communication error, MMSC rejection of the submit
-  request), the SendMessage Request asynchronous reply should also be sent with
-  the appropriate DBus error status (see __mms_error_XXXX).
-
-  Priority: High
-  Complexity: C4
-  Depends: MMS M-Send.Req PDU encoding support, META file support,
-  "org.ofono.mms.Message" interface implementation.
-  Owner: Sebastien Bianti <sebastien.bianti@...>
-
 D-Bus API
 =========

--

-- 
(Continue reading)

Marcel Holtmann | 2 May 2012 11:38

Re: [PATCH 1/1] TODO: task complete

Hi Sebastien,

> ---
>  TODO |   14 --------------
>  1 files changed, 0 insertions(+), 14 deletions(-)

patch has been applied.

Regards

Marcel

Ronald Tessier | 3 May 2012 15:19
Picon

[PATCHv2 0/4] mmsd: GetConversation support

These patches concern mmsd and implement "GetConversation" D-Bus API.

Ronald Tessier (4):
  service: Retrieve get_conversation() args
  service: Fill conversation list with messages
  service: Sort conversation list by message date
  doc: Update service-api.txt

 doc/service-api.txt |    6 ++
 src/service.c       |  141 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 147 insertions(+), 0 deletions(-)

--
1.7.4.1

Ronald Tessier | 3 May 2012 15:20
Picon

[PATCHv2 1/4] service: Retrieve get_conversation() args

---
 src/service.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/src/service.c b/src/service.c
index 689a4e1..a8e818a 100644
--- a/src/service.c
+++ b/src/service.c
 <at>  <at>  -703,6 +703,29  <at>  <at>  static DBusMessage *get_conversation(DBusConnection *conn,
 {
 	DBusMessage *reply;
 	DBusMessageIter iter, array;
+	const char *number;
+	unsigned int count;
+
+	if (dbus_message_iter_init(dbus_msg, &iter) == FALSE)
+		return __mms_error_invalid_args(dbus_msg);
+
+	if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
+		return __mms_error_invalid_args(dbus_msg);
+
+	dbus_message_iter_get_basic(&iter, &number);
+	if (number[0] == '\0')
+		return __mms_error_invalid_args(dbus_msg);
+
+	if (valid_number_format(number) == FALSE)
+		return __mms_error_invalid_args(dbus_msg);
+
+	if (!dbus_message_iter_next(&iter))
+		return __mms_error_invalid_args(dbus_msg);
(Continue reading)

Ronald Tessier | 3 May 2012 15:20
Picon

[PATCHv2 2/4] service: Fill conversation list with messages

Fill a GList with all messages of a conversation based on number param.
A message is a member of a conversation if the given number belongs to
its recipients list (this is what is_recipient() checks).
'-' and '.' are valid chars in a phone number but they have to be
ignored during checking. To be eligible, a message must have the number
in recipients list AND the number must ends the matched recipient in the
recipients list (ex: a message with "+33612345678/TYPE=PLMN" in its
recipients is member of a conversation where the given number is
"12345678" BUT not if the given number is "1234567").

---
 src/service.c |   94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 insertions(+), 1 deletions(-)

diff --git a/src/service.c b/src/service.c
index a8e818a..93beceb 100644
--- a/src/service.c
+++ b/src/service.c
 <at>  <at>  -698,13 +698,91  <at>  <at>  static DBusMessage *get_messages(DBusConnection *conn,
 	return reply;
 }

+static gboolean is_recipient(const char *recipients, const char *number)
+{
+	const char *subrecpts, *subnum;
+
+	/*
+	 * Search for "number" substring in "recipients" string,
+	 * ignoring '-' and '.' which are valid chars in a phone number
+	 */
(Continue reading)

Ronald Tessier | 3 May 2012 15:20
Picon

[PATCHv2 3/4] service: Sort conversation list by message date

---
 src/service.c |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/service.c b/src/service.c
index 93beceb..6bcdede 100644
--- a/src/service.c
+++ b/src/service.c
 <at>  <at>  -698,6 +698,31  <at>  <at>  static DBusMessage *get_messages(DBusConnection *conn,
 	return reply;
 }

+static gint fill_conversation_sort(gconstpointer a, gconstpointer b)
+{
+	const struct mms_message *msg1 = a;
+	const struct mms_message *msg2 = b;
+	time_t date1, date2;
+
+	if (msg1->type == MMS_MESSAGE_TYPE_SEND_REQ)
+		date1 = msg1->sr.date;
+	else
+		date1 = msg1->rc.date;
+
+	if (msg2->type == MMS_MESSAGE_TYPE_SEND_REQ)
+		date2 = msg2->sr.date;
+	else
+		date2 = msg2->rc.date;
+
+	if (date1 > date2)
+		return 1;
(Continue reading)

Ronald Tessier | 3 May 2012 15:20
Picon

[PATCHv2 4/4] doc: Update service-api.txt

---
 doc/service-api.txt |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/doc/service-api.txt b/doc/service-api.txt
index 46989f4..36e1161 100644
--- a/doc/service-api.txt
+++ b/doc/service-api.txt
 <at>  <at>  -24,11 +24,17  <at>  <at>  Methods		array{object,dict} GetMessages()
 			that are part of a conversation between the service
 			entity and the number provided.

+			The number parameter contains digits to look for
+			(i.e.: n last digits of the phone number), only messages
+			with a recipient which ends with the given number will
+			be part of the GetConversation result.
+
 			The count parameter can either be 0 for unlimited
 			messages in the conversation or limit the conversation
 			to count last messages.

 			Possible Errors: [service].Error.InvalidArguments
+					 [service].Error.TransientFailure

 		object SendMessage(array{string} recipients, string smil,
 					array{string id, string content-type,
--
1.7.4.1

(Continue reading)

Ronald Tessier | 4 May 2012 17:18
Picon

mms: next steps

Hi Marcel,

Now that mms' TODO is almost empty (I've sent a set of patches yesterday 
that implement the last entry of the TODO).
What should we add to release a first version of MMS ?

What's already in place :
- MMS submission,
- MMS reception (automatic retrieval support),
- MMS storage with status support,
- (Basic) error management with transaction completion on restart.

What can be added :
- Manual retrieval support for MMS reception,
- Delivery report support (M-Delivered.ind),
- Enhance D-Bus API (DeleteMessages(), DeleteConversation() ...)
- or something else ...

How do you see the next actions to take?

Thanks in advance for your feedback.
Best regards,

Ronald

Gmane