mandag 18. august 2003, 13:38, skrev DILWORTH MICHAEL:
> hi Arne
>
> thanks for the feedback. it is interesting to see how others have tackled
> this issue. i am interested to know how you determined that the mesasge was
> binary and hence needed your price code fix. did you look at the udh data?
No. I apply this for any message that is sent, but the only messages that we
need to split are binary.
> also did you do this inside sms_split ?
Yes.
I have enclosed a diff for the patch. It is perhaps a bit ugly, but it appears
to work fine. Feel free to use it.
--
Med vennlig hilsen,
Eurobate ASA
Arne K. Haaje
Senior Network Engineer
--------------------------------------------------------------------
Eurobate ASA - Postboks 4589 Nydalen - 0404 Oslo - Norway
Phone: +47 23 22 73 73 - Fax: +47 23 22 73 74 - Mob: +47 92 88 44 66
http://www.eurobate.com/
--- /home/kannel/kannel-snapshot/gw/shared.c 2003-07-20 02:57:50.000000000 +0200
+++ shared.c 2003-08-18 14:07:42.000000000 +0200
@@ -11,7 +11,6 @@
#include "shared.h"
#include "sms.h"
#include "dlr.h"
-
#if defined(HAVE_LIBSSL) || defined(HAVE_WTLS_OPENSSL)
#include <openssl/opensslv.h>
#endif
@@ -19,7 +18,6 @@
#include <mysql_version.h>
#endif
-
enum program_status program_status = starting_up;
@@ -332,6 +330,7 @@
long last;
List *list;
Msg *part, *temp;
+ Octstr *zerocost = NULL;
hf_len = octstr_len(header) + octstr_len(footer);
nlsuf_len = octstr_len(nonlast_suffix);
@@ -359,6 +358,7 @@
temp = msg_duplicate(orig);
msgno = 0;
+ zerocost = octstr_imm("00");
list = list_create();
do {
@@ -370,10 +370,16 @@
* only ask DLR for the first one
*/
if ((msgno > 1) && DLR_IS_ENABLED(part->sms.dlr_mask)) {
+ /* if ((msgno > 1) && (part->sms.dlr_mask)) { */
octstr_destroy(part->sms.dlr_url);
part->sms.dlr_url = NULL;
part->sms.dlr_mask = 0;
}
+ /* Fiks for NetCom. Only the first message shall have a tariff
+ if (msgno > 1) {
+ octstr_destroy(part->sms.sender);
+ part->sms.sender = octstr_duplicate(zerocost);
+ }
octstr_destroy(part->sms.msgdata);
if (sms_msgdata_len(temp) <= max_part_len || msgno == max_messages) {
part->sms.msgdata = temp->sms.msgdata ?