[libpri-commits] rmudgett: branch rmudgett/subaddr_xfer r2161 - /team/rmudgett/subaddr_xfer/

SVN commits to the libpri project libpri-commits at lists.digium.com
Wed Dec 8 16:30:59 CST 2010


Author: rmudgett
Date: Wed Dec  8 16:30:55 2010
New Revision: 2161

URL: http://svnview.digium.com/svn/libpri?view=rev&rev=2161
Log:
Make received EctInform consider subaddress.

Modified:
    team/rmudgett/subaddr_xfer/pri_facility.c

Modified: team/rmudgett/subaddr_xfer/pri_facility.c
URL: http://svnview.digium.com/svn/libpri/team/rmudgett/subaddr_xfer/pri_facility.c?view=diff&rev=2161&r1=2160&r2=2161
==============================================================================
--- team/rmudgett/subaddr_xfer/pri_facility.c (original)
+++ team/rmudgett/subaddr_xfer/pri_facility.c Wed Dec  8 16:30:55 2010
@@ -4689,11 +4689,23 @@
 			rose_copy_presented_number_unscreened_to_q931(ctrl,
 				&call->remote_id.number, &invoke->args.etsi.EctInform.redirection);
 		}
+
+		/*
+		 * Clear the subaddress as the remote party has been changed.
+		 * Any new subaddress will arrive later.
+		 */
+		q931_party_subaddress_init(&call->remote_id.subaddress);
+
 		if (!invoke->args.etsi.EctInform.status) {
 			/* The remote party for the transfer has not answered yet. */
 			call->incoming_ct_state = INCOMING_CT_STATE_EXPECT_CT_ACTIVE;
 		} else {
 			call->incoming_ct_state = INCOMING_CT_STATE_POST_CONNECTED_LINE;
+		}
+
+		/* Send our subaddress back if we have one. */
+		if (call->local_id.subaddress.valid) {
+			send_subaddress_transfer(ctrl, call);
 		}
 		break;
 	case ROSE_ETSI_EctLoopTest:




More information about the libpri-commits mailing list