Last active
October 28, 2023 10:21
-
-
Save dev-zzo/97799d65482046809da6 to your computer and use it in GitHub Desktop.
UPnP fun
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<root xmlns="urn:schemas-upnp-org:device-1-0"> | |
<specVersion> | |
<major>1</major> | |
<minor>0</minor> | |
</specVersion> | |
<URLBase>http://172.16.90.254:49152</URLBase> | |
<device> | |
<deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType> | |
<friendlyName>Cisco VPN Router</friendlyName> | |
<manufacturer>Cisco Systems.</manufacturer> | |
<manufacturerURL>http://www.cisco.com</manufacturerURL> | |
<modelDescription>Cisco VPN Router</modelDescription> | |
<modelName>4-Port Gigabit Security Router with VPN</modelName> | |
<modelNumber>RVS4000</modelNumber> | |
<modelURL>http://www.cisco.com</modelURL> | |
<serialNumber>123456789</serialNumber> | |
<UDN>uuid:21dd144e-1dd2-11b2-baca-e05fb90c3793</UDN> | |
<UPC>RVS4000</UPC> | |
<serviceList> | |
<service> | |
<serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType> | |
<serviceId>urn:upnp-org:serviceId:L3Forwarding1</serviceId> | |
<controlURL>/upnp/control/L3Forwarding1</controlURL> | |
<eventSubURL>/upnp/event/L3Forwarding1</eventSubURL> | |
<SCPDURL>/l3frwd.xml</SCPDURL> | |
</service> | |
</serviceList> | |
<deviceList> | |
<device> | |
<deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType> | |
<friendlyName>WANDevice</friendlyName> | |
<manufacturer>Cisco Systems.</manufacturer> | |
<manufacturerURL>http://www.cisco.com/</manufacturerURL> | |
<modelDescription>Residential Gateway</modelDescription> | |
<modelName>Internet Connection Sharing</modelName> | |
<modelNumber>1</modelNumber> | |
<modelURL>http://www.cisco.com/</modelURL> | |
<serialNumber>0000001</serialNumber> | |
<UDN>uuid:21da5cfe-1dd2-11b2-baca-e05fb90c3793</UDN> | |
<UPC>RVS4000</UPC> | |
<serviceList> | |
<service> | |
<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType> | |
<serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId> | |
<controlURL>/upnp/control/WANCommonIFC1</controlURL> | |
<eventSubURL>/upnp/event/WANCommonIFC1</eventSubURL> | |
<SCPDURL>/cmnicfg.xml</SCPDURL> | |
</service> | |
</serviceList> | |
<deviceList> | |
<device> | |
<deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType> | |
<friendlyName>WANConnectionDevice</friendlyName> | |
<manufacturer>Cisco Systems.</manufacturer> | |
<manufacturerURL>http://www.cisco.com/</manufacturerURL> | |
<modelDescription>Residential Gateway</modelDescription> | |
<modelName>Internet Connection Sharing</modelName> | |
<modelNumber>1</modelNumber> | |
<modelURL>http://www.cisco.com/</modelURL> | |
<serialNumber>0000001</serialNumber> | |
<UDN>uuid:21d7a6f8-1dd2-11b2-a4d7-e05fb90c3793</UDN> | |
<UPC>RVS4000</UPC> | |
<serviceList> | |
<service> | |
<serviceType>urn:schemas-upnp-org:service:WANEthernetLinkConfig:1</serviceType> | |
<serviceId>urn:upnp-org:serviceId:WANEthLinkC1</serviceId> | |
<controlURL>/upnp/control/WANEthLinkC1</controlURL> | |
<eventSubURL>/upnp/event/WANEthLinkC1</eventSubURL> | |
<SCPDURL>/wanelcfg.xml</SCPDURL> | |
</service> | |
<service> | |
<serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType> | |
<serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId> | |
<controlURL>/upnp/control/WANIPConn1</controlURL> | |
<eventSubURL>/upnp/event/WANIPConn1</eventSubURL> | |
<SCPDURL>/ipcfg.xml</SCPDURL> | |
</service> | |
</serviceList> | |
</device> | |
</deviceList> | |
</device> | |
<device> | |
<deviceType>urn:schemas-upnp-org:device:LANDevice:1</deviceType> | |
<friendlyName>LANDevice</friendlyName> | |
<manufacturer>Cisco Systems.</manufacturer> | |
<manufacturerURL>http://www.cisco.com/</manufacturerURL> | |
<modelDescription>Residential Gateway</modelDescription> | |
<modelName>Residential Gateway</modelName> | |
<modelNumber>1</modelNumber> | |
<modelURL>http://www.cisco.com/</modelURL> | |
<serialNumber>0000001</serialNumber> | |
<UDN>uuid:21d49a08-1dd2-11b2-b477-e05fb90c3792</UDN> | |
<UPC>RVS4000</UPC> | |
<serviceList> | |
<service> | |
<serviceType>urn:schemas-upnp-org:service:LANHostConfigManagement:1</serviceType> | |
<serviceId>urn:upnp-org:serviceId:LANHostCfg1</serviceId> | |
<controlURL>/upnp/control/LANHostCfg1</controlURL> | |
<eventSubURL>/upnp/event/LANHostCfg1</eventSubURL> | |
<SCPDURL>/lanhostc.xml</SCPDURL> | |
</service> | |
</serviceList> | |
</device> | |
</deviceList> | |
<presentationURL>http://172.16.90.254/index.htm</presentationURL> | |
</device> | |
</root> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<scpd xmlns="urn:schemas-upnp-org:service-1-0"> | |
<specVersion> | |
<major>1</major> | |
<minor>0</minor> | |
</specVersion> | |
<actionList> | |
<action> | |
<name>SetConnectionType</name> | |
<argumentList> | |
<argument> | |
<name>NewConnectionType</name> | |
<direction>in</direction> | |
<relatedStateVariable>ConnectionType</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>GetConnectionTypeInfo</name> | |
<argumentList> | |
<argument> | |
<name>NewConnectionType</name> | |
<direction>out</direction> | |
<relatedStateVariable>ConnectionType</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewPossibleConnectionTypes</name> | |
<direction>out</direction> | |
<relatedStateVariable>PossibleConnectionTypes</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>RequestConnection</name> | |
</action> | |
<action> | |
<name>ForceTermination</name> | |
</action> | |
<action> | |
<name>GetStatusInfo</name> | |
<argumentList> | |
<argument> | |
<name>NewConnectionStatus</name> | |
<direction>out</direction> | |
<relatedStateVariable>ConnectionStatus</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewLastConnectionError</name> | |
<direction>out</direction> | |
<relatedStateVariable>LastConnectionError</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewUptime</name> | |
<direction>out</direction> | |
<relatedStateVariable>Uptime</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>GetNATRSIPStatus</name> | |
<argumentList> | |
<argument> | |
<name>NewRSIPAvailable</name> | |
<direction>out</direction> | |
<relatedStateVariable>RSIPAvailable</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewNATEnabled</name> | |
<direction>out</direction> | |
<relatedStateVariable>NATEnabled</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>GetGenericPortMappingEntry</name> | |
<argumentList> | |
<argument> | |
<name>NewPortMappingIndex</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingNumberOfEntries</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewRemoteHost</name> | |
<direction>out</direction> | |
<relatedStateVariable>RemoteHost</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewExternalPort</name> | |
<direction>out</direction> | |
<relatedStateVariable>ExternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewProtocol</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingProtocol</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalPort</name> | |
<direction>out</direction> | |
<relatedStateVariable>InternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalClient</name> | |
<direction>out</direction> | |
<relatedStateVariable>InternalClient</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewEnabled</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingEnabled</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewPortMappingDescription</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingDescription</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewLeaseDuration</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingLeaseDuration</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>GetSpecificPortMappingEntry</name> | |
<argumentList> | |
<argument> | |
<name>NewRemoteHost</name> | |
<direction>in</direction> | |
<relatedStateVariable>RemoteHost</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewExternalPort</name> | |
<direction>in</direction> | |
<relatedStateVariable>ExternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewProtocol</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingProtocol</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalPort</name> | |
<direction>out</direction> | |
<relatedStateVariable>InternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalClient</name> | |
<direction>out</direction> | |
<relatedStateVariable>InternalClient</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewEnabled</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingEnabled</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewPortMappingDescription</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingDescription</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewLeaseDuration</name> | |
<direction>out</direction> | |
<relatedStateVariable>PortMappingLeaseDuration</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>AddPortMapping</name> | |
<argumentList> | |
<argument> | |
<name>NewRemoteHost</name> | |
<direction>in</direction> | |
<relatedStateVariable>RemoteHost</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewExternalPort</name> | |
<direction>in</direction> | |
<relatedStateVariable>ExternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewProtocol</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingProtocol</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalPort</name> | |
<direction>in</direction> | |
<relatedStateVariable>InternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewInternalClient</name> | |
<direction>in</direction> | |
<relatedStateVariable>InternalClient</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewEnabled</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingEnabled</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewPortMappingDescription</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingDescription</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewLeaseDuration</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingLeaseDuration</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>DeletePortMapping</name> | |
<argumentList> | |
<argument> | |
<name>NewRemoteHost</name> | |
<direction>in</direction> | |
<relatedStateVariable>RemoteHost</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewExternalPort</name> | |
<direction>in</direction> | |
<relatedStateVariable>ExternalPort</relatedStateVariable> | |
</argument> | |
<argument> | |
<name>NewProtocol</name> | |
<direction>in</direction> | |
<relatedStateVariable>PortMappingProtocol</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
<action> | |
<name>GetExternalIPAddress</name> | |
<argumentList> | |
<argument> | |
<name>NewExternalIPAddress</name> | |
<direction>out</direction> | |
<relatedStateVariable>ExternalIPAddress</relatedStateVariable> | |
</argument> | |
</argumentList> | |
</action> | |
</actionList> | |
<serviceStateTable> | |
<stateVariable sendEvents="no"> | |
<name>ConnectionType</name> | |
<dataType>string</dataType> | |
<defaultValue>Unconfigured</defaultValue> | |
</stateVariable> | |
<stateVariable sendEvents="yes"> | |
<name>PossibleConnectionTypes</name> | |
<dataType>string</dataType> | |
<allowedValueList> | |
<allowedValue>Unconfigured</allowedValue> | |
<allowedValue>IP_Routed</allowedValue> | |
<allowedValue>IP_Bridged</allowedValue> | |
</allowedValueList> | |
</stateVariable> | |
<stateVariable sendEvents="yes"> | |
<name>ConnectionStatus</name> | |
<dataType>string</dataType> | |
<defaultValue>Unconfigured</defaultValue> | |
<allowedValueList> | |
<allowedValue>Unconfigured</allowedValue> | |
<allowedValue>Connecting</allowedValue> | |
<allowedValue>Authenticating</allowedValue> | |
<allowedValue>PendingDisconnect</allowedValue> | |
<allowedValue>Disconnecting</allowedValue> | |
<allowedValue>Disconnected</allowedValue> | |
<allowedValue>Connected</allowedValue> | |
</allowedValueList> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>Uptime</name> | |
<dataType>ui4</dataType> | |
<defaultValue>0</defaultValue> | |
<allowedValueRange> | |
<minimum>0</minimum> | |
<maximum></maximum> | |
<step>1</step> | |
</allowedValueRange> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>RSIPAvailable</name> | |
<dataType>boolean</dataType> | |
<defaultValue>0</defaultValue> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>NATEnabled</name> | |
<dataType>boolean</dataType> | |
<defaultValue>1</defaultValue> | |
</stateVariable> | |
<stateVariable sendEvents="yes"> | |
<name>X_Name</name> | |
<dataType>string</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>LastConnectionError</name> | |
<dataType>string</dataType> | |
<defaultValue>ERROR_NONE</defaultValue> | |
<allowedValueList> | |
<allowedValue>ERROR_NONE</allowedValue> | |
<allowedValue>ERROR_ISP_TIME_OUT</allowedValue> | |
<allowedValue>ERROR_COMMAND_ABORTED</allowedValue> | |
<allowedValue>ERROR_NOT_ENABLED_FOR_INTERNET</allowedValue> | |
<allowedValue>ERROR_BAD_PHONE_NUMBER</allowedValue> | |
<allowedValue>ERROR_USER_DISCONNECT</allowedValue> | |
<allowedValue>ERROR_ISP_DISCONNECT</allowedValue> | |
<allowedValue>ERROR_IDLE_DISCONNECT</allowedValue> | |
<allowedValue>ERROR_FORCED_DISCONNECT</allowedValue> | |
<allowedValue>ERROR_SERVER_OUT_OF_RESOURCES</allowedValue> | |
<allowedValue>ERROR_RESTRICTED_LOGON_HOURS</allowedValue> | |
<allowedValue>ERROR_ACCOUNT_DISABLED</allowedValue> | |
<allowedValue>ERROR_ACCOUNT_EXPIRED</allowedValue> | |
<allowedValue>ERROR_PASSWORD_EXPIRED</allowedValue> | |
<allowedValue>ERROR_AUTHENTICATION_FAILURE</allowedValue> | |
<allowedValue>ERROR_NO_DIALTONE</allowedValue> | |
<allowedValue>ERROR_NO_CARRIER</allowedValue> | |
<allowedValue>ERROR_NO_ANSWER</allowedValue> | |
<allowedValue>ERROR_LINE_BUSY</allowedValue> | |
<allowedValue>ERROR_UNSUPPORTED_BITSPERSECOND</allowedValue> | |
<allowedValue>ERROR_TOO_MANY_LINE_ERRORS</allowedValue> | |
<allowedValue>ERROR_IP_CONFIGURATION</allowedValue> | |
<allowedValue>ERROR_UNKNOWN</allowedValue> | |
</allowedValueList> | |
</stateVariable> | |
<stateVariable sendEvents="yes"> | |
<name>ExternalIPAddress</name> | |
<dataType>string</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>RemoteHost</name> | |
<dataType>string</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>ExternalPort</name> | |
<dataType>ui2</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>InternalPort</name> | |
<dataType>ui2</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>PortMappingProtocol</name> | |
<dataType>string</dataType> | |
<allowedValueList> | |
<allowedValue>TCP</allowedValue> | |
<allowedValue>UDP</allowedValue> | |
</allowedValueList> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>InternalClient</name> | |
<dataType>string</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>PortMappingDescription</name> | |
<dataType>string</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>PortMappingEnabled</name> | |
<dataType>boolean</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="no"> | |
<name>PortMappingLeaseDuration</name> | |
<dataType>ui4</dataType> | |
</stateVariable> | |
<stateVariable sendEvents="yes"> | |
<name>PortMappingNumberOfEntries</name> | |
<dataType>ui2</dataType> | |
</stateVariable> | |
</serviceStateTable> | |
</scpd> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import socket | |
import struct | |
import xml.etree.ElementTree as ElementTree | |
UPNP_DEVICE_NS = 'urn:schemas-upnp-org:device-1-0' | |
UPNP_SERVICE_NS = 'urn:schemas-upnp-org:service-1-0' | |
UPNP_CONTROL_NS = 'urn:schemas-upnp-org:control-1-0' | |
# Used by Element.find() | |
UPNP_NS_MAP = { | |
'device': UPNP_DEVICE_NS, | |
'service': UPNP_SERVICE_NS, | |
'control': UPNP_CONTROL_NS, | |
} | |
# Used by writer | |
ElementTree.register_namespace('soap', 'http://schemas.xmlsoap.org/soap/envelope/') | |
ElementTree.register_namespace('device', UPNP_DEVICE_NS) | |
ElementTree.register_namespace('service', UPNP_SERVICE_NS) | |
ElementTree.register_namespace('control', UPNP_CONTROL_NS) | |
# | |
# HTTP related code | |
# | |
HTTP_DEBUG = True | |
class HttpTransport(object): | |
"Implements a base class for HTTP transport protocols" | |
def __init__(self, type, proto, timeout=5): | |
self.s = socket.socket(socket.AF_INET, type, proto) | |
self.s.settimeout(timeout) | |
def __del__(self): | |
if self.s: | |
self.close() | |
def is_multicast(self): | |
return False | |
def recv(self): | |
return self.s.recvfrom(65536) | |
def close(self): | |
global HTTP_DEBUG | |
if HTTP_DEBUG: | |
print('Closing socket') | |
self.s.close() | |
self.s = None | |
class HttpTcpTransport(HttpTransport): | |
"Implements HTTP over TCP" | |
def __init__(self, remote_addr, timeout=5): | |
global HTTP_DEBUG | |
HttpTransport.__init__(self, socket.SOCK_STREAM, socket.IPPROTO_TCP, timeout) | |
self.remote_addr = remote_addr | |
if HTTP_DEBUG: | |
print('Connecting to %s:%d.' % remote_addr) | |
self.s.connect(remote_addr) | |
def send(self, data): | |
self.s.send(data) | |
def recv(self): | |
return (self.s.recv(65536), self.remote_addr) | |
class HttpUdpTransport(HttpTransport): | |
"Implements HTTP over (unicast) UDP" | |
def __init__(self, remote_addr, timeout=5): | |
HttpTransport.__init__(self, socket.SOCK_DGRAM, socket.IPPROTO_UDP, timeout) | |
self.remote_addr = remote_addr | |
def send(self, data): | |
self.s.sendto(data, self.remote_addr) | |
class HttpUdpUnicastTransport(HttpUdpTransport): | |
"Implements HTTP over unicast UDP" | |
pass | |
class HttpUdpMulticastTransport(HttpUdpTransport): | |
"Implements HTTP over multicast UDP" | |
def __init__(self, remote_addr, bind_addr, mcast_ip, timeout=5): | |
"""Initialise the transport. | |
remote_addr: remote endpoint address (as in socket address) | |
bind_addr: local address to bind to (as in socket address) | |
mcast_ip: multicast group IP address (typically same as in remote_addr) | |
""" | |
HttpUdpTransport.__init__(self, remote_addr, timeout) | |
#self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) | |
self.s.bind(bind_addr) | |
self.s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 32) | |
self.s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(bind_addr[0])) | |
mreq = socket.inet_aton(mcast_ip) + socket.inet_aton(bind_addr[0]) | |
self.s.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq) | |
def is_multicast(self): | |
return True | |
def xlines(text): | |
"Iterate over lines in text." | |
index = 0 | |
while True: | |
next_index = text.find("\n", index) | |
if next_index == -1: | |
raise StopIteration | |
if text[next_index - 1] == "\r": | |
line = text[index:next_index - 1] | |
else: | |
line = text[index:next_index] | |
index = next_index + 1 | |
yield line | |
class HttpClient(object): | |
"""Implements a simple HTTP client via various transports. | |
Currently not implemented: | |
* Keep-alive connections | |
Quirks: | |
* Some HTTP servers don't respond at all when protocol is set to 1.0. | |
""" | |
def __init__(self, transport, version='1.1'): | |
self.http_version = version | |
self._tr = transport | |
def request(self, method, url, headers=None, body=None): | |
"""Perform a HTTP request. | |
method: HTTP method to be sent in request line | |
url: URL to be sent in request line | |
headers: additional headers to be sent | |
body: request body to be sent | |
Returns: | |
* Unicast transport: a tuple (status, headers, body) | |
* Multicast transport: a list of tuples (addr, status, headers, body) | |
""" | |
global HTTP_DEBUG | |
request_lines = [ '%s %s HTTP/%s' % (method, url, self.http_version) ] | |
has_host = False | |
if headers: | |
for header, value in headers.iteritems(): | |
header = header.upper() | |
has_host = has_host or header == 'HOST' | |
request_lines.append('%s: %s' % (header, str(value))) | |
if not has_host: | |
request_lines.append('HOST: %s:%d' % self._tr.remote_addr) | |
if body: | |
request_lines.append('CONTENT-LENGTH: %d' % len(body)) | |
request_lines.append('\r\n') | |
headers_text = '\r\n'.join(request_lines) | |
if HTTP_DEBUG: | |
print('Sending headers:') | |
print(headers_text) | |
self._tr.send(headers_text) | |
if body: | |
if HTTP_DEBUG: | |
print('Sending body (%d bytes)' % len(body)) | |
print(body) | |
self._tr.send(body) | |
if self._tr.is_multicast(): | |
responses = [] | |
try: | |
while True: | |
responses.append(self._do_recv()) | |
except socket.timeout: | |
pass | |
return responses | |
else: | |
response = self._do_recv() | |
return (response[1], response[2], response[3]) | |
def _do_recv(self): | |
"Internal routine. Performs response reception." | |
global HTTP_DEBUG | |
response = '' | |
end_of_headers = -1 | |
while end_of_headers < 0: | |
frag, addr = self._tr.recv() | |
response += frag | |
end_of_headers = response.find("\r\n\r\n") | |
if end_of_headers < 0: | |
end_of_headers = response.find("\n\n") | |
body = response[end_of_headers + 4:] | |
headers = response[:end_of_headers + 4] | |
if HTTP_DEBUG: | |
print('Received headers:') | |
print(headers) | |
status, headers = self._parse_headers(headers) | |
if 'CONTENT-LENGTH' in headers: | |
content_length = int(headers['CONTENT-LENGTH']) - len(body) | |
while content_length > 0: | |
frag, addr = self._tr.recv() | |
body += frag | |
content_length -= len(frag) | |
elif 'TRANSFER-ENCODING' in headers and headers['TRANSFER-ENCODING'].lower() == 'chunked': | |
buffer = body | |
body = '' | |
if HTTP_DEBUG: | |
print('Starting chunked RX') | |
while True: | |
buffer_offset = 0 | |
while buffer.find("\n") == -1: | |
frag, addr = self._tr.recv() | |
buffer += frag | |
buffer_offset = buffer.find("\n") | |
if buffer_offset == 0: | |
buffer = buffer[1:] | |
continue | |
elif buffer_offset == 1 and buffer[0] == "\r": | |
buffer = buffer[2:] | |
continue | |
if HTTP_DEBUG: | |
print("Buffer offset: %d" % buffer_offset) | |
if buffer[buffer_offset - 1] == "\r": | |
chunk_len = buffer[:buffer_offset - 1] | |
else: | |
chunk_len = buffer[:buffer_offset] | |
buffer_offset += 1 | |
if chunk_len == "0": | |
break | |
chunk_len = int(chunk_len, 16) | |
if HTTP_DEBUG: | |
print("Chunk length: %d" % chunk_len) | |
print("Buffer length: %d" % len(buffer)) | |
while len(buffer) - buffer_offset < chunk_len: | |
frag, addr = self._tr.recv() | |
buffer += frag | |
body += buffer[buffer_offset:buffer_offset + chunk_len] | |
buffer = buffer[buffer_offset + chunk_len:] | |
else: | |
# Unknown transfer method | |
pass | |
return (addr, status, headers, body) | |
def _parse_headers(self, text): | |
"Internal routine. Performs header parsing." | |
lines = xlines(text) | |
status = lines.next() | |
headers = {} | |
for line in lines: | |
if len(line) == 0: | |
break | |
sep_index = line.find(':') | |
if sep_index < 0: | |
continue | |
header = line[:sep_index].upper() | |
sep_index += 1 | |
try: | |
while line[sep_index] == ' ' or line[sep_index] == '\t': | |
sep_index += 1 | |
value = line[sep_index:] | |
except: | |
value = '' | |
headers[header] = value | |
return (status, headers) | |
# End of HttpClient | |
class URIParseError(Exception): | |
pass | |
class URL(object): | |
"Simple URL parser/combiner" | |
def __init__(self, text): | |
self.scheme = '' | |
self.domain = '' | |
self.port = 0 | |
self.path = '' | |
self.query = '' | |
self.frag = '' | |
self.__parse(text) | |
def __parse(self, text): | |
offset = 0 | |
scheme_delim = text.find('://', offset) | |
if scheme_delim >= 0: | |
self.scheme = text[:scheme_delim] | |
offset = scheme_delim + 3 | |
path_delim = text.find('/', offset) | |
if path_delim < 0: | |
raise URIParseError('URL format is incorrect (no path)') | |
port_delim = text.find(':', offset, path_delim) | |
if port_delim >= 0: | |
self.domain = text[offset:port_delim] | |
self.port = int(text[port_delim + 1:path_delim]) | |
else: | |
self.domain = text[offset:path_delim] | |
query_delim = text.find('?', path_delim) | |
if query_delim >= 0: | |
frag_delim = text.find('#', query_delim) | |
if frag_delim >= 0: | |
self.frag = text[frag_delim + 1:] | |
self.query = text[query_delim + 1:frag_delim] | |
else: | |
self.query = text[query_delim + 1:] | |
self.path = text[path_delim:query_delim] | |
else: | |
self.path = text[path_delim:] | |
def __str__(self): | |
text = '' | |
if self.scheme: | |
text += self.scheme + '://' | |
text += self.domain | |
if self.port: | |
text += ':%d' % self.port | |
text += self.path | |
if self.query: | |
text += '?' + self.query | |
if self.frag: | |
text += '#' + self.frag | |
return text | |
# End of URL | |
class URN(object): | |
"Simple URN parser/combiner" | |
def __init__(self, text): | |
self.nid = '' | |
self.frags = [] | |
self.__parse(text) | |
def __parse(self, text): | |
if not text.startswith('urn:'): | |
raise URIParseError('Text does not start with "urn:"') | |
offset = 4 | |
sep_index = text.find(':', offset) | |
self.nid = text[offset:sep_index] | |
offset = sep_index + 1 | |
while True: | |
sep_index = text.find(':', offset) | |
if sep_index >= 0: | |
self.frags.append(text[offset:sep_index]) | |
offset = sep_index + 1 | |
else: | |
self.frags.append(text[offset:]) | |
break | |
def __str__(self): | |
text = 'urn:%s:' % self.nid | |
text += ':'.join(self.frags) | |
return text | |
# End of URN | |
def http_get(url, headers=None): | |
"Shortcut for GETting a URL via HTTP/TCP" | |
url = URL(url) | |
port = url.port | |
if not port: | |
port = 80 | |
return HttpClient(HttpTcpTransport((url.domain, port))).request('GET', url.path, headers) | |
def http_post(url, headers=None, body=None): | |
"Shortcut for POSTting to a URL via HTTP/TCP" | |
url = URL(url) | |
port = url.port | |
if not port: | |
port = 80 | |
return HttpClient(HttpTcpTransport((url.domain, port))).request('POST', url.path, headers, body) | |
# | |
# SSDP client code | |
# | |
class SsdpSearchResult(object): | |
def __init__(self, ipaddr, headers): | |
self.ipaddr = ipaddr | |
self.server = headers.get('SERVER') | |
self.location = headers.get('LOCATION') | |
self.search_type = headers.get('ST') | |
self.usn = headers.get('USN') | |
def __str__(self): | |
return 'SSDP search result:\r\n IP: %s\r\n Server: %s\r\n Location: %s\r\n USN: %s' % (self.ipaddr, self.server, self.location, self.usn) | |
def __eq__(self, other): | |
return self.ipaddr == other.ipaddr and self.usn == other.usn | |
def __ne__(self, other): | |
return not (self == other) | |
SSDP_MULTICAST_IPv4 = '239.255.255.250' | |
SSDP_PORT = 1900 | |
def ssdp_search(transport, search_type): | |
return HttpClient(transport).request('M-SEARCH', '*', { | |
'HOST': '%s:%d' % (SSDP_MULTICAST_IPv4, SSDP_PORT), | |
'ST': search_type, | |
'MAN': '"ssdp:discover"', | |
'MX': 1, | |
}) | |
def ssdp_search_uni(target_ip, search_type, timeout=5): | |
"Perform a unicast SSDP M-SEARCH request" | |
target_addr = (target_ip, SSDP_PORT) | |
tr = HttpUdpUnicastTransport(target_addr, timeout) | |
rsp = ssdp_search(tr, search_type) | |
return SsdpSearchResult(target_ip, rsp[1]) | |
def ssdp_search_multi(bind_addr, search_type, timeout=5): | |
"Perform a multicast SSDP M-SEARCH request" | |
tr = HttpUdpMulticastTransport( | |
(SSDP_MULTICAST_IPv4, SSDP_PORT), | |
bind_addr, | |
SSDP_MULTICAST_IPv4, | |
timeout) | |
results = [] | |
for rsp in ssdp_search(tr, search_type): | |
result = SsdpSearchResult(rsp[0][0], rsp[2]) | |
if result not in results: | |
results.append(result) | |
return results | |
# | |
# UPnP client code | |
# | |
UPNP_DEBUG = True | |
class UpnpError(Exception): | |
pass | |
def clean_tag(tag): | |
i = tag.find('}') | |
if i < 0: | |
return tag | |
return tag[i+1:] | |
class UpnpServiceAction(object): | |
"Describes a UPnP service action" | |
def __init__(self): | |
self.name = None | |
self.args_in = [] | |
self.args_out = [] | |
def __str__(self): | |
return '%s(%s)' % (self.name, ', '.join(self.args_in)) | |
__repr__ = __str__ | |
@staticmethod | |
def from_xml(xml): | |
o = UpnpServiceAction() | |
for child in xml: | |
tag = clean_tag(child.tag) | |
if tag == 'name': | |
o.name = child.text | |
elif tag == 'argumentList': | |
for arg_child in child: | |
arg_name, arg_dir = UpnpServiceAction._parse_arg(arg_child) | |
if arg_dir == 'in': | |
o.args_in.append(arg_name) | |
# Can't be bothered with args_out... | |
return o | |
@staticmethod | |
def _parse_arg(xml): | |
arg_name = None | |
arg_dir = None | |
for child in xml: | |
tag = clean_tag(child.tag) | |
if tag == 'name': | |
arg_name = child.text | |
elif tag == 'direction': | |
arg_dir = child.text.lower() | |
return (arg_name, arg_dir) | |
# End of UpnpServiceAction | |
class UpnpServiceDescriptor(object): | |
"Dscribes service actions and state vars" | |
def __init__(self): | |
self.actions = {} | |
def __str__(self): | |
return "\r\n".join([str(a) for a in self.actions]) | |
__repr__ = __str__ | |
@staticmethod | |
def from_xml(xml): | |
#print('UpnpServiceDescriptor.from_xml()') | |
o = UpnpServiceDescriptor() | |
n = xml.find('service:actionList', UPNP_NS_MAP) | |
if n is not None: | |
for child in n: | |
action = UpnpServiceAction.from_xml(child) | |
o.actions[action.name] = action | |
return o | |
# End of UpnpServiceDescriptor | |
class UpnpService(object): | |
"Describes a UPnP service instance" | |
def __init__(self, root): | |
self._root = root | |
# These describe the service type | |
self.type = None | |
self.type_urn = None | |
self.scpd_url = None | |
# These describe the service instance | |
self.id = None | |
self.control_url = None | |
self.event_sub_url = None | |
def __str__(self): | |
return 'Service %s (type %s)' % (self.id, self.type) | |
__repr__ = __str__ | |
@staticmethod | |
def from_xml(xml, root): | |
#print('UpnpService.from_xml()') | |
o = UpnpService(root) | |
for child in xml: | |
tag = clean_tag(child.tag) | |
if tag == 'serviceType': | |
o.type_urn = URN(child.text) | |
o.type = ':'.join(o.type_urn.frags[1:]) | |
elif tag == 'SCPDURL': | |
o.scpd_url = child.text | |
elif tag == 'serviceId': | |
o.id = ':'.join(URN(child.text).frags[1:]) | |
elif tag == 'controlURL': | |
o.control_url = child.text | |
elif tag == 'eventSubURL': | |
o.events_url = child.text | |
return o | |
def get_descriptor(self): | |
try: | |
return self._descriptor | |
except: | |
scpd_url = self.scpd_url | |
if self._root.url_base is not None: | |
scpd_url = self._root.url_base + scpd_url | |
sd = self._descriptor = self._root.get_scpd(self.type, scpd_url) | |
return sd | |
def invoke(self, action, **kwargs): | |
sd = self.get_descriptor() | |
# Don't bother with XML tools... | |
args = ['<%s>%s</%s>' % (name, value, name) for name, value in kwargs.iteritems()] | |
body_text = '<u:%s xmlns:u="%s">%s</u:%s>' % (action, self.type_urn, ''.join(args), action) | |
xml = '<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body>'+body_text+'</s:Body></s:Envelope>' | |
control_url = self.control_url | |
if self._root.url_base is not None: | |
control_url = self._root.url_base + control_url | |
headers = { | |
'SOAPACTION': '"%s#%s"' % (self.type_urn, action), | |
'CONTENT-TYPE': 'text/xml; charset="utf-8"', | |
} | |
response_status, response_headers, response_body = http_post(control_url, headers, xml) | |
# TODO: check HTTP status code | |
xml = ElementTree.XML(response_body) | |
xml = xml[0][0] | |
root_tag = clean_tag(xml.tag) | |
if root_tag == action + 'Response': | |
args_out = {} | |
for node in xml: | |
tag = clean_tag(node.tag) | |
args_out[tag] = node.text | |
return args_out | |
elif root_tag == 'Fault': | |
raise UpnpError('Fault') | |
else: | |
raise UpnpError('Unknown tag') | |
# End of UpnpService | |
class UpnpDevice(object): | |
"Describes a UPnP device" | |
def __init__(self, root): | |
self._root = root | |
self.type = None | |
self.type_urn = None | |
self.name = None | |
self.services = [] | |
self.subdevices = [] | |
def __str__(self): | |
return 'Device %s (type %s)' % (self.name, self.type) | |
__repr__ = __str__ | |
@staticmethod | |
def from_xml(xml, root): | |
#print('UpnpDevice.from_xml()') | |
o = UpnpDevice(root) | |
for child in xml: | |
tag = clean_tag(child.tag) | |
#print tag | |
UpnpDevice._parse_node(o, tag, child) | |
return o | |
@staticmethod | |
def _parse_node(o, tag, node): | |
if tag == 'deviceType': | |
o.type_urn = URN(node.text) | |
o.type = ':'.join(o.type_urn.frags[1:]) | |
elif tag == 'friendlyName': | |
o.name = node.text | |
elif tag == 'serviceList': | |
for child in node: | |
o.services.append(UpnpService.from_xml(child, o._root)) | |
elif tag == 'deviceList': | |
for child in node: | |
o.subdevices.append(UpnpDevice.from_xml(child, o._root)) | |
def find_services(self, service_type, results=None): | |
if results is None: | |
results = [] | |
for s in self.services: | |
if s.type == service_type: | |
results.append(s) | |
for d in self.subdevices: | |
d.find_services(service_type, results) | |
return results | |
# End of UpnpDevice | |
class UpnpRootDevice(UpnpDevice): | |
"Describes a UPnP root device" | |
def __init__(self, url_base=None): | |
UpnpDevice.__init__(self, self) | |
self.url_base = url_base | |
self.service_types = {} | |
def __str__(self): | |
return 'Device %s (type %s)' % (self.name, self.type) | |
__repr__ = __str__ | |
@staticmethod | |
def from_xml(xml, url_base=None): | |
#print('UpnpRootDevice.from_xml()') | |
n = xml.find('device:URLBase', UPNP_NS_MAP) | |
if n is not None: | |
url_base = n.text | |
n = xml.find('device:device', UPNP_NS_MAP) | |
if n is None: | |
raise Exception("no device node in device description") | |
o = UpnpRootDevice(url_base) | |
for child in n: | |
tag = clean_tag(child.tag) | |
UpnpRootDevice._parse_node(o, tag, child) | |
return o | |
@staticmethod | |
def _parse_node(o, tag, node): | |
if tag == 'manufacturer': | |
o.manufacturer = node.text | |
elif tag == 'modelName': | |
o.model_name = node.text | |
elif tag == 'modelDescription': | |
o.model_description = node.text | |
elif tag == 'modelNumber': | |
o.model_number = node.text | |
elif tag == 'UDN': | |
o.udn = node.text | |
elif tag == 'UPC': | |
o.upc = node.text | |
elif tag == 'presentationURL': | |
o.presentation_url = node.text | |
else: | |
UpnpDevice._parse_node(o, tag, node) | |
def get_scpd(self, service_type, scpd_url): | |
try: | |
return self.service_types[service_type] | |
except KeyError: | |
pass | |
if UPNP_DEBUG: | |
print('Getting SCPD') | |
desc_text = http_get(scpd_url)[2] | |
desc_xml = ElementTree.XML(desc_text) | |
sd = UpnpServiceDescriptor.from_xml(desc_xml) | |
self.service_types[service_type] = sd | |
return sd | |
# End of UpnpRootDevice | |
def upnp_print_schema(root, indent=''): | |
print('%s%s' % (indent, root)) | |
indent += ' ' | |
for s in root.services: | |
print('%s%s' % (indent, s)) | |
sd = s.get_descriptor() | |
for an, a in sd.actions.iteritems(): | |
print('%s->%s' % (indent, a)) | |
for d in root.subdevices: | |
upnp_print_schema(d, indent) | |
def upnp_process_description(location): | |
print('Getting description...') | |
desc = http_get(location) | |
desc_xml = ElementTree.XML(desc[2]) | |
# NOTE: Some device descriptors don't contain URL base. | |
# Use location as base, then. | |
base_url = URL(location) | |
base_url.path = '' | |
return UpnpRootDevice.from_xml(desc_xml, str(base_url)) | |
def discovery_channel(bind_addr): | |
print('Searching for root devices...') | |
ssdp_results = ssdp_search_multi(bind_addr, 'upnp:rootdevice', timeout=3) | |
if not ssdp_results: | |
print('No devices found!') | |
return | |
devices = {} | |
for ssdp_result in ssdp_results: | |
print(ssdp_result) | |
device = upnp_process_description(ssdp_result.location) | |
upnp_print_schema(device) | |
#s = device.find_services('WANIPConnection:1') | |
#r = s[0].invoke('GetExternalIPAddress') | |
default_bind_addr = ('192.168.1.55', 2600) | |
discovery_channel(default_bind_addr) | |
#print ssdp_search_uni(sys.argv[1], 'upnp:rootdevice') | |
#desc_xml = ElementTree.parse('gateway.xml') | |
#r = UpnpRootDevice.from_xml(desc_xml) | |
#print r | |
#print r.services | |
#print r.subdevices |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
D:\Projects>upnptools.py | |
Searching for root devices... | |
SSDP search result: | |
IP: 192.168.1.1 | |
Server: Linux/2.6.20.19, UPnP/1.0, Portable SDK for UPnP devices/1.4.2 | |
Location: http://192.168.1.1:49153/gatedesc.xml | |
USN: uuid:8ec2446a-bfde-11d3-b78c-fcf528839fdf::upnp:rootdevice | |
Getting description... | |
Device P-2601HN-F1 (type InternetGatewayDevice:1) | |
Service dummy1 (type Dummy:1) | |
Getting SCPD | |
Device WAN Device (type WANDevice:1) | |
Service WANCommonIFC1 (type WANCommonInterfaceConfig:1) | |
Getting SCPD | |
->GetTotalPacketsSent() | |
->GetTotalPacketsReceived() | |
->GetTotalBytesReceived() | |
->GetTotalBytesSent() | |
->GetCommonLinkProperties() | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANIPConn1 (type WANIPConnection:1) | |
Getting SCPD | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetNATRSIPStatus() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->RequestConnection() | |
SSDP search result: | |
IP: 192.168.1.1 | |
Server: Linux/2.6.20.19, UPnP/1.0, Portable SDK for UPnP devices/1.3.1 | |
Location: http://192.168.1.1:49152/description.xml | |
USN: uuid:::upnp:rootdevice | |
Getting description... | |
Device RalinkAPS (type WFADevice:1) | |
Service WFAWLANConfig1 (type WFAWLANConfig:1) | |
Getting SCPD | |
->SetAPSettings(APSettings) | |
->PutMessage(NewInMessage) | |
->SetSelectedRegistrar(NewMessage) | |
->GetSTASettings(NewMessage) | |
->ResetSTA(NewMessage) | |
->RebootSTA(NewSTASettings) | |
->ResetAP(NewMessage) | |
->DelSTASettings(NewSTASettings) | |
->SetSTASettings() | |
->GetAPSettings(NewMessage) | |
->RebootAP(NewAPSettings) | |
->PutWLANResponse(NewMessage, NewWLANEventType, NewWLANEventMAC) | |
->DelAPSettings(NewAPSettings) | |
->GetDeviceInfo() | |
SSDP search result: | |
IP: 192.168.1.1 | |
Server: ZyXEL-RomPlug/4.34 UPnP/1.0 RomPlug4.34 | |
Location: http://192.168.1.1:18888/DSDeviceDescription.xml | |
USN: uuid:907dbbfe-bfde-11d3-9f4c-fcf528839fdf::upnp:rootdevice | |
Getting description... | |
Device P-2601HN-F1 (type InternetGatewayDevice:1) | |
Service L3Forwarding1 (type Layer3Forwarding:1) | |
Getting SCPD | |
->DeleteForwardingEntry(NewDestIPAddress, NewDestSubnetMask) | |
->GetSpecificForwardingEntry(NewDestIPAddress, NewDestSubnetMask) | |
->SetForwardingEntryEnable(NewDestIPAddress, NewDestSubnetMask, NewEnable) | |
->GetDefaultConnectionService() | |
->GetForwardNumberOfEntries() | |
->GetGenericForwardingEntry(NewForwardingIndex) | |
->SetDefaultConnectionService(NewDefaultConnectionService) | |
->AddForwardingEntry(NewType, NewDestIPAddress, NewDestSubnetMask, NewGatewayIPAddress, NewInterface, NewForwardingMet | |
ric, NewMTU) | |
Service DeviceInfo1 (type DeviceInfo:1) | |
Getting SCPD | |
->GetDeviceLog() | |
->SetProvisioningCode(NewProvisioningCode) | |
->GetInfo() | |
Service DeviceConfig1 (type DeviceConfig:1) | |
Getting SCPD | |
->GetPersistentData() | |
->FactoryReset() | |
->ConfigurationFinished() | |
->Reboot() | |
->ConfigurationStarted(NewSessionID) | |
->SetPersistentData(NewPersistentData) | |
Service LANConfigSecurity1 (type LANConfigSecurity:1) | |
Getting SCPD | |
->SetConfigPassword(NewPassword) | |
->GetInfo() | |
Service ManagementServer1 (type ManagementServer:1) | |
Getting SCPD | |
->SetManagementServerPassword(NewPassword) | |
->SetConnectionRequestAuthentication(NewConnectionRequestUsername, NewConnectionRequestPassword) | |
->GetInfo() | |
->SetUpgradeManagement(NewUpgradesManaged) | |
->GetKickURL() | |
->GetDownloadProgressURL() | |
->SetManagementServerURL(NewURL) | |
->SetPeriodicInform(NewPeriodicInformEnable, NewPeriodicInformInterval, NewPeriodicInformTime) | |
Service Time1 (type Time:1) | |
Getting SCPD | |
->SetNTPServers(NewNTPServer1, NewNTPServer2, NewNTPServer3, NewNTPServer4, NewNTPServer5) | |
->SetLocalTimeZone(NewLocalTimeZoneName) | |
->GetInfo() | |
Device WAN Device (type WANDevice:1) | |
Service WANCommonIFC1 (type WANCommonInterfaceConfig:1) | |
Getting SCPD | |
->GetEnabledForInternet() | |
->GetTotalBytesReceived() | |
->GetTotalBytesSent() | |
->SetEnabledForInternet(NewEnabledForInternet) | |
->GetTotalPacketsSent() | |
->GetTotalPacketsReceived() | |
->GetCommonLinkProperties() | |
Service WANDSLInterfaceConfig1 (type WANDSLInterfaceConfig:1) | |
Getting SCPD | |
->GetStatisticsShowtime() | |
->GetInfo() | |
->SetEnable(NewEnable) | |
->GetStatisticsLastShowtime() | |
->GetStatisticsCurrentDay() | |
->GetStatisticsQuarterHour() | |
->GetStatisticsTotal() | |
Service WANDSLConnectionManagement1 (type WANDSLConnectionManagement:1) | |
Getting SCPD | |
->GetGenericConnectionServiceEntry(NewConnectionServiceIndex) | |
->GetSpecificConnectionServiceEntry(NewWANConnectionService) | |
->GetWANConnectionServiceNumberOfEntries() | |
Service WANDSLDiagnostics1 (type WANDSLDiagnostics:1) | |
Getting SCPD | |
->GetLoopDiagnosticsResults() | |
->GetLoopDiagnosticsState() | |
->SetLoopDiagnosticsState(NewLoopDiagnosticsState) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig1 (type WANDSLLinkConfig:1) | |
Getting SCPD | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn1 (type WANPPPConnection:1) | |
Getting SCPD | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn1 (type WANIPConnection:1) | |
Getting SCPD | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig2 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn2 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn2 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig3 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn3 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn3 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig4 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn4 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn4 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig5 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn5 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn5 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig6 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn6 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn6 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig7 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn7 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn7 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device WAN Connection Device (type WANConnectionDevice:1) | |
Service WANDSLLinkConfig8 (type WANDSLLinkConfig:1) | |
->GetDestinationAddress() | |
->SetDSLLinkType(NewLinkType) | |
->SetDestinationAddress(NewDestinationAddress) | |
->SetATMQos(NewATMQoS, NewATMPeakCellRate, NewATMSustainableCellRate, NewATMMaximumBurstSize) | |
->GetModulationType() | |
->GetStatistics() | |
->GetDSLLinkInfo() | |
->SetEnable(NewEnable) | |
->GetAutoConfig() | |
->SetATMEncapsulation(NewATMEncapsulation) | |
->GetATMEncapsulation() | |
->GetInfo() | |
Service WANPPPConn8 (type WANPPPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetLinkLayerMaxBitRates() | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetPPPAuthenticationProtocol() | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->GetUserName() | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetPassword(NewPassword) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->SetUserName(NewUserName) | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetMaxMRUSize(NewMaxMRUSize) | |
->GetPPPCompressionProtocol() | |
->ForceTermination() | |
->SetPPPoEService(NewPPPoEACName, NewPPPoEServiceName) | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
->GetPPPEncryptionProtocol() | |
Service WANIPConn8 (type WANIPConnection:1) | |
->AddPortMapping(NewRemoteHost, NewExternalPort, NewProtocol, NewInternalPort, NewInternalClient, NewEnabled, NewP | |
ortMappingDescription, NewLeaseDuration) | |
->GetInfo() | |
->GetExternalIPAddress() | |
->GetConnectionTypeInfo() | |
->GetPortMappingNumberOfEntries() | |
->SetIdleDisconnectTime(NewIdleDisconnectTime) | |
->GetGenericPortMappingEntry(NewPortMappingIndex) | |
->SetWarnDisconnectDelay(NewWarnDisconnectDelay) | |
->GetStatusInfo() | |
->SetConnectionType(NewConnectionType) | |
->SetIPInterfaceInfo(NewAddressingType, NewExternalIPAddress, NewSubnetMask, NewDefaultGateway) | |
->DeletePortMapping(NewRemoteHost, NewExternalPort, NewProtocol) | |
->SetConnectionTrigger(NewConnectionTrigger) | |
->SetAutoDisconnectTime(NewAutoDisconnectTime) | |
->RequestTermination() | |
->SetMACAddress(NewMACAddress) | |
->GetWarnDisconnectDelay() | |
->SetEnable(NewEnable) | |
->GetAutoDisconnectTime() | |
->GetIdleDisconnectTime() | |
->SetMaxMTUSize(NewMaxMTUSize) | |
->RequestConnection() | |
->GetNATRSIPStatus() | |
->GetSpecificPortMappingEntry(NewRemoteHost, NewExternalPort, NewProtocol) | |
->ForceTermination() | |
->SetRouteProtocolRx(NewRouteProtocolRx) | |
Device LAN Device (type LANDevice:1) | |
Service LANHostCfg1 (type LANHostConfigManagement:1) | |
Getting SCPD | |
->GetIPInterfaceGenericEntry(NewIPInterfaceIndex) | |
->GetAddressRange() | |
->GetInfo() | |
->SetIPInterface(NewEnable, NewIPAddress, NewSubnetMask, NewIPAddressingType) | |
->AddIPInterface(NewEnable, NewIPAddress, NewSubnetMask, NewIPAddressingType) | |
->GetDNSServers() | |
->SetDNSServer(NewDNSServers) | |
->GetSubnetMask() | |
->GetIPInterfaceSpecificEntry(NewIPAddress, NewSubnetMask) | |
->SetAddressRange(NewMinAddress, NewMaxAddress) | |
->DeleteAllowedMacAddress(NewAllowedMACAddress) | |
->GetIPInterfaceNumberOfEntries() | |
->DeleteIPInterface(NewIPAddress, NewISubnetMask) | |
->SetSubnetMask(NewSubnetMask) | |
->SetDHCPLeaseTime(NewDHCPLeaseTime) | |
->SetIPRouter(NewIPRouters) | |
->GetDHCPRelay() | |
->DeleteIPRouter(NewIPRouters) | |
->GetDHCPServerConfigurable() | |
->GetIPRoutersList() | |
->SetDHCPServerEnable(NewDHCPServerEnable) | |
->GetReservedAddresses() | |
->DeleteDNSServer(NewDNSServers) | |
->SetDomainName(NewDomainName) | |
->GetDomainName() | |
->SetDHCPServerConfigurable(NewDHCPServerConfigurable) | |
->SetReservedAddress(NewReservedAddresses) | |
->DeleteReservedAddress(NewReservedAddresses) | |
->SetAllowedMACAddresses(NewAllowedMACAddresses) | |
->SetAddressAllocation(NewUseAllocatedWAN, NewAssociatedConnection, NewPassthroughLease, NewPassthroughMACAddress) | |
Service Hosts1 (type Hosts:1) | |
Getting SCPD | |
->GetGenericHostEntry(NewIndex) | |
->GetHostNumberOfEntries() | |
->DeleteHostEntry(NewMACAddress) | |
->GetSpecificHostEntry(NewMACAddress) | |
Service LANEthernetInterfaceConfig1 (type LANEthernetInterfaceConfig:1) | |
Getting SCPD | |
->SetMaxBitRate(NewMaxBitRate) | |
->SetDuplexMode(NewDuplexMode) | |
->GetInfo() | |
->GetStatistics() | |
->SetEnable(NewEnable) | |
->SetMACAddressControlEnabled(NewMACAddressControlEnabled) | |
Service LANEthernetInterfaceConfig2 (type LANEthernetInterfaceConfig:1) | |
->SetMaxBitRate(NewMaxBitRate) | |
->SetDuplexMode(NewDuplexMode) | |
->GetInfo() | |
->GetStatistics() | |
->SetEnable(NewEnable) | |
->SetMACAddressControlEnabled(NewMACAddressControlEnabled) | |
Service LANEthernetInterfaceConfig3 (type LANEthernetInterfaceConfig:1) | |
->SetMaxBitRate(NewMaxBitRate) | |
->SetDuplexMode(NewDuplexMode) | |
->GetInfo() | |
->GetStatistics() | |
->SetEnable(NewEnable) | |
->SetMACAddressControlEnabled(NewMACAddressControlEnabled) | |
Service LANEthernetInterfaceConfig4 (type LANEthernetInterfaceConfig:1) | |
->SetMaxBitRate(NewMaxBitRate) | |
->SetDuplexMode(NewDuplexMode) | |
->GetInfo() | |
->GetStatistics() | |
->SetEnable(NewEnable) | |
->SetMACAddressControlEnabled(NewMACAddressControlEnabled) | |
Service WLANCfg1 (type WLANConfiguration:1) | |
Getting SCPD | |
->SetBasBeaconSecurityProperties(NewBasicEncryptionModes, NewBasicAuthenticationMode) | |
->GetInfo() | |
->GetBSSID() | |
->Get11iBeaconSecurityProperties() | |
->GetDefaultWEPKeyIndex() | |
->SetDefaultWEPKeyIndex(NewDefaultWEPKeyIndex) | |
->GetWPABeaconSecurityProperties() | |
->SetSecurityKeys(NewWEPKey0, NewWEPKey1, NewWEPKey2, NewWEPKey3, NewPreSharedKey, NewKeyPassphrase) | |
->GetRadioMode() | |
->SetDataTransmitRates(NewBasicDataTransmitRates, NewOperationalDataTransmitRates) | |
->SetBeaconType(NewBeaconType) | |
->SetConfig(NewMaxBitRate, NewChannel, NewSSID, NewBeaconType, NewMACAddressControlEnabled, NewBasicEncryptionModes, | |
NewBasicAuthenticationMode) | |
->GetBeaconType() | |
->SetRadioMode(NewRadioEnabled) | |
->GetSpecificAssociatedDeviceInfo(NewAssociatedDeviceMACAddress) | |
->SetSSID(NewSSID) | |
->SetWPABeaconSecurityProperties(NewWPAEncryptionModes, NewWPAAuthenticationMode) | |
->GetSSID() | |
->SetEnable(NewEnable) | |
->SetAutoRateFallBackMode(NewAutoRateFallBackEnabled) | |
->GetGenericAssociatedDeviceInfo(NewAssociatedDeviceIndex) | |
->GetSecurityKeys() | |
->GetTotalAssociations() | |
->GetAutoRateFallBackMode() | |
->GetStatistics() | |
->SetChannel(NewChannel) | |
->GetPacketStatistics() | |
->GetBasBeaconSecurityProperties() | |
->GetChannelInfo() | |
->Set11iBeaconSecurityProperties(NewIEEE11iEncryptionModes, NewIEEE11iAuthenticationMode) | |
Service WLANCfg2 (type WLANConfiguration:1) | |
->SetBasBeaconSecurityProperties(NewBasicEncryptionModes, NewBasicAuthenticationMode) | |
->GetInfo() | |
->GetBSSID() | |
->Get11iBeaconSecurityProperties() | |
->GetDefaultWEPKeyIndex() | |
->SetDefaultWEPKeyIndex(NewDefaultWEPKeyIndex) | |
->GetWPABeaconSecurityProperties() | |
->SetSecurityKeys(NewWEPKey0, NewWEPKey1, NewWEPKey2, NewWEPKey3, NewPreSharedKey, NewKeyPassphrase) | |
->GetRadioMode() | |
->SetDataTransmitRates(NewBasicDataTransmitRates, NewOperationalDataTransmitRates) | |
->SetBeaconType(NewBeaconType) | |
->SetConfig(NewMaxBitRate, NewChannel, NewSSID, NewBeaconType, NewMACAddressControlEnabled, NewBasicEncryptionModes, | |
NewBasicAuthenticationMode) | |
->GetBeaconType() | |
->SetRadioMode(NewRadioEnabled) | |
->GetSpecificAssociatedDeviceInfo(NewAssociatedDeviceMACAddress) | |
->SetSSID(NewSSID) | |
->SetWPABeaconSecurityProperties(NewWPAEncryptionModes, NewWPAAuthenticationMode) | |
->GetSSID() | |
->SetEnable(NewEnable) | |
->SetAutoRateFallBackMode(NewAutoRateFallBackEnabled) | |
->GetGenericAssociatedDeviceInfo(NewAssociatedDeviceIndex) | |
->GetSecurityKeys() | |
->GetTotalAssociations() | |
->GetAutoRateFallBackMode() | |
->GetStatistics() | |
->SetChannel(NewChannel) | |
->GetPacketStatistics() | |
->GetBasBeaconSecurityProperties() | |
->GetChannelInfo() | |
->Set11iBeaconSecurityProperties(NewIEEE11iEncryptionModes, NewIEEE11iAuthenticationMode) | |
Service WLANCfg3 (type WLANConfiguration:1) | |
->SetBasBeaconSecurityProperties(NewBasicEncryptionModes, NewBasicAuthenticationMode) | |
->GetInfo() | |
->GetBSSID() | |
->Get11iBeaconSecurityProperties() | |
->GetDefaultWEPKeyIndex() | |
->SetDefaultWEPKeyIndex(NewDefaultWEPKeyIndex) | |
->GetWPABeaconSecurityProperties() | |
->SetSecurityKeys(NewWEPKey0, NewWEPKey1, NewWEPKey2, NewWEPKey3, NewPreSharedKey, NewKeyPassphrase) | |
->GetRadioMode() | |
->SetDataTransmitRates(NewBasicDataTransmitRates, NewOperationalDataTransmitRates) | |
->SetBeaconType(NewBeaconType) | |
->SetConfig(NewMaxBitRate, NewChannel, NewSSID, NewBeaconType, NewMACAddressControlEnabled, NewBasicEncryptionModes, | |
NewBasicAuthenticationMode) | |
->GetBeaconType() | |
->SetRadioMode(NewRadioEnabled) | |
->GetSpecificAssociatedDeviceInfo(NewAssociatedDeviceMACAddress) | |
->SetSSID(NewSSID) | |
->SetWPABeaconSecurityProperties(NewWPAEncryptionModes, NewWPAAuthenticationMode) | |
->GetSSID() | |
->SetEnable(NewEnable) | |
->SetAutoRateFallBackMode(NewAutoRateFallBackEnabled) | |
->GetGenericAssociatedDeviceInfo(NewAssociatedDeviceIndex) | |
->GetSecurityKeys() | |
->GetTotalAssociations() | |
->GetAutoRateFallBackMode() | |
->GetStatistics() | |
->SetChannel(NewChannel) | |
->GetPacketStatistics() | |
->GetBasBeaconSecurityProperties() | |
->GetChannelInfo() | |
->Set11iBeaconSecurityProperties(NewIEEE11iEncryptionModes, NewIEEE11iAuthenticationMode) | |
Service WLANCfg4 (type WLANConfiguration:1) | |
->SetBasBeaconSecurityProperties(NewBasicEncryptionModes, NewBasicAuthenticationMode) | |
->GetInfo() | |
->GetBSSID() | |
->Get11iBeaconSecurityProperties() | |
->GetDefaultWEPKeyIndex() | |
->SetDefaultWEPKeyIndex(NewDefaultWEPKeyIndex) | |
->GetWPABeaconSecurityProperties() | |
->SetSecurityKeys(NewWEPKey0, NewWEPKey1, NewWEPKey2, NewWEPKey3, NewPreSharedKey, NewKeyPassphrase) | |
->GetRadioMode() | |
->SetDataTransmitRates(NewBasicDataTransmitRates, NewOperationalDataTransmitRates) | |
->SetBeaconType(NewBeaconType) | |
->SetConfig(NewMaxBitRate, NewChannel, NewSSID, NewBeaconType, NewMACAddressControlEnabled, NewBasicEncryptionModes, | |
NewBasicAuthenticationMode) | |
->GetBeaconType() | |
->SetRadioMode(NewRadioEnabled) | |
->GetSpecificAssociatedDeviceInfo(NewAssociatedDeviceMACAddress) | |
->SetSSID(NewSSID) | |
->SetWPABeaconSecurityProperties(NewWPAEncryptionModes, NewWPAAuthenticationMode) | |
->GetSSID() | |
->SetEnable(NewEnable) | |
->SetAutoRateFallBackMode(NewAutoRateFallBackEnabled) | |
->GetGenericAssociatedDeviceInfo(NewAssociatedDeviceIndex) | |
->GetSecurityKeys() | |
->GetTotalAssociations() | |
->GetAutoRateFallBackMode() | |
->GetStatistics() | |
->SetChannel(NewChannel) | |
->GetPacketStatistics() | |
->GetBasBeaconSecurityProperties() | |
->GetChannelInfo() | |
->Set11iBeaconSecurityProperties(NewIEEE11iEncryptionModes, NewIEEE11iAuthenticationMode) | |
D:\Projects> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment