📄 digital.html.svn-base
字号:
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;" > <img src="images/refresh.png" title=" Refresh " border=0 > </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()"> <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;"> 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();"> <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 + -