[Asterisk-Dev] Reasoning for bitfields in struct q931_ie ?

Schaefer, Mark Mark.Schaefer at ONSTAR.com
Mon Mar 29 19:23:46 MST 2004


Hi.

	First time caller here ;)

	I'm trying to get asterisk to talk on a specially configured PRI.
However, I'm getting a SETUP message which contains the following codes at
the end of the message: 96 01 01 00.  According to the AT&T PRI manual, 96
means "Locking Switch to CodeSet 6."  It also says that a PRI interface
SHALL implement the switch to CodeSet 6 and 7.  I have no idea what this is,
but I know that a few things are apparently not right.

1)	the Asterisk IE number (pri_q931.h) for "Locking Shift" is 0x90.
While technically correct, the problem is that the lower nibble has the
codeset to switch to.  So, really, it should be 0x90 to 0x97 for Locking
Shift and 0x98-0x9F for Non-Locking Shift.  According to the docs,
Non-Locking Shift is not implemented.

2)	q931_ie is created (Little Endian) with the bitfield ie:7 and f:1.
I'm not sure what the purpose is, but Locking Shift to CodeSet 6 is coming
across as IE 0x22 and is causing the SETUP to barf on the "UNKNOWN IE"

Thanks in advance for any pointers!

Mark



More information about the asterisk-dev mailing list