[Asterisk-cvs] libpri q931.c,1.22,1.23

martinp at lists.digium.com martinp at lists.digium.com
Tue Sep 9 18:48:01 CDT 2003


Update of /usr/cvsroot/libpri
In directory mongoose.digium.com:/tmp/cvs-serv16571

Modified Files:
	q931.c 
Log Message:
Fix q931_hangup for (call received, call delivered)


Index: q931.c
===================================================================
RCS file: /usr/cvsroot/libpri/q931.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** q931.c	9 Sep 2003 23:40:16 -0000	1.22
--- q931.c	9 Sep 2003 23:49:10 -0000	1.23
***************
*** 1792,1802 ****
  		/* received SETUP_ACKNOWLEDGE */
  		/* send DISCONNECT in general */
! 		if (disconnect && c->peercallstate != Q931_CALL_STATE_NULL && c->peercallstate != Q931_CALL_STATE_DISCONNECT_REQUEST && c->peercallstate != Q931_CALL_STATE_DISCONNECT_INDICATION && c->peercallstate != Q931_CALL_STATE_RELEASE_REQUEST && c->peercallstate != Q931_CALL_STATE_RESTART_REQUEST && c->peercallstate != Q931_CALL_STATE_RESTART)
! 			q931_disconnect(pri,c,cause);
! 		else if (release_compl && c->peercallstate == Q931_CALL_STATE_CALL_INITIATED)
! 			q931_release_complete(pri,c,cause);
! 		else if (!release_compl && c->peercallstate == Q931_CALL_STATE_CALL_INITIATED)
! 			q931_release(pri,c,cause);
! 		else 
  			pri_error("Wierd, doing nothing but this shouldn't happen, ourstate %s, peerstate %s\n",callstate2str(c->ourcallstate),callstate2str(c->peercallstate));
  		break;
--- 1792,1803 ----
  		/* received SETUP_ACKNOWLEDGE */
  		/* send DISCONNECT in general */
! 		if (c->peercallstate != Q931_CALL_STATE_NULL && c->peercallstate != Q931_CALL_STATE_DISCONNECT_REQUEST && c->peercallstate != Q931_CALL_STATE_DISCONNECT_INDICATION && c->peercallstate != Q931_CALL_STATE_RELEASE_REQUEST && c->peercallstate != Q931_CALL_STATE_RESTART_REQUEST && c->peercallstate != Q931_CALL_STATE_RESTART) {
! 			if (disconnect)
! 				q931_disconnect(pri,c,cause);
! 			else if (release_compl)
! 				q931_release_complete(pri,c,cause);
! 			else
! 				q931_release(pri,c,cause);
! 		} else 
  			pri_error("Wierd, doing nothing but this shouldn't happen, ourstate %s, peerstate %s\n",callstate2str(c->ourcallstate),callstate2str(c->peercallstate));
  		break;




More information about the svn-commits mailing list