|  |  |  | @ -1427,7 +1427,7 @@ static int pri_find_empty_nobch(struct sig_pri_span *pri) | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
		
			
				
					|  |  |  |  |  * \internal | 
			
		
	
		
			
				
					|  |  |  |  |  * \brief Find the channel associated with the libpri call. | 
			
		
	
	
		
			
				
					|  |  |  | @ -1453,7 +1453,7 @@ static int pri_find_pri_call(struct sig_pri_span *pri, q931_call *call) | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	return -1; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static void *do_idle_thread(void *v_pvt) | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
	
		
			
				
					|  |  |  | @ -1882,7 +1882,7 @@ static void sig_pri_mcid_event(struct sig_pri_span *pri, const struct pri_subcmd | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_MCID) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
		
			
				
					|  |  |  |  |  * \internal | 
			
		
	
		
			
				
					|  |  |  |  |  * \brief Copy the source connected line information to the destination for a transfer. | 
			
		
	
	
		
			
				
					|  |  |  | @ -1916,9 +1916,9 @@ static void sig_pri_connected_line_copy_transfer(struct ast_party_connected_line | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	ast_party_connected_line_copy(dest, &connected); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | struct xfer_rsp_data { | 
			
		
	
		
			
				
					|  |  |  |  | 	struct sig_pri_span *pri; | 
			
		
	
		
			
				
					|  |  |  |  | 	/*! Call to send transfer success/fail response over. */ | 
			
		
	
	
		
			
				
					|  |  |  | @ -1926,7 +1926,7 @@ struct xfer_rsp_data { | 
			
		
	
		
			
				
					|  |  |  |  | 	/*! Invocation ID to use when sending a reply to the transfer request. */ | 
			
		
	
		
			
				
					|  |  |  |  | 	int invoke_id; | 
			
		
	
		
			
				
					|  |  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -1947,7 +1947,7 @@ static void sig_pri_transfer_rsp(void *data, int is_successful) | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
		
			
				
					|  |  |  |  |  * \brief Protocol callback to indicate if transfer will happen. | 
			
		
	
		
			
				
					|  |  |  |  |  * \since 1.8 | 
			
		
	
	
		
			
				
					|  |  |  | @ -1958,9 +1958,9 @@ static void sig_pri_transfer_rsp(void *data, int is_successful) | 
			
		
	
		
			
				
					|  |  |  |  |  * \return Nothing | 
			
		
	
		
			
				
					|  |  |  |  |  */ | 
			
		
	
		
			
				
					|  |  |  |  | typedef void (*xfer_rsp_callback)(void *data, int is_successful); | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
		
			
				
					|  |  |  |  |  * \internal | 
			
		
	
		
			
				
					|  |  |  |  |  * \brief Attempt to transfer the two calls to each other. | 
			
		
	
	
		
			
				
					|  |  |  | @ -2220,7 +2220,7 @@ static int sig_pri_attempt_transfer(struct sig_pri_span *pri, q931_call *call_1_ | 
			
		
	
		
			
				
					|  |  |  |  | 	ast_mutex_lock(&pri->lock); | 
			
		
	
		
			
				
					|  |  |  |  | 	return 0; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) || defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CCSS) | 
			
		
	
		
			
				
					|  |  |  |  | /*!
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -5595,7 +5595,7 @@ static void *pri_dchannel(void *vpri) | 
			
		
	
		
			
				
					|  |  |  |  | 						sig_pri_lock_private(pri->pvts[chanpos]); | 
			
		
	
		
			
				
					|  |  |  |  | 						sig_pri_handle_subcmds(pri, chanpos, e->e, e->hangup.channel, | 
			
		
	
		
			
				
					|  |  |  |  | 							e->hangup.subcmds, e->hangup.call); | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_TRANSFER) | 
			
		
	
		
			
				
					|  |  |  |  | #if defined(HAVE_PRI_CALL_HOLD) | 
			
		
	
		
			
				
					|  |  |  |  | 						if (e->hangup.call_active && e->hangup.call_held | 
			
		
	
		
			
				
					|  |  |  |  | 							&& pri->hold_disconnect_transfer) { | 
			
		
	
		
			
				
					|  |  |  |  | 							/* We are to transfer the call instead of simply hanging up. */ | 
			
		
	
	
		
			
				
					|  |  |  | @ -5606,7 +5606,7 @@ static void *pri_dchannel(void *vpri) | 
			
		
	
		
			
				
					|  |  |  |  | 							} | 
			
		
	
		
			
				
					|  |  |  |  | 							sig_pri_lock_private(pri->pvts[chanpos]); | 
			
		
	
		
			
				
					|  |  |  |  | 						} | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_TRANSFER) */ | 
			
		
	
		
			
				
					|  |  |  |  | #endif	/* defined(HAVE_PRI_CALL_HOLD) */ | 
			
		
	
		
			
				
					|  |  |  |  | 						switch (e->hangup.cause) { | 
			
		
	
		
			
				
					|  |  |  |  | 						case PRI_CAUSE_USER_BUSY: | 
			
		
	
		
			
				
					|  |  |  |  | 						case PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION: | 
			
		
	
	
		
			
				
					|  |  |  | 
 |