]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
try to release the call refs.
authorMichael Jerris <mike@jerris.com>
Wed, 6 Feb 2008 18:10:27 +0000 (18:10 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 6 Feb 2008 18:10:27 +0000 (18:10 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@389 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/isdn/Q931StateTE.c

index a45aa06472020de13351311e561660e7081d2ae2..3cd45dab33134234dc1b2bde586a16fbbe028db3 100644 (file)
@@ -782,14 +782,24 @@ L3INT Q931ProcReleaseTE(Q931_TrunkInfo_t *pTrunk, L3UCHAR * buf, L3INT iFrom)
 *****************************************************************************/
 L3INT Q931ProcReleaseCompleteTE(Q931_TrunkInfo_t *pTrunk, L3UCHAR * buf, L3INT iFrom)
 {
-    Q931mes_Generic *pMes = (Q931mes_Generic *)&buf[Q931L4HeaderSpace];
-    //L3INT state = Q931GetCallState(pTrunk, pMes->CRV);
-    L3INT ret = Q931E_NO_ERROR;
+    L3INT callIndex;
+    L3INT ret=Q931E_NO_ERROR;
+       Q931mes_Generic *pMes = (Q931mes_Generic *)&buf[Q931L4HeaderSpace];
+
     if(iFrom == 2)
     {
         /* TODO Add proc here*/
                ret = Q931Tx34(pTrunk,buf,pMes->Size);
     }
+
+       if (pMes->CRV) {
+               /* Find the call using CRV */
+               ret = Q931FindCRV(pTrunk, pMes->CRV, &callIndex);
+               if(ret != Q931E_NO_ERROR)
+                       return ret;
+               pTrunk->call[callIndex].InUse = 0;
+       }
+
        return ret;
 }