Closed harshpareek closed 4 years ago
This is incorrect. You'll see on line 250 and 252 of smpp_queues.c that this is deducted correctly.
If you're using an http router that isn't calculating the credits correctly thats an external issue
But in my case client send more then 304 character sms and it deduct only single sms and no udh data found on database.
Please check the attached database extracted in excel file, it deduct only single credit for long sms.
I'm not sure how your system is configured but I can assure you this works. How are you deducting credits? can you share your config files?
#
group=ksmppd log-file=/var/log/kannel/smppd.log log-level=4 smpp-port=5050 database-type=mysql database-config=demo database-enable-queue=1 id=KANNELSMPP inbound-queue-threads=8 outbound-queue-threads=8 auth-method=1
group=mysql-connection id=demo host=localhost username=user password=pass database=kannel max-connections=50
group=bearerbox-connection id=SMPP host=localhost port=5205
group=bearerbox-connection id=SMPP host=localhost port=5205
group=http-server port=14010 password=pass
group=smpp-routing
routing-method=1
OK, set your log-level to 0 and make sure you are running the latest version. Then send an example log from submit_sm to submit_sm_resp then we can see whats going on
Please find submit sm
original sms is
Hello, Thank you for placing your order with us, we at abcdkart believe in delivering happiness. Your order number is 34277, we will notify you once it is processed. If you have anything to share or have any query, please reach out to us at order@abcdkart.com or call/WhatsApp us directly on +999999999.http://abcdkart.com/index.php?route=account/imageupload to upload your Photographs.
This is not a complete log, it should contain phrases like 'Found outbound route ' and 'MySQL deducting credit from'
please share complete information
2020-07-29 16:40:50 [21392] [15] DEBUG: data: 68 6f 74 6f 67 72 61 70 68 73 2e hotographs.
2020-07-29 16:40:50 [21392] [20] DEBUG: SMPP[prootp:24386] Got outbound queued PDU (1) seq 0:
2020-07-29 16:40:50 [21392] [15] DEBUG: Octet string dump ends.
2020-07-29 16:40:50 [21392] [20] DEBUG: SMPP[prootp] Sending deliver_sm:
2020-07-29 16:40:50 [21392] [15] DEBUG: SMPP PDU dump ends.
2020-07-29 16:40:50 [21392] [13] DEBUG: Current load is ok 0.000000
2020-07-29 16:40:50 [21392] [15] DEBUG: data: 63 6b 6f 6b 61 72 74 2e 63 6f 6d 2f 69 6e 64 65 ckokart.com/inde
2020-07-29 16:40:50 [21392] [6] DEBUG: new group created smpp' 2020-07-29 16:40:50 [21392] [15] DEBUG: data: 78 2e 70 68 70 3f 72 6f 75 74 65 3d 61 63 63 6f x.php?route=acco 2020-07-29 16:40:50 [21392] [6] DEBUG: group=
smpp' key=dlr_err' value=
^C'
2020-07-29 16:40:50 [21392] [15] DEBUG: data: 75 6e 74 2f 69 6d 61 67 65 75 70 6c 6f 61 64 20 unt/imageupload
2020-07-29 16:40:50 [21392] [15] DEBUG: data: 74 6f 20 75 70 6c 6f 61 64 20 79 6f 75 72 20 50 to upload your P
2020-07-29 16:40:50 [21392] [6] DEBUG: Added ack callback for 105853
2020-07-29 16:40:50 [21392] [15] DEBUG: data: 68 6f 74 6f 67 72 61 70 68 73 2e hotographs.
2020-07-29 16:40:50 [21392] [20] DEBUG: SMPP[prootp:24386] Got outbound queued PDU (1) seq 0:
2020-07-29 16:40:50 [21392] [15] DEBUG: Octet string dump ends.
2020-07-29 16:40:50 [21392] [20] DEBUG: SMPP[prootp] Sending deliver_sm:
2020-07-29 16:40:50 [21392] [15] DEBUG: SMPP PDU dump ends.
2020-07-29 16:40:50 [21392] [20] DEBUG: SMPP PDU 0x7efca8645200 dump:
2020-07-29 16:40:50 [21392] [15] DEBUG: Current load is ok 1.000000
2020-07-29 16:40:50 [21392] [20] DEBUG: type_name: deliver_sm
2020-07-29 16:40:50 [21392] [20] DEBUG: command_id: 5 = 0x00000005
2020-07-29 16:40:50 [21392] [20] DEBUG: command_status: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: sequence_number: 105853 = 0x00019d7d
2020-07-29 16:40:50 [21392] [20] DEBUG: service_type: NULL
2020-07-29 16:40:50 [21392] [20] DEBUG: source_addr_ton: 5 = 0x00000005
2020-07-29 16:40:50 [21392] [20] DEBUG: source_addr_npi: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: source_addr: "SSTMRT"
2020-07-29 16:40:50 [21392] [13] DEBUG: MySQL deducting credit from prootp value 2.000000
2020-07-29 16:40:50 [21392] [20] DEBUG: dest_addr_ton: 2 = 0x00000002
2020-07-29 16:40:50 [21392] [20] DEBUG: dest_addr_npi: 1 = 0x00000001
2020-07-29 16:40:50 [21392] [20] DEBUG: destination_addr: "917799778806"
2020-07-29 16:40:50 [21392] [20] DEBUG: esm_class: 4 = 0x00000004
2020-07-29 16:40:50 [21392] [20] DEBUG: protocol_id: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: priority_flag: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: schedule_delivery_time: NULL
2020-07-29 16:40:50 [21392] [20] DEBUG: validity_period: NULL
2020-07-29 16:40:50 [21392] [20] DEBUG: registered_delivery: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: replace_if_present_flag: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: data_coding: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: sm_default_msg_id: 0 = 0x00000000
2020-07-29 16:40:50 [21392] [20] DEBUG: sm_length: 144 = 0x00000090
2020-07-29 16:40:50 [21392] [20] DEBUG: short_message:
2020-07-29 16:40:50 [21392] [20] DEBUG: Octet string at 0x7efca8080a30:
2020-07-29 16:40:50 [21392] [15] DEBUG: MySQL deducting credit from prootp value 3.000000
I found one row which says Mysql deduct 3 credit, but in kannel database MT record shows only 1 row, so it is impossible to count total delivered sms or total failure, because in current scenario we calculate total by number from udh data. but in this case no udh data found on database.
OK so as I said this isn't an issue with ksmppd, this is an issue with the way you are counting the messages. Using udhdata isn't reliable as it isn't the only way multipart messages can be sent. You will need to fix your code to calculate correctly.
If someone send double sms(more then 160 character) using payload parameter then ksmmpd deduct only 1 credit, but its should deduct as per sms size, but in this case sms size not working.