Hi Elton, Yes after the first MO, the app submit with 126 as originator. Also could you tell me how the app supposed to differentiate the session. Is it by using msgID or something? As for the USSR confirm, I guess I should ask the USSDC since they passed the value 12 instead of 18.
Thank you for your input so far ☺ From: Elton Hoxha [mailto:elt...@gmail.com] Sent: Thursday, April 07, 2016 4:38 PM To: Arif Noor Cc: Donald Jackson; users@kannel.org Subject: Re: USSD with Kannel After you receive the first MO do you submit the SM having 126 as originator? If yes, maybe something wrong with the sessions you are keeping on application side. Furthermore, at this stage of session `ussd_srv_op' should have the value of 18 = USSR Confirm. Yours look like 12. Here is my deliver SM 2016-04-07 05:07:19 [5368] [6] DEBUG: Optional parameter tag (0x0501) 2016-04-07 05:07:19 [5368] [6] DEBUG: Optional parameter length read as 1 2016-04-07 05:07:19 [5368] [6] DEBUG: Found configured optional parameter `mydata' 2016-04-07 05:07:19 [5368] [6] DEBUG: SMPP[ussdmenu]: Got PDU: 2016-04-07 05:07:19 [5368] [6] DEBUG: SMPP PDU 0x9b13ba8 dump: 2016-04-07 05:07:19 [5368] [6] DEBUG: type_name: deliver_sm 2016-04-07 05:07:19 [5368] [6] DEBUG: command_id: 5 = 0x00000005 2016-04-07 05:07:19 [5368] [6] DEBUG: command_status: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: sequence_number: 12653547 = 0x00c113eb 2016-04-07 05:07:19 [5368] [6] DEBUG: service_type: "USSD" 2016-04-07 05:07:19 [5368] [6] DEBUG: source_addr_ton: 1 = 0x00000001 2016-04-07 05:07:19 [5368] [6] DEBUG: source_addr_npi: 1 = 0x00000001 2016-04-07 05:07:19 [5368] [6] DEBUG: source_addr: "xxxxxxxxxxx" 2016-04-07 05:07:19 [5368] [6] DEBUG: dest_addr_ton: 1 = 0x00000001 2016-04-07 05:07:19 [5368] [6] DEBUG: dest_addr_npi: 1 = 0x00000001 2016-04-07 05:07:19 [5368] [6] DEBUG: destination_addr: "100" 2016-04-07 05:07:19 [5368] [6] DEBUG: esm_class: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: protocol_id: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: priority_flag: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: schedule_delivery_time: NULL 2016-04-07 05:07:19 [5368] [6] DEBUG: validity_period: NULL 2016-04-07 05:07:19 [5368] [6] DEBUG: registered_delivery: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: data_coding: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000 2016-04-07 05:07:19 [5368] [6] DEBUG: sm_length: 1 = 0x00000001 2016-04-07 05:07:19 [5368] [6] DEBUG: short_message: "1" 2016-04-07 05:07:19 [5368] [6] DEBUG: mydata: "18" On Thu, Apr 7, 2016 at 10:21 AM, Arif Noor <md.a...@forest-interactive.com<mailto:md.a...@forest-interactive.com>> wrote: Hi Elton, Please find below for the logs. 1435309:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter tag (0x0501) 1435310:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter length read as 1 1435311:2016-04-01 17:20:51 [2353] [6] DEBUG: Found configured optional parameter `ussd_srv_op' 1435312:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter tag (0x4006) 1435313:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter length read as 2 1435314:2016-04-01 17:20:51 [2353] [6] DEBUG: Found configured optional parameter `ussd_hlr' 1435315:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter tag (0x400c) 1435316:2016-04-01 17:20:51 [2353] [6] DEBUG: Optional parameter length read as 16 1435317:2016-04-01 17:20:51 [2353] [6] DEBUG: Found configured optional parameter `ussd_optional' 1435318:2016-04-01 17:20:51 [2353] [6] DEBUG: SMPP[smppUSSD]: Got PDU: 1435319:2016-04-01 17:20:51 [2353] [6] DEBUG: SMPP PDU 0x7f41bc01c660 dump: 1435320:2016-04-01 17:20:51 [2353] [6] DEBUG: type_name: deliver_sm 1435321:2016-04-01 17:20:51 [2353] [6] DEBUG: command_id: 5 = 0x00000005 1435322:2016-04-01 17:20:51 [2353] [6] DEBUG: command_status: 0 = 0x00000000 1435323:2016-04-01 17:20:51 [2353] [6] DEBUG: sequence_number: 102277 = 0x00018f85 1435324:2016-04-01 17:20:51 [2353] [6] DEBUG: service_type: "USSD" 1435325:2016-04-01 17:20:51 [2353] [6] DEBUG: source_addr_ton: 1 = 0x00000001 1435326:2016-04-01 17:20:51 [2353] [6] DEBUG: source_addr_npi: 1 = 0x00000001 1435327:2016-04-01 17:20:51 [2353] [6] DEBUG: source_addr: "60xxxxxxxx" 1435328:2016-04-01 17:20:51 [2353] [6] DEBUG: dest_addr_ton: 0 = 0x00000000 1435329:2016-04-01 17:20:51 [2353] [6] DEBUG: dest_addr_npi: 0 = 0x00000000 1435330:2016-04-01 17:20:51 [2353] [6] DEBUG: destination_addr: NULL 1435331:2016-04-01 17:20:51 [2353] [6] DEBUG: esm_class: 0 = 0x00000000 1435332:2016-04-01 17:20:51 [2353] [6] DEBUG: protocol_id: 0 = 0x00000000 1435333:2016-04-01 17:20:51 [2353] [6] DEBUG: priority_flag: 0 = 0x00000000 1435334:2016-04-01 17:20:51 [2353] [6] DEBUG: schedule_delivery_time: NULL 1435335:2016-04-01 17:20:51 [2353] [6] DEBUG: validity_period: NULL 1435336:2016-04-01 17:20:51 [2353] [6] DEBUG: registered_delivery: 0 = 0x00000000 1435337:2016-04-01 17:20:51 [2353] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000 1435338:2016-04-01 17:20:51 [2353] [6] DEBUG: data_coding: 15 = 0x0000000f 1435339:2016-04-01 17:20:51 [2353] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000 1435340:2016-04-01 17:20:51 [2353] [6] DEBUG: sm_length: 1 = 0x00000001 1435341:2016-04-01 17:20:51 [2353] [6] DEBUG: short_message: "1" 1435342:2016-04-01 17:20:51 [2353] [6] DEBUG: ussd_service_op: 1435343:2016-04-01 17:20:51 [2353] [6] DEBUG: Octet string at 0x7f41bc01d010: 1435344:2016-04-01 17:20:51 [2353] [6] DEBUG: len: 1 1435345:2016-04-01 17:20:51 [2353] [6] DEBUG: size: 2 1435346:2016-04-01 17:20:51 [2353] [6] DEBUG: immutable: 0 1435347:2016-04-01 17:20:51 [2353] [6] DEBUG: data: 12 . 1435348:2016-04-01 17:20:51 [2353] [6] DEBUG: Octet string dump ends. 1435349:2016-04-01 17:20:51 [2353] [6] DEBUG: ussd_hlr: "60" 1435350:2016-04-01 17:20:51 [2353] [6] DEBUG: ussd_optional: "0010015156FE3D42" 1435351:2016-04-01 17:20:51 [2353] [6] DEBUG: ussd_srv_op: 1435352:2016-04-01 17:20:51 [2353] [6] DEBUG: Octet string at 0x7f41bc00d440: 1435353:2016-04-01 17:20:51 [2353] [6] DEBUG: len: 1 1435354:2016-04-01 17:20:51 [2353] [6] DEBUG: size: 2 1435355:2016-04-01 17:20:51 [2353] [6] DEBUG: immutable: 0 1435356:2016-04-01 17:20:51 [2353] [6] DEBUG: data: 12 . 1435357:2016-04-01 17:20:51 [2353] [6] DEBUG: Octet string dump ends. 1435358:2016-04-01 17:20:51 [2353] [6] DEBUG: SMPP PDU dump ends. 1435359:2016-04-01 17:20:51 [2353] [6] ERROR: SMPP[smppUSSD]: Malformed destination_addr `(null)', may not be empty. Discarding MO message. Thank you and Regards, Arif Noor From: Elton Hoxha [mailto:elt...@gmail.com<mailto:elt...@gmail.com>] Sent: Thursday, April 07, 2016 4:15 PM To: Arif Noor Cc: Donald Jackson; users@kannel.org<mailto:users@kannel.org> Subject: Re: USSD with Kannel Hello Arif, Please paste here the pdu of deliver SM while pressing Accept or Decline. On Thu, Apr 7, 2016 at 9:54 AM, Arif Noor <md.a...@forest-interactive.com<mailto:md.a...@forest-interactive.com>> wrote: Hi Donald, Thank you for your reply, we have set up kannel to receive the TLV, just need to know how can I differentiate the sessions. Also as per previous mail, I was wondering why I was getting below error. 2016-03-25 11:05:49 [2353] [6] ERROR: SMPP[smppUSSD]: Malformed destination_addr `(null)', may not be empty. Discarding MO message. It doesn’t have any issue when I start the USSD session which it have destination address (in this case 126) but when replying the menu let’s say (1. Accept, 2. Decline) and I entered 1 and press send , it gave me above error on smpp thus the application server can’t proceed since it doesn’t receive any reply / MO. Any input in this are highly appreciated ☺. Thank you, Arif Noor. From: Donald Jackson [mailto:donaldjs...@gmail.com<mailto:donaldjs...@gmail.com>] Sent: Tuesday, April 05, 2016 12:45 PM To: Arif Noor Subject: RE: USSD with Kannel Hi Arif, You will not be able to do this out the box with Kannel, you will need to make code changes to handle your use case. Thanks, -- Donald Jackson