Hi guys

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

regards
Ignat
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)
 )


Reply via email to