Re: AMQP Azure : receiver and sender functions.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
CharlesF_21
Employee
Employee
25 sign-ins 10 sign-ins First comment on KBA

ludovicw​ and jerome_2594171

Thanks for the response here: AMQP Azure : receiver and sender functions.

Unfortunately when i implement this fix I get no activity on the Azure Cloud side. From the Device perspective status is OK on data transfer and it successfully detaches and it loops around, but again no message is received on cloud side. Were you able to see the message content successfully passed and displayed within Azure Device Explorer Twin?

Thx, Chuck

0 Likes
4 Replies
Anonymous
Not applicable

Yes I see some data in Azure Device Twin.

Can you say me which constructor you using ? (line just after )

0 Likes
Anonymous
Not applicable

other quesion for you Chuck, have you the same problem with performative data (2 bytes more in the begining)?

0 Likes
PriyaM_16
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Hello Chuck,

Kindly upgrade to the latest SDK and incorporate the following changes in libraries/protocols/AMQP/AMQPv1_0/amqp_transfer.c

1. Change the Encoding as below:

/* Encoding payload data */

AMQP_BUFFER_PUT_SHORT( &frame->buffer, 0x0053 );

AMQP_BUFFER_PUT_OCTET( &frame->buffer, 0x77 0x75 );

AMQP_BUFFER_PUT_OCTET( &frame->buffer, 0xa1 0xb0);

AMQP_BUFFER_PUT_SHORTLONG_STRING( &frame->buffer, params->message->data, params->message->data_length);

2. Change the total_size from

total_size = size + 8 + 3 + 2 + params->message->data_lenth + 5;

to:

total_size = size + 8 + 3 + 2 + params->message->data_lenth + 4 + 4;

I mean you need to tell the meaning of the change rather than just the code change.

Why 0x77/0xa1 is wrong and why change to 0x75/0xb0 fixes the issue?

You changed the values to 0x75/0xb0,

but the changes in https://community.cypress.com/message/155762#155762 uses 0x75/0xa0.

Please explain a bit what's the difference and which one is correct.

0 Likes