1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 (c) 2005 U.S. Robotics Corporation
9 <link href="usr_main.css" rel="stylesheet" type="text/css">
10 <link href="usr_menus.css" rel="stylesheet" type="text/css"><script src="usr_menus.js" type="text/javascript"></script><script src="usr_menus_build.js" type="text/javascript"></script>
11 <script src="usr_common.js" type="text/javascript"></script>
13 <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
15 <script type="text/javascript" src="util.js"></script>
16 <script type="text/javascript">
18 setPageTitle("<%ejGetWlJS(wlInterface)%>");
22 remain = <%ejGetJS(glbEntryCt)%>;
23 NO_SEL_MSG = 'There is no application is selected';
24 RE_ALL_MSG = 'Require BOTH Trigger/Open port range(Start/End values)';
27 var loc = 'scprttrg.cmd?action=add';
28 with ( document.forms[0] ) {
29 if (radiosrv[0].checked == true) {
34 loc += '&appName=' + appName;
37 if (encodeUrl(cusAppName.value) == '') {
38 alert('Require Custom application name.');
41 loc += '&appName=' + encodeUrl(cusAppName.value);
43 for (i = 0; i < TOTAL_ROW; i++) {
44 if (tStart[i].value == "" && tEnd[i].value == "" && oStart[i].value == "" && oEnd[i].value == "")
46 if (tStart[i].value == "" || tEnd[i].value == "" || oStart[i].value == "" || oEnd[i].value == "") {
57 alert('Exceed the maximum allowable entry count by ' + remain);
58 remain = <%ejGetJS(glbEntryCt)%>;
61 tProtoLoc = '&tProto=';
62 tStartLoc = '&tStart=';
64 oProtoLoc = '&oProto=';
65 oStartLoc = '&oStart=';
68 for (i = 0; i < eCount; i++) {
69 if ( isValidPort(tStart[i].value) == false ) {
70 alert('Open port range (Start) "' + tStart[i].value + '" is invalid.');
73 if ( isValidPort(tEnd[i].value) == false ) {
74 alert('Open port range (End) "' + tEnd[i].value + '" is invalid.');
77 if ( isValidPort(oStart[i].value) == false ) {
78 alert('Triggering port range (Start) "' + oStart[i].value + '" is invalid.');
81 if ( isValidPort(oEnd[i].value) == false ) {
82 alert('Triggering port range (End) "' + oEnd[i].value + '" is invalid.');
85 tS = parseInt(tStart[i].value);
86 tE = parseInt(tEnd[i].value);
88 alert('Open port range [' + tS + '-' + tE + '] is invalid.');
91 oS = parseInt(oStart[i].value);
92 oE = parseInt(oEnd[i].value);
94 alert('Triggering port range [' + oS + '-' + oE + '] is invalid.');
97 tStartLoc = tStartLoc + tStart[i].value + ',';
98 tEndLoc = tEndLoc + tEnd[i].value + ',';
99 tProtoLoc = tProtoLoc + tProto[i].value + ',';
100 oStartLoc = oStartLoc + oStart[i].value + ',';
101 oEndLoc = oEndLoc + oEnd[i].value + ',';
102 oProtoLoc = oProtoLoc + oProto[i].value + ',';
105 loc = loc + tStartLoc + tEndLoc + tProtoLoc + oStartLoc + oEndLoc + oProtoLoc;
106 var code = 'location = "' + loc + '"';
112 with (document.forms[0]) {
113 for (i = 0; i < TOTAL_ROW; i++) {
114 tStart[i].value = tEnd[i].value = oStart[i].value = oEnd[i].value = "";
115 tProto[i].value = oProto[i].value = 1;
120 function appSelect(v)
123 with (document.forms[0]) {
126 srvname.selectedIndex = 0;
127 srvname.options[0].value = "0";
129 break; //trigger open
130 case '1': // Aim Talk TCP 4099, TCP 5191
131 appName = "Aim Talk";
132 tStart[0].value = tEnd[0].value = 4099;
133 oStart[0].value = oEnd[0].value = 5191;
135 case '2': // Asheron's Call UDP 9000-9013, UDP 9000-9013
136 appName = "Asheron's Call";
137 tStart[0].value = oStart[0].value = 9000;
138 tEnd[0].value = oEnd[0].value = 9013;
139 tProto[0].value = oProto[0].value = 2;
141 case '3': //Calista IP Phone TCP 5190, UDP 3000
142 appName = "Calista IP Phone";
143 tStart[0].value = tEnd[0].value = 5190;
144 oStart[0].value = oEnd[0].value = 3000;
147 case '4': //Delta Force (Client/Server) UDP 3568, BOTH 3100-3999
148 appName = "Delta Force (Client/Server)";
149 tStart[0].value = tEnd[0].value = 3568;
151 oStart[0].value = 3100;
152 oEnd[0].value = 3999;
155 case '5': //ICQ UDP 4000, TCP 20000-20059
157 tStart[0].value = tEnd[0].value = 4000;
159 oStart[0].value = 20000;
160 oEnd[0].value = 20059;
162 case '6': //Napster TCP 6699, TCP 6699, 6697, 4444, 5555, 6666, 7777, 8888
164 tStart[0].value = tEnd[0].value = tStart[1].value = tEnd[1].value = tStart[2].value = tEnd[2].value =
165 tStart[3].value = tEnd[3].value = tStart[4].value = tEnd[4].value = tStart[5].value = tEnd[5].value =
166 tStart[6].value = tEnd[6].value = 6699;
167 oStart[0].value = oEnd[0].value = 6699;
168 oStart[1].value = oEnd[1].value = 6697;
169 oStart[2].value = oEnd[2].value = 4444;
170 oStart[3].value = oEnd[3].value = 5555;
171 oStart[4].value = oEnd[4].value = 6666;
172 oStart[5].value = oEnd[5].value = 7777;
173 oStart[6].value = oEnd[6].value = 8888;
175 case '7': // Net2Phone UDP 6801, UDP 6801
176 appName = "Net2Phone";
177 tStart[0].value = tEnd[0].value = 6801;
179 oStart[0].value = oEnd[0].value = 6801;
182 case '8': // QuickTime 4 Client TCP 554, UDP 6970-32000 // 2). TCP 554, BOTH 6970-7000
183 appName = "QuickTime 4 Client";
184 tStart[0].value = tEnd[0].value = tStart[1].value = tEnd[1].value = 554;
185 oStart[0].value = oStart[1].value = 6970;
186 oEnd[0].value = 32000;
187 oEnd[1].value = 7000;
191 case '9': // Rainbow Six/Rogue Spear TCP 2346, BOTH 2436-2438
192 appName = "Rainbow Six/Rogue Spea";
193 tStart[0].value = tEnd[0].value = 2346;
194 oStart[0].value = 2436;
195 oEnd[0].value = 2438;
199 alert('Not support selection');
205 function radioClick()
207 with (document.forms[0]) {
208 if (radiosrv[0].checked == true)
209 cusAppName.value = '';
217 <body onload="initMenu();">
219 <script type="text/javascript">
220 writeHeader("Add Port Trigger");
224 <h3>Port Triggering</h3>
225 <p>Some applications such as games, video conferencing, remote access applications
226 and others require that specific ports in the router’s firewall have been opened for
227 access by the applications. You can configure the port settings from this
228 screen by selecting an existing application or creating your own (<b>Custom
229 application</b>) and press <b>Apply</b> to add it.</p>
231 <p><b>Remaining number of entries which can be added: <%ejGetHTML(glbEntryCt)%></b></p>
233 <table border="0" cellpadding="0" cellspacing="0">
235 <td colspan="2">Application Name:</td>
238 <td><input type="radio" name="radiosrv" id="radiosrv1" onclick='radioClick()' checked> <label for="radiosrv1">Select an application:</label></td>
239 <td><select name='srvname' id='srvname' onChange='appSelect(this.value)'>
240 <option value="0" selected>(select an application)</option>
241 <option value="1">Aim Talk</option>
242 <option value="2">Asheron's Call</option>
243 <option value="3">Calista IP Phone</option>
244 <option value="4">Delta Force (Client/Server)</option>
245 <option value="5">ICQ</option>
246 <option value="6">Napster</option>
247 <option value="7">Net2Phone</option>
248 <option value="8">QuickTime 4 Client</option></option>
249 <option value="9">Rainbow Six/Rogue Spea</option>
253 <td><input type="radio" name="radiosrv" id="radiosrv2" onclick='radioClick()'> <label for="radiosrv2">Custom application:</label></td>
254 <td><input type='text' size="28" name="cusAppName" id="cusAppName"></td>
257 <td colspan="1"> </td>
260 <!-- <center><input type='button' onClick='btnApply()' value='Apply'></center> -->
262 <table border='1' cellpadding='0' cellspacing='0'>
264 <th>Trigger Port Start </th>
265 <th>Trigger Port End</th>
266 <th>Trigger Protocol</th>
267 <th>Open Port Start</th>
268 <th>Open Port End</th>
269 <th>Open Protocol</th>
272 <td><input type='text' size="7" name="tStart" id="tStart"></td>
273 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
274 <td><select name='tProto' id='tProto'>
275 <option value='0'>TCP/UDP</option>
276 <option value='1' selected>TCP</option>
277 <option value='2'>UDP</option>
279 <td><input type='text' size="7" name="oStart" id="oStart"></td>
280 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
281 <td><select name='oProto' id='oProto'>
282 <option value='0'>TCP/UDP</option>
283 <option value='1' selected>TCP</option>
284 <option value='2'>UDP</option>
288 <td><input type='text' size="7" name="tStart" id="tStart"></td>
289 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
290 <td><select name='tProto' id='tProto'>
291 <option value='0'>TCP/UDP</option>
292 <option value='1' selected>TCP</option>
293 <option value='2'>UDP</option>
295 <td><input type='text' size="7" name="oStart" id="oStart"></td>
296 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
297 <td><select name='oProto' id='oProto'>
298 <option value='0'>TCP/UDP</option>
299 <option value='1' selected>TCP</option>
300 <option value='2'>UDP</option>
304 <td><input type='text' size="7" name="tStart" id="tStart"></td>
305 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
306 <td><select name='tProto' id='tProto'>
307 <option value='0'>TCP/UDP</option>
308 <option value='1' selected>TCP</option>
309 <option value='2'>UDP</option>
311 <td><input type='text' size="7" name="oStart" id="oStart"></td>
312 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
313 <td><select name='oProto' id='oProto'>
314 <option value='0'>TCP/UDP</option>
315 <option value='1' selected>TCP</option>
316 <option value='2'>UDP</option>
320 <td><input type='text' size="7" name="tStart" id="tStart"></td>
321 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
322 <td><select name='tProto' id='tProto'>
323 <option value='0'>TCP/UDP</option>
324 <option value='1' selected>TCP</option>
325 <option value='2'>UDP</option>
327 <td><input type='text' size="7" name="oStart" id="oStart"></td>
328 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
329 <td><select name='oProto' id='oProto'>
330 <option value='0'>TCP/UDP</option>
331 <option value='1' selected>TCP</option>
332 <option value='2'>UDP</option>
336 <td><input type='text' size="7" name="tStart" id="tStart"></td>
337 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
338 <td><select name='tProto' id='tProto'>
339 <option value='0'>TCP/UDP</option>
340 <option value='1' selected>TCP</option>
341 <option value='2'>UDP</option>
343 <td><input type='text' size="7" name="oStart" id="oStart"></td>
344 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
345 <td><select name='oProto' id='oProto'>
346 <option value='0'>TCP/UDP</option>
347 <option value='1' selected>TCP</option>
348 <option value='2'>UDP</option>
352 <td><input type='text' size="7" name="tStart" id="tStart"></td>
353 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
354 <td><select name='tProto' id='tProto'>
355 <option value='0'>TCP/UDP</option>
356 <option value='1' selected>TCP</option>
357 <option value='2'>UDP</option>
359 <td><input type='text' size="7" name="oStart" id="oStart"></td>
360 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
361 <td><select name='oProto' id='oProto'>
362 <option value='0'>TCP/UDP</option>
363 <option value='1' selected>TCP</option>
364 <option value='2'>UDP</option>
368 <td><input type='text' size="7" name="tStart" id="tStart"></td>
369 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
370 <td><select name='tProto' id='tProto'>
371 <option value='0'>TCP/UDP</option>
372 <option value='1' selected>TCP</option>
373 <option value='2'>UDP</option>
375 <td><input type='text' size="7" name="oStart" id="oStart"></td>
376 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
377 <td><select name='oProto' id='oProto'>
378 <option value='0'>TCP/UDP</option>
379 <option value='1' selected>TCP</option>
380 <option value='2'>UDP</option>
384 <td><input type='text' size="7" name="tStart" id="tStart"></td>
385 <td><input type='text' size="7" name="tEnd" id="tEnd"></td>
386 <td><select name='tProto' id='tProto'>
387 <option value='0'>TCP/UDP</option>
388 <option value='1' selected>TCP</option>
389 <option value='2'>UDP</option>
391 <td><input type='text' size="7" name="oStart" id="oStart"></td>
392 <td><input type='text' size="7" name="oEnd" id="oEnd"></td>
393 <td><select name='oProto' id='oProto'>
394 <option value='0'>TCP/UDP</option>
395 <option value='1' selected>TCP</option>
396 <option value='2'>UDP</option>
400 <p><input type='button' onClick='btnApply()' value='Apply'></p>
403 <script type="text/javascript">