[svn-commits] trunk r35336 - /trunk/channels/chan_sip.c

svn-commits at lists.digium.com svn-commits at lists.digium.com
Wed Jun 21 12:58:04 MST 2006


Author: oej
Date: Wed Jun 21 14:58:03 2006
New Revision: 35336

URL: http://svn.digium.com/view/asterisk?rev=35336&view=rev
Log:
Issue #7380 - Cannot put a one-legged call on hold/off hold

Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?rev=35336&r1=35335&r2=35336&view=diff
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Jun 21 14:58:03 2006
@@ -4807,7 +4807,7 @@
 				p->t38.jointcapability);
 	} else {
 		p->t38.state = T38_DISABLED;
-		if (option_debug > 1)
+		if (option_debug > 2)
 			ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "<none>");
 	}
 
@@ -4884,6 +4884,8 @@
 	if (!p->owner) 	/* There's no open channel owning us so we can return here. For a re-invite or so, we proceed */
 		return 0;
 
+	if (option_debug > 3)
+		ast_log(LOG_DEBUG, "We have an owner, now see if we need to change this call\n");
 
 	if (!(p->owner->nativeformats & p->jointcapability & AST_FORMAT_AUDIO_MASK)) {
 		if (debug) {
@@ -4907,7 +4909,6 @@
 			ast_queue_frame(p->owner, &ast_null_frame);
 		} else {
 			/* No address for RTP, we're on hold */
-			
 			ast_moh_start(bridgepeer, NULL);
 			if (sendonly)
 				ast_rtp_stop(p->rtp);
@@ -4919,7 +4920,6 @@
 	}
 
 	/* Manager Hold and Unhold events must be generated, if necessary */
-	/* XXX Support for sendonly/recvonly needs to be fixed !!! */
 	if (sin.sin_addr.s_addr && !sendonly) {
 		if (ast_test_flag(&p->flags[0], SIP_CALL_ONHOLD)) {
 			append_history(p, "Unhold", "%s", req->data);
@@ -4946,7 +4946,6 @@
 		ast_set_flag(&p->flags[0], SIP_CALL_ONHOLD);
 	}
 	
-
 	return 0;
 }
 
@@ -12978,7 +12977,8 @@
 							transmit_response_with_sdp(p, "200 OK", req, XMIT_CRITICAL);
 						}
 					}
-				}
+				} else	/* No bridged peer */
+					transmit_response_with_sdp(p, "200 OK", req, XMIT_CRITICAL);
 			}
 			break;
 		default:



More information about the svn-commits mailing list