SMS SMPP Troubleshooting

From Kolmisoft Wiki
Jump to navigationJump to search

SMPP Protocol is binary encoded for efficiency. It is not text based as SIP protocol so packet capture with tethereal to .pcap file will not show human-readable information.

Must-read before proceeding:



pcap file capture

In order to debug SMPP issues, sometime pcap file capture is needed. This can be achieved using Wireshark program, as described here How to capture packets using wireshark. To capture only SMPP traffic it is best to capture traffic coming only to/from SMPP provider IP. So if provider's IP is 1.2.3.4, capture command would be the following:

 tethereal -i eth0 -w /home/smpp_capture.pcap host 1.2.3.4



pcap file view over Wireshark

Once we have captured SMPP trace into pcap file, we can download this file and view it over Wireshark program. SMPP is a binary (as opposed to SIP protocol, which is text based) protocol, so to see text we need correctly decode pcap file. Often Wireshark recognise SMPP messages as RSL format and show "malformed" text messages



Smpp trace mailformed.png

To decode such messages as SMPP, right click on such message, in context menu select 'Decode As' and choose SMPP protocol. Trace will looks like this:

Smpp trace text.png




Manually sending SMS from command line

It is possible to send SMS directly from command line and check debug output.

 /usr/local/mor/smppcli -u username -p password -n dest_number -d smpp_provider_ip:port -m message  -s source_number -e ucs2 -t transmitter

If we have something else but not [ESME_ROK], then check error code from this file for the cause: File:Smpp error codes.pdf

It is also possible to check what exactly parametres MOR used for sending SMS in /home/mor/log/gui_debug.log file(check for text starting with 'SMPP SMS SENDING' message)



See also