]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fix encoding of the Channel ID IE
authorStefan Knoblich <stkn@freeswitch.org>
Thu, 28 Aug 2008 15:50:26 +0000 (15:50 +0000)
committerStefan Knoblich <stkn@freeswitch.org>
Thu, 28 Aug 2008 15:50:26 +0000 (15:50 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@516 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/isdn/Q931ie.c

index 983e158aee8aec80c43d65ec6a3900d0b95856fb..d7716bc3da25e6c7cae751ca613be6a7c463871b 100644 (file)
@@ -1288,28 +1288,26 @@ L3INT Q931Pie_ChanID(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, L3UCHAR *OBuf, L3I
     {
                OBuf[(*Octet)++] = 0x80 | (pIE->InterfaceID & 0x7f);
     }
-    else
+
+    /* Octet 3.2 & 3.3 - PRI */
+    if(pIE->IntType)
     {
-        /* Octet 3.2 & 3.3 - PRI */
-        if(pIE->IntType == 1)
-        {
-            OBuf[(*Octet)++]  = 0x80
-                                       | ((pIE->CodStand << 5) & 0x60)
-                                       | ((pIE->NumMap << 4) & 0x10)
-                                       |  (pIE->ChanMapType & 0x0f);           /* TODO: support all possible channel map types */
-
-                       /* Octet 3.3 Channel number */
-                       switch(pIE->ChanMapType) {
-                       case 0x6:       /* Slot map: H0 Channel Units */        /* unsupported, Octets 3.3.1 - 3.3.3 */
-                               return Q931E_CHANID;
-
-                       case 0x8:       /* Slot map: H11 Channel Units */
-                       case 0x9:       /* Slot map: H12 Channel Units */
-                       default:        /* Channel number */
-                               OBuf[(*Octet)++] = 0x80 | (pIE->ChanSlot & 0x7f);
-                               break;
-                       }
-        }
+       OBuf[(*Octet)++]  = 0x80
+                       | ((pIE->CodStand << 5) & 0x60)
+                       | ((pIE->NumMap << 4) & 0x10)
+                       |  (pIE->ChanMapType & 0x0f);           /* TODO: support all possible channel map types */
+
+       /* Octet 3.3 Channel number */
+       switch(pIE->ChanMapType) {
+       case 0x6:       /* Slot map: H0 Channel Units */        /* unsupported, Octets 3.3.1 - 3.3.3 */
+               return Q931E_CHANID;
+
+       case 0x8:       /* Slot map: H11 Channel Units */
+       case 0x9:       /* Slot map: H12 Channel Units */
+       default:        /* Channel number */
+               OBuf[(*Octet)++] = 0x80 | (pIE->ChanSlot & 0x7f);
+               break;
+       }
     }
 
     OBuf[li] = (L3UCHAR)((*Octet)-Beg) - 2;