Hi Ronald, >>> + ReportChanged(string type, variant recipient, variant status) >>> + >>> + Signal that is sent when a report has been received and >>> + processed. It contains the type of the report >>> + ("delivery_report" or other), the recipient concerned >>> + and its new status. >>> + >> >> Why are we not simply changing the 'Status' to delivered/expired, etc? > > Unfortunately, we cannot use the message status because there is one > delivery status per recipient (a message can be sent to 2 (or more) > recipients, so it can be delivered to one of them and "not yet > delivered" to the other one). > So how do you expect this to work? Is the application responsible for aggregating the recipients? If so, then that is not a good idea, mmsd should be doing as much work as possible here. Can't we use delivered/partially_delivered/expired and provide exact status details as a dictionary? Regards, -Denis