[asterisk-commits] branch crichter/0.3.0 r15219 - in /team/crichter/0.3.0/channels: ./ misdn/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Mar 27 03:11:43 MST 2006


Author: crichter
Date: Mon Mar 27 04:11:40 2006
New Revision: 15219

URL: http://svn.digium.com/view/asterisk?rev=15219&view=rev
Log:
fixed hicom busy bug, we now see if the systemphone is busy, also fixed the immediate=yes does not work anymore issue

Modified:
    team/crichter/0.3.0/channels/chan_misdn.c
    team/crichter/0.3.0/channels/misdn/isdn_lib.c

Modified: team/crichter/0.3.0/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/channels/chan_misdn.c?rev=15219&r1=15218&r2=15219&view=diff
==============================================================================
--- team/crichter/0.3.0/channels/chan_misdn.c (original)
+++ team/crichter/0.3.0/channels/chan_misdn.c Mon Mar 27 04:11:40 2006
@@ -3320,6 +3320,16 @@
 			
 		}
 
+		/* check if we should jump into s when we have no dad */
+		{
+			int im;
+			misdn_cfg_get( bc->port, MISDN_CFG_IMMEDIATE, &im, sizeof(im));
+			if ( im && ast_strlen_zero(bc->dad) ) {
+				do_immediate_setup(bc, ch , chan);
+				break;
+			}
+		}
+
 		
 			chan_misdn_log(5,bc->port,"CONTEXT:%s\n",ch->context);
 			if(!ast_canmatch_extension(ch->ast, ch->context, bc->dad, 1, bc->oad)) {

Modified: team/crichter/0.3.0/channels/misdn/isdn_lib.c
URL: http://svn.digium.com/view/asterisk/team/crichter/0.3.0/channels/misdn/isdn_lib.c?rev=15219&r1=15218&r2=15219&view=diff
==============================================================================
--- team/crichter/0.3.0/channels/misdn/isdn_lib.c (original)
+++ team/crichter/0.3.0/channels/misdn/isdn_lib.c Mon Mar 27 04:11:40 2006
@@ -1555,6 +1555,7 @@
 	manager_t *mgr = (manager_t *)dat;
 	msg_t *msg = (msg_t *)arg;
 	mISDNuser_head_t *hh;
+	int reject=0;
 
 	struct misdn_stack *stack=find_stack_by_mgr(mgr);
 	int port;
@@ -1683,8 +1684,8 @@
 				if (bc) { //repair reject bug
 					int myprocid=bc->l3_id&0x0000ffff;
 					hh->dinfo=(hh->dinfo&0xffff0000)|myprocid;
-					cb_log(3,stack->port,"Repaired reject Bug, new dinfo: %x\n",hh->dinfo);
-					return 0;
+					cb_log(3,stack->port,"Reject dinfo: %x cause:%d\n",hh->dinfo,bc->cause);
+					reject=1;		
 				}
 			}
 		}
@@ -1835,9 +1836,18 @@
 			if(!isdn_get_info(msgs_g,event,1)) {
 				cb_log(4, stack->port, "Unknown Event Ind: prim %x dinfo %x\n",hh->prim, hh->dinfo);
 			} else {
+				if (reject) {
+					switch(bc->cause){
+						case 17:
+							cb_log(1, stack->port, "Siemens Busy reject..\n");
+
+							break;
+						default:
+							return 0;
+					}
+				}
 				cb_event(event, bc, glob_mgr->user_data);
 			}
-
       
 		} else {
 			cb_log(4, stack->port, "No BC found with l3id: prim %x dinfo %x\n",hh->prim, hh->dinfo);



More information about the asterisk-commits mailing list