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

📄 digital.html.svn-base

📁 asterisk-gui asterisk网关接口编程 控制asterisk的接口
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
			for(var g in DETECTEDHARDWARE){ if( DETECTEDHARDWARE.hasOwnProperty(g) ) { // g is location				uri += build_action('newcat', c, g , "", ""); c++;				uri += build_action('update', c, g , "device", DETECTEDHARDWARE[g]['device'] ); c++;				uri += build_action('update', c, g , "basechan", DETECTEDHARDWARE[g]['basechan'] ); c++;				uri += build_action('update', c, g , "type", DETECTEDHARDWARE[g]['type'] ); c++;			}}			uri += build_action('newcat', c, 'ANALOGPORTS' , '', ''); c++;			uri += build_action('update', c, 'ANALOGPORTS' , 'FXS', parent.FXS_PORTS_DETECTED.join(',') ); c++;			uri += build_action('update', c, 'ANALOGPORTS' , 'FXO', parent.FXO_PORTS_DETECTED.join(',') ); c++;			makerequest('u', hwcfgfile, uri , function(t) {				// inform the user to restart				_$('status_message').style.display="none";				parent.REQUIRE_RESTART = (HAS_ANALOGHARDWARE || HAS_DIGITALHARDWARE)? true : false;				if(parent.REQUIRE_RESTART){ alert("You need to restart your machine for these settings to take effect"); }				window.location.href= "digital.html";			});		};		setTimeout( storeNewinfo , 700); // leave some time for rm, touch	});};var applySettings = {	generate_zaptel: function(){		parent.astmanEngine.run_tool(asterisk_guiEditZap + " applysettings", function(t) {			/* anything we need to do here? */			parent.REQUIRE_RESTART = (HAS_ANALOGHARDWARE || HAS_DIGITALHARDWARE)? true : false;			parent.astmanEngine.run_tool("ztcfg -vv", function(t) {				storeDetectedHardware();				return true; 			});		});		/* to run ztcfg and apply settings, you can do this call, but replace applysettings with ztcfg.		You can then read /var/lib/asterisk/static-http/config/ztcfg_output.html to look at ztcfg errors */	},	cleanUsersConf: function(){		var uri1 = ''; // for deleting old span info from users.conf		var uri2 = ''; // for deleting old span info from extensions.conf		var c = 0; f=0;		spans_todelete.each( function(item) {			uri1 += build_action('delcat', c, item['spanName'] , "", "");c++;			if(item['spanContext']){				uri2 += build_action('delete', f, 'globals', item['spanName'], "", ""); f++;				uri2 += build_action('delcat', f, item['spanContext'] , "", ""); f++;			}		});		makerequest('u', "users.conf", uri1, function(t){			makerequest('u', "extensions.conf", uri2, function(t) {				applySettings.updateUsersConf();			});		});	},	updateUsersConf: function(){		/* update the users.conf to make sure there are corresponding [SPAN_x] contexts are updated */				var uri1 = [];		var uri2 = [];		var add_lines = function(){			// for each span update span with new values of 'switchtype', 'singalling'			var c = 0, d ='', e ='', f=0, uri = '', vri='';			for( var k in SPANS ){ if( SPANS.hasOwnProperty(k) ){ if(SPANS[k]['signalling']){				uri = ''; c = 0 ; vri = ''; f = 0 ;				NEWGROUPNUMBER = GROUPS.firstAvailable() ;				GROUPS.push(NEWGROUPNUMBER);				d = 'span_'+ String(k);				e = asterisk_guiTDPrefix + d ;				uri += build_action('delcat', c, d , "", ""); c++;				uri += build_action('newcat', c, d , "", ""); c++;				if ( SPANS[k]['signalling'].beginsWith('pri') ){ 					// we do not want a switchtype to be set for channelized T1/E1 interfaces					uri += build_action('update', c, d , "switchtype", SPANS[k]['switchtype']); c++;				}				uri += build_action('update', c, d , "signalling", SPANS[k]['signalling']); c++;				uri += build_action('update', c, d , "trunkname", 'Span '+String(k)); c++;				uri += build_action('update', c, d , "trunkstyle", 'digital'); c++;				uri += build_action('update', c, d , "hassip", 'no'); c++;				uri += build_action('update', c, d , "hasiax", 'no'); c++;				uri += build_action('update', c, d , "hasexten", 'no'); c++;				uri += build_action('update', c, d , "group", NEWGROUPNUMBER ); c++;				if ( !SPANS[k]['signalling'].beginsWith('fxo') ){ 					// we do not want a context to be set for user stations					// instead, this context would be set when the station is assigned to a user					uri += build_action('update', c, d , "context", e); c++;				}				uri += build_action('update', c, d , "zapchan", SPANS[k]['zapchanstring'] ); c++;				vri += build_action('delete', f, 'globals', d, "", ""); f++;				vri += build_action('update', f, 'globals', d,'Zap/g'+String(NEWGROUPNUMBER)); f++;				vri += build_action('delcat', f, e , "", ""); f++;				vri += build_action('newcat', f, e , "", ""); f++;				vri += build_action('update', f, e , 'include', 'default'); f++;				uri1.push(uri);				uri2.push(vri);			}}}		}();		var somethingelse = function(){			if(uri2.length){				makerequest('u', "extensions.conf", uri2.shift() , function(t){ somethingelse(); } );			}else{				applySettings.generate_zaptel();			}		};		var something = function(){			if(uri1.length){				makerequest('u', "users.conf", uri1.shift() , function(t) { something(); } );			}else{				somethingelse();			}		};		something();	},	updateZaptel: function(){ 	// navigate through the SPANS object and save it to the applyzap.conf, 	// then call a script which will generate zaptel.conf from it and asks the user to restart his machine		_$('message_text').innerHTML = "Saving Changes ...";		_$('status_message').style.display="";		_$('status_message').style.zIndex = _$('bg_transparent').style.zIndex + 1 ;		var uri = '';		var add_lines = function(){			var fxx={};			var c = 0, bchanstring = '', dchanstring = '', context = 'general';			var totalchans = 0, firstpart , secondpart, tmp2 , tmp3;			uri = build_action('delcat', c, context,"", ""); c++;			uri += build_action('newcat', c , context, "", ""); c++;			for( var k in SPANS ){ if( SPANS.hasOwnProperty(k) ){ if(SPANS[k]['signalling'] ){				firstpart = "span";				/* XXX Timing source for card is being set to zero? */				/* LBO is being set to 0 */ 				SPANS[k]['fac'] = SPANS[k]['framing'] + '/' + SPANS[k]['coding'];				if(SPANS[k]['lbo'] == "") { SPANS[k]['lbo'] = 0; }				if(SPANS[k]['syncsrc'] == "") { SPANS[k]['syncsrc'] = 1; }				secondpart = k + "," + SPANS[k]['syncsrc']  + "," + SPANS[k]['lbo'] + "," + SPANS[k]['fac'].toLowerCase().replace("/", ",");				uri += build_action('append', c, context, firstpart, secondpart ); c++;				tmp2 = (bchanstring)? ",":"";				tmp3 = (dchanstring)? ",":"";				var ppp = calc_bchan_fxx(k);				if ( !SPANS[k]['signalling'].beginsWith('pri') ){					if(SPANS[k]['signalling'].beginsWith('fx')){						var qqq = (SPANS[k]['signalling']).replace('_',''); // zaptel.conf uses fxoks instead of fxo_ks					}else{						var qqq = 'e&m'; // if not a pri and not a fxo/s - assume e&m					}					if(fxx[ qqq ]){						fxx[ qqq ] = fxx[ qqq ] + "," + ppp;					}else{						fxx[ qqq ] = ppp;					}				}else{					bchanstring += tmp2 + ppp;					dchanstring += tmp3 + SPANS[k]['reserved_ch'];				}				SPANS[k]['zapchanstring'] = ppp;			}}}			for( var e in fxx ){ if(fxx.hasOwnProperty(e)){				uri += build_action('append', c, context, e, fxx[e]); c++;			}}			if(bchanstring.strip()){				uri += build_action('append', c, context, 'bchan', bchanstring); c++;			}			if(dchanstring.strip()){				uri += build_action('append', c, context, 'dchan', dchanstring); c++;			}			// write back any actual analog ports			if( parent.FXO_PORTS_DETECTED.length){				uri += build_action('append', c, context, 'fxsks', parent.FXO_PORTS_DETECTED.join(',')); c++;				// FXO ports will be fxs signalled			}			if( parent.FXS_PORTS_DETECTED.length){				uri += build_action('append', c, context, 'fxoks', parent.FXS_PORTS_DETECTED.join(',')); c++;				// FXS ports will be fxo signalled			}			uri += build_action('append', c, context, 'loadzone', _$('loadZone').value); c++;			uri += build_action('append', c, context, 'defaultzone', _$('loadZone').value); c++;		}();		makerequest('u', "applyzap.conf", uri , function(t) { applySettings.cleanUsersConf(); });	}};function applyDigitalSettings(){ 	// write to applyzap.conf - generate new applyzap.conf 	// write to users.conf - update [spans_x] contexts 	// call the asterisk_guiEditZap - which will generate zaptel.conf from applyzap.conf	_$('bg_transparent').style.display = '';	applySettings.updateZaptel();}</script><body onload="localajaxinit()" onunload="resetmainscreen()"  bgcolor="#EFEFEF"><div style="font-size : 12px; padding : 4px 6px 4px 6px; border-style : solid none solid none; border-top-color : #BDC7E7; border-bottom-color : #182052; border-width : 1px 0px 1px 0px; background-color : #ef8700; color : #ffffff;">	<span style="margin-left: 4px;font-weight:bold;">Digital Card Configuration Wizard</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 id="div_maintable" style="text-align:center">	<div class="pageheading">Digital Hardware</div>		<div style="overflow:auto;left:40; height:300; width:99%">			<table class="taglist" id="digitalcardstable" cellpadding=5 cellspacing=1 border=0 align=center></table>		</div>		<div style='text-align:center; margin-top:10px;'>			<B>Country : </B>			<select id="loadZone">				<option value="us">United States/North America</option>				<option value="au">Australia</option>				<option value="fr">France</option>				<option value="nl">Netherlands</option>				<option value="uk">United Kingdom</option>				<option value="fi">Finland</option>				<option value="es">Spain</option>				<option value="jp">Japan</option>				<option value="no">Norway</option>				<option value="at">Austria</option>				<option value="nz">New Zealand</option>				<option value="it">Italy</option>				<option value="us-old">United States Circa 1950 / North America</option>				<option value="gr">Greece</option>				<option value="tw">Taiwan</option>				<option value="cl">Chile</option>				<option value="se">Sweden</option>				<option value="be">Belgium</option>				<option value="sg">Singapore</option>				<option value="il">Israel</option>				<option value="br">Brazil</option>				<option value="hu">Hungary</option>				<option value="lt">Lithuania</option>				<option value="pl">Poland</option>				<option value="za">South Africa</option>				<option value="pt">Portugal</option>				<option value="ee">Estonia</option>				<option value="mx">Mexico</option>				<option value="in">India</option>				<option value="de">Germany</option>				<option value="ch">Switzerland</option>				<option value="dk">Denmark</option>				<option value="cz">Czech Republic</option>				<option value="cn">China</option>				<option value="ar"Argentina></option>				<option value="my">Malaysia</option>				<option value="th">Thailand</option>				<option value="bg">Bulgaria</option>				<option value="ve">Venezuela</option>				<option value="ph">Philippines</option>				<option value="ru">Russian Federation</option>			</select>		</div>	</div><BR>	<div class="pageheading">Analog Hardware</div>	<div style="overflow:auto;left:40">		<table  cellpadding=5 cellspacing=1 align=center border=0>			<tr>			<td align=left id="FXSFXO_ports_td">			</td>			</tr>			<tr>			<td>				<input type="button" id="save_b" value="Apply Changes" onclick="applyDigitalSettings()"> &nbsp;&nbsp;				<input type="button" id="cancel_b" value="Cancel Changes" onclick="reloadpage()">			</td>			</tr>		</table>	</div></div><div id="errmsg" style="display:none"></div><div id="bg_transparent" STYLE="display:none; position: absolute; left: 0; top: 0; width:100%; height:100%;  background-color:#FFFFFF; filter:alpha(opacity=50); -moz-opacity:.50;opacity:.50; border-width: 0px; z-index:4"></div><div id="edit_span" STYLE="display:none; position: absolute; left: 30; top: 40; width:500; height:340;  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 , 'edit_span');">	<TR bgcolor="#7E5538"  style="background-image:url('images/title_gradient.gif');">		<TD Height="20" align="left" style="cursor: move">			<font style="color:#FFFFFF; font-size: 12px; font-weight:bold;">			&nbsp;&nbsp;SPAN : <span id="editspan_SPAN"></span>			</font>		</TD>		<TD Height="20" align="right" style="cursor: move" width=20>			<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>	<TR>	<TD align="right">ALARMS:</TD>		<TD><span id="editspan_ALARMS"></span></TD>	</TR>	<TR>	<TD align="right">Framing/Coding:</TD>		<TD>	<select id="editspan_fac"></select> </TD>	</TR>	<TR>	<TD align="right">Channels:</TD>		<TD><span id="editspan_channels"></span></TD>	</TR>	<TR>	<TD align="right">Signalling</TD>		<TD>	<select id="editspan_signalling" onChange="disablEnable_sc();">			<option value="pri_net">PRI - Net</option>			<option value="pri_cpe">PRI - CPE</option>			<option value="em">E & M</option>			<option value="em_w">E & M -- Wink</option>			<option value="featd">E & M -- featd(DTMF)</option>			<option value="fxo_ks">FXOKS</option>			<option value="fxo_ls">FXOLS</option>			<!--<option value="fxs_ks">FXSKS</option>			<option value="fxs_ls">FXSLS</option>-->			</select>		</TD>	</TR>	<TR id="signalling_container">	<TD align="right">Switch Type</TD>		<TD>	<select id="editspan_switchtype">				<option value="national">National ISDN 2 (default)</option>				<option value="dms100">Nortel DMS100</option>				<option value="4ess">AT&T 4ESS</option>				<option value="5ess">Lucent 5ESS</option>				<option value="euroisdn">EuroISDN</option>				<option value="ni1">Old National ISDN 1</option>				<option value="qsig">Q.SIG</option>			</select>		</TD>	</TR>	<TR>	<TD align="right">Sync/Clock Source</TD>		<TD>	<select id="editspan_syncsrc">			</select>		</TD>	</TR>	<TR>	<TD align="right">Line Build Out</TD>		<TD>	<select id="editspan_lbo">				<option value="0">0 db (CSU)/0-133 feet (DSX-1)</option>				<option value="1">133-266 feet (DSX-1)</option>				<option value="2">266-399 feet (DSX-1)</option>				<option value="3">399-533 feet (DSX-1)</option>				<option value="4">533-655 feet (DSX-1)</option>				<option value="5">-7.5db (CSU)</option>				<option value="6">-15db (CSU)</option>				<option value="7">-22.5db (CSU)</option>			</select>		</TD>	</TR>	<TR>    <TD align="right" valign=top>Channels:</TD>		<TD>    <table border=0 cellpadding=2 cellspacing=1>				<tr>	<td> Use : <select id="edit_DefinedChans"></select>	</td>	</tr>				<tr>	<td> From : <span id="edit_labelZapchan"></span>	</td>	</tr>				<tr>	<td> Reserved : <span id="edit_labelReserved"></span>	</td>	</tr>			</table>		</TD>	</TR>	<TR>	<TD colspan=2 align=center height=50 valign=middle>  			<input type="button" id="save_a" value="Update" onclick="updateSpanInfo();">&nbsp;&nbsp;			<input type="button" id="cancel_a" value="Cancel" onclick="canelSpanInfo();">		</TD>	</TR>	</TABLE></div></body></html>

⌨️ 快捷键说明

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