]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
properly send release complete
authorMichael Jerris <mike@jerris.com>
Thu, 14 Jun 2007 02:02:56 +0000 (02:02 +0000)
committerMichael Jerris <mike@jerris.com>
Thu, 14 Jun 2007 02:02:56 +0000 (02:02 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@254 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/isdn/Q931StateTE.c
libs/freetdm/src/isdn/Q931api.c
libs/freetdm/src/isdn/include/Q931.h

index 55ba103eb5d4f6793ccad8317bf037f6d6fcca31..9f68c970b0cc42b7eb55f7bb89d6152e0302a4d0 100644 (file)
@@ -761,17 +761,12 @@ L3INT Q931ProcReleaseTE(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;
-    if(iFrom == 4)
-               {
-                       /* TODO Add proc here*/
-                       ret = Q931Tx32(pTrunk,buf,pMes->Size);
-               }
-       else if(state == Q931_U0 && iFrom == 2)
-    {
-        ret = Q931ReleaseComplete(pTrunk, iFrom);
-    }
-    else
-    {
+    if(iFrom == 4) {
+               /* TODO Add proc here*/
+               ret = Q931Tx32(pTrunk,buf,pMes->Size);
+       } else if(state == Q931_U0 && iFrom == 2) {
+        ret = Q931ReleaseComplete(pTrunk, buf);
+    } else {
         ret = Q931ProcUnexpectedMessage(pTrunk, buf, iFrom);
     }
 
index e13d4791d75d66b353055fa0a4076d51ed649939..1ac2a56b96dfed532796c9497571aecb6c40ee14 100644 (file)
@@ -515,13 +515,12 @@ L3INT Q931Disconnect(Q931_TrunkInfo_t *pTrunk, L3INT iTo, L3INT iCRV, L3INT iCau
     return 0;
 }
 
-L3INT Q931ReleaseComplete(Q931_TrunkInfo_t *pTrunk, L3INT iTo)
+L3INT Q931ReleaseComplete(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
 {
-       /* TODO:  Unhandled paramaters */
-       (void)pTrunk;
-       (void)iTo;
+    Q931mes_Header *ptr = (Q931mes_Header*)&buf[Q931L4HeaderSpace];
+       ptr->MesType = Q931mes_RESTART_ACKNOWLEDGE;
 
-       return 0;
+       return Q931Tx32(pTrunk,buf,ptr->Size);
 }
 
 L3INT Q931AckRestart(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
@@ -529,7 +528,7 @@ L3INT Q931AckRestart(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
        L3INT RetCode;
 
     Q931mes_Header *ptr = (Q931mes_Header*)&buf[Q931L4HeaderSpace];
-       ptr->MesType = Q931mes_RESTART_ACKNOWLEDGE;
+       ptr->MesType = Q931mes_RELEASE_COMPLETE;
 
        RetCode = Q931Proc[pTrunk->Dialect][ptr->MesType](pTrunk, buf, 4);
 
index 1243c5a114dcc655bc154e1d0cedfd88016ff1ab..8c63d143f88bb3e036f53951a371a7c02b14d736 100644 (file)
@@ -938,7 +938,7 @@ L3INT Q931InitIELLComp(Q931ie_LLComp * pIE);
 L3INT Q931InitIEHLComp(Q931ie_HLComp * pIE);
 
 L3INT Q931Disconnect(Q931_TrunkInfo_t *pTrunk, L3INT iTo, L3INT iCRV, L3INT iCause);
-L3INT Q931ReleaseComplete(Q931_TrunkInfo_t *pTrunk, L3INT iTo);
+L3INT Q931ReleaseComplete(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf);
 L3INT Q931AckRestart(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf);
 L3INT Q931AckConnect(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf);
 L3INT Q931AckSetup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf);