Re: USSD: Mallformed destination_addr `(null)', may not be empty. Discarding MO message
Andreas Fink <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
I'm sure this can be patched to make it work. but its not really intentional to have a field destination address.
the data is what the user types. As this is a session, this makes sense.
You can temporary comment out this section in gw/smsc/smsc_smpp.c (line 442-464 ) to see if that works around the problem.
/*
* Follows SMPP spec. v3.4. issue 1.2
* it's not allowed to have destination_addr NULL
*/
if (pdu->u.deliver_sm.destination_addr == NULL) {
error(0, "SMPP[%s]: Malformed destination_addr `%s', may not be empty. "
"Discarding MO message.", octstr_get_cstr(smpp->conn->id),
octstr_get_cstr(pdu->u.deliver_sm.destination_addr));
*reason = SMPP_ESME_RINVDSTADR;
goto error;
}
On 14.01.2013, at 13:04, kayode tobi <[email protected]> wrote:
> Hi Andreas,
>
> I am so grateful for your response.
>
> However, I have been to this supplier with this question, but they claim this is how they push requests to all connected clients via SMPP.
>
> Please look at this again:
>
> 2012-11-27 11:38:35 [6369] [6] DEBUG: SMPP[USSD]: throughput (0.00,0.00)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter tag (0x001e)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter length read as 33
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter tag (0x0202)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter length read as 15
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter tag (0x0203)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter length read as 13
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter tag (0x0501)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter length read as 1
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Found configured optional parameter `mydata'
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter tag (0x0424)
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Optional parameter length read as 5
> 2012-11-27 11:38:35 [6369] [6] DEBUG: SMPP[USSD]: Got PDU:
> 2012-11-27 11:38:35 [6369] [6] DEBUG: SMPP PDU 0x7ff7c8001550 dump:
> 2012-11-27 11:38:35 [6369] [6] DEBUG: type_name: data_sm
> 2012-11-27 11:38:35 [6369] [6] DEBUG: command_id: 259 = 0x00000103
> 2012-11-27 11:38:35 [6369] [6] DEBUG: command_status: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: sequence_number: 1 = 0x00000001
> 2012-11-27 11:38:35 [6369] [6] DEBUG: service_type: "USSD"
> 2012-11-27 11:38:35 [6369] [6] DEBUG: source_addr_ton: 1 = 0x00000001
> 2012-11-27 11:38:35 [6369] [6] DEBUG: source_addr_npi: 1 = 0x00000001
> 2012-11-27 11:38:35 [6369] [6] DEBUG: source_addr: "2347055932235"
> 2012-11-27 11:38:35 [6369] [6] DEBUG: dest_addr_ton: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: destination_addr: NULL
> 2012-11-27 11:38:35 [6369] [6] DEBUG: esm_class: 1 = 0x00000001
> 2012-11-27 11:38:35 [6369] [6] DEBUG: registered_delivery: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: data_coding: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: message_payload:
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Octet string at 0x7ff7c80018c0:
> 2012-11-27 11:38:35 [6369] [6] DEBUG: len: 5
> 2012-11-27 11:38:35 [6369] [6] DEBUG: size: 6
> 2012-11-27 11:38:35 [6369] [6] DEBUG: immutable: 0
> 2012-11-27 11:38:35 [6369] [6] DEBUG: data: aa 19 0c 36 02 ...6.
> 2012-11-27 11:38:35 [6369] [6] DEBUG: Octet string dump ends.
> 2012-11-27 11:38:35 [6369] [6] DEBUG: receipted_message_id:
> "
> When the highlighted "data: aa 19 0c 36 02" was decripted, it revealed the code "*300#" which I presume should be the destination address.
>
> 1. Kindly enlighten me what this should be, because they claim my app (kannel) is what is not accepting the destination address.
>
> 2. Do you think I am missing anything in the kannel config? If yes, can u let me see a sample kannel USSD config?
>
> 3. Can I set configure kannel to accept NULL destination address?
>
> Thank you so much for your time.
>
>
> Best Regards,
> Kayode
>
>
>
>
>
>
>
>
>
> From: Andreas Fink <[email protected]>
> To: kayode tobi <[email protected]>
> Cc: "[email protected]" <[email protected]>
> Sent: Monday, 14 January 2013, 9:20
> Subject: Re: USSD: Mallformed destination_addr `(null)', may not be empty. Discarding MO message
>
> there is your error in the log:
>
> 2012-11-27 11:38:35 [6369] [6] DEBUG: dest_addr_ton: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
> 2012-11-27 11:38:35 [6369] [6] DEBUG: destination_addr: NULL
> 2012-11-27 11:38:35 [6369] [6] ERROR: SMPP[USSD]: Mallformed destination_addr `(null)', may not be empty. Discarding MO message.
>
> talk to your supplier and ask them why they send you no destination address.
>
> On 14.01.2013, at 09:11, kayode tobi <[email protected]> wrote:
>
>>
>> Hi Team,
>>
>> I have been very successful in using kannel (with binds to SMSC) to deliver MT messages to handsets.
>>
>> I have just been given a project that involves receiving MO messages from a USSD gateway and I am getting the Error above.
>>
>> When I send *300# from the phone, I get "USSDC: Rejected by ESME" back on the phone.
>>
>> Attached to this mail is the complete error from my log and my kannel config (Kannel bearerbox version `svn-r4979M')
>>
>> Kindly assist to check where this error is coming from and if I am doing something wrong.
>>
>> Thank you
>>
>> Best Regards,
>> Kayode
>>
>>
>>
>>
>>
>>
>>
>>
>> <COMPLETE ERROR><KANNEL CONF>
>
>
>