Summary: | ASTERISK-00856: SERVICE_ACKNOWLEDGE message building problem | ||
Reporter: | zalex (zalex) | Labels: | |
Date Opened: | 2004-01-15 19:12:10.000-0600 | Date Closed: | 2004-09-25 02:55:01 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) q931.c.diff | |
Description: | The index in h->raw[index] depends on h->crlen, so it isn't h->raw[3] (as it is in the CVS) and not h->raw[4] (as it was before Tony Mancill's email) but h->raw[h->crlen + 2]. Our carriers send crlen = 1, or crlen = 2. How about using mh->msg? ****** ADDITIONAL INFORMATION ****** retrieving revision 1.42 diff -u -r1.42 q931.c --- q931.c 9 Dec 2003 15:55:48 -0000 1.42 +++ q931.c 16 Jan 2004 00:43:49 -0000 @@ -1935,7 +1935,7 @@ /* This is the weird maintenance stuff. We majorly KLUDGE this by changing byte 4 from a 0xf (SERVICE) to a 0x7 (SERVICE ACKNOWLEDGE) */ - h->raw[3] -= 0x8; + h->raw[h->crlen + 2] -= 0x8; q931_xmit(pri, h, len, 1); return 0; } else if (h->pd != Q931_PROTOCOL_DISCRIMINATOR) { | ||
Comments: | By: Brian West (bkw918) 2004-01-15 20:05:32.000-0600 attach a diff -u By: zalex (zalex) 2004-01-16 11:31:56.000-0600 Attached (was in additional info in the original post). By: Mark Spencer (markster) 2004-01-17 09:22:25.000-0600 Fixed in CVS. Brilliant patch. |