Patch: smsc_smpp.c
"Nikos Balkanas" <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <002301ca5bb0$0e26dc80$02b2a8c0@tardis> |
Hi, This is another one in my series of trivial patches. This part of the configuration has caused a lot of confusion in manual configuring dest-addr-ton over the years, with users prefixing their numbers with '+' instead of using the configuration. BR, Nikos
smsc_smpp.diff
(application/octet-stream, 3.1 KB)
Index: gw/smsc/smsc_smpp.c
===================================================================
RCS file: /home/cvs/gateway/gw/smsc/smsc_smpp.c,v
retrieving revision 1.123
diff -a -u -r1.123 smsc_smpp.c
--- gw/smsc/smsc_smpp.c 2 Sep 2009 13:10:50 -0000 1.123
+++ gw/smsc/smsc_smpp.c 2 Nov 2009 11:28:33 -0000
@@ -764,17 +764,19 @@
octstr_duplicate(msg->sms.binfo) : octstr_duplicate(smpp->service_type);
/* Check for manual override of source ton and npi values */
- if(smpp->source_addr_ton > -1 && smpp->source_addr_npi > -1) {
+ if (smpp->source_addr_ton > -1) {
pdu->u.submit_sm.source_addr_ton = smpp->source_addr_ton;
- pdu->u.submit_sm.source_addr_npi = smpp->source_addr_npi;
- debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced source addr ton = %d, source add npi = %d",
- octstr_get_cstr(smpp->conn->id), smpp->source_addr_ton,
- smpp->source_addr_npi);
- } else {
- /* setup default values */
+ debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced source-addr-ton = %d", octstr_get_cstr(smpp->conn->id), smpp->source_addr_ton);
+ }
+ else
pdu->u.submit_sm.source_addr_ton = GSM_ADDR_TON_NATIONAL; /* national */
- pdu->u.submit_sm.source_addr_npi = GSM_ADDR_NPI_E164; /* ISDN number plan */
+
+ if (smpp->source_addr_npi > -1) {
+ pdu->u.submit_sm.source_addr_npi = smpp->source_addr_npi;
+ debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced source-addr-npi = %d", octstr_get_cstr(smpp->conn->id), smpp->source_addr_npi);
}
+ else
+ pdu->u.submit_sm.source_addr_npi = GSM_ADDR_NPI_E164; /* ISDN number plan */
if (pdu->u.submit_sm.source_addr && smpp->autodetect_addr) {
/* lets see if its international or alphanumeric sender */
@@ -813,17 +815,20 @@
}
}
- /* Check for manual override of destination ton and npi values */
- if (smpp->dest_addr_ton > -1 && smpp->dest_addr_npi > -1) {
+/* Check for manual override of destination ton and npi values */
+ if (smpp->dest_addr_ton > -1) {
pdu->u.submit_sm.dest_addr_ton = smpp->dest_addr_ton;
- pdu->u.submit_sm.dest_addr_npi = smpp->dest_addr_npi;
- debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced dest addr ton = %d, dest add npi = %d",
- octstr_get_cstr(smpp->conn->id), smpp->dest_addr_ton,
- smpp->dest_addr_npi);
- } else {
+ debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced dest-addr-ton = %d", octstr_get_cstr(smpp->conn->id), smpp->dest_addr_ton);
+ }
+ else
pdu->u.submit_sm.dest_addr_ton = GSM_ADDR_TON_NATIONAL; /* national */
- pdu->u.submit_sm.dest_addr_npi = GSM_ADDR_NPI_E164; /* ISDN number plan */
- }
+ if (smpp->dest_addr_npi > -1) {
+ pdu->u.submit_sm.dest_addr_npi = smpp->dest_addr_npi;
+ debug("bb.sms.smpp", 0, "SMPP[%s]: Manually forced dest-addr-npi = %d", octstr_get_cstr(smpp->conn->id), smpp->dest_addr_npi);
+ }
+ else
+ pdu->u.submit_sm.dest_addr_npi = GSM_ADDR_NPI_E164; /* ISDN number plan */
+
/*
* if its a international number starting with +, lets remove the