5.2 WAN IP Connection

  
 <?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>