This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Denis Artru denis at artru.frHello all, 1) When an SMS is received from SMPP, the validity_minutes is not set (value 0). The consequence is that email is deleted from database too early in case of failure. In file: src/libmsc/smpp_openbsc.c function submit_to_sms translate convert from submit_sm_t to gsm_sms. But some field of gsm_sms are not filled, in particularly validity_minutes. I think that validity_minutes must be computed from submit_sm_t.schedule_delivery_time or submit_sm_t.validity_period. Sorry I don’t know exactly content of these values. 2) In file src/libmsc/sms_queue.c function sub_ready_for_sm, before sending SMS using the function gsm411_send_sms, the SMS is not place in pending list. Like it is done in functions sms_submit_pending and sms_send_next. The consequence is that when handset do a Location Updating Request, only one SMS is send if they are many SMS for this subscribers. Because in function sms_sms_cb call of pending = sms_find_pending(network->sms_queue, sig_sms->sms->id); will always return 0. I try the following fix and was working but I don’t know if it possible that an SMS was already in the list? + struct gsm_sms_queue *smsq = net->sms_queue; + struct gsm_sms_pending *pendingSms = sms_pending_from(smsq, sms); + if (!pendingSms) { + LOGP(DLSMS, LOGL_ERROR, + "Failed to create pending SMS entry.\n"); + sms_free(sms); + return 0; + } + llist_add_tail(&pendingSms->entry, &smsq->pending_sms); gsm411_send_sms(net, vsub, sms); return 0; } Thanks you, Denis