[PATCH] utils/mtbatch.c DLR support patch

Vincent CHAVANIS <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
This patch add a DLR support for mtbatch.
Will try to provide the charset/udh patch soon

Vincent.


-- 
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Direction du Developpement xMS+
http://www.telemaque.fr/
[email protected]
Tel : +33 4 92 90 99 84 (fax 9142)
mtbatchv4.txt (text/plain, 2.9 KB)
--- /gateway-cvs/utils/mtbatch.c        2009-04-03 14:51:29.000000000 +0200
+++ /gateway/utils/mtbatch.c    2009-04-07 12:49:08.000000000 +0200
@@ -63,8 +63,10 @@
  * to bearerbox.
  *
  * Stipe Tolj <[email protected]>
+ * Vincent Chavanis <[email protected]>
  *
- * XXX add udh (etc.) capabilities. Currently we handle only 7-bit.
+ * XXX Add UDH capabilities.
+ * XXX Support more charsets than 7-bit.
  */
 
 #include <string.h>
@@ -90,6 +92,8 @@
 static Octstr *service = NULL;
 static Octstr *account = NULL;
 static Octstr *from = NULL;
+static int dlr_mask = 0;
+static Octstr *dlr_url = NULL;
 static Octstr *smsc_id = NULL;
 static long sms_max_length = MAX_SMS_OCTETS;
 static double delay = 0;
@@ -251,6 +255,10 @@
     info(0, "    defines the smsbox-id to be used for bearerbox connection (default: none)");
     info(0, "-f sender");
     info(0, "    which sender address should be used");
+    info(0, "-D dlr-mask");
+    info(0, "    defines the dlr-mask");
+    info(0, "-u dlr-url");
+    info(0, "    defines the dlr-url");
     info(0, "-n service");
     info(0, "    defines which service name should be logged (default: none)");
     info(0, "-a account");
@@ -311,6 +319,12 @@
         msg->sms.receiver = octstr_duplicate(no);
         msg->sms.account = account ? octstr_duplicate(account) : NULL;
         msg->sms.msgdata = content ? octstr_duplicate(content) : octstr_create("");
+
+        if (dlr_mask > 0 && dlr_url) {
+            msg->sms.dlr_mask = dlr_mask;
+            msg->sms.dlr_url = octstr_duplicate(dlr_url);        
+        }
+
         msg->sms.udhdata = octstr_create("");
         msg->sms.coding = DC_7BIT;
 
@@ -339,7 +353,7 @@
     bb_port = 13001;
     bb_ssl = 0;
         
-    while ((opt = getopt(argc, argv, "hv:b:p:si:n:a:f:d:r:")) != EOF) {
+    while ((opt = getopt(argc, argv, "hv:b:p:si:n:a:f:D:u:d:r:")) != EOF) {
         switch (opt) {
             case 'v':
                 log_set_output_level(atoi(optarg));
@@ -366,6 +380,13 @@
             case 'f':
                 from = octstr_create(optarg);
                 break;
+
+            case 'D':
+                dlr_mask = atoi(optarg);
+                break;
+            case 'u':
+                dlr_url = octstr_create(optarg);
+                break;
             case 'd':
                 delay = atof(optarg);
                 break;
@@ -389,6 +410,9 @@
     if (from == NULL)
         panic(0,"Sender address not specified. Use option -f to specify sender address.");
 
+    if (dlr_mask && dlr_url == NULL)
+        panic(0,"dlr-url address not specified. Use option -D to specify dlr-url address.");
+
     rf = octstr_create(argv[argc-1]);
     cf = octstr_create(argv[argc-2]);
 
@@ -416,6 +440,7 @@
     octstr_destroy(content);
     octstr_destroy(service);
     octstr_destroy(account);
+    octstr_destroy(dlr_url);
     octstr_destroy(smsc_id);
     counter_destroy(counter);
     gwlist_destroy(lines, octstr_destroy_item);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.