Router Config API Ver 2 0 6

62
zf ROUTERCONFIG.DLL API Manual  Document Version 2.0.6

Transcript of Router Config API Ver 2 0 6

Page 1: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 1/61

zf

ROUTERCONFIG.DLL API 

Manual  

Document Version 2.0.6

Page 2: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 2/61

 

©2006 zConf, LLC. All rights reserved.

2

 

OVERVIEW ................................................................3  

1.1 Introduction.........................................................................................................3 

1.2 About This Document .........................................................................................3 

EXPORTED METH ODS ..............................................4  2.1 DetectRouter....................................................................................................... 4 

2.2 CheckRouterIsValid ............................................................................................ 6 2.3 EnableRouterUPNP............................................................................................7 

2.4 DisableRouterUPNP ...........................................................................................9 

2.5 OpenRouterPort................................................................................................ 11 

2.6 CloseRouterPort ...............................................................................................14 

2.7 WaitRouter ........................................................................................................ 17 

2.8 OpenPortCheck ................................................................................................19 

2.9 CRouterConfigure Class................................................................................... 20 

2.9.1 CRouterConfigure Members ...................................................................................................202.9.2 CRouterConfigure Operations.................................................................................................23 2.9.3 CRouterConfigure Member Functions ....................................................................................27 

SAM PLE CODE........................................................37  

APPENDICES ..........................................................39  Appendix A – Router List ......................................................................................... 40 

Appendix B – Firmware Versions.............................................................................45 

Table of c ont ent

Page 3: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 3/61

 

©2006 zConf, LLC. All rights reserved.

3

 

Overview

1.1 Introduction 

The routerconfig.dll is a Dynamic Linked Library (DLL) that serves

as a utility for programmatically performing operations on broadband andhome routers.

1.2 About This Document 

This document describes the APIs and functions that are exposed by thezConf component routerconfig.dll. The document contains thefollowing sections:

• Exported Methods

This chapter describes in details the exposed functions and objects ofthe routerconfig.dll and how they can be used.

• Code sample

This chapter demonstrates how to use several of the methods describedin the Exported Functions chapter.

• Appendices• Appendix A – Router List• Appendix B – Firmware Versions

Overview

Page 4: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 4/61

 

©2006 zConf, LLC. All rights reserved.

4

 

Ex por t ed Met hods

2.1 DetectRouter 

SummaryThis function attempts to detect the router connected to the local machine.

Parameters

bTerminate A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the function

terminates immediately.

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

Username The username used to log into the router

Password  

The password used to log into the router

dwTimeOut 

The time out value in milliseconds after which the function terminates itself. Themaximum value is 180,000. If given a value larger than 180,000, the dwTimeOut 

parameter will be reset to 180,000.

int DetectRouter(

 bool * bTerminate,

char * DefaultGatewayAddress = NULL,char * lpszFilename = NULL,

char * Username = NULL,

char * Password = NULL,

DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

)

Exported Method

Page 5: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 5/61

 

©2006 zConf, LLC. All rights reserved.

5

  encryPasswd  

The access code to the DLL.

Return Value .

Return Value Description

-5 Invalid access code

-4 Invalid Default Gateway Address

-3 Operation timed out

-2 Operation terminated

0 No routers identified

1-200 Detected router index

RemarksThis function should be called first before calling any other functions.When the Username and Password parameters are set to NULL, the DetectRouter function attempts to detect the router using the router’s default credentials as well as thedefault IP address of all supported router. If either the router credentials or the defaultrouter IP address were changed, the function may fail to detect the router.

For future reference, on successful detection of the router, this function stores anencrypted string valued registry keys with the router credentials and router index in thefollowing registry entries.

HKEY_CURRENT_USER\Software\zConf\RouterUsername

HKEY_CURRENT_USER\Software\zConf\RouterPassword

HKEY_CURRENT_USER\Software\zConf\RouterModel

Page 6: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 6/61

 

©2006 zConf, LLC. All rights reserved.

6

2.2 CheckRouterIsValid 

SummaryThis function checks if the router connected to the local machine is accessible with thecurrent credentials and router ID stored in the registry. If CheckRouterIsValid issuccessful, you may use the other stand alone functions without calling theDetectRouter function first.

ParameterslpszFilename 

Specifies a string that is the absolute path to the log file. For example:

“C:\\Documents and Settings\\My Documents\\logfile.txt” If set to NULL, the function does not write log information to file.

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULLencryPasswd  

The access code to the DLL.

Return Value .

Return Value Description

-5 Invalid access code

-4 Invalid Default Gateway Address

0 No routers identified

1-200 SUCCESS - Detected router index

RemarksThe CheckRouterIsValid function uses the username, password, and router index

stored in the registry to try to access the router connected to the local machine. Theregistry is only written when the DetectRouter function detects the router successfully.

If the username or password was changed after the DetectRouter function was called,the CheckRouterIsValid function may fail. Same will happen if the router connected

to the local machine was changed.

int CheckRouterIsValid(

char * lpszFilename = NULL,

char * DefaultGatewayAddress = NULL,

char * encryPasswd = NULL)

Page 7: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 7/61

 

©2006 zConf, LLC. All rights reserved.

7

2.3 EnableRouterUPNP 

SummaryThis function attempts to enable the UPnP feature on the router. The function retrievesthe router credentials and index from the following registry entries:

HKEY_CURRENT_USER\Software\zConf\RouterUsername

HKEY_CURRENT_USER\Software\zConf\RouterPassword

HKEY_CURRENT_USER\Software\zConf\RouterModel

ParametersbTerminate 

A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the functionterminates immediately.

lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set to

NULL, the function automatically uses the first default gateway address in thestack. The default value is NULL

dwTimeOut 

The time out value in milliseconds after which the function terminates itself. Themaximum value is 180,000. If given a value larger than 180,000, the dwTimeOut parameter will be reset to 180,000.

encryPasswd  

The access code to the DLL.

Return Value

Return Value Description

-5 Invalid access code

0 SUCCESS

1 Failed to enable UPnP

6 Login Failure

11 Router Identified however UPnP enabling is not supported

int EnableRouterUPNP(

 bool * bTerminate,

char * lpszFilename = NULL,

char * DefaultGatewayAddress = NULL,

DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

)

Page 8: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 8/61

 

©2006 zConf, LLC. All rights reserved.

8

17 Failed to identify router

21 Time out occurred or operation terminated

25 Invalid Default Gateway Address

Remarks

The EnableRouterUPNP function uses the username, password, and router indexproperties, stored in the registry, to access the router connected to the local machine.The registry is only written when the DetectRouter function detects the router

successfully. If the username or password were changed or if the router which isconnected to the local machine was replaced after the DetectRouter function was last

called, the EnableRouterUPNP function may fail to enable the UPnP feature on therouter.

Page 9: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 9/61

 

©2006 zConf, LLC. All rights reserved.

9

2.4 DisableRouterUPNP 

Summary

This function attempts to disable the UPnP feature on the router. The function retrievesthe router credentials and index from the following registry entries:

HKEY_CURRENT_USER\Software\zConf\RouterUsername

HKEY_CURRENT_USER\Software\zConf\RouterPassword

HKEY_CURRENT_USER\Software\zConf\RouterModel

Parameters

bTerminate 

A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the function

terminates immediately.

lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL

dwTimeOut 

The time out value in milliseconds after which the function terminates itself. Themaximum is 180,000. If given a value larger than 180,000, it will be set to180,000.

encryPasswd  

The access code to the DLL.

Return Value

Return Value Description

-5 Invalid access code

0 SUCCESS

1 Failed to disable UPnP

6 Login Failure

11 Router Identified however UPnP disabling is not supported

int DisableRouterUPNP(

 bool * bTerminate,

char * lpszFilename = NULL,

char * DefaultGatewayAddress = NULL,DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

)

Page 10: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 10/61

 

©2006 zConf, LLC. All rights reserved.

10

17 Failed to identify router

21 Time out occurred or operation terminated

25 Invalid Default Gateway Address

Remarks

The DisableRouterUPNP function uses the username, password, and router indexproperties, stored in the registry, to access the router connected to the local machine.The registry is only written when the DetectRouter function detects the router

successfully. If the username or password were changed or if the router which isconnected to the local machine was replaced after the DetectRouter function was last

called, the DisableRouterUPNP function may fail to enable the UPnP feature on therouter.

Page 11: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 11/61

 

©2006 zConf, LLC. All rights reserved.

11

2.5 OpenRouterPort 

Summary

This function attempts to open a port on the router either by using the UPnP interface orby adding a new entry to the “port forwarding” web interface of the routerThe function retrieves the router credentials and index from the following registry entries:

HKEY_CURRENT_USER\Software\zConf\RouterUsername

HKEY_CURRENT_USER\Software\zConf\RouterPassword

HKEY_CURRENT_USER\Software\zConf\RouterModel

ParametersPort 

The port number to open. Valid port number is between 1 to 65534.

bTerminate 

A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the function

terminates immediately.

lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

ForceUPnP 

If set to true, the function will attempt to open a port using the UPnP interface

and the PortOverwrite parameter is ignored as this function uses theoperating system UPnP interface .If set to false, the function will attempt to open a port by adding a “port forward”

entry to the router for both UDP and TCP protocol. The Protocol parameter is

then ignored.

PortOverwrite

If set to true and the router already have an entry with the same port as

specified by Port, the function will overwrite that entry with the new one. If set

to false, and the router already have an entry with the same port as specified

by Port, the function does nothing. If no value is specified for this parameter, it

is set to true.

int OpenRouterPort(

int Port,

 bool * bTerminate,

char * lpszFilename = NULL, bool ForceUPnP = true,

 bool PortOverwrite = true,

char * Internal_IP = NULL,

int Protocol = 1,

char * DefaultGatewayAddress = NULL,DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

Page 12: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 12/61

 

©2006 zConf, LLC. All rights reserved.

12

Internal_IP 

The internal IP address of the machine for which “port forwarding” is required. Ifset to NULL, the function automatically use the internal IP address of the machine

which calls the function. If no value is specified for this parameter, it is set toNULL.

Protocol 

Specifies the protocol type of the port. 0 corresponds to UDP, 1 corresponds toTCP. When the ForceUPnP parameter is set to false, this parameter is

ignored. The default value is 1

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL

dwTimeOut 

The time out value in milliseconds after which the function terminates itself. Themaximum is 180,000. If given a value larger than 180,000, it will be set to180,000.

encryPasswd  

The access code to the DLL.

Return Value

Return Value Description

-5 Invalid access code

1 General Error

2 No available empty entries

3 Unable to connect to router

4 Unknown router or router not supported5 Unknown firmware version

6 Login failure

7 Router submit error

8 Removing existing port failure

9 Add new port failure

10 Port taken failure

11 Manual “Port Forwarding” is not supported. Try using UPnP

12 Port overwrite required

15 Invalid Internal IP Address

16 Invalid Internal IP Address

17 Router credentials required or router not supported

18 Could not identify router

19 No credentials in registry or registry not accessible

Page 13: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 13/61

 

©2006 zConf, LLC. All rights reserved.

13

20 Router Identified however not supported

21 Time out occurred or operation terminated

22 Invalid port number

23 Invalid protocol

24 Invalid Internal IP address

25 Invalid Default Gateway Address

80 Failed to open port using UPnP

100 Port was opened using UPnP

0 Port was opened manually

Remarks

When this function is called with the ForceUPnP parameter set to false, the function

will add all ports from the “port forwarding” web interface of the router, as specified byPort, (TCP and UDP).

The OpenRouterPort function uses the username, password, and router index

properties, stored in the registry, to access the router connected to the local machine.The registry is only written when the DetectRouter function detects the router

successfully. If the username or password were changed or if the router which isconnected to the local machine was replaced after the DetectRouter function was last

called, the OpenRouterPort function may fail to open a port on the router.

Page 14: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 14/61

 

©2006 zConf, LLC. All rights reserved.

14

2.6 CloseRouterPort 

Summary

This function attempts to close a port as specified by Port on the router by using the

UPnP interface or by removing all entries with the same port, as specified by Port, from

the “port forwarding” web interface of the router.The function retrieves the router credentials and index from the following registry entries:

HKEY_CURRENT_USER\Software\zConf\RouterUsername

HKEY_CURRENT_USER\Software\zConf\RouterPassword

HKEY_CURRENT_USER\Software\zConf\RouterModel

ParametersPort 

The port number to close. Valid port number is between 1 to 65534.

bTerminate 

A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the function

terminates immediately.

lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

ForceUPnP 

If TRUE, the function will attempt to close a port using the UPnP interface,if set to FALSE, the function will attempt to close a port by removing all “portforward” entries in the router with the same port. When ForceUPnP is set to

false, the Protocol parameter is ignored. The default value is true.

Protocol 

Specifies the protocol type of the port. 0 corresponds to UDP, 1 corresponds toTCP. When the ForceUPnP parameter is set to false, this parameter is

ignored. The default value is 1

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL 

int CloseRouterPort(

int Port,

 bool * bTerminate,

char * lpszFilename = NULL,

 bool ForceUPnP = true,

int Protocol = 1,

char * DefaultGatewayAddress = NULL,

DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

)

Page 15: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 15/61

 

©2006 zConf, LLC. All rights reserved.

15

 

dwTimeOut 

The time out value in milliseconds after which the function terminates itself. Themaximum is 180,000. If given a value larger than 180,000, it will be set to180,000.

encryPasswd  

The access code to the DLL.

Return Value

Return Value Description

-5 Invalid access code

1 General Error

3 Unable to connect to router

4 Unknown router or router not supported

5 Unknown firmware version

6 Login failure

7 Router submit error

8 Removing existing port failure

10 Port taken failure

11 Manually removing port is not supported. Try using UPnP

14 Port not found

17 Router credentials required or router not supported

18 Could not identify router

20 Router Identified however not supported

21 Time out occurred or operation terminated

22 Invalid port number

23 Invalid protocol

25 Invalid Default Gateway Address

80 Failed to close port using UPnP

100 Port was closed using UPnP

0 Port was closed manually

Remarks

When this function is called with the ForceUPnP parameter set to false, the function

will remove all ports from the “port forwarding” web interface of the router, as specified byPort, (TCP and UDP).

The CloseRouterPort function uses the username, password, and router index

properties, stored in the registry, to access the router connected to the local machine.The registry is only written when the DetectRouter function detects the router

Page 16: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 16/61

Page 17: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 17/61

 

©2006 zConf, LLC. All rights reserved.

17

2.7 WaitRouter 

Summary

This function waits for the router’s HTTP user interface to become accessible. It uses thecredentials and router ID stored in the registry.

Parameters

bTerminate 

A reference value. The function continues normal execution as long thisparameter is set to false. If this parameter is set to true, the function

terminates immediately.

lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file.

DefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL 

dwTimeOut The time out value in milliseconds after which the function terminates itself. Themaximum is 180,000. If given a value larger than 180,000, it will be set to180,000.

encryPasswd  

The access code to the DLL.

Return Value.

Return Value Description

-5 Invalid access code

-4 Invalid Default Gateway Address-3 Operation timed out

-2 Operation terminated

0 No routers identified – Router is not accessible

1-200 Detected router index – Router is now accessible

int WaitRouter(

 bool * bTerminate,

char * lpszFilename = NULL,char * DefaultGatewayAddress = NULL,

DWORD dwTimeOut = 60000,

char * encryPasswd = NULL

)

Page 18: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 18/61

 

©2006 zConf, LLC. All rights reserved.

18

RemarksSome routers need some time period (usually less than 1 minute) to become accessibleafter operations such as EnableRouterUPNP or OpenRouterPort since these

operations may result in a router reboot. The WaitRouter function uses the username,password, and router index properties, stored in the registry, to access the routerconnected to the local machine. If the username or password were changed or if the

router which is connected to the local machine was replaced after the DetectRouter function was last called, the WaitRouter function may fail.

Page 19: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 19/61

 

©2006 zConf, LLC. All rights reserved.

19

2.8 OpenPortCheck 

Summary

This function serves as utility for remote verifying a TCP port is open or closed.

ParametersPort 

The port number to be checked. Valid port number is between 1 to 65534.

encryPasswd  

The access code to the DLL.

Return Value 

Return Value Description

-5 Invalid access code

1 Failed

22 Invalid port

0 Success - a listening service was seen on the port

RemarksA listening application or a server must reply to the inbound communication check

request.

int OpenPortCheck(

int Port,

char * encryPasswd = NULL) 

Page 20: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 20/61

 

©2006 zConf, LLC. All rights reserved.

20

2.9 CRouterConfigure Class 

SummaryThe CRouterConfigure class serves as a utility for router detection and portoperations similar to the stand alone functions described in sections 2.1 - 2.8. However,unlike the stand alone functions described above, the CRouterConfigure class doesnot use the registry.

2.9.1 CRouterConfigure Members

Private data members

 _username The username used to log into the router _password The Password used to log into the router  _routerID Router Index 

 _lpszFilename Absolute path to the log file  _defaultGatewayAddress The default gateway address of the router  _dwTimeOut Timeout parameter _internal_IP The internal IP address of the client machine _bTerminate Termination reference _validAccessCode Access code valid or not

char * _username 

The username used to log into the router

char * _password  

The password used to log into the router

int _routerID 

The router index as described in Appendix Achar * _lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, operations using this property do not write log information to file.

char * _defaultGatewayAddress

The default gateway address of the router. The default value is NULL.

DWORD _dwTimeOut 

The time out value in milliseconds after which operations using this propertyterminate themselves.

char * _internal_IP 

The internal IP address of the machine. If set to NULL, operations using thisproperty automatically use the internal IP address of the machine which callsthose operations. If no value is specified for this parameter, it is set to NULL.

bool * _bTerminate 

A reference value. Operations referring to this value continue normal executionas long as this parameter is set to false. If this parameter is set to true, those

operations terminate immediately.

char * _validAccessCode 

Page 21: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 21/61

 

©2006 zConf, LLC. All rights reserved.

21

A boolean value. To utilize the CRouterConfigure class, users need an

access code to construct a CRouterConfigure object. _validAccessCode 

indicates if the access code provided by the users of the DLL is valid or not.

Page 22: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 22/61

 

©2006 zConf, LLC. All rights reserved.

22

Construction

Summary

Each of these constructors initializes a new CRouterConfigure object with the

specified data.

ParametersDefaultGatewayAddress

This parameter specifies the default gateway address of the router. If set toNULL, the function automatically uses the first default gateway address in the

stack. The default value is NULL lpszFilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt” 

If set to NULL, the function does not write log information to file. 

Username 

The username used to log into the router

Password  The password used to log into the router

encryPasswd  

The access code to the DLL.

RemarksThe constructors initialize the private data members as below:

 _username username / NULL

 _password  password / NULL

 _routerID 0

 _lpszFilename lpszFilename / NULL

 _defaultGatewayAddress defaultGatewayAddress / NULL

 _dwTimeOut 60000 _internal_IP  NULL

 _bTerminate false

 _validAccessCode true if the access code is valid 

CRouterConfigure::CRouterConfigure(

char * encryPasswd = NULL

)

CRouterConfigure::CRouterConfigure(char * username,

char * password,

char * defaultGatewayAddress,

char * lpszFilename,

char * encryPasswd = NULL

)

Page 23: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 23/61

 

©2006 zConf, LLC. All rights reserved.

23

2.9.2 CRouterConfigure Operations

Get/Set Parameter Operations

SummaryThese functions provide access to the class private data member _username.

Parametersusername 

The username used to log into the router

Return Value

The GetUsername() function returns the value of class private data member _username. If the access code is invalid, empty string will be returned instead. And the

 _username will not be set in SetUsername(). 

SummaryThese functions provide access to the class private data member _password .

Parameters password  

The password used to log into the router

Return ValueThe GetPassword() function returns the value of class private data member

 _password . If the access code is invalid, empty string will be returned instead. And the

 _password will not be set in SetPassword(). 

void CRouterConfigure::SetUsername(char * username)

char* CRouterConfigure::GetUsername()

void CRouterConfigure::SetPassword(char * password)

char* CRouterConfigure::GetPassword()

Page 24: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 24/61

 

©2006 zConf, LLC. All rights reserved.

24

 

SummaryThese functions provide access to the class private data member _routerID.

ParametersrouterID 

The router index

Return ValueThe GetRouterID() function returns the value of class private data member

 _routerID. If the access code is invalid, “0” will be returned instead. And the

 _routerID will not be set in SetRouterID(). 

SummaryThese functions provide access to the class private data member _defaultGatewayAddress.

ParametersdefaultGatewayAddress 

This parameter specifies the default gateway address of the router. If set toNULL, operations using this property automatically use the first default gateway

address in the stack. 

Return ValueThe GetDefaultGatewayAddress() function returns the value of class private data

member _defaultGatewayAddress. If the access code is invalid, empty string will be

returned instead. And the _defaultGatewayAddress will not be set in

SetDefaultGatewayAddress(). 

void CRouterConfigure::SetRouterID(int routerID)

int CRouterConfigure::GetRouterID()

void CRouterConfigure::SetDefaultGatewayAddress

(char * defaultGatewayAddress)

char* CRouterConfigure::GetDefaultGatewayAddress ()

Page 25: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 25/61

 

©2006 zConf, LLC. All rights reserved.

25

 

SummaryThese functions provide access to the class private data member _lpszFilename.

Parametersfilename 

Specifies a string that is the absolute path to the log file. For example:“C:\\Documents and Settings\\My Documents\\logfile.txt”.

If set to NULL, operations using this property do not write log information to file.

Return ValueThe GetLogFile() function returns the value of class private data member

 _lpszFilename. . If the access code is invalid, empty string will be returned instead.

RemarksThe SetLogFile() function checks the given filename. If it contains special

characters other than “. _ \ :” and space, the _lpszFilename will be set to NULLand operations using this property may not write log information to file. If the access codeis invalid, the _lpszFilename will not be set in SetLogFile(). 

SummaryThese functions provide access to the class private data member _dwTimeOut.

ParametersdwTimeOut

The time out value in milliseconds after which operations using this propertyterminate themselves.

Return ValueThe GetTimeOut() function returns the value of class private data member

 _dwTimeOut. If the access code is invalid, “0” will be returned instead.

RemarksThe SetTimeout() function checks the given parameter _dwTimeOut. If the value is

larger than 180,000, the _dwTimeOut parameter will be reset to 180,000. If the access

code is invalid, the _dwTimeOut will not be set in SetTimeout(). 

void CRouterConfigure::SetLogFile(char * filename)

char * CRouterConfigure::GetLogFile()

void CRouterConfigure::SetTimeout(DWORD dwTimeOut)

DWORD CRouterConfigure::GetTimeout()

Page 26: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 26/61

 

©2006 zConf, LLC. All rights reserved.

26

 

SummaryThese functions provide access to the class private data member _bTerminate.

ParametersbTerminate 

A reference value. Operations referring to this value continue normal executionas long as this parameter is set to false. If this parameter is set to true, thoseoperations terminate immediately.

Return ValueThe GetTerminate() function returns a reference to the class private data member

 _bTerminate. If the access code is invalid, “NULL” will be returned instead. And the

 _bTerminate will not be set in SetTerminate(). 

SummaryThese functions provide access to the class private data member _internal_IP.

ParametersinternalIP 

The internal IP address of the machine for which “port forwarding” is required. Ifset to NULL, the function automatically use the internal IP address of the machinewhich calls the function. If no value is specified for this parameter, it is set toNULL.

Return ValueThe GetInternalIP() function returns the value of class private data member

 _internal_IP. If the access code is invalid, empty string will be returned instead. And

the _internal_IP will not be set in SetInternalIP(). 

void CRouterConfigure::SetTerminate( bool*  bTerminate)

 bool* CRouterConfigure::GetTerminate()

void CRouterConfigure::SetInternalIP( bool* internalIP)

 bool* CRouterConfigure::GetInternalIP ()

Page 27: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 27/61

 

©2006 zConf, LLC. All rights reserved.

27

2.9.3 CRouterConfigure Member Functions

SummaryThis function attempts to detect the router connected to the local machine.

ParametersUseDefaultCrednetials 

If set to true, the operation will attempt to detect the router using its default

credentials. If set to false, the operation will use the _username and

 _password properties to detect the router.

Return Value

ReturnValue Description

-5 Invalid access code

-4 Invalid Default Gateway Address

-3 Operation timed out

-2 Operation terminated

0 No routers identified

1-200 Detected router index

RemarksWhen UseDefaultCrednetials is set to true, this function uses the following

CRouterConfigure properties:  _dwTimeOut,  _bTerminate and 

 _lpszFilename.

When UseDefaultCrednetials is set to false, this function uses the following

CRouterConfigure properties:  _defaultGatewayAddress,  _dwTimeOut, 

 _bTerminate,  _lpszFilename,  _username, and _password .

For future reference, on successful detection of the router, this operation sets the _username, _password , and _routerID properties to the values used to detect the

router.

int CRouterConfigure::DetectRouter(

 bool UseDefaultCredentials = true

Page 28: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 28/61

 

©2006 zConf, LLC. All rights reserved.

28

 

SummaryThis function checks if the router connected to the local machine is accessible with thecredentials and router ID stored in the object.

ParametersThis function takes no parameters

Return Value .

Return Value Description

-5 Invalid access code

-4 Invalid Default Gateway Address

-1 Invalid router index

0 No routers identified

1-200 Detected router index

RemarksThe CheckRouterIsValid function uses the _username, _password,

 _routerID, _lpszFilename, and _defaultGatewayAddress parameters to

attempt to access the router connected to the local machine. If the _username,

 _password , or _routerID were changed after the DetectRouter function was

called, the CheckRouterIsValid function may fail. Same will happen if the router

connected to the local machine was changed. If CheckRouterIsValid is successful,

you may use the other CRouterConfigure functions without calling the

DetectRouter function first.

int CRouterConfigure::CheckRouterIsValid()

Page 29: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 29/61

 

©2006 zConf, LLC. All rights reserved.

29

 

SummaryThis function waits for the router connected to the local machine becoming accessible. Ituses the credentials and router ID stored in the object.

ParametersThis function takes no parameters

Return Value .

Return Value Description

-5 Invalid access code

-4 Invalid Default Gateway Address

-3 Operation timed out

-2 Operation terminated-1 Invalid router index

0 No routers identified

1-200 Detected router index

RemarksSome routers need some time period (usually less than 1 minute) to become accessibleafter operations such as EnableRouterUPNP or OpenRouterPort since these

operations may result in a router reboot. The WaitRouter function uses the

 _username, _password, _routerID, _lpszFilename, and 

 _defaultGatewayAddress parameters to try and access the router connected to thelocal machine. If the _username, _password , or _routerID were changed after the

DetectRouter function was called, the CheckRouterIsValid function may fail.

Same will happen if the router connected to the local machine was changed or replaced.See the sample code section for more information on how this function may be used.

int CRouterConfigure::WaitRouter()

Page 30: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 30/61

 

©2006 zConf, LLC. All rights reserved.

30

Router Operations

Summary

This function attempts to enable the UPnP feature on the router.

ParametersThis function takes no parameters

Return Value

ReturnValue

Description

-5 Invalid access code

0 SUCCESS

1 General Error - Failed to enable UPnP

6 Login Failure

17 Failed to identify router

11 Router Identified however UPnP enabling is not supported

21 Time out occurred or operation terminated

25 Invalid Default Gateway Address

RemarksThis operation uses the following CRouterConfigure parameters: _username,

 _password, _routerID, _lpszFilename, and _defaultGatewayAddress,

 _dwTimeOut and _bTerminate. 

Before attempting to enable UPnP, this operation verifies that the router it is connected toand the router credentials are what specified in _username, _password ,

 _defaultGatewayAddress and _routerID 

int CRouterConfigure::EnableRouterUPnP()

Page 31: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 31/61

Page 32: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 32/61

 

©2006 zConf, LLC. All rights reserved.

32

 

SummaryThis function serves as utility for remote verifying a TCP port is open or closed.

ParametersPort 

The port number to be checked

Return Value.

Return Value Description

-5 Invalid access code

1 Failed

22 Invalid port

0 Success - a listening service was seen on the port

RemarksA listening application or a server must reply to the inbound communication checkrequest.

int CRouterConfigure::OpenPortCheck(int Port);

Page 33: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 33/61

 

©2006 zConf, LLC. All rights reserved.

33

 

Port Operations

SummaryThis operation attempts to open a port on the router either by using the UPnP interface orby adding a new entry to the “port forwarding” web interface of the router.

ParametersPort 

The port number to open

ForceUPnP 

If set to true, the operation will attempt to open a port using the UPnP interface.

When ForceUPnP is set to true, the PortOverwrite parameter is ignored asthis operation relies the operating system UPnP interface.

If set to false, the operation will attempt to open a port by adding a “port

forward” entry to the router for both UDP and TCP protocol. When ForceUPnP is

set to false, the Protocol parameter is ignored. 

PortOverwrite

If set to true and the router web interface already has an entry with the same

port as specified by Port, the operation will overwrite that entry with the new

one. If set to false, and the router already has an entry with the same port asspecified by Port, the operation returns with the corresponding error code (see

return value table). If no value is specified for this parameter, it is set to true.

This parameter is ignored when ForceUPnP is set to true. 

Protocol 

Specifies the protocol type of the port. 0 corresponds to UDP, 1 corresponds toTCP. When the ForceUPnP parameter is set to false, this parameter is

ignored. The default value is 1

Return Value

ReturnValue

Description

-5 Invalid access code

1 General Error

2 No available empty entries

3 Unable to connect to router

4 Unknown router or router not supported

int CRouterConfigure::OpenRouterPort(

int Port, bool ForceUPnP = true,

 bool PortOverwrite = true,

int Protocol = 1

Page 34: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 34/61

 

©2006 zConf, LLC. All rights reserved.

34

5 Unknown firmware version

6 Login failure

7 Router submit error

8 Removing existing port failure

9 Add new port failure

10 Port taken failure

11 Manual “Port Forwarding” is not supported. Try using UPnP

12 Port overwrite required

15 Invalid Internal IP Address

16 Invalid Internal IP Address

17 Router credentials required or router not supported

18 Could not identify router

19 No credentials in registry or registry not accessible20 Router Identified however not supported

21 Time out occurred or operation terminated

22 Invalid Port number

23 Invalid Protocol

24 Invalid Internal IP Address

25 Invalid Default Gateway Address

80 Failed to open port using UPnP

100 Port was opened using UPnP

0 Port was opened manually

RemarksThis operation uses the following CRouterConfigure properties:Username, Password, RouterID, Internal_IP, DefaultGatewayAddress,

dwTimeOut, bTerminate and lpszFilename.

Before attempting to open a port, this operation verifies that the router it is connected toand the router credentials are what specified in _username, _password , and  _routerID 

Page 35: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 35/61

 

©2006 zConf, LLC. All rights reserved.

35

 

SummaryThis operation attempts to close a port as specified by Port on the router by using the

UPnP interface or by removing all entries with the same port, as specified by Port, fromthe “port forwarding” web interface of the router.

ParametersPort 

The port number to close

ForceUPnP 

If set to true, the operation will attempt to close a port using the UPnP interface.

When ForceUPnP is set to true, the operation uses the operating system UPnPinterface.

If set to false, the operation will attempt to close a port by removing all entries

with the same port, as specified by Port, from the “port forward” web interface

of the router. When ForceUPnP is set to false, the Protocol parameter is

ignored. 

Protocol Specifies the protocol type of the port. 0 corresponds to UDP, 1 corresponds toTCP. When the ForceUPnP parameter is set to false, this parameter isignored. The default value is 1

Return Value

ReturnValue

Description

-5 Invalid access code

1 General Error

3 Unable to connect to router

4 Unknown router or router not supported

5 Unknown firmware version

6 Login failure

7 Router submit error

8 Removing existing port failure

10 Port taken failure

11 Manually removing port is not supported. Try using UPnP

14 Port not found

17 Router credentials required or router not supported

int CRouterConfigure::CloseRouterPort(

int Port,

 bool ForceUPnP,

int Protocol) 

Page 36: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 36/61

 

©2006 zConf, LLC. All rights reserved.

36

18 Could not identify router

20 Router Identified however not supported

21 Time out occurred or operation terminated

22 Invalid Port number

23 Invalid Protocol

25 Invalid Default Gateway Address

80 Failed to close port using UPnP

100 Port was closed using UPnP

0 Port was closed manually

RemarksThis operation uses the following CRouterConfigure properties:Username, Password, RouterID, DefaultGatewayAddress, dwTimeOut,

bTerminate and lpszFilename.

Before attempting to close a port, this operation verifies that the router it is connected toand the router credentials are what specified in _username, _password , and 

 _routerID.

Page 37: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 37/61

 

©2006 zConf, LLC. All rights reserved.

37

 

Sam ple Code

The following sample codes use the CRouterConfigure, class in a client application called

TestApplication written with Microsoft Visual C++ .

The RouterConfig™ API package you received from zConf includes the following files:1. RouterConfig.h – The header file with exposed methods and constants

2. routerconfig.lib – The library file for your compiler

3. routerconfig.dll – The dynamic Linked Library file you must include with your client

application

The sample code below includes the routerconfig.lib file as an additional dependency

in the Linker input. This is defined at the project property pages:

Sample Code

Page 38: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 38/61

 

©2006 zConf, LLC. All rights reserved.

38

/**************************************************

* TestApplication.cpp main implementation file *

* zConf LLC - All rights reserved *

***************************************************/

#include "RouterConfig.h" // Contains RouterConfig exposed methods, objects and constants 

#include <iostream>

using namespace std;

void main()

{ char * filename = "C:\\Documents and Settings\\User1\\Desktop\\log_file.txt";

char * username = "admin";

char * password = "zconf";

char * defaultGatewayAddress = "192.168.0.1";

char * internalIP = NULL;

int port = 45;

bool * terminate = new bool; *terminate = false;

char * accessCode = "yourAcessCode";

int retValue = 0;

// CRouterConfigure object declaration

CRouterConfigure* pRouter = new CRouterConfigure(accessCode);

// Set CRouterConfigure object properties

pRouter->SetLogFile(filename);

pRouter->SetUsername(username);

pRouter->SetPassword(password);

pRouter->SetTimeout(60000);

pRouter->SetTerminate(terminate);

pRouter->SetDefaultGatewayAddress(defaultGatewayAddress);

pRouter->SetInternalIP(internalIP);

// Detect the router connected to the local machine using default credentials

retValue = pRouter->DetectRouter(true);

// If detection was not successful with default credentials, try again with non default credentials

if (retValue > 0)

retValue = pRouter->DetectRouter(false);

if (retValue > 0) {

// Wait for the router to be accessible

retValue = pRouter->WaitRouter();

cout<<"WaitRouter() returns " << retValue << endl;

// Open port 45 manually

retValue = pRouter->OpenRouterPort(port, false, true);

cout<<"OpenRouterPort mannully returns " << retValue << endl;

// Wait for the router to be accessible

retValue = pRouter->WaitRouter();

cout<<"WaitRouter() returns " << retValue << endl;

// Open TCP port 45 using the UPnP interface

retValue = pRouter->OpenRouterPort(port, true, true, 1);cout<<"OpenRouterPort mannully returns " << retValue << endl;

// Wait for the router to be accessible

retValue = pRouter->WaitRouter();

cout<<"WaitRouter() returns " << retValue << endl;

// Close port 45 mannually

retValue = pRouter->CloseRouterPort(port, false);

cout<<"CloseRouterPort(" << port <<") returns " << retValue << endl;

// Close TCP port 45 using UPnP interface

retValue = pRouter->CloseRouterPort(port, true, 1);

cout<<"CloseRouterPort(" << port <<") returns " << retValue << endl;

// Wait for the router to be accessible

retValue = pRouter->WaitRouter();

cout<<"WaitRouter() returns " << retValue << endl;

// Enable the UPnP feature on the router

retValue = pRouter->EnableRouterUPNP();

cout<<"EnableRouterUPNP() returns " << retValue << endl;

// Disable the UPnP feature on the routerretValue = pRouter->DisableRouterUPNP();

cout<<"DisableRouterUPNP() returns " << retValue << endl;

// Wait for the router to be accessible

retValue = pRouter->WaitRouter();

cout<<"WaitRouter() returns " << retValue << endl;

}

else

cout<<"Error: Could not detect router" << endl;

delete pRouter; 

delete terminate; 

return;

}

Page 39: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 39/61

 

©2006 zConf, LLC. All rights reserved.

39

 

Appendices

Appendices

Page 40: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 40/61

 

©2006 zConf, LLC. All rights reserved.

40

Appendix A – Router List  

index Router model

93 2Wire 1701HG/1000HG/2700HG-B/2700HG-S163 2Wire 2700HG-D

29 2Wire 1800HG

124 2Wire HomePortal 100

126 2Wire HomePortal 1000S/1000SW

132 2Wire HomePortal 180SW/165

127 2Wire HomePortal 2701HG

32 3Com 3CR858-91

146 3Com 3CRTRV10075

109 Actiontec R1524SU

164 Actiontec M1424-WR

112 Actiontec GT704-WG99 AirLink+ AR315W

135 AirLink+ AR315W

159 AirLink+ AR325W

94 AirLink+ AR410W

95 AirLink+ AR525W

44 Belkin F5D5231-4

1 Belkin F5D6230-3/F5D5230-4

161 Belkin F5D6231-3

25 Belkin F5D7230-4

74 Belkin F5D7231-4

26 Belkin F5D8230-4

104 Belkin F5D8231-4 N1

139 Belkin F5D9230-4

106 Buffalo WBR2-G54S

11 Buffalo WZRG108

5 Buffalo WHRG54S

108 Baffalo WYR-G54

6 Buffalo WHRHPG54

167 CNet CWR-854/ CWR-854V

98 CompUSA SKU 313831

133 Dell WRTB-107GD340

131 DLink DGL4100

31 DLink DGL4300

129 DLink DGL4300/DGL4100

107 DLink DI514 Rev. E/DI774 Rev. A1

24 DLink DI524

169 DLink DI524 E1

71 DLink DI524

Page 41: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 41/61

 

©2006 zConf, LLC. All rights reserved.

41

index Router model

39 DLink DI604

23 DLink DI624

72 DLink DI624

17 DLink DI624M

79 DLink DI624S

121 DLink DI704

35 DLink DI704P

36 DLink DI704UP

77 DLink DI707P

70 DLink DI714P

128 DLink DI724U

50 DLink DI714Pplus

49 DLink DI764

3 DLink DI784

40 DLink DI804HV

10 DLink DI808HV

12 DLink DI824VUP

84 DLink DILB604

145 DLink DIR-635

138 DLink DIR-655

53 DLink DSL G604T

38 DLink DVG1402S

87 DLink EBR-2310

141 DLink WBR-2310

86DLink WBR-1310

120 DLink DI634M

18 Dynex DX-E401

151 eHome EH100

42 Hawking H2BR4

41 Hawking HBR49

105 Hawking HWR54G Rev M

20 Linksys WRT54GP2

15 Linksys BEFSR11V2

16 Linksys BEFSR11V2

113 Linksys BEFSR11V2

62 Linksys BEFSR11V2/BEFSX4114 Linksys BEFSR11V2/BEFSX41

68 Linksys BEFSR41v2

61 Linksys BEFSR41v3

21 Linksys BEFSR41v4

46 Linksys BEFSR81v3 2

60 Linksys BEFSX41

58 Linksys BEFSX41

Page 42: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 42/61

 

©2006 zConf, LLC. All rights reserved.

42

index Router model

33 Linksys BEFVP41

96 Linksys BEFW11S4v2

57 Linksys BEFW11S4v4

59 Linksys BEFW11S4v4

148 Linksys NR041

134 Linksys RT042

2 Linksys RT31P2

103 Linksys RV042

147 Linksys RVS4000

168 Linksys WRK54G

149 Linksys WRT150N/WRT350N

90 Linksys WRT300N

150 Linksys WRT330N

22 Linksys WRT54G/WRT54GSv4

7 Linksys WRT54GC

8 Linksys WRT54GC

83 Linksys WRT54GL

19 Linksys WRT54GS

116 Linksys WRT54GS

117 Linksys WRT54GS

88 Linksys WRT54GV5

69 Linksys WRT54GV5

82 Linksys WRT54GX

73 Linksys WRT54GX2

89Linksys WRT54GX4

85 Linksys WRT54GX4

156 Linksys WRT54GX4

55 Linksys WRT55AGv2

63 Linksys WRT55AGv2

144 Linksys WRTSL54GS

56 Linksys WRV54G

9 Linksys WTR54GS

114 Linksys WRT54G-JP

115 Linksys WRT54G-JP

137 Linksys WRTP54G

122 Linksys WRV200171 Linksys WRK54G v2

172 Linksys WCG200 v2

118 Microsoft MN500

110 Motorola WR850G

119 Motorola SBG900

130 Netgear DG834G v1/v2

155 Netgear DG834 v1/DG834G v2

Page 43: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 43/61

 

©2006 zConf, LLC. All rights reserved.

43

index Router model

157 Netgear FR114P

37 Netgear FVS318

30 Netgear FWG114P

13 Netgear MR814V3

34 Netgear RP614 v3/v2

54 Netgear WGR101

153 Netgear WGR614v2/WGT624v2

102 Netgear WGR614v4

64 Netgear WGR614V5

100 Netgear WGR614V6

101 Netgear WGR614V6

165 Netgear WGR614V7

28 Netgear WGT624v3

75 Netgear WGU624

162 Netgear NR854T

4 Netgear WPN824

76 Netgear WPNT834

123 Netgear WNR834B

170 Netgear WGT634U

173 Netgear RP614 v4

174 Dlink DI-514vB1/DI-624vA

176 Zoom DSL X5v 5585

176 US Robotics USR8054

177 Zonet ZSR0104CR

65SMC BR14UP

81 SMC BR14VPN

66 SMC BR18VPN

48 SMC SMC7004VBR

47 SMC SMC7008ABRv1

67 SMC 2804WBRP

180 SMC SMC2404WBR

152 StarTech BR4100DC

78 TRENDnet TEW432BRP

141 TRENDNet/ Airnet TEW452BRP/ AWR014G8

91 TRENDNet TEW511BRP

92 TRENDNet TEW511BRP158 TRENDNet TEW631BRP

154 TRENDNet TPL-111BR

80 USR 5461

52 USR XX5462

166 Westell B90-327W15-06

97 Westell A90-210030-04

43 Zonet ZSR0104D

Page 44: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 44/61

Page 45: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 45/61

 

©2006 zConf, LLC. All rights reserved.

45

Appendix B – Firmware Versions 

Support for UPnP Enabling / Disabling and manual Port Forwarding

Support for manual Port Forwarding only

Support for UPnP Enabling / Disabling only

Mfg Firmware H/W version

1.42.2

1.42.32.00.8

2.02.2

2.02.7

2.02.8 beta

2.04.3

2.04.4

3.01.3

3.03.1

3.03.6

4.00.7

4.20.64.20.7

4.21.1

4.30.2

4.30.05

v1.x, v2.x, v3.x, v4.x

1.00.0

1.00.1

1.00.2

1.00.3

1.00.4

1.00.6

1.00.9

1.01.0

1.01.1

1.02.0

1.02.2

v5, v6

Linksys WRT54G

8.00.0 V8

Page 46: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 46/61

 

©2006 zConf, LLC. All rights reserved.

46

 

2.53

2.70

2.71

2.75

D-Link DI-624

2.76

Rev C

2.00 V2

2.16 V2

5.0.07 V4

1.03 V5

1.07 V5, V6

1.09 V5, V6

1.0.11 V6

2.0.13 V6

2.0.14 V6

2.0.19 V6

1.0.12 V7 

1.0.14 V7 

Netgear WGR614

2.0.20 V7

1.00.06Belkin F5D8230-4

1.01.03V4

3.17.4

3.37.1

3.37.2

3.37.6

4.50.64.71.1

V1.x, V2

1.05.0 V4

1.50.5

1.50.6

1.50.9

1.51.0

1.52.0

1.52.2

V5, V6

Linksys WRT54GS

7.50.0 V7

4.03.034.05.03

8.01.07

8.01.21

4.03.03

4.05.03V1000

5.00.02

Belkin F5D7230-4

5.00.04V3000

Page 47: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 47/61

 

©2006 zConf, LLC. All rights reserved.

47

 

1.03

1.05

1.11

Rev A

1.233.01

3.023.203.23

Rev C

4.00

D-Link DI-524

4.03Rev D

D-Link DVG-1402S

1.40

1.43

1.44D-Link DI-804HV

1.45

1.03.00

1.04.01

1.05.00

2.10.22

3.01.25

3.01.31

3.01.32

V2

1.03.00.

1.04.011.05.00.

2.10.22

Netgear DG834G

3.01.25

V1

5.135.20

V2Netgear RP614

6.0 V3

1.23

1.23.4

1.30

1.33

1.33.1

1.34

1.351.36

1.37

1.38.5

1.39

1.40.1

1.40.2

Linksys BEFSR41

1.42.3

V1, v2

Page 48: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 48/61

Page 49: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 49/61

Page 50: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 50/61

 

©2006 zConf, LLC. All rights reserved.

50

1.42.7

1.43

1.45

1.45.10

1.45.3

1.45.71.50

1.50.10

1.50.14

1.52.02

V4

1.23

1.31D-Link DI-714P+

1.33

Ver. B1

1.02

2.10D-Link DI-7642.15

SMC 7008ABRv1 1.036

SMC 7004VBR 1.00

1.28Linksys RT31P2

1.30.00

V1.0.1.4

V1.0.2.4V1.0.3.5

V1.0.3.8

Netgear WNR834B

V1.0.4.0 V1

2.0DLink DI634M

2.1

1.0.

1.2

1.31.4

1.5

1.6

Dlink DGL4300

1.7

1.34Linksys BEFSR11

1.35

Page 51: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 51/61

 

©2006 zConf, LLC. All rights reserved.

51

1.36

1.37

1.38.5

1.39

1.40.1

1.40.2

1.42.3

1.42.6

1.42.7

1.43

1.43.3

1.43.3Z

1.44

1.44Z

1.44.2

1.44.2Z

1.45.3

1.45.61.45.7

1.45.11

1.46

1.46.2

V2

1.0

1.2

2.1D-Link DI-624M

2.5

A1

Netgear MR814 5.4.06 V3

V1.01.003Belkin F5D6230-3

1.20.004

1.39

1.40

1.41

1.43

D-Link DI-808HV

1.44

Linksys WTR54GS 1.0_15

1.01

1.03D-Link DI-824VUP

1.05

Buffalo WHR-HP-G54 1.2

Page 52: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 52/61

 

©2006 zConf, LLC. All rights reserved.

52

1.23

1.38

1.4

1.2

1.231.38

Buffalo WHR-G54S

1.4

Buffalo WZR-G108 default

2.36

2.37

2.38

2.4

D-Link DI-784

2.42

1.0.10

2.0.11

2.0.15_1.0.11Netgear WPN824

2.0.120

V1

1.02.5

1.02.8

1.03.0Linksys WRT54GC

1.05.7

2.03

2.10

2.21

2.25.2

2.36

2.37

2.39

Linksys WRV54G

2.39.2

1.10

1.40

1.67Linksys WRT55AG

1.79

V2

SMC BR14UP default

1.00SMC BR18VPN

1.03

Page 53: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 53/61

 

©2006 zConf, LLC. All rights reserved.

53

1.04

1.954

2.00SMC 2804WBRP-G

2.08

3.00D-Link DI-707P

3.06 Rev C

Belkin F5D7231-4 4.07.07 V1

D-Link DI-624S default

1.0.0TRENDnet TEW-

432BRP 1.2.0

1.01.06

1.01.14

1.01.18Linksys WRT54GX2

1.01.22

1.0.1.7

1.0.1.9

1.0.1.10

1.0.1.11

Netgear WGU624

2.0.1.1

1.0_24

1.0.41Netgear WPNT834

1.0.51

3.91.37.0.3

3.93.35.0.6USRobotics USR 5461

3.93.35.0.8

1.01.04

1.01.051.01.07

1.02.06

1.02.10

1.02.14

Linksys WRT54GX

1.02.15

Linksys WRT54GL 4.30.0

Page 54: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 54/61

 

©2006 zConf, LLC. All rights reserved.

54

4.30.2

4.30.5

4.30.9

1.00D-Link DI-LB604

1.01

1.00.09

1.00.10

1.00.17

1.00.19

Linksys WRT54GX4

1.00.20

1.00

1.01

1.04b14D-Link EBR-2310

1.05

A1

1.00

1.01

1.03

1.04Rev. A1

2.00

D-Link WBR-1310

2.01Rev. B1

0.92.5

0.93.3

0.93.9v1.03.3

v1.03.6

Linksys WRT300N

v1.51.2

V1

1.15TRENDnet TEW-511BRP 1.19

2Wire 1701HG 3.17.5

1.6.5AirLink AR410W

1.6.6

Westell A90-210030-04 1.05.33

CompUSA SKU 313831 2.07.0002

1.00 R21AirLink AR315W

1.00 R23

Page 55: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 55/61

 

©2006 zConf, LLC. All rights reserved.

55

1.1 R22

1.0.22

1.0.38AirLink AR525W

1.0.50

1.01.15

1.01.23Belkin F5D8231-4 N1

1.01.45

1.3.1

1.3.6.4

1.3.7.4

1.3.7.10

1.3.8.2

Linksys RV042

1.3.9

Buffalo WBR2-G54S 2.30

2.00DLink DI-514 Rev.E

2.04

1.0 Release 11Hawking HWR54G R. M

1.1 Release 2c

1.0 Release 31Buffalo WYR-G54

1.1 Release 24

Actiontec R1524SU 1.60.10.0.71

4.03Motorola WR850G

6.1.4

Hawking HBR49 1.04.004.2065

Actiontec GT704-WG 3.0.1.0.6.0

2.50.22.51.1Linksys BEFSR81

2.51.3

V3.x

Microsoft MN500 default

Dlink DSL G604T default

Page 56: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 56/61

 

©2006 zConf, LLC. All rights reserved.

56

1.0.12

1.0.21

1.0.24

1.0.32.2

Linksys WRV200

1.0.29

2.5

2.52b6

2.53b6

2.55b12

2.55b15

2.56b20

D-Link DI-704

2.57b3

Motorola SBG900 default

V4.1.11_1.0.1

V4.2.4_1.0.1

V4.2.6_1.0.1

V4.2.8_1.0.1

V4.2.10_1.0.1

V4.2.11_1.0.1

V2

1.0.12

1.0.120.

1.0.128

2.0.10.

2.0.13

2.0.162.0.17

2.0.21

Netgear WGT624

2.0.25

V3

1.0.

1.2

1.3

1.4

1.5

1.6

Dlink DGL4300

1.7

2.0.Dlink DI634M

2.1

1.0.Dlink DI724U

1.1

Page 57: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 57/61

 

©2006 zConf, LLC. All rights reserved.

57

1.2

2Wire HomePortal 100 2.2.3.0

2Wire HomePortal

1000S

3.5.0

2Wire HomePortal2701HG

5.29.47

1.2

1.3

1.4

1.5

1.6

1.7

Dlink DGL4100

1.8

1.2

1.26

1.28Hawking H2BR4

1.32

2Wire HomePortal180SW

3.5.1

2Wire HomePortal 165 3.5.5

2Wire HomePortal1000HG

3.7.5

DYNEX DX-E401

V1.00.014USRobotics XX5462

V1.00.015

Dell WRTB-107GD340 5.1.1.6

Linksys RT042 1.3.5

1.00.48Linksys WRTP54G

1.00.62

1.02

1.03

1.04DLink DIR-655

1.05

Page 58: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 58/61

 

©2006 zConf, LLC. All rights reserved.

58

 

3.01.53

3.01.63

3.02.76Belkin F5D9230-4

3.02.78

1.2

1.3

1.4ZyXEL X-550

1.6

1.02

1.03DLink WBR-2310

1.04

1.5

1.61.7

ZyXEL P-330W

1.8

V2.00.1

V2.00.5Linksys WRTSL54GS

V2.06.0

1.04

1.05

1.06

1.07

1.08

Dlink DIR635

1.09

1.0.263Com 3CRTRV10075

1.0.27

V1.0.11

V1.1.09Linksys RVS4000

V1.1.11

Linksys NR041 1.2.06

V1.00.5

V1.01.2Linksys WRT150N

V1.01.9

Linksys WRT330N v1.00.1

Page 59: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 59/61

 

©2006 zConf, LLC. All rights reserved.

59

v1.00.3

eHome EH100 1.00

2.97StarTech BR4100DC

3.15

TRENDnet TPL-111BR 1.4.2

1.03.00.

1.04.01

1.05.00.

2.10.22

Netgear DG834 v1

3.01.25

Linksys WRT350N v1.03.2

TRENDnet TEW-452BRP

1.6.6

1.0.2.3

1.0.3.1TRENDnet TEW-

631BRP1.0.3.2

V1.0R

R1.97e5cAirLink AR325W

R1.97g3

Belkin F5D5230-4 V1.20.000

DLink DI-774 1.25 Rev. A1

Belkin F5D6231-4 2.00.002

1.4.23

1.4.22

1.4.16

1.4.19

1.4.09

1.4.07

1.3.33

1.3.04

1.1.26

1.1.15

Netgear WNR854T

1.1.05

2Wire 2700HG-B 4.25.19

Page 60: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 60/61

 

©2006 zConf, LLC. All rights reserved.

60

 

1.3.16

1.4.26

1.5_09

1.5_13

Netgear FR114P

1.5_14

Actiontec M1424-WR 4.0.16.1.45.160

Westell B90-327W15-06 03.02.01

2Wire 2700HG-S 4.25.21

1.3.0.3

1.2.3.3CNet CWR-854

1.4.0.3

2Wire 1000SW 3.5.1

Linksys WRK54G 1.58.03

2Wire 2700HG-D 4.25.19

5.00

5.10Dlink DI-524

5.11

E1

1.4.1.13

1.4.1.10

1.4.1.9

1.4.0.6

Netgear WGT634U

1.3.0.6

Linksys WRT54GS 1.05.0 V4

Linksys WRK54G v2 1.00.1

V4.2.8_1.0.1

V4.2.11_1.0.1

4.0.4

V4.1.11_1.0.1

V4.2.4_1.0.1

V4.2.6_1.0.1

Netgear WGT624

V4.2.10_1.0.1

V1

Page 61: Router Config API Ver 2 0 6

8/8/2019 Router Config API Ver 2 0 6

http://slidepdf.com/reader/full/router-config-api-ver-2-0-6 61/61

 

V1.0.1_11.29

V1.0.2_06.29Netgear RP614 v4

V0.1.8_03.17

Linksys WCG200 v2 2.0.3.5.10-0425

Dlink DI-514 1.00 B1

Dlink DI-624 1.25 A

2.5.1Zoom DSL X5v 5585

2.5.3

1.64

1.21US Robotics USR8054

1.67

Zonet ZSR0104CR 2.3.4

Airnet AWR014G8 1.6.6

1.0.10SMC 2404WBR

1.0.12

CNet CWR-854V 1.3.0.3A