提交 824cf641 authored 作者: Michael Jerris's avatar Michael Jerris

cleanup and simplify the message unpack functions.

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@141 a93c3328-9c30-0410-af19-c9cd2b2d52af
上级 bbd85a8e
...@@ -43,12 +43,9 @@ ...@@ -43,12 +43,9 @@
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_Facility(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_Facility(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -77,12 +74,9 @@ L3INT Q932Pmes_Facility(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I ...@@ -77,12 +74,9 @@ L3INT Q932Pmes_Facility(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_Hold(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_Hold(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -111,12 +105,9 @@ L3INT Q932Pmes_Hold(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize ...@@ -111,12 +105,9 @@ L3INT Q932Pmes_Hold(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ISize
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_HoldAck(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_HoldAck(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -145,12 +136,9 @@ L3INT Q932Pmes_HoldAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT IS ...@@ -145,12 +136,9 @@ L3INT Q932Pmes_HoldAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT IS
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_HoldReject(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_HoldReject(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -179,12 +167,9 @@ L3INT Q932Pmes_HoldReject(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT ...@@ -179,12 +167,9 @@ L3INT Q932Pmes_HoldReject(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_Register(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_Register(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -213,12 +198,9 @@ L3INT Q932Pmes_Register(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I ...@@ -213,12 +198,9 @@ L3INT Q932Pmes_Register(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_Retrieve(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_Retrieve(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -247,12 +229,9 @@ L3INT Q932Pmes_Retrieve(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I ...@@ -247,12 +229,9 @@ L3INT Q932Pmes_Retrieve(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_RetrieveAck(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_RetrieveAck(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
...@@ -281,12 +260,9 @@ L3INT Q932Pmes_RetrieveAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3IN ...@@ -281,12 +260,9 @@ L3INT Q932Pmes_RetrieveAck(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3IN
*****************************************************************************/ *****************************************************************************/
L3INT Q932Umes_RetrieveReject(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT Q932Umes_RetrieveReject(Q931_TrunkInfo_t *pTrunk,L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
/* L3INT ir=0; */
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
/* TODO */ /* TODO */
......
...@@ -51,31 +51,30 @@ ...@@ -51,31 +51,30 @@
Function: nationalUmes_Setup Function: nationalUmes_Setup
*****************************************************************************/ *****************************************************************************/
L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *OBuf, L3INT IOff, L3INT Size) L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic *mes, L3INT IOff, L3INT Size)
{ {
/* L3INT i = IOff; */
L3INT ir=0; L3INT ir=0;
L3INT OOff=0; L3INT OOff=0;
Q931mes_Generic *mes = (Q931mes_Generic*)OBuf;
L3INT rc=Q931E_NO_ERROR; L3INT rc=Q931E_NO_ERROR;
while(IOff < Size) while(IOff < Size)
{ {
switch(IBuf[IOff]) switch(IBuf[IOff])
{ {
case Q931ie_SENDING_COMPLETE: case Q931ie_SENDING_COMPLETE:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->SendComplete,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->SendComplete, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_REPEAT_INDICATOR: case Q931ie_REPEAT_INDICATOR:
if(ir==0) if(ir==0)
{ {
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->RepeatInd,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->RepeatInd, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
ir++; ir++;
} }
else if(ir==1) else if(ir==1)
{ {
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->LLRepeatInd,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->LLRepeatInd, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
ir++; ir++;
} }
else else
...@@ -84,77 +83,77 @@ L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generi ...@@ -84,77 +83,77 @@ L3INT nationalUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generi
} }
break; break;
case Q931ie_BEARER_CAPABILITY: case Q931ie_BEARER_CAPABILITY:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->BearerCap,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->BearerCap, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_CHANNEL_IDENTIFICATION: case Q931ie_CHANNEL_IDENTIFICATION:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->ChanID,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->ChanID, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_PROGRESS_INDICATOR: case Q931ie_PROGRESS_INDICATOR:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->ProgInd,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->ProgInd, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_NETWORK_SPECIFIC_FACILITIES: case Q931ie_NETWORK_SPECIFIC_FACILITIES:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->NetFac,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->NetFac, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_DISPLAY: case Q931ie_DISPLAY:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->Display,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->Display, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_DATETIME: case Q931ie_DATETIME:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->DateTime,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->DateTime, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_KEYPAD_FACILITY: case Q931ie_KEYPAD_FACILITY:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->KeypadFac,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->KeypadFac, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_SIGNAL: case Q931ie_SIGNAL:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->Signal,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->Signal, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_CALLING_PARTY_NUMBER: case Q931ie_CALLING_PARTY_NUMBER:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CallingNum,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CallingNum, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_CALLING_PARTY_SUBADDRESS: case Q931ie_CALLING_PARTY_SUBADDRESS:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CallingSub,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CallingSub, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_CALLED_PARTY_NUMBER: case Q931ie_CALLED_PARTY_NUMBER:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CalledSub,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CalledSub, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_CALLED_PARTY_SUBADDRESS: case Q931ie_CALLED_PARTY_SUBADDRESS:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CalledSub,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->CalledSub, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_TRANSIT_NETWORK_SELECTION: case Q931ie_TRANSIT_NETWORK_SELECTION:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->TransNetSel,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->TransNetSel, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_LOW_LAYER_COMPATIBILITY: case Q931ie_LOW_LAYER_COMPATIBILITY:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->LLComp,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->LLComp, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
case Q931ie_HIGH_LAYER_COMPATIBILITY: case Q931ie_HIGH_LAYER_COMPATIBILITY:
rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->HLComp,&IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, &mes->HLComp, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff);
if(rc != Q931E_NO_ERROR) if(rc != Q931E_NO_ERROR)
return rc; return rc;
break; break;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论