]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fix encoding of Call State IE, Q.931 (05/98) 4.5.7: bit 8 of octet 3 is part of the...
authorStefan Knoblich <stkn@freeswitch.org>
Tue, 30 Jun 2009 09:42:10 +0000 (09:42 +0000)
committerStefan Knoblich <stkn@freeswitch.org>
Tue, 30 Jun 2009 09:42:10 +0000 (09:42 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@751 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/isdn/Q931ie.c

index 61ffc3dcc1247b4eb72cec4c1644e7b5ff04f217..7755e2cbaa762cb84118405e9524f5b6c135963b 100644 (file)
@@ -519,7 +519,7 @@ L3INT Q931Uie_CallState(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR
        pie->IEId = IBuf[Octet++];
 
        /* Octet 2 */
-       IESize = IBuf[Octet++]; 
+       IESize = IBuf[Octet++];
 
        /* Octet 3 */
        pie->CodStand  = (IBuf[Octet + Off] >> 6) & 0x03;
@@ -557,7 +557,7 @@ L3INT Q931Pie_CallState(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf,
        OBuf[(*Octet)++] = Q931ie_CALL_STATE;
        li = (*Octet)++; /* remember length position */
 
-       OBuf[(*Octet)++] = 0x80 | (pIE->CodStand<<6) | pIE->CallState;
+       OBuf[(*Octet)++] = (pIE->CodStand << 6) | (pIE->CallState & 0x3f);
 
        OBuf[li] = (L3UCHAR)((*Octet) - Beg) - 2;
        return rc;