⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 incoming.html.svn-base

📁 asterisk-gui asterisk网关接口编程 控制asterisk的接口
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
	if (ir == "allunmatched" ){		var newpattern = "_X." ;		if(provname == "bandwidth") {			var newpattern = "_+X." ;			} else {			var newpattern = "_X." ;		}		var temp_provider = fpv.value;		var temp_priority = "1";		var temp_action = te.value;		var new_exten = newpattern  + "," + temp_priority + "," + temp_action;		var new_exten2_0 = sbcid_1;		var new_exten2_1 = sbcid_2;		var new_exten2_2 = "s,3," + temp_action;		var uri = build_action('append', 0, temp_provider ,"exten", new_exten);		uri += build_action('append', 1, temp_provider ,"exten", new_exten2_0);		uri += build_action('append', 2, temp_provider ,"exten", new_exten2_1);		uri += build_action('append', 3, temp_provider ,"exten", new_exten2_2);	}else{		/* If our provider is bandwidth.com, take off the leading underscore(_) */		if(provname == "bandwidth" && fp.value.indexOf('_') == 0 ) {			var newpattern = fp.value.substring(1) ;		} else {			var newpattern = fp.value ;		}		var temp_provider = fpv.value ;		var temp_action = te.value;		var temp_priority = "1";		var pnp = newpattern;		if(provname == "bandwidth") {		/* Since its bandwidth.com, we are going to add a GOTO to match the +number bandwidth.com is sending. */		/* For example, they will send +2564286000 and we need to match 2564286000, so we goto that extension, instead of the one with the plus */			if( pnp.indexOf('+') !=0 ) {				pnp = '+' + pnp;			}else{				newpattern=newpattern.substr(1);			}		}		var new_exten = newpattern  + "," + temp_priority + "," + temp_action;		var uri = build_action('append', 0, temp_provider ,"exten", new_exten );		if(provname == "bandwidth") {			var new_exten2 = pnp + "," + temp_priority + "," + 'Goto(${EXTEN:1}|1)';			uri += build_action('append', 1, temp_provider,"exten", new_exten2);		}	}		// check whether there is an existing entry with this pattern 	if( typeof didtrunks[temp_provider][newpattern] != "undefined" ){		gui_feedback("An incoming call rule is already defined <BR> on this trunk for the selcted pattern !! ");		return false;	}	makerequest('u','extensions.conf', uri,		function(t){			didtrunks[temp_provider][newpattern] = new Object(); // add this to the global object			didtrunks[temp_provider][newpattern].priority = temp_priority;			didtrunks[temp_provider][newpattern].action = temp_action ;			//addrowtotable(newpattern,temp_provider,temp_action,temp_priority) ; // a is pattern, b is DID_trunk, c is action, d is priority			refreshtable();			_$('userscontent').style.display = "none";			_$('bg_transparent').style.display ='none';			gui_feedback("Added Incoming Rule",'blue');		}	);}function update_incomingrule(){	// field validation	var ir = _$('incomingrule').value ;	var fp = _$('frompattern') ;	var te = _$('toextension') ; 	if( ir == "frompattern" && fp.value == "" ){		gui_feedback("Please define an incoming call pattern !");		fp.focus();		fp.select();		return false;	}		if( didtrunks[_$('fromprovider').value].isanalog =='yes' && ir != 'allunmatched' ){		gui_feedback("You can not define a custom pattern for Analog trunks!");		_$('incomingrule').focus();		return false;	}	if( te.selectedIndex == -1 ){		gui_feedback("Please select an extension to which<BR> an incoming call should be routed to !");		te.focus();		return false;	}	if( ir == "frompattern" && fp.value.substr(0,1) != "_" ){ fp.value = "_" + fp.value ; }	// old values before editing are - edit_pattern, edit_DIDtrunk, edit_action, edit_priority	// check for duplicate other than old	var p = 0 ;	var uri = "" ;	var temp_provider = _$('fromprovider').value ;	var temp_action = te.value;	var temp_priority = "1";	var tmp_old_string = edit_pattern  + "," + edit_priority + "," + edit_action;	uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", tmp_old_string); p++;	if(didtrunks[edit_DIDtrunk].provname == "bandwidth"){		var tmp_old_string2_bw = "+" + edit_pattern  + "," + edit_priority + "," + 'Goto(${EXTEN:1}|1)';		uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", tmp_old_string2_bw); p++;	}	if(edit_pattern == "_X." || edit_pattern == "_+X."){		var tmp2_old_string = "s,3," + edit_action ;		uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", sbcid_1); p++;		uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", sbcid_2); p++;		uri += build_action('delete', p, edit_DIDtrunk ,"exten", "", tmp2_old_string); p++;	}	if ( ir == "allunmatched" ){		var temp_provider = _$('fromprovider').value ;		var newpattern = (didtrunks[temp_provider].provname == "bandwidth")? "_+X.":"_X.";		var new_exten = newpattern  + "," + temp_priority + "," + temp_action;		var new_exten2_0 = sbcid_1;		var new_exten2_1 = sbcid_2;		var new_exten2_2 = "s,3," + temp_action;		uri += build_action('append', p , temp_provider ,"exten", new_exten ); p++ ;		uri += build_action('append', p , temp_provider ,"exten", new_exten2_0 ); p++ ;		uri += build_action('append', p , temp_provider ,"exten", new_exten2_1 ); p++ ;		uri += build_action('append', p , temp_provider ,"exten", new_exten2_2 ); p++ ;	}else{		if( didtrunks[temp_provider].provname == "bandwidth" && fp.value.indexOf('_') == 0 ) {			var newpattern = fp.value.substring(1) ;		} else {			var newpattern = fp.value ;		}		var pnp = newpattern;		if(didtrunks[temp_provider].provname == "bandwidth" ) {			if( pnp.indexOf('+') !=0 ) {				pnp = '+' + pnp;			}else{				newpattern=newpattern.substr(1);			}		}		var new_exten = newpattern  + "," + temp_priority + "," + temp_action ;		uri += build_action( 'append', p , temp_provider ,"exten", new_exten ) ; p++ ;		if( didtrunks[temp_provider].provname == "bandwidth" ) {			var new_exten2 = pnp + "," + temp_priority + "," + 'Goto(${EXTEN:1}|1)';			uri += build_action('append', p, temp_provider,"exten", new_exten2); p++;		}	}	if( typeof didtrunks[temp_provider][newpattern] != "undefined" && ( temp_provider != edit_DIDtrunk || newpattern != edit_pattern ) ){		gui_feedback("An incoming call rule is already defined <BR> on this trunk for the selcted pattern !! ");		return false;	}	// delete old entry and add new entry	makerequest('u','extensions.conf', uri,		function(t){			delete didtrunks[edit_DIDtrunk][edit_pattern] ;			didtrunks[temp_provider][newpattern] = new Object();			didtrunks[temp_provider][newpattern].priority = temp_priority;			didtrunks[temp_provider][newpattern].action = temp_action ;			_$('userscontent').style.display = "none";			_$('bg_transparent').style.display ='none';			refreshtable();			gui_feedback("Updated Incoming Rule",'blue');		}	);}function checksave(k){	var ir = _$('incomingrule').value ;	var fpv = _$('fromprovider').value ;	if( old_incomingrule == ir && old_fromprovider == fpv ){ return true; }	if( ir == "frompattern" ){		_$('thatmatch').style.display = "" ;		if(k.id=="incomingrule"){			_$('frompattern').focus();			_$('frompattern').select();		}	}else{		_$('thatmatch').style.display = "none" ;	}	_$('save_a').disabled = false;	old_incomingrule = ir ;	old_fromprovider = fpv ;}function enablesave(){	_$('save_a').disabled = false;}function delete_incomingrule(a,b,c,d){ // a is pattern, b is DID_trunk, c is action, d is priority	var provname = didtrunks[b].provname;	if( !confirm("Are you sure you want to delete this Incoming Calling Rule?") ){ return true; }	if(provname == "bandwidth") {		var tmp_match = a+","+d+","+c ;  /* Lets take off the leading _ if its bandwidth.com */	} else {		var tmp_match = a+","+d+","+c ;	}	var p=0;	var uri = build_action('delete', p, b, "exten" ,"", tmp_match); p++;	if(provname == "bandwidth") {		uri += build_action('delete',p,b, "exten", "", '+' + String(a) + ',1,Goto(${EXTEN:1}|1)'); p++;	}	if( a == "_X." || a == "_+X." ){		var tmp2_match = "s,3," + c ;		uri += build_action('delete',p,b,"exten","", sbcid_1); p++;		uri += build_action('delete',p,b,"exten","", sbcid_2); p++;		uri += build_action('delete',p,b,"exten","", tmp2_match); p++;	}	makerequest('u','extensions.conf', uri,		function(t){			delete didtrunks[b][a];			refreshtable();			gui_feedback("Deleted 'Incoming Rule'",'default');		}	);}function localajaxinit() {	ASTGUI.events.add(document, 'mouseover', show_tooltip);	showdiv_statusmessage();	setWindowTitle("Incoming Calls");	parent.astmanEngine.config2list("users.conf", _$('users'), new Array(), user_callbacks);}function free_mem( ){	if( navigator.userAgent.indexOf("MSIE") == -1 ){ return true; }	try{		purge( document.body );	}catch(e){ }}</script><body id="foo" onload="localajaxinit()"  bgcolor="EFEFEF"  onunload="free_mem()"><div class="mainscreenTitleBar">	<span style="margin-left: 4px;font-weight:bold;">Incoming Calls</span>	<span style="cursor: pointer; cursor: hand;" onclick="window.location.href=window.location.href;" >&nbsp;<img src="images/refresh.png" title=" Refresh " border=0 >&nbsp;</span></div><div class="mainscreenContentBox" id="mailboxcontent">	<select id="extensions" style="display:none"></select>	<select id="users" style="display:none"></select>	<BR>	<CENTER><font size="+1">Incoming Call Rules</font></CENTER>	<table class="table_blacksm" cellpadding=2 cellspacing=2 border=0 align=center width=500 id="table_one">		<tr>	<td width=35>S.No</td>			<td> Incoming Rule </td>			<td width=75 align=center>Options</td>		</tr>	</table>	<div id="callingRulesTable_div" style="height:250px;width=100%; overflow :auto; padding : 0px 0px 0px 0px;">		<table id="callingRulesTable" cellpadding=2 cellspacing=1 border=0 align=center width=500></table>	</div>	<center><input type="button" id="adddid" value="Add an Incoming Rule" onclick="add_incomingrule();" tip="en,incoming,0"></center>	<div id="userscontent" STYLE="display:none; position: absolute; left: 20; top: 40; width:475; height:190; background-color:#F4EFE5; border-width: 1px; border-color: #7E5538; border-style: solid;z-index:5">	<table width="100%" cellpadding=0 cellspacing=0 onmousedown="ASTGUI.startDrag(event , 'userscontent');">		<TR bgcolor="#7E5538"  style="background-image:url('images/title_gradient.gif');">			<TD Height="20" align="right" style="cursor: move">				<A href="#" onclick="$('cancel_a').click();"><font style="color:#FFFFFF; font-size: 12px; font-weight:bold;">X</font></A>			</TD>			<TD width=4></TD>		</TR>	</table>	<TABLE align=center cellpadding=2 cellspacing=2 border=0 width="100%">		<TR>	<TD height=10></TD>	</TR>		<TR>	<TD align=center>			<NOBR>Route <select id="incomingrule"  onclick="checksave(this)" class="input9">				<option value="allunmatched">All Unmatched incoming calls</option>				<option value="frompattern">incoming calls that match </option>				</select>				<span id="thatmatch" tip="en,incoming,1">pattern 				<input type="text" id="frompattern" size=12  onchange="enablesave();"  onkeyup="enablesave();"  class="input9">				</span>			</NOBR>			</TD>		</TR>		<TR>	<TD align=center>			from provider <select id="fromprovider" onclick="checksave(this)"  class="input9"></select>			</TD>		</TR>		<TR>	<TD align=center>			to extension <select id="toextension" onchange="enablesave();"  onkeyup="enablesave();"  class="input9"></select>			</TD>		</TR>		<TR>	<TD align=center height=50 valign=middle>  			<input type="button" id="save_a" value="Save" onclick="save_incomingrule();">&nbsp;&nbsp;			<input type="button" id="cancel_a" value="Cancel" onclick="$('userscontent').style.display='none'; $('bg_transparent').style.display ='none';" >			</TD>		</TR>	</TABLE>	</div></div><div id="bg_transparent" STYLE="display:none; position: absolute; left: 0; top: 24; width:100%; height:100%;  background-color:#EFEFEF; -moz-opacity:.50;opacity:.50; border-width: 1px; border-color: #EFEFEF; border-style: solid; z-index:4"></div></body>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -