Priority patch for smsc_smpp.c

Ignat Vassilev <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi guys

Here you are  a patch for priority  of messages
SMPP3.3  and SMPP3.4 .
Default priority is  0

regards
Ignat
priority.diff (text/plain, 2.9 KB)
Index: gw/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc_smpp.c,v
retrieving revision 1.71
diff -u -b smsc_smpp.c
--- gw/smsc_smpp.c	Fri Jun 21 12:17:13 2002    -0000   1.71	
+++ gw/smsc_smpp.c	Wed Jun 26 16:02:36 2002    -0000
@@ -76,6 +76,7 @@
     int source_addr_npi; 
     int dest_addr_ton; 
     int dest_addr_npi;
+    int priority;       /* set default priority for messages */
     int alt_dcs;
     int transmit_port; 
     int receive_port; 
@@ -96,7 +97,8 @@
                          int dest_addr_ton, int dest_addr_npi, 
                          int alt_dcs, int enquire_link_interval, 
                          int max_pending_submits, int reconnect_delay,
-                         int version, Octstr *my_number) 
+                         int version, int priority,
+			 Octstr *my_number) 
 { 
     SMPP *smpp; 
      
@@ -117,6 +119,7 @@
     smpp->source_addr_npi = source_addr_npi; 
     smpp->dest_addr_ton = dest_addr_ton; 
     smpp->dest_addr_npi = dest_addr_npi; 
+    smpp->priority = priority;
     smpp->alt_dcs = alt_dcs;
     smpp->our_host = octstr_duplicate(our_host); 
     smpp->my_number = octstr_duplicate(my_number); 
@@ -361,6 +364,15 @@
 
     octstr_destroy(relation_UTC_time);
 
+    if ( smpp->priority >= 0 && smpp->priority <= 5 ) {
+           pdu->u.submit_sm.priority_flag = smpp->priority;	   
+
+    } else {	   
+               /* default priority is 0 */	    
+               pdu->u.submit_sm.priority_flag = 0;	    
+
+       }	       
+    
     return pdu; 
 } 
  
@@ -974,6 +986,7 @@
     long source_addr_npi; 
     long dest_addr_ton; 
     long dest_addr_npi; 
+    long priority;
     Octstr *our_host; 
     Octstr *my_number; 
     SMPP *smpp; 
@@ -1061,6 +1074,9 @@
                         octstr_imm("dest-addr-npi")) == -1) 
         dest_addr_npi = -1; 
 
+    if (cfg_get_integer(&priority, grp, octstr_imm("priority")) == -1) 
+	    priority = 0;
+   
     /* check for any specified interface version */
     if (cfg_get_integer(&version, grp, octstr_imm("interface-version")) == -1)
         version = SMPP_DEFAULT_VERSION;
@@ -1073,7 +1089,7 @@
                        source_addr_ton, source_addr_npi, dest_addr_ton,  
                        dest_addr_npi, alt_dcs, enquire_link_interval, 
                        max_pending_submits, reconnect_delay, 
-                       version, my_number); 
+		       priority, version, my_number); 
  
     conn->data = smpp; 
     conn->name = octstr_format("SMPP:%S:%d/%d:%S:%S",  
Index: gwlib/cfg.def
===================================================================
RCS file: /home/cvs/gateway/gwlib/cfg.def,v
retrieving revision 1.61
diff -u -b cfg.def
--- gwlib/cfg.def       Tue Jun 25 10:32:06 2002   -0000   1.61
+++ gwlib/cfg.def       Wed Jun 26 15:54:11 2002   -0000
@@ -213,6 +213,7 @@
     OCTSTR(reconnect-delay)
     OCTSTR(transceiver-mode)
     OCTSTR(interface-version)
+    OCTSTR(priority)
 )
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.