[asterisk-commits] crichter: branch 1.2 r61357 - in /branches/1.2/channels: ./ misdn/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed Apr 11 05:05:58 MST 2007


Author: crichter
Date: Wed Apr 11 07:05:57 2007
New Revision: 61357

URL: http://svn.digium.com/view/asterisk?view=rev&rev=61357
Log:
some fixes for PMP Hold/Retrieve, it should work now, when briding=no

Modified:
    branches/1.2/channels/chan_misdn.c
    branches/1.2/channels/misdn/isdn_lib.c

Modified: branches/1.2/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/channels/chan_misdn.c?view=diff&rev=61357&r1=61356&r2=61357
==============================================================================
--- branches/1.2/channels/chan_misdn.c (original)
+++ branches/1.2/channels/chan_misdn.c Wed Apr 11 07:05:57 2007
@@ -821,8 +821,8 @@
 			print_bc_info(fd, help, bc);
 		} else {
 			if (help->state == MISDN_HOLDED) {
-				chan_misdn_log(2, 0, "ITS A HOLDED BC:\n");
-				chan_misdn_log(2,0," --> l3_id: %x\n"
+				ast_cli(fd, "ITS A HOLDED BC:\n");
+				ast_cli(fd, " --> l3_id: %x\n"
 						" --> dad:%s oad:%s\n"
 				
 						,help->l3id
@@ -2238,7 +2238,8 @@
 		chan_misdn_log(1,0,"misdn_read called without ast->pvt\n");
 		return NULL;
 	}
-	if (!tmp->bc) {
+
+	if (!tmp->bc && !(tmp->state==MISDN_HOLDED)) {
 		chan_misdn_log(1,0,"misdn_read called without bc\n");
 		return NULL;
 	}
@@ -4140,7 +4141,11 @@
 	/***************************/
 	case EVENT_RETRIEVE:
 	{
-		ch=find_holded_l3(cl_te, bc->l3_id,1);
+		if (!ch) {
+			chan_misdn_log(4, bc->port, " --> no CH, searching in holded");
+			ch=find_holded_l3(cl_te, bc->l3_id,1);
+		}
+
 		if (!ch) {
 			ast_log(LOG_WARNING, "Found no Holded channel, cannot Retrieve\n");
 			misdn_lib_send_event(bc, EVENT_RETRIEVE_REJECT);

Modified: branches/1.2/channels/misdn/isdn_lib.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/channels/misdn/isdn_lib.c?view=diff&rev=61357&r1=61356&r2=61357
==============================================================================
--- branches/1.2/channels/misdn/isdn_lib.c (original)
+++ branches/1.2/channels/misdn/isdn_lib.c Wed Apr 11 07:05:57 2007
@@ -1816,7 +1816,7 @@
 				return 0;
 			}
   
-			cb_log(7, stack->port, " --> new_process: New L3Id: %x\n",hh->dinfo);
+			cb_log(4, stack->port, " --> new_process: New L3Id: %x\n",hh->dinfo);
 			bc->l3_id=hh->dinfo;
 
 		}
@@ -3291,10 +3291,11 @@
 			if (bc->bc_state == BCHAN_BRIDGED) {
 				misdn_split_conf(bc,bc->conf_id);
 				struct misdn_bchannel *bc2=find_bc_by_confid(bc->conf_id);
-				if (!bc2) 
+				if (!bc2) {
 					cb_log(0,bc->port,"We have no second bc in bridge???\n");
-				else 
+				} else {
 					misdn_split_conf(bc2,bc->conf_id);
+				}
 			}
 
 			if (bc->channel>0)



More information about the asterisk-commits mailing list